Re: [Integrated] RFR: 8244735: Error on iOS passing keys with unicode values greater than 255
On Mon, 11 May 2020 12:50:48 GMT, Jose Pereda wrote: > 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. This pull request has now been integrated. Changeset: b14e0858 Author:Jose Pereda Committer: Johan Vos URL: https://git.openjdk.java.net/jfx/commit/b14e0858 Stats: 39 lines in 6 files changed: 7 ins; 20 del; 12 mod 8244735: Error on iOS passing keys with unicode values greater than 255 Reviewed-by: jvos - PR: https://git.openjdk.java.net/jfx/pull/217
Re: RFR: 8244735: Error on iOS passing keys with unicode values greater than 255
On Mon, 11 May 2020 12:50:48 GMT, Jose Pereda wrote: > 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. This indeed fixes JDK-8244735. It only touches ios-specific files, hence there is no impact on other platforms. - Marked as reviewed by jvos (Reviewer). PR: https://git.openjdk.java.net/jfx/pull/217
RFR: 8244735: Error on iOS passing keys with unicode values greater than 255
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