Bug#531771: xkb-data: level 3 switch not working anymore
I confirm this bug (?). Level3 does work any more in some (xlib?)
applications like e.g. urxvt but not in other (libgtk?) applications
like evolution. Setup with xkb-data 1.6-1 as follows:
xorg.conf:
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "apple_laptop"
Option "XkbLayout" "de"
Option "XkbVariant" "mac_nodeadkeys"
Option "XkbOptions" "lv3:win_switch"
EndSection
setxkbmap -print:
xkb_keymap {
xkb_keycodes { include "xfree86+aliases(qwertz)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+de(mac_nodeadkeys)+level3(win_switch)" };
xkb_geometry { include "pc(pc104)" };
};
xmodmap:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x6d)
mod1 Alt_L (0x40), Meta_L (0x9c)
mod2 Num_Lock (0x4d)
mod3
mod4 ISO_Level3_Shift (0x73), ISO_Level3_Shift (0x74), Super_L
(0x7f), Hyper_L (0x80)
mod5 Mode_switch (0x5d), ISO_Level3_Shift (0x71),
ISO_Level3_Shift (0x7c)
xmodmap -pke | grep Level3
keycode 113 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift NoSymbol
ISO_Level3_Shift
keycode 115 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift NoSymbol
ISO_Level3_Shift
keycode 116 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift NoSymbol
ISO_Level3_Shift
keycode 124 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift NoSymbol
ISO_Level3_Shift
xev:
According to xev the left and right "Win-Keys" (= Apple-Keys on the mac
keyboard) both have keycode 0x73:
KeyPress event, serial 25, synthetic NO, window 0x1600001,
root 0x11c, subw 0x0, time 12205667, (478,468), root:(479,490),
state 0x10, keycode 115 (keysym 0xfe03, ISO_Level3_Shift),
same_screen YES,
XKeysymToKeycode returns keycode: 113
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x1600001,
root 0x11c, subw 0x0, time 12205717, (478,468), root:(479,490),
state 0xd0, keycode 115 (keysym 0xfe03, ISO_Level3_Shift),
same_screen YES,
XKeysymToKeycode returns keycode: 113
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x1600001,
root 0x11c, subw 0x0, time 12206856, (478,468), root:(479,490),
state 0x10, keycode 115 (keysym 0xfe03, ISO_Level3_Shift),
same_screen YES,
XKeysymToKeycode returns keycode: 113
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x1600001,
root 0x11c, subw 0x0, time 12206907, (478,468), root:(479,490),
state 0xd0, keycode 115 (keysym 0xfe03, ISO_Level3_Shift),
same_screen YES,
XKeysymToKeycode returns keycode: 113
XLookupString gives 0 bytes:
XFilterEvent returns: False
Removing Super and Hyper from mod4 in a working Level3 at least for
emacs22-gtk but no other applications.
There's no hint in either xkb-data/changelog.Debian.gz nor
xkb-data/changelog.gz that explains this bug (?) to me.
What else could I contribute to help analyzing the lacking Level3
function?
Reply to: