Thiago Macieira wrote: > Here's my output for <dead_acute> <e>: > > KeyPress event, serial 40, synthetic NO, window 0x800001, > root 0xdb, subw 0x0, time 444468201, (-1603,615), root:(217,676), > state 0x0, keycode 48 (keysym 0xfe51, dead_acute), same_screen YES, > XLookupString gives 2 bytes: (c2 b4) "´" > XmbLookupString gives 0 bytes: > XFilterEvent returns: True > > KeyRelease event, serial 40, synthetic NO, window 0x800001, > root 0xdb, subw 0x0, time 444468270, (-1603,615), root:(217,676), > state 0x0, keycode 48 (keysym 0xfe51, dead_acute), same_screen YES, > XLookupString gives 2 bytes: (c2 b4) "´" > XFilterEvent returns: False > > KeyPress event, serial 40, synthetic NO, window 0x800001, > root 0xdb, subw 0x0, time 444470041, (-1603,615), root:(217,676), > 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 40, synthetic NO, window 0x800001, > root 0xdb, subw 0x0, time 444470041, (-1603,615), root:(217,676), > state 0x0, keycode 0 (keysym 0xe9, eacute), same_screen YES, > XLookupString gives 0 bytes: > XmbLookupString gives 2 bytes: (c3 a9) "é" > XFilterEvent returns: False > > KeyRelease event, serial 40, synthetic NO, window 0x800001, > root 0xdb, subw 0x0, time 444470098, (-1603,615), root:(217,676), > state 0x0, keycode 26 (keysym 0x65, e), same_screen YES, > XLookupString gives 1 bytes: (65) "e" > XFilterEvent returns: False > > (note how there's an extra KeyPress I had never noticed before)
For future reference, here's what I see under normal conditions when I press AltGr+e e KeyPress event, serial 40, synthetic NO, window 0x7a00001, root 0xf6, subw 0x0, time 120475392, (99,141), root:(101,193), 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 KeyPress event, serial 40, synthetic NO, window 0x7a00001, root 0xf6, subw 0x0, time 120475718, (99,141), root:(101,193), 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 40, synthetic NO, window 0x7a00001, root 0xf6, subw 0x0, time 120475844, (99,141), root:(101,193), state 0x80, keycode 26 (keysym 0xfe51, dead_acute), same_screen YES, XLookupString gives 2 bytes: (c2 b4) "´" XFilterEvent returns: False KeyRelease event, serial 40, synthetic NO, window 0x7a00001, root 0xf6, subw 0x0, time 120476114, (99,141), root:(101,193), state 0x80, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES, XKeysymToKeycode returns keycode: 92 XLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 40, synthetic NO, window 0x7a00001, root 0xf6, subw 0x0, time 120476349, (99,141), root:(101,193), 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 40, synthetic NO, window 0x7a00001, root 0xf6, subw 0x0, time 120476349, (99,141), root:(101,193), 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 40, synthetic NO, window 0x7a00001, root 0xf6, subw 0x0, time 120476443, (99,141), root:(101,193), state 0x0, keycode 26 (keysym 0x65, e), same_screen YES, XLookupString gives 1 bytes: (65) "e" XFilterEvent returns: False The dead_acute is there twice; I see it appearing only once when I manage to press the AltGr and e keys sufficiently simultaneously. With qev/Qt 5.8 I see this: qt.qpa.input.methods: filterEventFinished return 108 65027 0 false QKeyEvent(ShortcutOverride, Key_AltGr, GroupSwitchModifier) QKeyEvent(KeyPress, Key_AltGr, GroupSwitchModifier) qt.qpa.input.methods: filterEventFinished return 26 65105 128 true qt.qpa.input.methods: filterEventFinished return 26 65105 128 false QKeyEvent(KeyRelease, Key_Dead_Acute, GroupSwitchModifier) qt.qpa.input.methods: filterEventFinished return 108 65027 128 false QKeyEvent(KeyRelease, Key_AltGr) qt.qpa.input.methods.serialize: QIBusText::fromDBusArgument() "(sa{sv}sv)" qt.qpa.input.methods.serialize: QIBusAttributeList::fromDBusArgument() "(sa{sv}av)" QInputMethodEvent(, commit="U+e9") qt.qpa.input.methods: filterEventFinished return 26 101 0 true qt.qpa.input.methods: filterEventFinished return 26 101 0 false QKeyEvent(KeyRelease, Key_E, text="e") And with qev/4.8.7 (is there any way to get the equivalent of qInfo there?): 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") (that's the qev source from 5.8.0 built against Qt 4.8.7) A potentially useful observation: I'm typing this message in KNode 4.13.3, the Usenet client from KDE PIM 4.13.3 . I can trigger the issue transiently in there: - with the KNode message editor in focus, swap to another Plasma virtual desktop using the keyboard (say, Ctrl+F1) without moving the mouse - swap back using a corresponding shortcut (say, Ctrl+F2) without moving the mouse When focus is restored (automatically when Focus-follows-mouse) and I try to type an 'é', I get the "´e" sequence I also get when the issue has triggered. I can restore behaviour by moving the mouse to put focus to any other application and then back to the KNode window. I notice that the same applies to KMail4 (which is not a minimally ported Qt3 app like KNode is). R _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development