Страница 1 из 1

Эмуляция "серого +" на клавиатурах без цифрового блока

Добавлено: 30 май 2014, 17:04
hake
Стал владельцем Leopold FC700R, все замечательно, но довольно быстро ощутил отсутствие "плюса", "минуса" и т.п. клавиш цифрового блока (у FC700 он отсутствует). У многих программ (например, FAR) на них назначены некоторые функции, которые в противном случае приходится вызывать через меню.

Вопрос - кто-нибудь знает, как можно эмулировать нажатие этих клавиш? Не знаю, какой-нибудь Fn + что-то или иные варианты. Спасибо.

Re: Эмуляция "серого +" на клавиатурах без цифрового блока

Добавлено: 21 июл 2014, 19:37
adm
Немного припозднился с ответом, но вполне рабочим решением будет:
1. Узнать keycode клавиш "+" и "-" (кажется 187 – "+" и 189 – "-")
2. Использовать утилиту типа Autohotkey и написать скрипт, который по нажатию на нужную комбинацию клавиш, отправит системе "нажатие" 187-й или 189-й клавиши.

UPD: вот тут список кнопок для Autohotkey, коды не нужны. http://www.autohotkey.com/docs/KeyList.htm
UPD2: Скрипт получится каким-то таким:

Код: Выделить всё

# Shift Ctrl +
Shift^+:: Send{NumpadAdd} 
# Shift Ctrl -
Shift^-:: Send{NumpadSub}

Re: Эмуляция "серого +" на клавиатурах без цифрового блока

Добавлено: 22 июл 2014, 10:59
hake
Спасибо большое!

Re: Эмуляция "серого +" на клавиатурах без цифрового блока

Добавлено: 22 июл 2014, 11:28
hake
Работающий скрипт для текущей версии autohotkey ниже. Внесены следующие изменения:
- Символ комментирования в скрипте ";", а не "#" ("#" это клавиша Win);
- Клавиша Shift в скрипте кодируется символом "+";
- По этой причине невозможно нормально описать саму клавишу "+" (не искал как сделать), поэтому повесил на "=";
- Между командой Send и отсылаемым кодом клавиши должен быть пробел, иначе не понимает.

Код: Выделить всё

; Shift Ctrl +
^+=:: Send {NumpadAdd}

; Shift Ctrl -
^+-:: Send {NumpadSub}
Еще раз спасибо за autohotkey :)