Как можно отслеживать события мыши в Windows при использовании Magic Trackpad?
Я пытался выяснить, как "поймать" три и четыре пальца на трекпаде, чтобы привязать к ним пользовательские команды клавиатуры. Я думаю, что тап-клик тоже можно отключить.
Моя идея состояла в том, чтобы использовать 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?
2 ответа
Это интересно: http://www.trackpadcontrol.com/blog/24-an-impossible-battery-gauge.html кажется, что Apple намеренно скрывает что-то большее, чем один палец и два пальца для трекпада. Я не специалист по HID, но не мог кто-то написать свой собственный драйвер для трекпада, который затем мог бы получать необработанные данные мыши, которые скрыты при использовании драйверов Apple. Вы можете попытаться сделать то, что сделал этот парень, и удалить драйверы Apple, ТОГДА попробуйте использовать autohotkey.
Я хотел бы получить полную поддержку мультитач для моего волшебного трекпада на Windows, но Apple не хочет, чтобы пользователи Windows имели мультитач: /
Trackpad++ даст вам доступ к жестам MacBook Pro на 3 и 4 пальца, но, похоже, он не работал, когда у меня был запущен AutoHotkey. Возможно, у вас может быть одновременно только одно приложение с крюком мыши / клавиатуры?
Из часто задаваемых вопросов звучит так, будто драйверы Bootcamp выставляют жесты 3 и 4 пальца в Windows, поэтому сначала их нужно установить и запустить.