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

confused about keymapping and erase (was: how to send DEL to virtualbox client)



I am running testing (Wheezy) with X windows and fvwm window manager.  My
questions concern the mapping of two physical keyboard keys:

  keycode 22, labeled Backspace, at the right of the row with [0-9]
  keycode 107, labeled Delete, on a small 3x2 keypad just to the right of the
    Backspace key

I got the keycodes by running xev, which also reports the following:
  keycode 22 (keysym 0xff08, BackSpace)
  XLookupString gives 1 bytes: (08) "^H"
  XmbLookupString gives 1 bytes: (08) "^H"

  keycode 107 (keysym 0xffff, Delete)
  XLookupString gives 1 bytes: (7f) "^?"
  XmbLookupString gives 1 bytes: (7f) "^?"

(I ran the output of xev to a file to see the characters shown above in
double quotes.)  So far so good.  But now I run "stty -a", which shows:
  ...; erase = ^?; ...

This seems to identify ^? (0177, 0x7f, del) as the erase function.  xev
indicates that key 107 is mapped to 0x7f.  However, I get erase function not
from key 107, which is mapped to del, but from key 22, which sends 0x08
(^H, 0010, bs, \b).

Why is erase function found in the key mapped to 0x08 but not in the one
mapped to 0x7f, when the stty listing seems to predict the opposite?

I also found it odd that if I try "od -c" and hit key 22, od reports nothing.
If I enter CTRL-h, it reports "\b". I had thought that either should generate
0x08.

I have links to some references that used to explain such issues, but I
suspect that they are now obsolete.  If there is a current good explanation
out there, I'd be happy to look at it.

Thanks.


Reply to: