Найти тему
Пикабу

Использование второй клавиатуры под горячие клавиши

Хочу поделиться своим опытом упрощения взаимодействия с софтом в windows. На мой взгляд этот способ незаслуженно обделен вниманием и мне хотелось бы, чтобы другие люди тоже знали, что так можно.

Повседневное использование программ строится на командах из выпадающих меню и горячих клавишах. Поэтому, если хочется повысить свою производительность, приходится запоминать множество сочетаний клавиш. В какой-то момент я стал замечать, что ситуация, когда забыл нужное сочетание сильно сбивает сосредоточение. А ведь на клавиатуре есть замечательные отдельные мультимедийные клавиши, например постановка музыки на паузу или изменение громкости, нельзя ли использовать отдельную клавиатуру только для хоткеев? Одна кнопка - одно действие?

Существуют POS-клавиатуры как в некоторых супермаркетах, но ценник у них негуманный, а подключение сложное. Есть контроллеры типа Streamdeck, совсем по космической цене. А если я хочу использовать вторую обычную дешевую клавиатуру под эту задачу?

Если искать в сети по запросу «подключение второй клавиатуры» сходу найти решение не получится, но углубленный поиск все-таки выдает несколько способов. Мне хотелось, чтобы решение было гибким, мощным и максимально прозрачным в смысле кода. Описанный вариант использую больше года, меня он полностью устраивает. Мне он нужен только для хоткеев в программах, поэтому по поводу использования в играх ничего сказать не могу.

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

Сначала ставим AutoHotkey версии 1.1, если хочется чтобы все заработало сразу без переписывания кода. В пакет входит пара очень полезных утилит:

- Компилятор скриптов в exe файлы (\AutoHotkey\Compiler\Ahk2Exe.exe)

После компиляции можно запускать без autohotkey.

- Скрипт для диагностики окон системы (\AutoHotkey\WindowSpy.ahk)

.
.

2. Далее создаем рабочую директорию (например Keypad) Качаем набор скриптов интеграции AutoHotInterception

Архив AutoHotInterception.zip извлекаем в нашу директорию, т.е. в ней должен оказаться скрипт Monitor.ahk, наш будущий скрипт Keypad.ahk и директория Lib с содержимым.

3. Далее качаем Interception.

Этот архив нужно распаковать, скопировать библиотеки из папки \Interception\library в нашу папку \Keypad\Lib (x64, x86).

Установить драйвер командой.

"\Interception\command line installer\install-interception.exe" /install.

(Выполнять от имени администратора, если активны ограничения. Также если есть ограничения выполнить скрипт Keypad\Lib\Unblocker.ps1)

После этих шагов можно создать и наполнить содержимым скрипт обработки нажатий Keypad.ahk (пример ниже), отлаживать скрипт позволяет Visual Studio Code с расширением mark-wiemer.vscode-autohotkey-plus-plus.

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

-3

Идентификатор дополнительной клавиатуры (vid/pid) можно узнать с помощью скрипта Monitor.ahk, установив галочки и понажимав на клавиши. Эти значения надо прописать в наш скрипт.

-4

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

Пост автора unitay.

Комментарии