[UIEvents-key] Map Hangul related keys to KeyboardEvent.key value on Linux
Categories
(Core :: DOM: Events, defect, P3)
Tracking
()
People
(Reporter: masayuki, Unassigned)
References
Details
(Keywords: inputmethod, intl)
Reporter | ||
Updated•12 years ago
|
Reporter | ||
Comment 1•12 years ago
|
||
Reporter | ||
Comment 2•12 years ago
|
||
Comment 3•12 years ago
|
||
Reporter | ||
Comment 4•12 years ago
|
||
Reporter | ||
Comment 5•12 years ago
|
||
Reporter | ||
Comment 6•12 years ago
|
||
Updated•11 years ago
|
Reporter | ||
Updated•9 years ago
|
Reporter | ||
Comment 7•5 years ago
|
||
Moving all open keyboard/IME handling bugs to DOM: UI Events & Focus Handling component.
Reporter | ||
Comment 8•5 years ago
|
||
Kagami, when you have much time, could you investigate proper key values for the keysym values? You can know which key press causes which keysyms with logging KeymapWrapperWidgets:3,sync
(see "Logging" in about:networking
).
Comment 9•5 years ago
•
|
||
I found this document:
http://msdn.microsoft.com/en-us/library/cc194846.aspxJunja mode means "Single-byte Latin letters" mode.
Banja mode means "Double byte Latin letters" mode.
This is reversed. Junja(=Jeonja) should be fullwidth mode and thus double byte mode while Banja should be halfwidth mode and thus single byte mode. Not sure why the document described it in a wrong way. (Setting those mode doesn't switch Hangul mode to Romaja mode.)
You can know which key press causes which keysyms with logging KeymapWrapperWidgets:3,sync (see "Logging" in about:networking).
It doesn't seem to record anything, what should I do after setting log modules and start logging?
Comment 10•5 years ago
|
||
Ah okay, it's a Linux thing... Seems special keys doesn't work inside WSL, so I'll find some time to dual boot into Linux.
Updated•5 years ago
|
Comment 11•5 years ago
|
||
I installed Ubuntu on my old Surface 3 with Korean type cover and got some log:
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets HandleKeyPressEvent(), the event was handled by IMContextWrapper
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets 0x7fcd162d9c80 InitKeyEvent, modifierState=0x00000000 aKeyEvent={ mMessage=eKeyDown, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE , mKeyCode=0xE5, mCharCode=NULL (0x0000), mKeyNameIndex=Process, mKeyValue="", mCodeNameIndex=Enter, mCodeValue="", mLocation=KEY_LOCATION_STANDARD, mIsRepeat=FALSE }
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets FilterEvents(aXEvent={ type=KeyRelease, xkey={ keycode=0x00000024, state=0x00002000, time=502770 } }, aGdkEvent={ state=0x00000000 }), detected key release
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets HandleKeyReleaseEvent(aWindow=0x7fcd1f129000, aGdkKeyEvent={ type=GDK_KEY_RELEASE, keyval=Return(0xFF0D), state=0x00002000, hardware_keycode=0x00000024, time=502770, is_modifier=FALSE })
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets HandleKeyReleaseEvent(), the event was handled by IMContextWrapper
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets HandleKeyReleaseEvent(aWindow=0x7fcd1f129000, aGdkKeyEvent={ type=GDK_KEY_RELEASE, keyval=Return(0xFF0D), state=0x02002000, hardware_keycode=0x00000024, time=502770, is_modifier=FALSE })
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets 0x7fcd162d9c80 InitKeyEvent, modifierState=0x02002000 aKeyEvent={ mMessage=eKeyUp, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE , mKeyCode=0x0D, mCharCode=NULL (0x0000), mKeyNameIndex=Enter, mKeyValue="", mCodeNameIndex=Enter, mCodeValue="", mLocation=KEY_LOCATION_STANDARD, mIsRepeat=FALSE }
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets HandleKeyReleaseEvent(), dispatched eKeyUp event (isCancelled=FALSE)
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets HandleKeyPressEvent(aWindow=0x7fcd1f129000, aGdkKeyEvent={ type=GDK_KEY_PRESS, keyval=Alt_L(0xFFE9), state=0x00002000, hardware_keycode=0x00000040, time=505796, is_modifier=TRUE })
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets HandleKeyPressEvent(), the event was handled by IMContextWrapper
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets HandleKeyPressEvent(aWindow=0x7fcd1f129000, aGdkKeyEvent={ type=GDK_KEY_PRESS, keyval=Alt_L(0xFFE9), state=0x02002000, hardware_keycode=0x00000040, time=505796, is_modifier=TRUE })
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets 0x7fcd162d9c80 InitKeyEvent, modifierState=0x02002000 aKeyEvent={ mMessage=eKeyDown, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE , mKeyCode=0x12, mCharCode=NULL (0x0000), mKeyNameIndex=Alt, mKeyValue="", mCodeNameIndex=AltLeft, mCodeValue="", mLocation=KEY_LOCATION_LEFT, mIsRepeat=FALSE }
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets HandleKeyPressEvent(), dispatched eKeyDown event and it wasn't consumed
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets 0x7fcd162d9c80 InitKeyEvent, modifierState=0x02002000 aKeyEvent={ mMessage=eKeyPress, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE , mKeyCode=0x12, mCharCode=NULL (0x0000), mKeyNameIndex=Alt, mKeyValue="", mCodeNameIndex=AltLeft, mCodeValue="", mLocation=KEY_LOCATION_LEFT, mIsRepeat=FALSE }
[Parent 3182: Main Thread]: I/KeymapWrapperWidgets HandleKeyPressEvent(), didn't dispatch eKeyPress event (status=nsEventStatus_eIgnore)
Is hardware_keycode
numeric value what you need?
Reporter | ||
Comment 12•4 years ago
|
||
Resetting assignee which I don't work on in this several months.
Updated•3 years ago
|
Updated•2 years ago
|
Description
•