KeyEvent und Fragezeichen

Status
Nicht offen für weitere Antworten.

madboy

Top Contributor
Hallo,

Mein Problem ist folgendes:

Ich habe einen kleinen "Robot" geschrieben, der Tastendrücke und Mausklicks nach Eingabe wieder abspielen soll. Allerdings habe ich jetzt das Problem, wie ich ihm beibringe, ein Fragezeichen zu drücken.

Aus java.awt.event.KeyEvent:
there is no keycode for the question mark because there is no keyboard for which it appears on the primary layer.

Also dachte ich, lass den Robot doch Shift+'ß' drücken. Das hat allerdings auch nicht geklappt.

Habe mit einem KeyListener auf ein JTextField mal versucht, den KeyCode herauszufinden:
Code:
public static void main(String[] args) {

        JTextField field = new JTextField();
        field.addKeyListener(new KeyListener() {
            public void keyTyped(KeyEvent e) {}
            public void keyPressed(KeyEvent e) {
                System.out.println("keyCode: " + e.getKeyCode());
            }
            public void keyReleased(KeyEvent e) {}
        });
        JFrame frame = new JFrame();
        frame.getContentPane().add(field);
        frame.pack();
        frame.setVisible(true);
    }
}

es wird bei allen Tasten was ausgegeben, aber ausgerechnet bei 'ß' nichts (bei Shift+'ß' bekomme ich 0).

Hab ich was übersehen, oder gibt es keine Möglichkeit, ein Fragezeichen durch den KeyCode darzustellen?

Danke und Gruß,
madboy
 

madboy

Top Contributor
Hab ich. getKeyChar() liefert auch was Korrektes. Ich brauche aber den KeyCode, um später mit dem java.awt.Robot Tasten drücken zu können.
 

thE_29

Top Contributor
In der Klasse KeyEvent steht das da:

* [*]Not all characters have a keycode associated with them. For example,
* there is no keycode for the question mark because there is no keyboard
* for which it appears on the primary layer.
 

byte

Top Contributor
Guck Dir mal KeyStrokes an. Damit kannste sowas wie SHIFT+? als KeyAction definieren. Ich kenne mich aber nich mit Robot aus, also keine Ahnung, ob Dir das da weiterhilft.
 

madboy

Top Contributor
@ thE_29: Ja, leider. Aber mit Shift + 'ß' (Deutsches Tastaturlayout) geht auch nix.

@byto: Danke, werd ich mir mal anschauen.
 

madboy

Top Contributor
KeyStrokes helfen leider auch nicht :cry: Robot erwartet eine KeyCode und die 'ß' bzw. '?' - Taste besitzt wohl keinen KeyCode, nur einen KeyChar (was mir allerdings nicht hilft)

Hätte ich villeicht vorher schon schreiben sollen, fällt mir aber erst jetzt ein:
Betriebssystem: Linux (SuSE 10.0)
Tastaturlayout: Deutsch
Java 1.5.0_03

Falls noch jemand eine Idee hat, immer her damit :wink:

Ansonsten muss ich wohl den Support von SUN bemühen...

Gruß,
madboy
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben