Я пытался выяснить, как «поймать» три и четыре пальца от трекпада, чтобы привязать к ним пользовательские команды клавиатуры. Я думаю, что тап-клик тоже можно отключить.
Моя идея состояла в том, чтобы использовать Autohotkey, чтобы поймать сигнал и связать действие (или бездействие) с этим вводом мыши. Проблема в том, что драйвер по умолчанию не передает эту информацию в систему.
Кто-нибудь знает, как получить raw-ввод из системы для сигналов мыши по Autohotkey в Windows? Некоторое приложение, DLL, что-то еще?
Эти коды из Autohotkey по умолчанию, которые я смог поймать с Magic Trackpad:
VK SC Type Up/Dn Elapsed Key 02 000 d 1.22 RButton 02 000 u 0.00 RButton 9E 001 d 2.15 WheelDown 9E 001 d 0.03 WheelDown 9F 001 d 1.22 WheelUp 9F 001 d 0.02 WheelUp 9D 001 d 1.83 WheelRight 9D 001 d 0.00 WheelRight 9C 001 d 1.22 WheelLeft 9C 001 d 0.02 WheelLeft
Используя вышеупомянутую функцию WheelLeft, я создал кнопку Назад для двухпальцевого пролистывания, используя следующую функцию в Autohotkey:
WheelLeft:: winc_presses = 1 SetTimer, Whleft, 400 ; Wait for more presses within a 400 millisecond window. return Whleft: SetTimer, Whleft, off ; Disable timer after first time its called. if winc_presses >= 1 ; The key was pressed once or more. { SendInput, ! ; Send alt + left for back button (in Chrome at least) } ; Regardless of which action above was triggered, reset the count to prepare for the next series of presses: winc_presses = 0 return
Задержка 400 мс используется потому, что при сканировании несколько колесных колес отправляются на компьютер. Это ловит только первый из них в течение 400 мс. Мы не хотим отправлять команду назад несколько раз. Проверьте uberoptions.net для аналогичного решения, которое было сделано для Logitech MX1000.
Итак, кто-нибудь знает, как получить другие жесты от Magic Trackpad, чтобы мы могли правильно использовать его в Windows?