Details
-
Bug
-
Resolution: Incomplete
-
Not Evaluated
-
None
-
4.7.4, 4.8.0
-
None
-
Windows (tested on Windows 7)
Description
Keys with duplicate role, i.e. keys that act as a dead-key or as a normal keys depending on modifiers randomly miss key presses. Try for example the following in a Qt application (tested with QtCreator) with Spanish keyboard layout (key 4) or Romanian keyboard layout (any number key):
1. Press down AltGr key
2. Press key (for example 4 in Spanish layout)
3. Release AltGr key
4. Press the same key again
5. Repeat
Expected output: Both the modified output and the normal output given for each repeat cycle. "~4~4~4..." with the example above.
Actual output: The modified output of the key is sometimes missed. You will get something like "~4~4~44~4..." with the example above. In my case the output was right in about 70% of the cases.
Note: I found the issue while debugging QTBUG-19176 and I think the issue is somehow related to modifying the keyboard state with ToUnicode function calls while constructing key specific mappings in QKeyMapperPrivate::updatePossibleKeyCodes in qkeymapper_win.cpp.