[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#638694: xterm: alt-<arrow> == <arrow>



On Sun, 21 Aug 2011, Ahmad Khayyat wrote:

Subject: xterm: alt-<arrow> == <arrow>
Package: xterm
Version: 271-1
Severity: normal

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
by xev.
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
this problem.

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
directly myself).

$ setxkbmap -query
rules:      evdev
model:      pc105
layout:     us,ar

-> alt-<arrow> == <arrow>

$ setxkbmap -option grp:alts_toggle
$ setxkbmap -query
rules:      evdev
model:      pc105
layout:     us,ar
options:    grp:alts_toggle

-> 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
lib
ii  libfontconfig1                2.8.0-3    generic font configuration
library
ii  libice6                       2:1.0.7-2  X11 Inter-Client Exchange
library
ii  libncurses5                   5.9-1      shared libraries for terminal
hand
ii  libutempter0                  1.1.5-4    A privileged helper for
utmp/wtmp
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
librar
ii  libxmu6                       2:1.1.0-2  X11 miscellaneous utility
library


--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net



Reply to: