Ermitteln Sie, welche Eingabetaste gedrückt wurde

426
Saravanabalagi Ramachandran

Gibt es eine Möglichkeit zu sagen, welche EnterTaste gedrückt wurde ? Benötigt das einen Low-Level-Treiber oder ähnliches? Weiß das Betriebssystem, welches Entergedrückt wurde?

Ich bin unter Windows und habe Carnac ausprobiert, aber es sagt mir nur, ob Entergedrückt wurde oder nicht.

4
Es sieht so aus, als wäre dies mit der Programmierung möglich, zum Beispiel https://stackoverflow.com/questions/8059177/distinguish-between-normal-enter-und-the-number-pad-enter-keypress, und ich vermute, dass dies auch Python bedeutet Eine ähnliche Methode zur Unterscheidung, aber ich habe keine Zeit zum Überprüfen, aber vielleicht bietet dies Ihnen einen Ausgangspunkt für eine Python-Lösung zum Spielen und Nachforschen als solche. https://stackoverflow.com/questions/33863921/detecting-a- keypress-in-python-while-in-the-background. . . Markiere mich zurück, wenn / wenn du eine Antwort bekommst, diese Frage gefällt mir. Pimp Juice IT vor 6 Jahren 0

2 Antworten auf die Frage

0
JJohnston2

Wenn Sie sich auf den Nummernblock beziehen, werden Skripte in AutoHotkey für Enter und für NumPadEnter getrennt ausgelöst / erkannt

Abhängig davon, was Sie tun möchten, können Sie diese separat auslösen, aber den Tastenanschlag durch Verwendung einer Tilde vor der Hotkey-Definition zur ursprünglichen Anwendung durchgehen lassen und dann eine parallele Folgeaktion ausführen ) wobei der Tastenanschlag an die Anwendung gesendet wird (Nachricht senden, irgendwo protokollieren usw.)

0
Yorik

Soweit ich weiß haben beide Eingabetasten den gleichen Scan-Code ( VK_RETURN). Ich denke, dass die Numpad-Taste bestimmt werden kann, indem lParamzB die WM_KEYDOWNNachricht von einer Nachricht überprüft wird .

Nummerntasten setzen wahrscheinlich das "erweiterte" Bit (Bit 24) auf den Wert 1. Daher würde eine AND-Operation (lParam & x1000000)dieses Bit testen.

https://msdn.microsoft.com/de-de/library/windows/desktop/ms646280(v=vs.85).aspx

So sieht es Windows, aber es wird in vielen Hotkey-Programmen möglicherweise nicht angezeigt.