Summary: | Third level chooser dysfunct in untrusted clients | ||||||
---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Lasse Kliemann <lasse-freedesktop-2008> | ||||
Component: | App/xkbcomp | Assignee: | Xorg Project Team <xorg-team> | ||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||
Severity: | normal | ||||||
Priority: | low | ||||||
Version: | unspecified | ||||||
Hardware: | x86 (IA32) | ||||||
OS: | Linux (All) | ||||||
See Also: | https://bugs.freedesktop.org/show_bug.cgi?id=50611 | ||||||
Whiteboard: | 2011BRB_Reviewed | ||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
Lasse Kliemann
2011-11-19 05:59:43 UTC
Additional observations: When the solution with two groups is used (the xmodmap approach), the third symbol is reachable from untrusted clients when pressing a key bound to ISO_Level3_Shift, but not when pressing a key bound to Mode_switch. For trusted clients (with XKB support), it is the other way round. When I dump the current map to an xkb-file: xkbcomp :0 test.xkb then add a second group for keys with more then two symbols, map a key to Mode_switch, and, most importantly add group 2 = AltGr; to xkb_compatibility, and load up the modified file: xkbcomp test.xkb :0 then Mode_switch acts as desired, for both trusted and untrusted clients. The effect of Mode_switch as reported by xev: client ! Without group 2 = AltGr ! With group 2 = AltGr ! ------------------------------------------------------------ trusted ! Sets second group ! Sets second group ! untrusted ! no effect ! Sets Mod5 ! So, the problem seems to be that the group compatibly map as described in section 12.1 of "The X Keyboard Extension: Protocol Specification" does not work properly. Why it does not work, I do not understand. xkeyboard-config in compat/basic already contains "group 2 = AltGr". Also, Mod5 is bound to Mode_switch in the modifier_map, and AltGr is associated to Mod5. For the time being, the problem can be worked around as described above, or by using both a second group and a third level that both contain the third symbol, and switching to the additional symbol using ISO_Level3_Shift. Created attachment 53959 [details] [review] Workaround in xkeyboard-config Just a workaround, the bug is in xkbcomp. Submitted a patch for xkbcomp: http://patchwork.freedesktop.org/patch/8146/ (In reply to comment #3) > Submitted a patch for xkbcomp: http://patchwork.freedesktop.org/patch/8146/ This patch has solved the problem for me. Thank you! Committed to xkbcomp, thanks. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.