Bug#638694: xterm: alt-<arrow> == <arrow>
On Sun, 21 Aug 2011, Ahmad Khayyat wrote:
Subject: xterm: alt-<arrow> == <arrow>
Alt key works perfectly as a modifier with any key except for the arrow keys
(left, right, up, down).
With arrow keys, alt-<arrow> produces the same codes as <arrow> alone, as
shown by ctrl-v alt-<arrow>.
After adding the grp:alts_toggle xkb option, only the left alt key behaves
correctly, but the right alt key then becomes ISO_Level3_Shift, as reported
xmodmap shows ISO_Level3_Shift to be Mod5. Moving ISO_Level3_Shift from Mod5
to Mod1 breaks alt-<arrow> again.
Only grp:alts_toggle can fix alt-<arrow>, and then it mutates alt_r
into ISO_Level3_Shift. Other toggle options have no effect on this issue.
Note also that alts_toggle and ctrls_toggle don't actually do any toggling.
I tried menu_toggle and shifts_toggle and they do toggle.
I am not sure if this is xterm's fault, but gnome-terminal does not have
gnome-terminal doesn't do much at all with keyboard events.
xterm is making a check to keep the level3 shift key distinct from alt
and meta - which is for the case you're describing. If it's assigned
to the same key, then xterm won't honor alt/meta on that key.
I do recall some comment a while back about the ISO_Level3_Shift, that
xterm's check for it isn't necessary. I'll look for that in my email, to
compare it with this case, probably remove the check - or add a resource
to control whether the conflict is ignored. It's a one-liner in input.c
(I don't have a pc105 keyboard, so I don't think I can test this
$ setxkbmap -query
-> alt-<arrow> == <arrow>
$ setxkbmap -option grp:alts_toggle
$ setxkbmap -query
-> alt_L-<arrow> Works
-> alt_R-<any> == <any>
-> alt_R is ISO_Level3_Shift
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 3.0.0-1-amd64 (SMP w/1 CPU core)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) (ignored:
LC_ALL set to en_CA.UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages xterm depends on:
ii libc6 2.13-10 Embedded GNU C Library: Shared
ii libfontconfig1 2.8.0-3 generic font configuration
ii libice6 2:1.0.7-2 X11 Inter-Client Exchange
ii libncurses5 5.9-1 shared libraries for terminal
ii libutempter0 1.1.5-4 A privileged helper for
ii libx11-6 2:1.4.4-1 X11 client-side library
ii libxaw7 2:1.0.9-2 X11 Athena Widget library
ii libxft2 2.2.0-3 FreeType-based font drawing
ii libxmu6 2:1.1.0-2 X11 miscellaneous utility
Thomas E. Dickey