Pregunta

¿Hay alguna solución que corresponda al problema del tema? Si presiono la tecla de EG Windows + Space, obtengo:

KeyTyped: Windows

Supongo que debería ser:

KeyTyped: Windows
KeyTyped: espacio
Relaborado con teclas: Windows
Relaborado con teclas: espacio

Mi código:

        <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();
        }
    });

¡Gracias!

¿Fue útil?

Solución

WINDOWS + Space es una tecla de acceso rápido global válida para el sistema de Windows y, por lo tanto, no está notificando a su programa (y nunca lo hará). Detecta el primer accidente cerebrovascular porque WINDOWS La clave no es una tecla de acceso rápido (y solo desarrolla el menú de inicio al lanzamiento). Esa es la razón por la que tampoco obtienes la versión.

No sé si Java permite ganchos en todo el sistema, pero probablemente tendrás que meterse con JNI, lo que supongo que no quieres lidiar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top