Попытка распознать Fn + V на моей клавиатуре - PullRequest
1 голос
/ 09 апреля 2019

Я ненавижу, что когда я использую свой ноутбук самостоятельно, я часто печатаю FN + v, когда хочу вставить.Поэтому я решил решить мою проблему с AHK.Я установил хук клавиатуры в своем основном скрипте и использовал его для извлечения значения fn keys, 163. Мой первоначальный тест работал, но добавить &, чтобы сделать его модификатором, нет.Что я пропускаю?

Так что это не работает

SC163 & v:: 
MsgBox, %A_ThisHotkey% was pressed.
return

, но это сработало

SC163:: 
MsgBox, %A_ThisHotkey% was pressed.
return

1 Ответ

1 голос
/ 10 апреля 2019

Когда вы нажимаете клавишу FN, это может быть переназначение «v» на что-то другое (например, кнопку «Media_Play_Pause») в драйвере клавиатуры.Следовательно, код ключа не будет SC163 & v, а будет выглядеть примерно так: SC159.

В разделе Специальные ключи указан метод получения кода сканирования:

  1. Убедитесь, что запущен хотя бы один скрипт, использующий хук клавиатуры.Вы можете определить, есть ли в скрипте зацепка клавиатуры, открыв его главное окно и выбрав «Вид-> История ключей» в строке меню.
  2. Дважды щелкните значок на панели задач этого скрипта, чтобы открыть его главное окно.
  3. Нажмите одну из «тайных клавиш» на клавиатуре.
  4. Выберите пункт меню «Вид-> История клавиш»
  5. Прокрутите вниз до нижней части страницы.Где-то внизу находятся события нажатия клавиш и нажатия клавиш для вашего ключа. ПРИМЕЧАНИЕ. Некоторые ключи не генерируют события и поэтому не будут видны здесь.В этом случае вы не можете напрямую сделать эту конкретную клавишу горячей клавишей, потому что ваш драйвер клавиатуры или аппаратное обеспечение обрабатывает ее на слишком низком уровне, чтобы AutoHotkey не мог получить к нему доступ. Возможные решения см. В Специальные клавиши .
  6. Если ваш ключ обнаружим, запишите трехзначное шестнадцатеричное значение во втором столбце списка (например, 159).
...