René J. V. Bertin wrote:
> Evidently one cannot use xev now because it'll involve a focus change. But the
Actually, maybe one can: `xev -id <wid>`
Using that and Qt4:
xev (all ok):
KeyRelease event, serial 22, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126529470, (106,16), root:(680,46),
state 0x80, keycode 26 (keysym 0xfe51, dead_acute), same_screen YES,
XLookupString gives 2 bytes: (c2 b4) "´"
XFilterEvent returns: False
KeyPress event, serial 22, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126529470, (106,16), root:(680,46),
state 0x80, keycode 26 (keysym 0xfe51, dead_acute), same_screen YES,
XLookupString gives 2 bytes: (c2 b4) "´"
XmbLookupString gives 0 bytes:
XFilterEvent returns: True
KeyRelease event, serial 22, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126529632, (106,16), root:(680,46),
state 0x80, keycode 26 (keysym 0xfe51, dead_acute), same_screen YES,
XLookupString gives 2 bytes: (c2 b4) "´"
XFilterEvent returns: False
KeyRelease event, serial 22, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126529660, (106,16), root:(680,46),
state 0x80, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 22, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126529761, (106,16), root:(680,46),
state 0x0, keycode 26 (keysym 0x65, e), same_screen YES,
XLookupString gives 1 bytes: (65) "e"
XFilterEvent returns: False
KeyPress event, serial 22, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126529761, (106,16), root:(680,46),
state 0x0, keycode 26 (keysym 0x65, e), same_screen YES,
XLookupString gives 1 bytes: (65) "e"
XmbLookupString gives 1 bytes: (65) "e"
XFilterEvent returns: True
KeyPress event, serial 22, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126529761, (106,16), root:(680,46),
state 0x0, keycode 0 (keysym 0xe9, eacute), same_screen YES,
XKeysymToKeycode returns keycode: 11
XLookupString gives 0 bytes:
XmbLookupString gives 2 bytes: (c3 a9) "é"
XFilterEvent returns: False
KeyRelease event, serial 22, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126529876, (106,16), root:(680,46),
state 0x0, keycode 26 (keysym 0x65, e), same_screen YES,
XLookupString gives 1 bytes: (65) "e"
XFilterEvent returns: False
qev:
QKeyEvent(ShortcutOverride, key=0x1001103)
QKeyEvent(KeyPress, key=0x1001103)
QKeyEvent(KeyRelease, key=0x1001251, modifiers=0x40000000, text="´")
QKeyEvent(KeyRelease, key=0x1001103, modifiers=0x40000000)
QInputMethodEvent(, commit="U+e9")
QKeyEvent(KeyRelease, key=0x45, text="e")
xev (issue triggered):
KeyRelease event, serial 24, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126954309, (114,-8), root:(688,22),
state 0x0, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 24, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126954309, (114,-8), root:(688,22),
state 0x0, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
PropertyNotify event, serial 24, synthetic NO, window 0x5400023,
atom 0x15f (_NET_WM_USER_TIME), time 126954318, state PropertyNewValue
KeyRelease event, serial 24, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126954399, (114,-8), root:(688,22),
state 0x80, keycode 26 (keysym 0xfe51, dead_acute), same_screen YES,
XLookupString gives 2 bytes: (c2 b4) "´"
XFilterEvent returns: False
KeyPress event, serial 24, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126954399, (114,-8), root:(688,22),
state 0x80, keycode 26 (keysym 0xfe51, dead_acute), same_screen YES,
XLookupString gives 2 bytes: (c2 b4) "´"
XmbLookupString gives 0 bytes:
XFilterEvent returns: True
PropertyNotify event, serial 24, synthetic NO, window 0x5400023,
atom 0x15f (_NET_WM_USER_TIME), time 126954408, state PropertyNewValue
KeyRelease event, serial 24, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126954525, (114,-8), root:(688,22),
state 0x80, keycode 26 (keysym 0xfe51, dead_acute), same_screen YES,
XLookupString gives 2 bytes: (c2 b4) "´"
XFilterEvent returns: False
KeyRelease event, serial 24, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126954621, (114,-8), root:(688,22),
state 0x80, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 24, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126955120, (114,-8), root:(688,22),
state 0x0, keycode 26 (keysym 0x65, e), same_screen YES,
XLookupString gives 1 bytes: (65) "e"
XFilterEvent returns: False
KeyPress event, serial 24, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126955120, (114,-8), root:(688,22),
state 0x0, keycode 26 (keysym 0x65, e), same_screen YES,
XLookupString gives 1 bytes: (65) "e"
XmbLookupString gives 1 bytes: (65) "e"
XFilterEvent returns: True
KeyPress event, serial 24, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126955120, (114,-8), root:(688,22),
state 0x0, keycode 0 (keysym 0xe9, eacute), same_screen YES,
XKeysymToKeycode returns keycode: 11
XLookupString gives 0 bytes:
XmbLookupString gives 2 bytes: (c3 a9) "é"
XFilterEvent returns: False
PropertyNotify event, serial 24, synthetic NO, window 0x5400023,
atom 0x15f (_NET_WM_USER_TIME), time 126955131, state PropertyNewValue
KeyRelease event, serial 24, synthetic NO, window 0x5400023,
root 0xf6, subw 0x0, time 126955211, (114,-8), root:(688,22),
state 0x0, keycode 26 (keysym 0x65, e), same_screen YES,
XLookupString gives 1 bytes: (65) "e"
XFilterEvent returns: False
qev:
QKeyEvent(ShortcutOverride, key=0x1001103)
QKeyEvent(KeyPress, key=0x1001103)
QKeyEvent(ShortcutOverride, key=0x1001251, modifiers=0x40000000, text="´")
QKeyEvent(KeyPress, key=0x1001251, modifiers=0x40000000, text="´")
QKeyEvent(KeyRelease, key=0x1001251, modifiers=0x40000000, text="´")
QKeyEvent(KeyRelease, key=0x1001103, modifiers=0x40000000)
QKeyEvent(ShortcutOverride, key=0x45, text="e")
QKeyEvent(KeyPress, key=0x45, text="e")
QKeyEvent(KeyRelease, key=0x45, text="e")
I don't see any difference in the xev output, but there is a difference in the
qev output.
Same thing, Qt5 qev only:
OK:
QKeyEvent(ShortcutOverride, Key_AltGr, GroupSwitchModifier)
QKeyEvent(KeyPress, Key_AltGr, GroupSwitchModifier)
QKeyEvent(KeyRelease, Key_Dead_Acute, GroupSwitchModifier)
QKeyEvent(KeyRelease, Key_AltGr)
QInputMethodEvent(, commit="U+e9")
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QKeyEvent(KeyRelease, Key_E, text="e")
Issue triggered:
QKeyEvent(ShortcutOverride, Key_AltGr, GroupSwitchModifier)
QKeyEvent(KeyPress, Key_AltGr, GroupSwitchModifier)
QKeyEvent(ShortcutOverride, Key_Dead_Acute, GroupSwitchModifier)
QKeyEvent(KeyPress, Key_Dead_Acute, GroupSwitchModifier)
QKeyEvent(KeyRelease, Key_Dead_Acute, GroupSwitchModifier)
QKeyEvent(KeyRelease, Key_AltGr)
QKeyEvent(ShortcutOverride, Key_E, text="e")
QKeyEvent(KeyPress, Key_E, text="e")
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QKeyEvent(KeyRelease, Key_E, text="e")
issue repaired (after focus change):
QKeyEvent(ShortcutOverride, Key_AltGr, GroupSwitchModifier)
QKeyEvent(KeyPress, Key_AltGr, GroupSwitchModifier)
QKeyEvent(KeyRelease, Key_Dead_Acute, GroupSwitchModifier)
QKeyEvent(KeyRelease, Key_AltGr)
QInputMethodEvent(, commit="U+e9")
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QInputMethodQueryEvent(queries=0x1, {})
QInputMethodQueryEvent(queries=0x2, {})
QKeyEvent(KeyRelease, Key_E, text="e")
In both Qt4 and Qt5 cases it seems that the difference is an extra
Key_Dead_Acute keypress before the intended(?) Key_Dead_Actute key RELEASE.
Qt4 seems to interpret that as "insert just an acute accent", wherease Qt5
discards the accent completely.
So yes, Allan, we're seeing the same issue.
R.
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development