| Summary: | Shift modifier not recognized when used with AltGr | ||
|---|---|---|---|
| Product: | xkeyboard-config | Reporter: | Tristan Miller <psychonaut> |
| Component: | General | Assignee: | xkb |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | medium | CC: | psychonaut |
| Version: | unspecified | Keywords: | NEEDINFO |
| Hardware: | Other | ||
| OS: | All | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
In case it's of any use, here's the relevant output of xev when I try AltGr+Shift+1 using the us intl keyboard on my Thinkpad T61:
KeyPress event, serial 31, synthetic NO, window 0x5400001,
root 0x13a, subw 0x0, time 3949330330, (-253,478), root:(1079,505),
state 0x0, keycode 113 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 31, synthetic NO, window 0x5400001,
root 0x13a, subw 0x0, time 3949331390, (-253,478), root:(1079,505),
state 0x80, keycode 50 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 31, synthetic NO, window 0x5400001,
root 0x13a, subw 0x0, time 3949333393, (-253,478), root:(1079,505),
state 0x80, keycode 10 (keysym 0xa1, exclamdown), same_screen YES,
XLookupString gives 2 bytes: (c2 a1) "¡"
XmbLookupString gives 2 bytes: (c2 a1) "¡"
XFilterEvent returns: False
KeyRelease event, serial 31, synthetic NO, window 0x5400001,
root 0x13a, subw 0x0, time 3949333496, (-253,478), root:(1079,505),
state 0x80, keycode 10 (keysym 0xa1, exclamdown), same_screen YES,
XLookupString gives 2 bytes: (c2 a1) "¡"
XFilterEvent returns: False
EnterNotify event, serial 31, synthetic NO, window 0x5400001,
root 0x13a, subw 0x0, time 3949338159, (96,176), root:(1428,203),
mode NotifyNormal, detail NotifyNonlinear, same_screen YES,
focus YES, state 128
And here's the same on my Samsung X20:
KeyPress event, serial 31, synthetic NO, window 0x4200001,
root 0x5c, subw 0x0, time 3949427634, (-1000,644), root:(218,668),
state 0x2000, keycode 113 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 124
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 31, synthetic NO, window 0x4200001,
root 0x5c, subw 0x0, time 3949428699, (-1000,644), root:(218,668),
state 0x2080, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 31, synthetic NO, window 0x4200001,
root 0x5c, subw 0x0, time 3949429349, (-1000,644), root:(218,668),
state 0x2081, keycode 10 (keysym 0xb9, onesuperior), same_screen YES,
XLookupString gives 2 bytes: (c2 b9) "¹"
XmbLookupString gives 2 bytes: (c2 b9) "¹"
XFilterEvent returns: False
KeyRelease event, serial 31, synthetic NO, window 0x4200001,
root 0x5c, subw 0x0, time 3949429472, (-1000,644), root:(218,668),
state 0x2081, keycode 10 (keysym 0xb9, onesuperior), same_screen YES,
XLookupString gives 2 bytes: (c2 b9) "¹"
XFilterEvent returns: False
Just tried on my machine: 1!¡¹ $ xprop -root | grep XKB _XKB_RULES_NAMES(STRING) = "xorg", "hpi6", "us", "intl", "" What version of xkeyboard-config are you using? Would you try the latest one? On my functioning Samsung X20: $ xprop -root | grep XKB _XKB_RULES_NAMES(STRING) = "xfree86", "pc104", "us,us", ",dvorak-intl", "ctrl:nocaps,altwin:menu,ctrl:nocaps,altwin:menu,ctrl:nocaps,altwin:menu,ctrl:nocaps,altwin:menu,ctrl:nocaps,altwin:menu,ctrl:nocaps,altwin:menu,ctrl:nocaps,altwin:menu" On the buggy Thinkpad T61: $ xprop -root | grep XKB _XKB_RULES_NAMES(STRING) = "xfree86", "pc104", "us", "intl", "grp:alt_shift_toggle" Is that "grp:alt_shift_toggle" relevant? To answer your other question, both machines are running xkeyboard-config-1.0-29 from the SuSE RPMs. I suppose I could try compiling a newer version from source, but if that requires me to update all of X along with it, then that's not feasible for me. OK, I just installed xkeyboard-config 1.2 from the source tarball, and now all the keys are working properly. Whatever is causing this bug must have been fixed between version 1.0 and 1.2. |
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.
Reproducibility: Always, but only on my Lenovo Thinkpad T61. On my Samsung X20, the problem does not exist. Both machines are running the same software (openSUSE 10.3, xorg-x11-7.2-135.4) which leads me to believe that the hardware may have something to do with this. Steps to reproduce: 1. Use a GUI or use setxkbmap to select any keyboard layout which uses AltGr+Shift key combinations to produce certain glyphs. For example: setxkbmap -model pc104 -layout us -variant intl Note that the us intl includes the following: key <AE01> { [ 1, exclam, exclamdown, onesuperior ] }; 2. Press some key AltGr+Shift key combination. For example, AltGr+Shift+1. Expected behaviour: 3. The appropriate character should appear. In the case of AltGr+Shift+1, the character ¹ (onesuperior) should appear. Observed behaviour: 3. The unshifted variant appears. In the case of AltGr+Shift+1, the inverted exclamation mark ¡ (exclamdown) appears. This problem occurs in every program and with every keyboard layout I've tested. Please help me further diagnose the problem as this is a fairly severe bug for those of us who need to use international keyboard layouts.