Eu tenho tentado descobrir como "capturar" três e quatro furtos de dedo de um trackpad para vincular comandos de teclado personalizados a eles. Acho que também o toque para clique pode ser desativado da mesma maneira.
Minha idéia era usar Autohotkey para capturar o sinal e ligar uma ação (ou unação) a essa entrada do mouse. O problema é que o driver padrão não passará essa informação para o sistema.
Alguém sabe como obter entrada bruta do sistema para os sinais do mouse para Autohotkey no Windows? Alguma aplicação, DLL, alguma outra coisa?
Esses códigos são da Autohotkey padrão que consegui capturar no 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
Usando a função WheelLeft acima, criei o botão Voltar para deslizar com dois dedos usando a seguinte função em 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
O atraso de 400 ms é usado porque a varredura faz com que vários WheelLefts sejam enviados para o computador. Isso pega apenas o primeiro deles durante os 400 ms. Nós não queremos enviar o comando de volta várias vezes. Confira o uberoptions.net para uma solução similar que foi feita para o Logitech MX1000.
Então, alguém sabe como obter outros gestos do Magic Trackpad, para que possamos usá-lo corretamente no Windows?