On Mon, 15 Nov 2021 20:13:11 GMT, Martin Fox <d...@openjdk.java.net> wrote:
> The code that maps from a Windows virtual key code to a Java key code in > `getKeyCodeForChar` did not match the similar code in > `ViewContainer::HandleViewKeyEvent`. The OEM keys are assigned to printable > punctuation and symbols in ways which vary across layouts and even keyboards. > To determine the correct Java key code you have to query the layout to > determine the character the key would generate without modifiers and map that > character to the key code. `ViewContainer::HandleViewKeyEvent` did this, > `getKeyCodeForChar` did not. This PR copies a few snippets of code from > `ViewContainer::HandleViewKeyEvent` to make the two algorithms match. I tested the testcase attached in JBS and I see some issues with some of the keys with German Keyboard layout * Failed: key code Dead Acute did not match ´ * Failed: key code Dead Acute did not match ´ * Failed: key code Dead Acute did not match Shift+` * Failed: key code Dead Acute did not match Shift+` ------------- PR: https://git.openjdk.java.net/jfx/pull/672