-
Enhancement
-
Resolution: Unresolved
-
P4
-
fx2.0.2
-
Windows Vista SP2
Please support the full range of keyboard keys, as shown here: http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731.aspx (referred to as "the table" in the remainder of this description)
On my laptop keyboard i have:
several multimedia keys (Play/Pause, Stop, Previous track, Next track)
an Fn-modifier key (which e.g. in combination with F8 mutes the sound)
several other keys (e.g. to open the default browser/email client, to turn on/off WLAN functionality, ...)
When using the simple Swing/AWT application in attachment (Swing.java), and pressing all these keys, I see that:
most of them have a "rawCode" value that matches the hexadecimal value in the table: e.g. the Play/Pause key gives rawCode 179 (= 0xB3), pressing Fn+F8 gives rawCode 173 (= 0xAD), ...
some of them have a "rawCode" value of 255 (e.g. the button to turn on/off WLAN functionality): in this case the "scancode" value is different & thus still allows the keys to be distinguished
( note: rawCode and scancode are private variables in java.awt.event.KeyEvent )
So I would like the KeyCode enum to incorporate all values as defined in the table (there are still many keys not yet available in JavaFX KeyCode, like e.g. the LAUNCH_MAIL and BROWSER_HOME, that i have on my laptop keyboard), and for all keys to be mapped according to that table. For the keys with a "rawCode" of 255, it is acceptable to give KeyCode.UNDEFINED, but ideally KeyCode would provide a way to distinguish these keys as well (e.g. by providing a range of UNDEFINED_1, UNDEFINED_2, ...)
One particular use-case where this feature would be very handy, is allowing special multimedia keys to operate a JavaFX MediaPlayer.
On my laptop keyboard i have:
several multimedia keys (Play/Pause, Stop, Previous track, Next track)
an Fn-modifier key (which e.g. in combination with F8 mutes the sound)
several other keys (e.g. to open the default browser/email client, to turn on/off WLAN functionality, ...)
When using the simple Swing/AWT application in attachment (Swing.java), and pressing all these keys, I see that:
most of them have a "rawCode" value that matches the hexadecimal value in the table: e.g. the Play/Pause key gives rawCode 179 (= 0xB3), pressing Fn+F8 gives rawCode 173 (= 0xAD), ...
some of them have a "rawCode" value of 255 (e.g. the button to turn on/off WLAN functionality): in this case the "scancode" value is different & thus still allows the keys to be distinguished
( note: rawCode and scancode are private variables in java.awt.event.KeyEvent )
So I would like the KeyCode enum to incorporate all values as defined in the table (there are still many keys not yet available in JavaFX KeyCode, like e.g. the LAUNCH_MAIL and BROWSER_HOME, that i have on my laptop keyboard), and for all keys to be mapped according to that table. For the keys with a "rawCode" of 255, it is acceptable to give KeyCode.UNDEFINED, but ideally KeyCode would provide a way to distinguish these keys as well (e.g. by providing a range of UNDEFINED_1, UNDEFINED_2, ...)
One particular use-case where this feature would be very handy, is allowing special multimedia keys to operate a JavaFX MediaPlayer.
- relates to
-
JDK-8324232 KeyEvent.getCode() is null inside JFXPanel
- Resolved