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

Reply via email to