On Mon, 30 Sep 2024 16:30:49 GMT, Martin Fox <m...@openjdk.org> wrote:
> The glass code on Windows does its own dead key processing so at certain > points it must clear the dead key state that the OS is maintaining. It does > this by simulating a SPACE key press but this only works reliably if the > SPACE key is pressed without any modifiers. > > Currently the code is picking up the current modifier state of the keyboard. > If the dead key is invoked using AltGr the code is trying to clear the dead > key state using AltGr+Space. This does nothing. The fix is to ignore the > current keyboard state and pretend the only key being held down is Space. > > I haven't figured out a way of providing automated tests for dead keys. > There's no way to detect whether the correct keyboard layout is active or to > force the correct layout to be active. > > To test this you'll need to install the correct layout. On Windows 11 go to > Settings > Time & language > Language & region. Click on the three dots to > the far right of the English entry (or whatever language you're using) and > select “Language options”. Scroll down until you find “Add a keyboard”. From > that button scroll through all the many, many layouts until you find “Swiss > German”. Once you’ve added the keyboard you should see a button on the far > right of the task bar to select the layout. The dead key for this bug is > where the =/+ key is on the standard US keyboard, top row to the left of > Backspace. This pull request has now been integrated. Changeset: d5432c3e Author: Martin Fox <m...@openjdk.org> URL: https://git.openjdk.org/jfx/commit/d5432c3e14b06445bc45e34e4aa63ec415c03595 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod 8183521: Unable to type characters with tilde with swiss german keyboard layout Reviewed-by: kcr, angorya ------------- PR: https://git.openjdk.org/jfx/pull/1585