RFR: 8274967: KeyCharacterCombinations for punctuation and symbols fail on non-US keyboards

Andy Goryachev angorya at openjdk.org
Tue Oct 31 22:09:10 UTC 2023


On Tue, 17 Oct 2023 20:21:30 GMT, Martin Fox <duke at openjdk.org> wrote:

> After finding the Window virtual key code for a character getKeyCodeForChar was using a mapping table that only works correctly for U.S. English to retrieve the Java key code. This caused getKeyCodeForChar to encode keys differently than the original key event handling machinery.
> 
> With this fix the Robot, getKeyCodeForChar, and the code that handles platform key events all agree on how Windows VK codes should map to Java codes.
> 
> The manual KeyboardTest app can be used to test this (tests/manual/events). Run the tests by selecting "without keypad combinations" in the second dropdown. This will use a Robot to test KeyCharacterCombinations excluding the numeric keypad (which is a separate issue).

Typing \ and Shift-\  on French keyboard, getting


KeyEvent{type=KEY_PRESSED, character=, text=*, code=ASTERISK}
KeyEvent{type=KEY_TYPED, character=*, text=, code=UNDEFINED}
KeyEvent{type=KEY_RELEASED, character=, text=*, code=ASTERISK}

KeyEvent{type=KEY_PRESSED, character=, text=, code=SHIFT, shift}
KeyEvent{type=KEY_PRESSED, character=, text=*, code=ASTERISK, shift}
KeyEvent{type=KEY_TYPED, character=ยต, text=, code=UNDEFINED, shift}
KeyEvent{type=KEY_RELEASED, character=, text=*, code=ASTERISK, shift}
KeyEvent{type=KEY_RELEASED, character=, text=, code=SHIFT}


is this expected?
(I am using Tools -> Keyboard Event Viewer in the Monkey Tester https://github.com/andy-goryachev-oracle/MonkeyTest )

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

PR Comment: https://git.openjdk.org/jfx/pull/1264#issuecomment-1788102989


More information about the openjfx-dev mailing list