> 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.
Martin Fox has updated the pull request incrementally with one additional commit since the last revision: No point in the kbState being static here ------------- Changes: - all: https://git.openjdk.org/jfx/pull/1585/files - new: https://git.openjdk.org/jfx/pull/1585/files/cb2b2d20..79f82292 Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=1585&range=01 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1585&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jfx/pull/1585.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1585/head:pull/1585 PR: https://git.openjdk.org/jfx/pull/1585