Description of problem: Level-3 keys do not work properly in GTK+ applications if you choose other level-3 choosers than altgr. Neither dead nor non-dead AltGr combinations work, except in gnome-terminal, where only dead AltGr combinations are broken. Dead keys instead work as long as they're not invoked by altgr (they work everywhere, even in gnome-terminal). Everything works properly in Qt applications or other X applications. Version-Release number of selected component (if applicable): gtk2-2.18.3-21.fc12 xorg-x11-apps-7.3-8.fc11.x86_64.rpm xorg-x11-drivers-7.3-11.fc11.x86_64.rpm xorg-x11-drv-evdev-2.2.5-1.fc11.x86_64.rpm xorg-x11-drv-fbdev-0.4.0-4.fc11.x86_64.rpm xorg-x11-drv-intel-2.7.0-7.fc11.x86_64.rpm xorg-x11-drv-keyboard-1.3.2-3.fc11.x86_64.rpm xorg-x11-drv-v4l-0.2.0-2.fc11.x86_64.rpm xorg-x11-server-Xorg-1.6.4-0.1.fc11.x86_64.rpm xorg-x11-server-common-1.6.4-0.1.fc11.x86_64.rpm xorg-x11-server-utils-7.4-7.1.fc11.x86_64.rpm xorg-x11-xkb-utils-7.2-8.fc11.x86_64.rpm How reproducible: 100% Steps to Reproduce: 1. Open gedit. 2. setxkbmap -symbols 'pc+us(altgr-intl)+level3(lwin_switch)+level3(ralt_switch)' 3. Type altgr+e or leftwin+e in gedit, nothing happens. 4. setxkbmap -symbols 'pc+us(altgr-intl)+level3(ralt_switch)' 5. Type altgr+e or leftwin+e in gedit, you get an accented "e". Actual results: See steps 3/5. Expected results: Same behavior for both keymaps. Additional info: 1) Here is the overall keymap computed by setxkbmap: xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us(altgr-intl)+level3(lwin_switch)+level3(ralt_switch)" }; xkb_geometry { include "pc(pc104)" }; }; 2) If you start "xev" and type altgr+e, you see on the console KeyPress event, serial 35, synthetic NO, window 0x4800001, root 0x10b, subw 0x0, time 4513667, (594,272), root:(602,345), state 0xc0, keycode 26 (keysym 0xe9, eacute), same_screen YES, XLookupString gives 2 bytes: (c3 a9) "é" XmbLookupString gives 2 bytes: (c3 a9) "é" XFilterEvent returns: False 3) Also, while I shortened the setxkbmap command lines to the minimum necessary, the same happens with the symbols chosen by the System/Preferences/Keyboard window, for example 'pc+us(altgr-intl)+inet(evdev)+level3(lwin_switch)+level3(ralt_switch)+nbsp(level3)+us:2': just removing level3(lwin_switch) will cause level-3 to work. 4) Finally, the same bug happens also with other keyboard layouts, e.g. replacing us(altgr-intl) with de(nodeadkeys).
The output of xkbcomp is sane: $ setxkbmap -symbols 'pc+us(altgr-intl)+level3(lwin_switch)+level3(ralt_switch)' $ xkbcomp -xkb :0 busted.xkb $ setxkbmap -symbols 'pc+us(altgr-intl)+level3(ralt_switch)' $ xkbcomp -xkb :0 correct.xkb $ diff busted.xkb correct.xkb 1071c1071 < xkb_symbols "pc+us(altgr-intl)+level3(lwin_switch)+level3(ralt_switch)" { --- > xkb_symbols "pc+us(altgr-intl)+level3(ralt_switch)" { 1380,1383c1380 < key <LWIN> { < type= "ONE_LEVEL", < symbols[Group1]= [ ISO_Level3_Shift ] < }; --- > key <LWIN> { [ Super_L ] };
gtk2-2.18.4-1.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/gtk2-2.18.4-1.fc12
gtk2-2.18.3-22.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report.
confirmed fixed, thanks.