RFR: 8320773: [macOS] All IME input blocked
Martin Fox
mfox at openjdk.org
Mon Nov 27 17:12:29 UTC 2023
The changes submitted in PR #1209 broke IME input on macOS 12 and 13 (at least on Apple Silicon). Calling charactersByApplyingModifiers on an NSEvent alters its state in some way that confuses NSTextInputContext.handleEvent. The result is that all key events are discarded if an IME is active. Apple fixed this bug in macOS 14 Sonoma.
In this PR we switch to using the same Carbon call that we started using in PR #425 (jfx21) to query the keyboard layout.
This is a new implementation of the fix for [JDK-8087700](https://bugs.openjdk.org/browse/JDK-8087700) so that bug will need to be re-tested.
-------------
Commit messages:
- Use Carbon calls to determine character based on keyCode/modifier state
Changes: https://git.openjdk.org/jfx/pull/1295/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1295&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8320773
Stats: 32 lines in 4 files changed: 29 ins; 1 del; 2 mod
Patch: https://git.openjdk.org/jfx/pull/1295.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/1295/head:pull/1295
PR: https://git.openjdk.org/jfx/pull/1295
More information about the openjfx-dev
mailing list