Hallo,
ich habe eine JavaFX Anwendung und würde gerne die Mediatasten meiner Tastatur abfragen. Da die naheliegenste Lösung mit z.B. "KeyCode.TRACK_NEXT" usw. nicht funktionierten habe ich ein wenig nachgeforscht. Für AWT habe ich hier ( http://stackoverflow.com/questions/30221022/how-to-emulate-pressing-media-keys-in-java ) ein Miniprogramm gefunden um Tastencodes rauszufinden. Dort bekomme ich für meine Tasten die Codes 176, 177, 178 und 179 präsentiert, sodass ich diese Theoretisch verarbeiten könnte:
In JavaFX scheint das KeyEvent aber keine allgemeine Zahl/Code für unbekannte Tasten mitzuführen? Dort erhalte ich, wenn ich das Komplette KeyEvent als String ausgebe lediglich folgende Ausgabe:
D.h. er registriert die Tastenanschläge, ich weiß aber leider nicht welche. Im Feld Character liegt lediglich ein String der aus einem "\0" Character besteht. Bin da ansonsten leider nicht wirklich fündig geworden, bis auf eine größere Bibliothek die mit Nativen DLLs Windowsfunktionen aufgreift, was ich vermeiden möchte. Ist AWT was das angeht JavaFX wirklich einen Schritt voraus? Jemand eine Idee?
PS: Verwendet wird JDK 1.8.0_91
ich habe eine JavaFX Anwendung und würde gerne die Mediatasten meiner Tastatur abfragen. Da die naheliegenste Lösung mit z.B. "KeyCode.TRACK_NEXT" usw. nicht funktionierten habe ich ein wenig nachgeforscht. Für AWT habe ich hier ( http://stackoverflow.com/questions/30221022/how-to-emulate-pressing-media-keys-in-java ) ein Miniprogramm gefunden um Tastencodes rauszufinden. Dort bekomme ich für meine Tasten die Codes 176, 177, 178 und 179 präsentiert, sodass ich diese Theoretisch verarbeiten könnte:
Code:
java.awt.event.KeyEvent[KEY_PRESSED,keyCode=0,keyText=Unbekannt keyCode: 0x0,keyChar=Undefiniert keyChar,keyLocation=KEY_LOCATION_STANDARD,rawCode=178,primaryLevelUnicode=0,scancode=36,extendedKeyCode=0x0] on frame0
java.awt.event.KeyEvent[KEY_PRESSED,keyCode=0,keyText=Unbekannt keyCode: 0x0,keyChar=Undefiniert keyChar,keyLocation=KEY_LOCATION_STANDARD,rawCode=176,primaryLevelUnicode=0,scancode=25,extendedKeyCode=0x0] on frame0
java.awt.event.KeyEvent[KEY_PRESSED,keyCode=0,keyText=Unbekannt keyCode: 0x0,keyChar=Undefiniert keyChar,keyLocation=KEY_LOCATION_STANDARD,rawCode=177,primaryLevelUnicode=0,scancode=16,extendedKeyCode=0x0] on frame0
java.awt.event.KeyEvent[KEY_PRESSED,keyCode=0,keyText=Unbekannt keyCode: 0x0,keyChar=Undefiniert keyChar,keyLocation=KEY_LOCATION_STANDARD,rawCode=179,primaryLevelUnicode=0,scancode=34,extendedKeyCode=0x0] on frame0
In JavaFX scheint das KeyEvent aber keine allgemeine Zahl/Code für unbekannte Tasten mitzuführen? Dort erhalte ich, wenn ich das Komplette KeyEvent als String ausgebe lediglich folgende Ausgabe:
Code:
KeyEvent [source = javafx.scene.Scene@45981de0, target = WebView[id=browser, styleClass=web-view], eventType = KEY_PRESSED, consumed = false, character = , text = , code = UNDEFINED]
KeyEvent [source = javafx.scene.Scene@45981de0, target = WebView[id=browser, styleClass=web-view], eventType = KEY_PRESSED, consumed = false, character = , text = , code = UNDEFINED]
KeyEvent [source = javafx.scene.Scene@45981de0, target = WebView[id=browser, styleClass=web-view], eventType = KEY_PRESSED, consumed = false, character = , text = , code = UNDEFINED]
KeyEvent [source = javafx.scene.Scene@45981de0, target = WebView[id=browser, styleClass=web-view], eventType = KEY_PRESSED, consumed = false, character = , text = , code = UNDEFINED]
D.h. er registriert die Tastenanschläge, ich weiß aber leider nicht welche. Im Feld Character liegt lediglich ein String der aus einem "\0" Character besteht. Bin da ansonsten leider nicht wirklich fündig geworden, bis auf eine größere Bibliothek die mit Nativen DLLs Windowsfunktionen aufgreift, was ich vermeiden möchte. Ist AWT was das angeht JavaFX wirklich einen Schritt voraus? Jemand eine Idee?
PS: Verwendet wird JDK 1.8.0_91