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

Reply via email to