"Windows -Schlüssel" + "Andere Schlüssel" - Java erkennt "andere Schlüssel" nicht
-
26-10-2019 - |
Frage
Gibt es eine Lösung, die dem Problem aus dem Thema entspricht? Wenn ich zB Windows -Taste + Speicherplatz drücke, bekomme ich:
KeytyPed: Windows
Ich denke, es sollte sein:
KeytyPed: Windows
KeytyPed: Raum
KeyRepest: Windows
Keystarerader: Raum
Mein Code:
<Java component>.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
e.consume();
}
@Override
public void keyPressed(KeyEvent e) {
System.out.println("keyTyped: " + KeyEvent.getKeyText(e.getKeyCode()));
e.consume();
}
@Override
public void keyReleased(KeyEvent e) {
System.out.println("keyReleased: " + KeyEvent.getKeyText(e.getKeyCode()));
e.consume();
}
});
Vielen Dank!
Lösung
WINDOWS + Space
ist ein gültiger globaler Hotkey für das Windows -System und benachrichtigt daher Ihr Programm nicht (und wird niemals.) Er erkennt den ersten Schlaganfall, weil WINDOWS
Schlüssel ist kein Hotkey (und entfaltet das Startmenü nach der Veröffentlichung nur.) Das ist der Grund, warum Sie die Version nicht erhalten.
Ich bin mir nicht bewusst, ob Java systemweite Haken zulässt, aber Sie müssen sich wahrscheinlich mit JNI anlegen, mit dem Sie davon ausgehen, dass Sie nicht umgehen möchten.