To reproduce, first reset all XKB options $ setxkbmap -option -option srvrkeys:none Now press control-shift-x and watch correct result in xev $ xev ... KeyPress event, serial 30, synthetic NO, window 0x3400001, root 0x72, subw 0x0, time 18906299, (54,126), root:(1269,151), state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 30, synthetic NO, window 0x3400001, root 0x72, subw 0x0, time 18906303, (54,126), root:(1269,151), state 0x4, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 30, synthetic NO, window 0x3400001, root 0x72, subw 0x0, time 18909298, (54,126), root:(1269,151), state 0x5, keycode 53 (keysym 0x58, X), same_screen YES, XLookupString gives 1 bytes: (18) "▒" XmbLookupString gives 1 bytes: (18) "▒" XFilterEvent returns: False Control-Shift-X is correctly reported as an event. Now swap control and caps-lock keys. $ setxkbmap -option -option srvrkeys:none,ctrl:swapcaps ... and try the same excercise again: $ xev ... KeyPress event, serial 30, synthetic NO, window 0x3400001, root 0x72, subw 0x0, time 19055073, (66,94), root:(1279,119), state 0x0, keycode 66 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 30, synthetic NO, window 0x3400001, root 0x72, subw 0x0, time 19056614, (66,94), root:(1279,119), state 0x4, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False And that's it, pressing x in addition to control and shift does not generate an event. Interestingly, not all control-shift-keys get killed this way. E.g., for me, the effect occurs only for the key column containing x,s,w,2. My keyboard is an IBM Model M connected via PS/2 to a Dell Latitude C810 laptop running Gentoo Linux, kernel 2.4.27. XKB is set as follows: $ setxkbmap -print xkb_keymap { xkb_keycodes { include "xfree86+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc/pc(pc104)+pc/us+ctrl(swapcaps)+srvr_ctrl(no_srvr_keys)" }; xkb_geometry { include "pc(pc104)" }; }; Changing the keyboard type to pc101 and pc102 does not affect the misbehavior I observe.
at a guess, I'd say this is related to the confusion of keycodes and keysyms for modifier definitions
Andreas, could you please run xkbcomp with output to the text .xkb file - and attach it? Thanks... (xkbcomp :0 -xkb zz.xkb)
Created attachment 5279 [details] xkbcomp :0 -xkb zz.xkb after seeting ctrlswapcaps Here's the data requested by svu@gnome.org. Good hunting!
> Here's the data requested by svu@gnome.org. Good hunting! Well, I see nothing strange or invalid... Could you please do the same thing for the configuration without "swapcaps"?
Bugzilla Upgrade Mass Bug Change NEEDSINFO state was removed in Bugzilla 3.x, reopening any bugs previously listed as NEEDSINFO. - benjsc fd.o Wrangler
From the original report (no event in xev) and my own experience with some keyboards, my educated guess is that the issue is not in X but much closer to hardware. With my Sven Slim 303 keyboard pressing CapsLock+Shift (in any order) and then arbitrary alpha keys gives the following results: W-S-X "diagonal" is dead, all other keys are good. I believe that this is how keyboard hardware is wired. Original reporter can check upon my claim by pressing CapsLock+Shift+X without switching CapsLock and Ctrl and checking if xev reports anything when pressing X.
(In reply to comment #6) > Original reporter can check upon my claim by pressing CapsLock+Shift+X without > switching CapsLock and Ctrl and checking if xev reports anything when pressing > X. Your suspicion is indeed correct, holding non-swapped CapsLock+Shift produces no effect when pressing the keys in the 2-w-s-x diagonal. So this does appear to be a limitation of the keyboard hardware. Many thanks for the hint :-)
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.