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

Reply via email to