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!

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top