Я пытался выяснить, как "поймать" три и четыре пальца от трекпада, чтобы привязать к ним пользовательские команды клавиатуры. Я думаю, что тап-клик тоже можно отключить.
Моя идея состояла в том, чтобы использовать 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, !{Left} ; 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?