On Mon, 27 Nov 2023 17:07:38 GMT, Martin Fox <m...@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. A short test appears to have solved the problem caused by side effects. I also found a known IME related issue, but am concerned that this fix will not complicate it. Steps to reproduce: Click on another TextInput control in the middle of an IME conversion in the TextInput control to move the focus. Issue: IME conversion candidate popup moves to the clicked destination, locked into an input disabled state in the original TextInput. Expected Behavior: The conversion is committed. The IME conversion candidate popup is closed. ------------- PR Comment: https://git.openjdk.org/jfx/pull/1295#issuecomment-1829461616