For JavaFX 17, I am planning to add a minor enhancement to read the state of the keyboard lock keys, specifically, Caps-Lock, Num-Lock, and maybe Scroll-Lock (although I might defer the latter to a future version since it will be more difficult to test, and doesn't seem as useful).

This is currently tracked by JDK-8259680 [1].

The proposed API would be something like:

        public static boolean Platform::isKeyLocked(KeyCode keyCode);

One question is whether we should throw an exception if the key state cannot be read on a particular system (e.g., Num Lock on macOS), which is what the similar AWT API does. I don't have a strong opinion on that poont, although I wouldn't want to throw an exception if the keyboard doesn't have the key in question, as long the system is able to read the state accurately.

Comments are welcome.

-- Kevin

[1] https://bugs.openjdk.java.net/browse/JDK-8259680

Reply via email to