On Wed, 14 May 2025 15:31:46 GMT, Martin Fox <m...@openjdk.org> wrote:
> Under the hood the Keyman input method appears as a US English keyboard > layout. The characters attached to an NSEvent are always US English Roman > even if the selected Keyman layout is, say, Hebrew or Dvorak. Keyman sends > the correct Hebrew or Dvorak character to insertText:replacementRange: > instead. > > This PR special-cases the Keyman layout, detecting it using the same method > that AWT does. When Keyman is active Glass records the insertText: character > and uses that when sending out KeyEvents. The N key in the Himyarit Musnad layout shouldn't generate a character (just a beep). Under the hood glass is seeing a keyDown: event for the N key (same as it would for a U.S. English layout) so it generates a KeyEvent. I can't figure out a good way of avoiding this, any fix I can think of would also affect keys like Tab where we *have* to generate a KeyEvent. I'll continue to think about this but for now this PR gets Keyman working at some minimal level and I have my doubts that we can do much better. ------------- PR Comment: https://git.openjdk.org/jfx/pull/1805#issuecomment-2884805897