From: dwex@cbnewsj.cb.att.com (david.e.wexelblat)
Subject: Re: Cursor keys?
Organization: AT&T
Date: Tue, 12 Jan 1993 19:27:37 GMT

In article <53.1192.uupcb@satalink.com> john.will@satalink.com (John Will)  writes:
> I'm running Linux and Xfree86, I'd like to get the xterm to respond to the
> cursor keys the same way as with the basic console, currently, only the
> main keyboard keys are usable while running X.  I know there must be some
> sort of keyboard mapping going on, but I just can't find where. :-)  My
> specific problem is with emacs, runs fine under plain Linux, but all of
> the cursor keys are non-functional with X.
> 
> Internet: john.will@satalink.com
> ---
>  . KingQWK 1.05 # 97 . If we don't succeed, we run the risk of failure
>                                                                                                                            

Well, there's a couple of possibilities:

	1) The termcap/terminfo for xterm is not installed correctly
	   (I'm not sure which one Linux uses).
	2) The xterm entry for termcap/terminfo assumes standard
	   Unix console escape sequences, instead of xterm escape
	   sequences (such is the case on SVR4).

If it's the former problem, find and install the correct entry.  If it's
the latter, the following set of translations works for me:

XTerm*VT100.Translations: #override \
        ~Shift ~Ctrl ~Alt <Key>F1:      string(0x1b) string(OP) \n\
        ~Shift ~Ctrl ~Alt <Key>F2:      string(0x1b) string(OQ) \n\
        ~Shift ~Ctrl ~Alt <Key>F3:      string(0x1b) string(OR) \n\
        ~Shift ~Ctrl ~Alt <Key>F4:      string(0x1b) string(OS) \n\
        ~Shift ~Ctrl ~Alt <Key>F5:      string(0x1b) string(OT) \n\
        ~Shift ~Ctrl ~Alt <Key>F6:      string(0x1b) string(OU) \n\
        ~Shift ~Ctrl ~Alt <Key>F7:      string(0x1b) string(OV) \n\
        ~Shift ~Ctrl ~Alt <Key>F8:      string(0x1b) string(OW) \n\
        ~Shift ~Ctrl ~Alt <Key>F9:      string(0x1b) string(OX) \n\
        ~Shift ~Ctrl ~Alt <Key>F10:     string(0x1b) string(OY) \n\
        ~Shift ~Ctrl ~Alt <Key>F11:     string(0x1b) string(OZ) \n\
        ~Shift ~Ctrl ~Alt <Key>F12:     string(0x1b) string(OA) \n\
        Shift ~Ctrl ~Alt <Key>F1:       string(0x1b) string(Op) \n\
        Shift ~Ctrl ~Alt <Key>F2:       string(0x1b) string(Oq) \n\
        Shift ~Ctrl ~Alt <Key>F3:       string(0x1b) string(Or) \n\
        Shift ~Ctrl ~Alt <Key>F4:       string(0x1b) string(Os) \n\
        Shift ~Ctrl ~Alt <Key>F5:       string(0x1b) string(Ot) \n\
        Shift ~Ctrl ~Alt <Key>F6:       string(0x1b) string(Ou) \n\
        Shift ~Ctrl ~Alt <Key>F7:       string(0x1b) string(Ov) \n\
        Shift ~Ctrl ~Alt <Key>F8:       string(0x1b) string(Ow) \n\
        Shift ~Ctrl ~Alt <Key>F9:       string(0x1b) string(Ox) \n\
        Shift ~Ctrl ~Alt <Key>F10:      string(0x1b) string(Oy) \n\
        Shift ~Ctrl ~Alt <Key>F11:      string(0x1b) string(Oz) \n\
        Shift ~Ctrl ~Alt <Key>F12:      string(0x1b) string(Oa) \n\
        ~Shift Ctrl ~Alt <Key>F1:       string(0x1b) string(]P) \n\
        ~Shift Ctrl ~Alt <Key>F2:       string(0x1b) string(]Q) \n\
        ~Shift Ctrl ~Alt <Key>F3:       string(0x1b) string(]R) \n\
        ~Shift Ctrl ~Alt <Key>F4:       string(0x1b) string(]S) \n\
        ~Shift Ctrl ~Alt <Key>F5:       string(0x1b) string(]T) \n\
        ~Shift Ctrl ~Alt <Key>F6:       string(0x1b) string(]U) \n\
        ~Shift Ctrl ~Alt <Key>F7:       string(0x1b) string(]V) \n\
        ~Shift Ctrl ~Alt <Key>F8:       string(0x1b) string(]W) \n\
        ~Shift Ctrl ~Alt <Key>F9:       string(0x1b) string(]X) \n\
        ~Shift Ctrl ~Alt <Key>F10:      string(0x1b) string(]Y) \n\
        ~Shift Ctrl ~Alt <Key>F11:      string(0x1b) string(]Z) \n\
        ~Shift Ctrl ~Alt <Key>F12:      string(0x1b) string(]A) \n\
        ~Shift ~Ctrl Alt <Key>F1:       string(0x1b) string(]p) \n\
        ~Shift ~Ctrl Alt <Key>F2:       string(0x1b) string(]q) \n\
        ~Shift ~Ctrl Alt <Key>F3:       string(0x1b) string(]r) \n\
        ~Shift ~Ctrl Alt <Key>F4:       string(0x1b) string(]s) \n\
        ~Shift ~Ctrl Alt <Key>F5:       string(0x1b) string(]t) \n\
        ~Shift ~Ctrl Alt <Key>F6:       string(0x1b) string(]u) \n\
        ~Shift ~Ctrl Alt <Key>F7:       string(0x1b) string(]v) \n\
        ~Shift ~Ctrl Alt <Key>F8:       string(0x1b) string(]w) \n\
        ~Shift ~Ctrl Alt <Key>F9:       string(0x1b) string(]x) \n\
        ~Shift ~Ctrl Alt <Key>F10:      string(0x1b) string(]y) \n\
        ~Shift ~Ctrl Alt <Key>F11:      string(0x1b) string(]z) \n\
        ~Shift ~Ctrl Alt <Key>F12:      string(0x1b) string(]a) \n\
        ~Shift <Key>End:                string(0x1b) string([Y) \n\
        ~Shift <Key>KP_Enter:           string(0x1b) string(OM) \n\
        ~Shift <Key>Home:               string(0x1b) string([H) \n\
        ~Shift <Key>Next:               string(0x1b) string([U) \n\
        ~Shift <Key>Prior:              string(0x1b) string([V)

--
David Wexelblat <dwex@mtgzfs3.att.com>  (908) 957-5871
AT&T Bell Laboratories, 200 Laurel Ave - 3F-428, Middletown, NJ  07748

"The meaning of life?  That's simple.  Try to be happy, try not to hurt
 other people, and hope to fall in love."  -- Mallory Keaton
Newsgroups: comp.windows.x.i386unix