On Fri, 6 Jan 2023 22:07:33 GMT, Alisen Chung <[email protected]> wrote:

> Removed check for MapVirtualKeyEx return value causing some keys to become 
> undefined

Hello, guys! I've just checked behavior of the fix and it actually breaks the 
case described in the 
[JDK-8139189](https://bugs.openjdk.org/browse/JDK-8139189) (to install 
`Programmer Dvorak` layout -> Press the key between LShift and Z on QWERTY 
keyboards -> Press the key C twice (which is the `I` key on the default US 
QWERTY layout)

Generated events before the patch (the single `č` is typed):

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=65312,keyText=Compose,keyChar=Undefined
 
keyChar,keyLocation=KEY_LOCATION_STANDARD,rawCode=226,primaryLevelUnicode=4,scancode=86,extendedKeyCode=0xff20]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=65312,keyText=Compose,keyChar=Undefined
 
keyChar,keyLocation=KEY_LOCATION_STANDARD,rawCode=226,primaryLevelUnicode=4,scancode=86,extendedKeyCode=0xff20]

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=67,keyText=C,keyChar='c',keyLocation=KEY_LOCATION_STANDARD,rawCode=67,primaryLevelUnicode=99,scancode=23,extendedKeyCode=0x43]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=67,keyText=C,keyChar='c',keyLocation=KEY_LOCATION_STANDARD,rawCode=67,primaryLevelUnicode=99,scancode=23,extendedKeyCode=0x43]

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=67,keyText=C,keyChar='c',keyLocation=KEY_LOCATION_STANDARD,rawCode=67,primaryLevelUnicode=99,scancode=23,extendedKeyCode=0x43]

java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 
0x0,keyChar='?',keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=0,scancode=0,extendedKeyCode=0x0]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=67,keyText=C,keyChar='c',keyLocation=KEY_LOCATION_STANDARD,rawCode=67,primaryLevelUnicode=99,scancode=23,extendedKeyCode=0x43]



Including the patch (`cc` are typed):

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=65312,keyText=Compose,keyChar=' 
',keyLocation=KEY_LOCATION_STANDARD,rawCode=226,primaryLevelUnicode=4,scancode=86,extendedKeyCode=0xff20]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=65312,keyText=Compose,keyChar=' 
',keyLocation=KEY_LOCATION_STANDARD,rawCode=226,primaryLevelUnicode=4,scancode=86,extendedKeyCode=0xff20]

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=67,keyText=C,keyChar='c',keyLocation=KEY_LOCATION_STANDARD,rawCode=67,primaryLevelUnicode=99,scancode=23,extendedKeyCode=0x43]

java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 
0x0,keyChar='c',keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=0,scancode=0,extendedKeyCode=0x0]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=67,keyText=C,keyChar='c',keyLocation=KEY_LOCATION_STANDARD,rawCode=67,primaryLevelUnicode=99,scancode=23,extendedKeyCode=0x43]

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=67,keyText=C,keyChar='c',keyLocation=KEY_LOCATION_STANDARD,rawCode=67,primaryLevelUnicode=99,scancode=23,extendedKeyCode=0x43]

java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 
0x0,keyChar='c',keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=0,scancode=0,extendedKeyCode=0x0]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=67,keyText=C,keyChar='c',keyLocation=KEY_LOCATION_STANDARD,rawCode=67,primaryLevelUnicode=99,scancode=23,extendedKeyCode=0x43]

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

PR: https://git.openjdk.org/jdk/pull/11887

Reply via email to