Le robot Java ne peut pas contrôler tout le clavier


J'ai essayé de faire une sorte de classe de contrôleur de clavier mais le robot java semble être incapable de conrol le clavier entier.

J'ai essayé

robot.keyPress(i);
Thread.currentThread().sleep(50);
robot.keyRelease(i);

De 0 à 255 et cette touche n'est jamais enfoncée (cette touche est présente sur tous les claviers azerty).

entrez la description de l'image ici

Une idée pourquoi? Grâce.

Ps: vous n'avez pas besoin d'appuyer sur CTRL ou ALT pour utiliser cette touche, elle produit ceci: "2"

Author: Eildosa, 2013-09-14

1 answers

Vous pouvez essayer de créer une nouvelle fenêtre, et lui faire capturer et imprimer les codes de touches pour les touches enfoncées. Puis exécutez-le et appuyez sur la touche en question. il devrait ensuite imprimer le KeyCode pour cela:

public static void main(String[] args) {
    JFrame frame= new JFrame();
    frame.addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(KeyEvent e) {
            System.out.println(e.getExtendedKeyCode());
        }            
    });
    frame.setBounds(0, 0, 100, 50);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
}

Le Faire avec un clavier virtuel m'a donné 16777394

Voir http://docs.oracle.com/javase/7/docs/api/constant-values.html#java.awt.event.KeyEvent.CHAR_UNDEFINED pour toutes les valeurs 'KeyCode'

 2
Author: vandale, 2013-09-14 14:54:13