12 сент. 2007 г.

Менеджер шоткатов

Подобную программу мы написали в ABF, но я оказался ее выпускать в виде продукта, так как она абсолютно не коммерческая. Более того, поработав с программой больше месяца, я понял, что она не справляется со всеми поставленными задачами. Была отправлена в стол, лет 6 назад...

Обозначим проблему

Использование быстрых клавиатурных сочетаний (шоткатов) знакомо каждому пользователю. Найти человека, который не знает, что выполняют сочетания Ctrl+C и Ctrl+V, практически не реально. Но так же не реально найти человека, который знает более 20 различных клавиатурных сокращений. И где все эти сокращения посмотреть - даже Билу Гейтсу не известно :)

Еще интереснее происходит с шоткатами для запуска программ. Продвинутые юзеры знают, что для иконок (ярлыков) на Рабочем столе и в меню кнопки Пуск можно задать сочетания быстрого вызова (на само деле задать их можно в любом месте, но вот работать они не будут :). Так вот, очень часто, при вводе комбинации, она почему-то не вводится, а вместо этого запускается программа, к которой желаемое сочетание клавиш уже назначено :) Офигеть, Дайте две!

В общем, беда со всеми этими шоткатами и горячими кнопками! Списка стандартных (Win+D, Win+E, Win+R и т д) нигде нет! Спорю, что даже если вы знаете, что выполняет Win+F, то что выполняет Ctrl+Win+F не догадаетесь никогда :) Да что там, даже посмотреть список уже занятых сочетаний - нэту! А уж мечтать о том чтобы все это дело управлять из общего места и переназначать горячие кнопки одним кликом - вообще фантастика!

Чего еще не хватает

Не хватает комбинаций для часто используемых системных команд и еще кое-чего. Ну вот как например свернуть программу (или растянуть на весь экран) с помощью клавиатуры? Рассказываю: Alt+Space, а потом стрелками курсора выбрать пункт меню! Хорошо, что закрыть хотя бы можно по Alt+F4. Кстати, кто ни разу не изменял окно по размеру с помощью кнопок, попробуйте - заново родитесь :)

А знаете, как увеличить или уменьшить громкость (ну или хотя бы выключить звук)? Я вот не знаю! А еще я не знаю, как быстро вызвать Screensaver, как регулировать яркость монитора (и можно ли это вообще), как отключить мышку или тачпад, как извлечь CD, как включить/выключить Wi-Fi или Bluetooth, и много другое! Вот этого всего и не хватает, это все и нужно дописать :)

Как сделать правильно

Во первых, надо решить регистрировать шоткаты в Windows или использовать свой движек типа хука клавиатуры. Стандартный способ подойдет для вызова программ и определения уже задействованных комбинаций. Но хук dll все равно нужна, потому что только в ней можно реализовать дополнительные команды, связанные с текучим окном (Minimize, Maximize, Move и т д) или системным событиями (Screensaver, Mouse Off и т д)

Возможно (да и скорее всего) придется делать файловый энумератор для всех ярлыков, что бы зачитывать значения горячих комбинаций и соответственно запоминать где это меняется. Если этого не сделать, пользователи, которые будут назначать шоткаты стандартными методами Windows, пролетят мимо кассы. Да и актуальность списка шоткатов, в нашей программе после изменения пользователем, будет под сомнением.

Так же надо решить разделят или объединять списки вызова программ со списками дополнительных команд. В ABF мы наступили на эти грабли. Сейчас мне кажется, что надо разделение списков для манипуляции и действий. Но так же нужен общий список для информации.

Обязательно нужен информационный список, возможно полупрозрачный или появляющийся по требованию. Более того, я бы его делал его постоянно видимым по умолчанию. Это поможет пользователю запомнить и заучить все команды.

Такая утилита, это классическая программа с иконкой в трее. Все основное управление будет через меню этой иконки.

Обязательная фича - отключать все шоткаты вообще! Геймеры вас полюбят :)

