Как можно отслеживать события мыши в Windows при использовании Magic Trackpad?

2340
Jari

Я пытался выяснить, как «поймать» три и четыре пальца от трекпада, чтобы привязать к ним пользовательские команды клавиатуры. Я думаю, что тап-клик тоже можно отключить.

Моя идея состояла в том, чтобы использовать 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?

5

2 ответа на вопрос

1
MikeP

Это интересно: http://www.trackpadcontrol.com/blog/24-an-impossible-battery-gauge.html кажется, что Apple намеренно скрывает что-то большее, чем один палец и два пальца для трекпада. Я не специалист по HID, но не мог кто-то написать свой собственный драйвер для трекпада, который затем мог бы получать необработанные данные мыши, которые скрыты при использовании драйверов Apple. Вы можете попробовать сделать то, что сделал этот парень, и удалить драйверы Apple, ТОГДА попробуйте использовать autohotkey.

Я бы хотел получить полную поддержку мультитач для моего волшебного трекпада на Windows, но Apple не хочет, чтобы пользователи Windows имели мультитач: /

0
Matthew Lock

Trackpad ++ даст вам доступ к жестам MacBook Pro на 3 и 4 пальца, но он не работал, когда у меня был запущен AutoHotkey. Возможно, у вас может быть одновременно только одно приложение с крюком мыши / клавиатуры?

Из часто задаваемых вопросов звучит так, будто драйверы Bootcamp выставляют жесты 3 и 4 пальца в Windows, поэтому сначала их нужно установить и запустить.