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.

Marking this as DRAFT since this code could be superseded by #694. The review 
cycles weren't wasted since similar code will re-appear in the PR for 
[JDK-8278938](https://bugs.openjdk.java.net/browse/JDK-8278938) which fixes the 
way the Robot code resolves JavaFX KeyCodes.

(And I was wrong when I wrote that `MapVirtualKeyEx` doesn't inform me of dead 
keys. I must have fumbled my testing. Mea culpa.)

-------------

PR: https://git.openjdk.java.net/jfx/pull/672

Reply via email to