Стоит так же рассмотреть мультимедийные и всякие альтернативные клавиатуры, там кнопок по-более будет, может что-то можно повесить на них.

Не плохо бы обыграть NumPad (там где он есть :) отдельно от "цифровых" комбинаций (Ctrl+1 и т д). Нумпад удобен тем, что 9 кнопок фиксированы по расположению, а значит не нужно думать головой, пальцы сами все нажмут. Кстати, кто не в курсе Alt+0169 на нумпаде - это ©, Alt+0153 = ™

Редактор конкретных сочетаний должен работать и по выбору комбинаций мышкой, и по нажатию (для продвинутых пользователей). Иначе AOL пользователи такого понажимают, что и винт отформатируется :)

Может дополню еще чего...

Как это продавать

К сожалению, скорее всего, никак. Ну разве что как OEM приблуду или как новый модуль для Windows самому Microsoft :) А вот как freeware или уроки обучения встроенным шоткатам - пойдет на ура. Подачу такую и надо: "Все то, что вы не знали о Windows" или "Билл Гейтс делает это быстрее чем вы".

Но продукт интересный и давно наболевший. Тот, кто сделает - получит +1 кармы как минимум :)

9 комментариев:

Анонимный комментирует...

>>Но так же не реально найти человека, который знает более 20 различных клавиатурных сокращений.
Если речь идет не о чисто виндовских стандартных, а просто о глобальных шоткатах - я знаю больше

Эхх ты как первый день за компом,
30 поиска.. просвещайся:)

http://www.winblog.ru/2007/05/18/18050704.html

Вот еще можешь почитать список функций моего конкурента (если конкурент знакомый - его можно пиарить:)
http://www.drive-software.com/ru/actvkeyb.html


А вообще спасибо, прочел с удовольствием, у меня в далеких планах (мечтах?) есть лаунчер, не шоткат менеджер конечно, но все таки..

>>Продвинутые юзеры знают, что для иконок (ярлыков) на Рабочем столе и в меню кнопки Пуск можно задать сочетания быстрого вызова (на само деле задать их можно в любом месте, но вот работать они не будут :)

Несколько раз пытался - ни разу не получалось :(

Анонимный комментирует...

***, Как то странно Enter для автокомлита сработал..:(

Enkie комментирует...

список general keyboard shortcuts можно найти в как в гугле, так и в документации к Винде (только что сам проверил - в Висте и ХР они есть).
а шоткаты к ярлыкам действительно работают очень загадочно.

Maniac комментирует...

Вроде сам работаешь на ноуте, а как регулировать яркость монитора не знаешь ;)

KARPOLAN комментирует...

> Вроде сам работаешь на
> ноуте, а как регулировать
> яркость монитора не знаешь ;)

Ну и как? А если ноут без кнопки функция? А если на внешнем мониторе?

KARPOLAN комментирует...

Ребята, я то знаю много шоткатов. Даже те которые не официальные, но это не повод скрывать их от пользователей :)

KARPOLAN комментирует...

http://www.drive-software.com/ru/actvkeyb.html

Не качается ничего... Даже скринщот поглядеть низя - везде эдсенсовые помои...

Alexander Vihtyuk комментирует...

Да, неслабенькая тулза в итоге получается - "немелкий комбайн", который продавать невозможно.

Хотя жизнь и облегчает.

p.S.
Но думаю то, что облегчает жизнь - продается - другой вопрос - каким методом отличным от класической шаровары - никаким.

KARPOLAN комментирует...

> Да, неслабенькая тулза в
> итоге получается - "немелкий
> комбайн", который продавать
> невозможно.

Возможно, но мало... Проще раздавать :)


> Но думаю то, что облегчает
> жизнь - продается - другой
> вопрос - каким методом
> отличным от класической
> шаровары - никаким.

Ну можно продавть рекламу на сайте, курсы обучения, клавиатуры... Короче, если очень хочется, то что-нибуть получится :)