RFR: 8273743: KeyCharacterCombination for "+" does not work on US QWERTY keyboard layout
Martin Fox
github.com+12087024+beldenfox at openjdk.java.net
Tue Sep 28 21:07:01 UTC 2021
There was a mismatch between the way `get_glass_key` generated the Java key code for a given key press and how `getKeyCodeForChar` determined the key code for the matching character. For example, when pressing the plus sign on a US keyboard `get_glass_key` correctly generated `KeyCode.EQUALS` but `getKeyCodeForChar("+")` generated `KeyCode.PLUS`.
In this PR `getKeyCodeForChar` mirrors the behavior of `get_glass_key`; it determines which key the character lies on and generates a key code based on the unshifted character on the same key.
I'm working on a more comprehensive test case that allows you to press any key on the keyboard and test whether a KeyCharacterCombination for that character will succeed or not. I've attached it to this thread. It might be worth submitting as a manual test case
[CharComboTest.txt](https://github.com/openjdk/jfx/files/7247265/CharComboTest.txt)
.
-------------
Commit messages:
- Query the current keyboard layout and key to correctly respond to getKeyCodeForChar.
Changes: https://git.openjdk.java.net/jfx/pull/635/files
Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=635&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8273743
Stats: 82 lines in 1 file changed: 63 ins; 0 del; 19 mod
Patch: https://git.openjdk.java.net/jfx/pull/635.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/635/head:pull/635
PR: https://git.openjdk.java.net/jfx/pull/635
More information about the openjfx-dev
mailing list