Hören der "WIN" -Taste
Soweit ich es verstehe, ist der einzige Grund, warum Sie möglicherweise keine Ereignisse von der "WIN" -Maus-Taste sehen, dass Sie nur auf Maus bezogene Ereignisse schauen, während die "WIN" -Taste auf der Tastatur "Rechts" erzeugt -Win “Tastenanschlag. Eigentlich wurde dieser Teil bereits in Kommentaren besprochen - das Remapping von "Right-Win" funktioniert einwandfrei.
Wiederholte RWin-Ereignisse gesendet
Ich kann bestätigen, dass Ereignisse wiederholt gesendet werden. AFAIK, jede Tastaturtaste funktioniert so - zB „F2“. Zumindest der folgende AHK- Trick zeigt, soweit ich das beurteilen kann, für "F2" und "RWin" dasselbe.
#InstallKeybdHook #InstallMouseHook 1::KeyHistory
Das Gute an der „WIN“ -Taste ist, dass sie mechanisch einzelne Tastenanschläge erzeugen kann. Im Gegensatz zu den Neigungen der Räder - es ist ziemlich schwierig, einen "einzigen Klick" von ihnen zu erhalten - selbst mein kürzester Klick wird normalerweise als 3-5 separate Tastenanschläge behandelt.
Hören der Tasten für die Radneigung
Die "Microsoft-Maus- und Tastaturmitte" (Version 2.7.133.0) scheint das Verhalten der Maus zu ändern - die AHK kann keine WheelRight / WheelLeft-Ereignisse mehr hören. Dies lässt sich am einfachsten beheben, indem Sie das Microsoft-Tool deinstallieren. Nach meinen Experimenten hat dies jedoch keinen Einfluss auf die "WIN" -Taste.
Es sollte jedoch möglich sein, die Radkippungen auch ohne Deinstallation neu zuzuordnen. Mit den AHKHID- Beispielen 1 und 2 konnte ich 1FFDFF- und 1F0300- "Daten" von der rechten und linken Radkante abfangen, wobei UsagePage 12, Usage 1 mit "Microsoft Mouse and Keyboard center" installiert wurde, und nichts, nachdem ich es deinstalliert habe .
Wiederholtes Senden von Radneigungsereignissen
Ich persönlich habe am Ende einfach eine Verzögerung eingeführt, wie von Bob vorgeschlagen . Es sieht so aus, als ob der einfachste Code, der auf dem Code in dieser Frage basiert, in diesem Fall in Ordnung ist (obwohl er möglicherweise nicht optimal ist - ich bin kein Experte für AHK). Das folgende AHK-Skript ermöglicht es mir, Wheel-Tilt-Left auf "Ctrl + Alt + LeftArrow" und Wheel-Tilt-Right auf "Ctrl + Alt + RightArrow" umzustellen. Ich verwende diese Hotkeys in VirtuaWin, um zum vorherigen / nächsten virtuellen Desktop zu wechseln (eine Aufgabe, bei der "eine Antwort pro Klick" sehr wichtig ist), und es funktioniert perfekt. (Immer noch, wenn ich die "Tilt-Taste" gedrückt halte, erhalte ich ~ 5 Ereignisse pro Sekunde).
WheelRight:: if( not GetKeyState("WheelRight") ) sleep 200 Send, Send, Send, Send, Send, return WheelLeft:: if( not GetKeyState("WheelLeft") ) sleep 200 Send, Send, Send, Send, Send, return RWin:: Send, return
RWin funktioniert auch ohne diesen Trick.