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

Still having lots of trouble with Alt/Meta keys



I added some information to #259740, but I'm hopelessly confused as to what
bug which bug report is describing; nothing discussed in that bug report has
helped me so far.

I'm trying to use altwin:meta_win.  Trying very, very hard, in fact.  Not in
any complicated X applications; just in xterm.  This is with the -7 packages
installed.

To take my window manager out of the picture, I started a clean X server
running nothing except for a single xterm.  The xterm is running zsh.  At
this point I have no options set (not even altwin:meta_win); generic pc104.
This should be easy to reproduce.

All I want is for my Windows keys to send Meta, and xterm to treat that like
Escape.  This requires XTerm*metaSendsEscape: true.  [For some reason, I have
to start an xterm, run xrdb in it, and start a new xterm for this to take
effect.  I can't run it from a VT with $DISPLAY set; it just switches to the
X server instead of merging resources.  Huh.]

This all used to work after "setxkbmap -option altwin:meta_win".  Now I'm
having trouble.  Here's what xmodmap looks like when I start:

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x6d)
mod1        Alt_L (0x40),  Alt_L (0x7d),  Meta_L (0x9c)
mod2        Num_Lock (0x4d)
mod3
mod4        Super_L (0x7f),  Hyper_L (0x80)
mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x7c)

At this point alt-b generates "backwards word" and windows-b generates "b".
Without metaSendsEscape alt-b generates an accented a.  I turn on
altwin:meta_win:

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x6d)
mod1        Alt_L (0x40),  Alt_L (0x7d)
mod2        Num_Lock (0x4d)
mod3
mod4        Meta_L (0x73),  Meta_R (0x74),  Super_L (0x7f),  Hyper_L (0x80), Meta_L (0x9c)
mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x7c)

Now neither alt-b nor windows-b produces any effect.  If I use 'xmodmap -e
"clear mod1"', then alt-b generates backspace-word and windows-b generates
an accented a - this is what I wanted, and used to get, I think.  If I do
'xmodmap -e "add mod1 = Alt_L"', then neither windows-b nor alt-b produces
any effect again.  If I do 'xmodmap -e "add mod1 = Alt_R"', so that both
Alt_L and Alt_R are mapped to mod1, then Alt-b generates backwards word and
Windows-b generates "b".

All of the above, mind you, is using the _left_ alt and windows keys.  I
haven't even tried the right ones, since I usually use the left when typing. 
So adding Alt_R to mod1 changes the behavior of both left keys...

I can't reproduce all of these results in another server with GNOME and
Metacity running - specifically, with mod1 cleared, Alt-b generates "b"
instead of the accented "a".  I assume that's either GNOME or Metacity
somehow eating the modifier.  Right now I don't care.  It's the keyboard
cursor movement that I need.

This is all terribly confusing, and it's a real shame that we're going to
carry it into Sarge, IMO.  But most of all I'd like advice on how to make
the simple case of using altwin:meta_win work in xterm.

All ideas appreciated.

-- 
Daniel Jacobowitz



Reply to: