RFR: 8244735: Error on iOS passing keys with unicode values greater than 255
Jose Pereda
jpereda at openjdk.java.net
Mon May 11 12:56:57 UTC 2020
With this PR, we pass directly the 16-bit unsigned short for a character (unicode value) to the Java layer, avoiding
the cast with the C++ 8-bit char, that fails for non-ascii characters like euro (€) or quote (").
We also avoid the mapping between iOS keys and JavaFX `KeyCode`, except for `ENTER` and `BACK_SPACE`, as the mapping
for some keys was wrong, like for "%", with ascii value 0x25, that was mapped to KeyCode.LEFT.
Finally, the iOS keyboard is set to `UIKeyboardTypeASCIICapable`, to prevent the display of the emoji keyboard, that
can't be currently processed.
-------------
Commit messages:
- Set iOS keyboard type
- Pass the unicode value of iOS 16-bit chars directly to the Java layer, without keyCode value (except for enter and backspace)
Changes: https://git.openjdk.java.net/jfx/pull/217/files
Webrev: https://webrevs.openjdk.java.net/jfx/217/webrev.00
Issue: https://bugs.openjdk.java.net/browse/JDK-8244735
Stats: 39 lines in 6 files changed: 20 ins; 7 del; 12 mod
Patch: https://git.openjdk.java.net/jfx/pull/217.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/217/head:pull/217
PR: https://git.openjdk.java.net/jfx/pull/217
More information about the openjfx-dev
mailing list