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: