RFR: 8320773: [macOS] All IME input blocked
Andy Goryachev
angorya at openjdk.org
Tue Nov 28 00:46:18 UTC 2023
On Mon, 27 Nov 2023 17:07:38 GMT, Martin Fox <mfox at openjdk.org> wrote:
> 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.
Marked as reviewed by angorya (Reviewer).
The fix looks good as far as I can tell. Tests listed in JDK-8087700 work as expected (KeyboardTest, TestKeyCombination, monkey tester's Keyboard Event Viewer).
The IME location problem is a known issue JDK-8301893
-------------
PR Review: https://git.openjdk.org/jfx/pull/1295#pullrequestreview-1751686021
PR Comment: https://git.openjdk.org/jfx/pull/1295#issuecomment-1828877375
More information about the openjfx-dev
mailing list