По какой-то причине мне нужна клавиатура Shuttle Xpress для сопоставления клавиш типа «Caps lock + v», «Ins + a». Но шаттл не распознает «Caps Lock» как клавишу-модификатор. Он может отображать только «Caps» или «Ins». Я пытаюсь использовать программное обеспечение AutoHotKey, но оно не может поймать входной сигнал шаттла. У шаттла есть свой водитель. Как я могу поймать сигнал Shuttle Xpress и сопоставить его с любыми комбинациями клавиш, которые я хочу?
AutoHotKey не распознает Shuttle Xpress
Ответы (2)
Возможно, вам повезет, и устройство может быть «HID-устройством».
Большинство устройств ввода (все клавиатуры, мыши, «обычные» джойстики, контроллеры XBox, контроллеры PS4 и т. д.) являются HID-устройствами.
Судя по беглому поиску, это HID-устройство или может быть, есть какой-то режим, в который вы можете перевести устройство, чтобы сделать его стандартным HID-устройством?
В этом случае AHK изначально не может его прочитать, но это можно сделать с помощью вызовов WinAPI (DllCall()
) к RawInput API.
Существует библиотека под названием AHKHID, который позволит вам читать HID-устройства из AHK, и я работаю над аналогичными решениями ( Хотя в наши дни моя, как правило, написана как DLL C #, которую вы затем вызываете из AHK), но я не думаю, что у меня есть что-то, что могло бы вам помочь в данный момент - пока я реализовал только движение мыши в RawInput.< br> Если / когда я это сделаю, я опубликую это на форумах AHK (я публикую как evilC), так что следите за ними.
Я придумал обходной путь, который позволяет мне сопоставлять кнопки ShuttleXpress с любой последовательностью клавиш или сценариями. Ввод направляется на ahk с помощью клавиш Fn. Это работает очень хорошо для моего использования, возможно, стоит попробовать.
1: переназначить кнопки Shuttle Xpress на функциональные клавиши с 13 по 24. (1-12 конечно тоже можно, но тогда вы бы завязали физические клавиши Fn на клавиатуре.)
2: Используйте ahk, чтобы переназначить одни и те же функциональные клавиши на любой сценарий или нажатие клавиши.
KeyHistory
? - person 2501   schedule 25.10.2016