Bug #9732
Pressing Dead keys with Dutch system language produces different key events depending on the system environment and the used Chrome browser version.
100%
History
#3 Updated by Sergey Ivanovskiy over 1 year ago
- Status changed from New to WIP
#4 Updated by Sergey Ivanovskiy over 1 year ago
For Ubuntu 22.04 and Google Chrome Version 133.0.6943.141 (Official Build) (64-bit) and Dutch system language
I observed this sequence of keyboard events for my Machenike notebook when
1) Dead key ' was pressed down and up.
2) The key a was pressed down and up.
keydown keyCode=229 which=229 charCode=0 AltGraph=false
shiftKey=false ctrlKey=false altKey=false metaKey=false
key=Process keyValue=80 char=undefined code=Quote location=0 repeat=false
´
textInput data=´
keyup keyCode=222 which=222 charCode=0 AltGraph=false
shiftKey=false ctrlKey=false altKey=false metaKey=false
key=Dead keyValue=68 char=undefined code=Quote location=0 repeat=false
keydown keyCode=65 (A) which=65 (A) charCode=0 AltGraph=false
shiftKey=false ctrlKey=false altKey=false metaKey=false
key=a keyValue=97 char=undefined code=KeyA location=0 repeat=false
keypress keyCode=97 (a) which=97 (a) charCode=97 (a) AltGraph=false
shiftKey=false ctrlKey=false altKey=false metaKey=false
key=a keyValue=97 char=undefined code=KeyA location=0 repeat=false
a
textInput data=a
keyup keyCode=65 (A) which=65 (A) charCode=0 AltGraph=false
shiftKey=false ctrlKey=false altKey=false metaKey=false
key=a keyValue=97 char=undefined code=KeyA location=0 repeat=false
#5 Updated by Sergey Ivanovskiy over 1 year ago
But for the desktop Ubuntu 18.04 and Google Chrome Version 134.0.6998.35 (Official Build) (64-bit) and Dutch system language
the sequence of observed keyboards events for the same pressed keys was
keydown keyCode=222 which=222 charCode=0 AltGraph=false
shiftKey=false ctrlKey=false altKey=false metaKey=false
key=Dead keyValue=68 char=undefined code=Quote location=0 repeat=false
keyup keyCode=222 which=222 charCode=0 AltGraph=false
shiftKey=false ctrlKey=false altKey=false metaKey=false
key=Dead keyValue=68 char=undefined code=Quote location=0 repeat=false
keydown keyCode=65 (A) which=65 (A) charCode=0 AltGraph=false
shiftKey=false ctrlKey=false altKey=false metaKey=false
key=a keyValue=97 char=undefined code=KeyA location=0 repeat=false
keypress keyCode=225 which=225 charCode=225 AltGraph=false
shiftKey=false ctrlKey=false altKey=false metaKey=false
key=á keyValue=225 char=undefined code=KeyA location=0 repeat=false
á
textInput data=á
keyup keyCode=65 (A) which=65 (A) charCode=0 AltGraph=false
shiftKey=false ctrlKey=false altKey=false metaKey=false
key=a keyValue=97 char=undefined code=KeyA location=0 repeat=false
#6 Updated by Sergey Ivanovskiy over 1 year ago
I found that gedit for these two systems behaves differently when
1) Dead key ' was pressed down and up.
2) The key a was pressed down and up.
For the first case, Ubuntu 22.04, underscore with ' was displayed at the step 1 and pressing a on the step 2 printed á so the underscore symbol and ' were replaced by á and contrary to the first one, for Ubuntu 18.04 at the first step no symbols were displayed and the second step produced á.
At this moment I do not understand why these two systems behave differently. I would appreciate any advise that can help to investigate this issue.
Although I can add the code changes that just handles the first observed case correctly.
#7 Updated by Sergey Ivanovskiy over 1 year ago
I tested another desktop system, Ubuntu 22.04 and Google Chrome Version 133.0.6943.141 (Official Build) (64-bit) and found that it behaves like the desktop system Ubuntu 18.04. So the Machenike notebook is an exceptional case.
#8 Updated by Sergey Ivanovskiy over 1 year ago
Create branch 9293d.
#9 Updated by Sergey Ivanovskiy over 1 year ago
- Status changed from WIP to Review
- % Done changed from 0 to 100
- reviewer Eugenie Lyzenko, Greg Shah, Hynek Cihlar added
Committed revision 15765 (9293d). Please review changes.
#10 Updated by Hynek Cihlar over 1 year ago
- Status changed from Review to WIP
- % Done changed from 100 to 90
Code review 9293d.
Just some minor points.
Please deduplicate the code checking for active IME (where "active" and "up" are checked and the inputMethodEditor values reset).
It would be more readable to use the standard object notation for inputMethodEditor instead of using array indexes.
#11 Updated by Sergey Ivanovskiy over 1 year ago
- % Done changed from 90 to 100
- Status changed from WIP to Review
Thank you for the review, I fixed all these notes in rev 15766 (9293d). Please review.
#12 Updated by Hynek Cihlar over 1 year ago
- Status changed from Review to Internal Test
Sergey Ivanovskiy wrote:
Thank you for the review, I fixed all these notes in rev 15766 (9293d). Please review.
Night and day :-). The changes look good. Please go ahead with regression testing.
#13 Updated by Sergey Ivanovskiy over 1 year ago
I tested the large customer application and did not find regressions.
#14 Updated by Sergey Ivanovskiy over 1 year ago
But sadly I found the issue that relates to FillinGuiImpl and EditorGuiImpl does not display some codes, for an example 8364 (that is euro sign), although the corresponding key event evaluated as printable and jscript keyboard driver delivers key code correctly. I do not understand if it is regression or not. In any case it is not related to the current changes.
#15 Updated by Eugenie Lyzenko over 1 year ago
I have no objections for rev 9293d/15766.
#16 Updated by Eugenie Lyzenko over 1 year ago
Sergey Ivanovskiy wrote:
But sadly I found the issue that relates to
FillinGuiImplandEditorGuiImpldoes not display some codes, for an example 8364 (that is euro sign), although the corresponding key event evaluated as printable and jscript keyboard driver delivers key code correctly. I do not understand if it is regression or not. In any case it is not related to the current changes.
Test with trunk, if issue is there too - this is not a regression. Otherwise it is a regression.
#17 Updated by Sergey Ivanovskiy over 1 year ago
Yes, the same issue is in the trunk. Should I create new issue or work here and fix this with 9293d?
#18 Updated by Hynek Cihlar over 1 year ago
Sergey Ivanovskiy wrote:
Yes, the same issue is in the trunk. Should I create new issue or work here and fix this with 9293d?
If it is something quick, then I would put it in 9293d.
#19 Updated by Sergey Ivanovskiy over 1 year ago
Hynek Cihlar wrote:
Sergey Ivanovskiy wrote:
Yes, the same issue is in the trunk. Should I create new issue or work here and fix this with 9293d?
If it is something quick, then I would put it in 9293d.
Yes, it happens because ThinClient.waitForEvent creates new KeyInput from the original keyInputEvent and incorrect constructor is used so KeyInput.getChar() becomes incorrect due to incorrect transformation of key to the printed character. Please review the committed revision 15767 (9293d). Checking CHUI regression tests.
#20 Updated by Sergey Ivanovskiy over 1 year ago
- Status changed from Internal Test to Review
#21 Updated by Hynek Cihlar over 1 year ago
Code review 9293d revision 15767. A minor point, changing convertKey param name to unicodePoint would make the use of KeyInput more obvious.
#22 Updated by Sergey Ivanovskiy over 1 year ago
9293d rev. 15767 passed the main regression in 3 runs, in first run there are 3 failed tests including 1 known failed tests and two single runs for each of the failed tests.
#23 Updated by Sergey Ivanovskiy over 1 year ago
Hynek Cihlar wrote:
Code review 9293d revision 15767. A minor point, changing
convertKeyparam name tounicodePointwould make the use ofKeyInputmore obvious.
I fixed this issue in rev 15768 (9293d).
#24 Updated by Sergey Ivanovskiy over 1 year ago
9293d was rebased rev 15784 and added history entries rev 15785.
#25 Updated by Sergey Ivanovskiy over 1 year ago
9293d also passed ctrl-c regression tests.
#26 Updated by Sergey Ivanovskiy over 1 year ago
I fixed found issues and the changes passed CHUI regression tests. Can 9392d be merged into the trunk?
#27 Updated by Hynek Cihlar over 1 year ago
- Status changed from Review to Merge Pending
The changes are good. Please merge 9293d to trunk.
#28 Updated by Sergey Ivanovskiy over 1 year ago
- Status changed from Merge Pending to Test
Branch 9293d was merged into trunk as rev. 15790 and archived.