mirror of
https://github.com/tmux/tmux.git
synced 2025-01-14 20:58:53 +00:00
Give up the farce of caring about any keys aside from the ones in the screen termcap and the ones termcap doesn't handle that we hardcode manually.
This commit is contained in:
parent
678dffa840
commit
622d4def22
@ -1,4 +1,4 @@
|
||||
/* $Id: input-keys.c,v 1.16 2009-01-07 22:52:33 nicm Exp $ */
|
||||
/* $Id: input-keys.c,v 1.17 2009-01-08 22:28:02 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -31,6 +31,7 @@ struct {
|
||||
const char *data;
|
||||
int flags;
|
||||
} input_keys[] = {
|
||||
/* Function keys. */
|
||||
{ KEYC_F1, "\033OP", 0 },
|
||||
{ KEYC_F2, "\033OQ", 0 },
|
||||
{ KEYC_F3, "\033OR", 0 },
|
||||
@ -43,12 +44,12 @@ struct {
|
||||
{ KEYC_F10, "\033[21~", 0 },
|
||||
{ KEYC_F11, "\033[23~", 0 },
|
||||
{ KEYC_F12, "\033[24~", 0 },
|
||||
{ KEYC_DC, "\033[3~", 0 },
|
||||
{ KEYC_IC, "\033[2~", 0 },
|
||||
{ KEYC_NPAGE, "\033[6~", 0 },
|
||||
{ KEYC_PPAGE, "\033[5~", 0 },
|
||||
{ KEYC_DC, "\033[3~", 0 },
|
||||
{ KEYC_HOME, "\033[1~", 0 },
|
||||
{ KEYC_END, "\033[4~", 0 },
|
||||
{ KEYC_NPAGE, "\033[6~", 0 },
|
||||
{ KEYC_PPAGE, "\033[5~", 0 },
|
||||
|
||||
/* Arrow keys. Cursor versions must come first. */
|
||||
{ KEYC_UP, "\033OA", INPUTKEY_CURSOR },
|
||||
|
149
key-string.c
149
key-string.c
@ -1,4 +1,4 @@
|
||||
/* $Id: key-string.c,v 1.9 2009-01-07 22:52:33 nicm Exp $ */
|
||||
/* $Id: key-string.c,v 1.10 2009-01-08 22:28:02 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -26,154 +26,31 @@ struct {
|
||||
const char *string;
|
||||
int key;
|
||||
} key_string_table[] = {
|
||||
/* { "A1", KEYC_A1 }, */
|
||||
/* { "A3", KEYC_A3 }, */
|
||||
/* { "B2", KEYC_B2 }, */
|
||||
{ "BEG", KEYC_BEG },
|
||||
{ "BTAB", KEYC_BTAB },
|
||||
/* { "C1", KEYC_C1 }, */
|
||||
/* { "C3", KEYC_C3 }, */
|
||||
{ "CANCEL", KEYC_CANCEL },
|
||||
{ "CATAB", KEYC_CATAB },
|
||||
{ "CLEAR", KEYC_CLEAR },
|
||||
{ "CLOSE", KEYC_CLOSE },
|
||||
{ "COMMAND", KEYC_COMMAND },
|
||||
{ "COPY", KEYC_COPY },
|
||||
{ "CREATE", KEYC_CREATE },
|
||||
{ "CTAB", KEYC_CTAB },
|
||||
{ "DC", KEYC_DC },
|
||||
{ "DL", KEYC_DL },
|
||||
{ "DOWN", KEYC_DOWN},
|
||||
{ "EIC", KEYC_EIC },
|
||||
{ "END", KEYC_END },
|
||||
/* { "ENTER", KEYC_ENTER }, */
|
||||
{ "EOL", KEYC_EOL },
|
||||
{ "EOS", KEYC_EOS },
|
||||
{ "EXIT", KEYC_EXIT },
|
||||
{ "F0", KEYC_F0 },
|
||||
/* Function keys. */
|
||||
{ "F1", KEYC_F1 },
|
||||
{ "F10", KEYC_F10 },
|
||||
{ "F11", KEYC_F11 },
|
||||
{ "F12", KEYC_F12 },
|
||||
{ "F13", KEYC_F13 },
|
||||
{ "F14", KEYC_F14 },
|
||||
{ "F15", KEYC_F15 },
|
||||
{ "F16", KEYC_F16 },
|
||||
{ "F17", KEYC_F17 },
|
||||
{ "F18", KEYC_F18 },
|
||||
{ "F19", KEYC_F19 },
|
||||
{ "F2", KEYC_F2 },
|
||||
{ "F20", KEYC_F20 },
|
||||
{ "F21", KEYC_F21 },
|
||||
{ "F22", KEYC_F22 },
|
||||
{ "F23", KEYC_F23 },
|
||||
{ "F24", KEYC_F24 },
|
||||
{ "F25", KEYC_F25 },
|
||||
{ "F26", KEYC_F26 },
|
||||
{ "F27", KEYC_F27 },
|
||||
{ "F28", KEYC_F28 },
|
||||
{ "F29", KEYC_F29 },
|
||||
{ "F3", KEYC_F3 },
|
||||
{ "F30", KEYC_F30 },
|
||||
{ "F31", KEYC_F31 },
|
||||
{ "F32", KEYC_F32 },
|
||||
{ "F33", KEYC_F33 },
|
||||
{ "F34", KEYC_F34 },
|
||||
{ "F35", KEYC_F35 },
|
||||
{ "F36", KEYC_F36 },
|
||||
{ "F37", KEYC_F37 },
|
||||
{ "F38", KEYC_F38 },
|
||||
{ "F39", KEYC_F39 },
|
||||
{ "F4", KEYC_F4 },
|
||||
{ "F40", KEYC_F40 },
|
||||
{ "F41", KEYC_F41 },
|
||||
{ "F42", KEYC_F42 },
|
||||
{ "F43", KEYC_F43 },
|
||||
{ "F44", KEYC_F44 },
|
||||
{ "F45", KEYC_F45 },
|
||||
{ "F46", KEYC_F46 },
|
||||
{ "F47", KEYC_F47 },
|
||||
{ "F48", KEYC_F48 },
|
||||
{ "F49", KEYC_F49 },
|
||||
{ "F5", KEYC_F5 },
|
||||
{ "F50", KEYC_F50 },
|
||||
{ "F51", KEYC_F51 },
|
||||
{ "F52", KEYC_F52 },
|
||||
{ "F53", KEYC_F53 },
|
||||
{ "F54", KEYC_F54 },
|
||||
{ "F55", KEYC_F55 },
|
||||
{ "F56", KEYC_F56 },
|
||||
{ "F57", KEYC_F57 },
|
||||
{ "F58", KEYC_F58 },
|
||||
{ "F59", KEYC_F59 },
|
||||
{ "F6", KEYC_F6 },
|
||||
{ "F60", KEYC_F60 },
|
||||
{ "F61", KEYC_F61 },
|
||||
{ "F62", KEYC_F62 },
|
||||
{ "F63", KEYC_F63 },
|
||||
{ "F7", KEYC_F7 },
|
||||
{ "F8", KEYC_F8 },
|
||||
{ "F9", KEYC_F9 },
|
||||
{ "FIND", KEYC_FIND },
|
||||
{ "HELP", KEYC_HELP },
|
||||
{ "HOME", KEYC_HOME },
|
||||
{ "F10", KEYC_F10 },
|
||||
{ "F11", KEYC_F11 },
|
||||
{ "F12", KEYC_F12 },
|
||||
{ "IC", KEYC_IC },
|
||||
{ "IL", KEYC_IL },
|
||||
{ "LEFT", KEYC_LEFT },
|
||||
{ "LL", KEYC_LL },
|
||||
{ "MARK", KEYC_MARK },
|
||||
{ "MESSAGE", KEYC_MESSAGE },
|
||||
{ "MOVE", KEYC_MOVE },
|
||||
{ "NEXT", KEYC_NEXT },
|
||||
{ "DC", KEYC_DC },
|
||||
{ "HOME", KEYC_HOME },
|
||||
{ "END", KEYC_END },
|
||||
{ "NPAGE", KEYC_NPAGE },
|
||||
{ "OPEN", KEYC_OPEN },
|
||||
{ "OPTIONS", KEYC_OPTIONS },
|
||||
{ "PPAGE", KEYC_PPAGE },
|
||||
{ "PREVIOUS", KEYC_PREVIOUS },
|
||||
{ "PRINT", KEYC_PRINT },
|
||||
{ "REDO", KEYC_REDO },
|
||||
{ "REFERENCE", KEYC_REFERENCE },
|
||||
{ "REFRESH", KEYC_REFRESH },
|
||||
{ "REPLACE", KEYC_REPLACE },
|
||||
{ "RESTART", KEYC_RESTART },
|
||||
{ "RESUME", KEYC_RESUME },
|
||||
{ "RIGHT", KEYC_RIGHT },
|
||||
{ "SAVE", KEYC_SAVE },
|
||||
{ "SBEG", KEYC_SBEG },
|
||||
{ "SCANCEL", KEYC_SCANCEL },
|
||||
{ "SCOMMAND", KEYC_SCOMMAND },
|
||||
{ "SCOPY", KEYC_SCOPY },
|
||||
{ "SCREATE", KEYC_SCREATE },
|
||||
{ "SDC", KEYC_SDC },
|
||||
{ "SDL", KEYC_SDL },
|
||||
{ "SELECT", KEYC_SELECT },
|
||||
{ "SEND", KEYC_SEND },
|
||||
{ "SEOL", KEYC_SEOL },
|
||||
{ "SEXIT", KEYC_SEXIT },
|
||||
{ "SF", KEYC_SF },
|
||||
{ "SFIND", KEYC_SFIND },
|
||||
{ "SHELP", KEYC_SHELP },
|
||||
{ "SHOME", KEYC_SHOME },
|
||||
{ "SIC", KEYC_SIC },
|
||||
{ "SLEFT", KEYC_SLEFT },
|
||||
{ "SMESSAGE", KEYC_SMESSAGE },
|
||||
{ "SMOVE", KEYC_SMOVE },
|
||||
{ "SNEXT", KEYC_SNEXT },
|
||||
{ "SOPTIONS", KEYC_SOPTIONS },
|
||||
{ "SPREVIOUS", KEYC_SPREVIOUS },
|
||||
{ "SPRINT", KEYC_SPRINT },
|
||||
{ "SR", KEYC_SR },
|
||||
{ "SREDO", KEYC_SREDO },
|
||||
{ "SREPLACE", KEYC_SREPLACE },
|
||||
{ "SRIGHT", KEYC_SRIGHT },
|
||||
{ "SRSUME", KEYC_SRSUME },
|
||||
{ "SSAVE", KEYC_SSAVE },
|
||||
{ "SSUSPEND", KEYC_SSUSPEND },
|
||||
{ "STAB", KEYC_STAB },
|
||||
{ "SUNDO", KEYC_SUNDO },
|
||||
{ "SUSPEND", KEYC_SUSPEND },
|
||||
{ "UNDO", KEYC_UNDO },
|
||||
|
||||
/* Arrow keys. */
|
||||
{ "UP", KEYC_UP },
|
||||
{ "DOWN", KEYC_DOWN },
|
||||
{ "LEFT", KEYC_LEFT },
|
||||
{ "RIGHT", KEYC_RIGHT },
|
||||
|
||||
/* Numeric keypad. */
|
||||
{ "KP/", KEYC_KP0_1 },
|
||||
|
5
status.c
5
status.c
@ -1,4 +1,4 @@
|
||||
/* $Id: status.c,v 1.56 2009-01-07 22:29:33 nicm Exp $ */
|
||||
/* $Id: status.c,v 1.57 2009-01-08 22:28:02 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -522,7 +522,8 @@ status_prompt_key(struct client *c, int key)
|
||||
last--;
|
||||
if (*last != '\0')
|
||||
last++;
|
||||
if (last <= first || last - first > (sizeof word) - 1)
|
||||
if (last <= first ||
|
||||
((size_t) (last - first)) > (sizeof word) - 1)
|
||||
break;
|
||||
memcpy(word, first, last - first);
|
||||
word[last - first] = '\0';
|
||||
|
177
tmux.h
177
tmux.h
@ -1,4 +1,4 @@
|
||||
/* $Id: tmux.h,v 1.209 2009-01-07 22:52:33 nicm Exp $ */
|
||||
/* $Id: tmux.h,v 1.210 2009-01-08 22:28:02 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -167,156 +167,31 @@ struct buffer {
|
||||
#define KEYC_REMOVEESCAPE(k) ((k) & ~KEYC_ESCAPE)
|
||||
#define KEYC_ISESCAPE(k) ((k) != KEYC_NONE && ((k) & KEYC_ESCAPE))
|
||||
|
||||
/* #define KEYC_A1 (KEYC_OFFSET + 0x1) */
|
||||
/* #define KEYC_A3 (KEYC_OFFSET + 0x2) */
|
||||
/* #define KEYC_B2 (KEYC_OFFSET + 0x3) */
|
||||
/* #define KEYC_BACKSPACE (KEYC_OFFSET + 0x4) */
|
||||
#define KEYC_BEG (KEYC_OFFSET + 0x5)
|
||||
#define KEYC_BTAB (KEYC_OFFSET + 0x6)
|
||||
/* #define KEYC_C1 (KEYC_OFFSET + 0x7) */
|
||||
/* #define KEYC_C3 (KEYC_OFFSET + 0x8) */
|
||||
#define KEYC_CANCEL (KEYC_OFFSET + 0x9)
|
||||
#define KEYC_CATAB (KEYC_OFFSET + 0xa)
|
||||
#define KEYC_CLEAR (KEYC_OFFSET + 0xb)
|
||||
#define KEYC_CLOSE (KEYC_OFFSET + 0xc)
|
||||
#define KEYC_COMMAND (KEYC_OFFSET + 0xd)
|
||||
#define KEYC_COPY (KEYC_OFFSET + 0xe)
|
||||
#define KEYC_CREATE (KEYC_OFFSET + 0xf)
|
||||
#define KEYC_CTAB (KEYC_OFFSET + 0x10)
|
||||
#define KEYC_DC (KEYC_OFFSET + 0x11)
|
||||
#define KEYC_DL (KEYC_OFFSET + 0x12)
|
||||
#define KEYC_DOWN (KEYC_OFFSET + 0x13)
|
||||
#define KEYC_EIC (KEYC_OFFSET + 0x14)
|
||||
#define KEYC_END (KEYC_OFFSET + 0x15)
|
||||
/* #define KEYC_ENTER (KEYC_OFFSET + 0x16) */
|
||||
#define KEYC_EOL (KEYC_OFFSET + 0x17)
|
||||
#define KEYC_EOS (KEYC_OFFSET + 0x18)
|
||||
#define KEYC_EXIT (KEYC_OFFSET + 0x19)
|
||||
#define KEYC_F0 (KEYC_OFFSET + 0x1a)
|
||||
#define KEYC_F1 (KEYC_OFFSET + 0x1b)
|
||||
#define KEYC_F10 (KEYC_OFFSET + 0x1c)
|
||||
#define KEYC_F11 (KEYC_OFFSET + 0x1d)
|
||||
#define KEYC_F12 (KEYC_OFFSET + 0x1e)
|
||||
#define KEYC_F13 (KEYC_OFFSET + 0x1f)
|
||||
#define KEYC_F14 (KEYC_OFFSET + 0x20)
|
||||
#define KEYC_F15 (KEYC_OFFSET + 0x21)
|
||||
#define KEYC_F16 (KEYC_OFFSET + 0x22)
|
||||
#define KEYC_F17 (KEYC_OFFSET + 0x23)
|
||||
#define KEYC_F18 (KEYC_OFFSET + 0x24)
|
||||
#define KEYC_F19 (KEYC_OFFSET + 0x25)
|
||||
#define KEYC_F2 (KEYC_OFFSET + 0x26)
|
||||
#define KEYC_F20 (KEYC_OFFSET + 0x27)
|
||||
#define KEYC_F21 (KEYC_OFFSET + 0x28)
|
||||
#define KEYC_F22 (KEYC_OFFSET + 0x29)
|
||||
#define KEYC_F23 (KEYC_OFFSET + 0x2a)
|
||||
#define KEYC_F24 (KEYC_OFFSET + 0x2b)
|
||||
#define KEYC_F25 (KEYC_OFFSET + 0x2c)
|
||||
#define KEYC_F26 (KEYC_OFFSET + 0x2d)
|
||||
#define KEYC_F27 (KEYC_OFFSET + 0x2e)
|
||||
#define KEYC_F28 (KEYC_OFFSET + 0x2f)
|
||||
#define KEYC_F29 (KEYC_OFFSET + 0x30)
|
||||
#define KEYC_F3 (KEYC_OFFSET + 0x31)
|
||||
#define KEYC_F30 (KEYC_OFFSET + 0x32)
|
||||
#define KEYC_F31 (KEYC_OFFSET + 0x33)
|
||||
#define KEYC_F32 (KEYC_OFFSET + 0x34)
|
||||
#define KEYC_F33 (KEYC_OFFSET + 0x35)
|
||||
#define KEYC_F34 (KEYC_OFFSET + 0x36)
|
||||
#define KEYC_F35 (KEYC_OFFSET + 0x37)
|
||||
#define KEYC_F36 (KEYC_OFFSET + 0x38)
|
||||
#define KEYC_F37 (KEYC_OFFSET + 0x39)
|
||||
#define KEYC_F38 (KEYC_OFFSET + 0x3a)
|
||||
#define KEYC_F39 (KEYC_OFFSET + 0x3b)
|
||||
#define KEYC_F4 (KEYC_OFFSET + 0x3c)
|
||||
#define KEYC_F40 (KEYC_OFFSET + 0x3d)
|
||||
#define KEYC_F41 (KEYC_OFFSET + 0x3e)
|
||||
#define KEYC_F42 (KEYC_OFFSET + 0x3f)
|
||||
#define KEYC_F43 (KEYC_OFFSET + 0x40)
|
||||
#define KEYC_F44 (KEYC_OFFSET + 0x41)
|
||||
#define KEYC_F45 (KEYC_OFFSET + 0x42)
|
||||
#define KEYC_F46 (KEYC_OFFSET + 0x43)
|
||||
#define KEYC_F47 (KEYC_OFFSET + 0x44)
|
||||
#define KEYC_F48 (KEYC_OFFSET + 0x45)
|
||||
#define KEYC_F49 (KEYC_OFFSET + 0x46)
|
||||
#define KEYC_F5 (KEYC_OFFSET + 0x47)
|
||||
#define KEYC_F50 (KEYC_OFFSET + 0x48)
|
||||
#define KEYC_F51 (KEYC_OFFSET + 0x49)
|
||||
#define KEYC_F52 (KEYC_OFFSET + 0x4a)
|
||||
#define KEYC_F53 (KEYC_OFFSET + 0x4b)
|
||||
#define KEYC_F54 (KEYC_OFFSET + 0x4c)
|
||||
#define KEYC_F55 (KEYC_OFFSET + 0x4d)
|
||||
#define KEYC_F56 (KEYC_OFFSET + 0x4e)
|
||||
#define KEYC_F57 (KEYC_OFFSET + 0x4f)
|
||||
#define KEYC_F58 (KEYC_OFFSET + 0x50)
|
||||
#define KEYC_F59 (KEYC_OFFSET + 0x51)
|
||||
#define KEYC_F6 (KEYC_OFFSET + 0x52)
|
||||
#define KEYC_F60 (KEYC_OFFSET + 0x53)
|
||||
#define KEYC_F61 (KEYC_OFFSET + 0x54)
|
||||
#define KEYC_F62 (KEYC_OFFSET + 0x55)
|
||||
#define KEYC_F63 (KEYC_OFFSET + 0x56)
|
||||
#define KEYC_F7 (KEYC_OFFSET + 0x57)
|
||||
#define KEYC_F8 (KEYC_OFFSET + 0x58)
|
||||
#define KEYC_F9 (KEYC_OFFSET + 0x59)
|
||||
#define KEYC_FIND (KEYC_OFFSET + 0x5a)
|
||||
#define KEYC_HELP (KEYC_OFFSET + 0x5b)
|
||||
#define KEYC_HOME (KEYC_OFFSET + 0x5c)
|
||||
#define KEYC_IC (KEYC_OFFSET + 0x5d)
|
||||
#define KEYC_IL (KEYC_OFFSET + 0x5e)
|
||||
#define KEYC_LEFT (KEYC_OFFSET + 0x5f)
|
||||
#define KEYC_LL (KEYC_OFFSET + 0x60)
|
||||
#define KEYC_MARK (KEYC_OFFSET + 0x61)
|
||||
#define KEYC_MESSAGE (KEYC_OFFSET + 0x62)
|
||||
#define KEYC_MOVE (KEYC_OFFSET + 0x63)
|
||||
#define KEYC_NEXT (KEYC_OFFSET + 0x64)
|
||||
#define KEYC_NPAGE (KEYC_OFFSET + 0x65)
|
||||
#define KEYC_OPEN (KEYC_OFFSET + 0x66)
|
||||
#define KEYC_OPTIONS (KEYC_OFFSET + 0x67)
|
||||
#define KEYC_PPAGE (KEYC_OFFSET + 0x68)
|
||||
#define KEYC_PREVIOUS (KEYC_OFFSET + 0x69)
|
||||
#define KEYC_PRINT (KEYC_OFFSET + 0x6a)
|
||||
#define KEYC_REDO (KEYC_OFFSET + 0x6b)
|
||||
#define KEYC_REFERENCE (KEYC_OFFSET + 0x6c)
|
||||
#define KEYC_REFRESH (KEYC_OFFSET + 0x6d)
|
||||
#define KEYC_REPLACE (KEYC_OFFSET + 0x6e)
|
||||
#define KEYC_RESTART (KEYC_OFFSET + 0x6f)
|
||||
#define KEYC_RESUME (KEYC_OFFSET + 0x70)
|
||||
#define KEYC_RIGHT (KEYC_OFFSET + 0x71)
|
||||
#define KEYC_SAVE (KEYC_OFFSET + 0x72)
|
||||
#define KEYC_SBEG (KEYC_OFFSET + 0x73)
|
||||
#define KEYC_SCANCEL (KEYC_OFFSET + 0x74)
|
||||
#define KEYC_SCOMMAND (KEYC_OFFSET + 0x75)
|
||||
#define KEYC_SCOPY (KEYC_OFFSET + 0x76)
|
||||
#define KEYC_SCREATE (KEYC_OFFSET + 0x77)
|
||||
#define KEYC_SDC (KEYC_OFFSET + 0x78)
|
||||
#define KEYC_SDL (KEYC_OFFSET + 0x79)
|
||||
#define KEYC_SELECT (KEYC_OFFSET + 0x7a)
|
||||
#define KEYC_SEND (KEYC_OFFSET + 0x7b)
|
||||
#define KEYC_SEOL (KEYC_OFFSET + 0x7c)
|
||||
#define KEYC_SEXIT (KEYC_OFFSET + 0x7d)
|
||||
#define KEYC_SF (KEYC_OFFSET + 0x7e)
|
||||
#define KEYC_SFIND (KEYC_OFFSET + 0x7f)
|
||||
#define KEYC_SHELP (KEYC_OFFSET + 0x80)
|
||||
#define KEYC_SHOME (KEYC_OFFSET + 0x81)
|
||||
#define KEYC_SIC (KEYC_OFFSET + 0x82)
|
||||
#define KEYC_SLEFT (KEYC_OFFSET + 0x83)
|
||||
#define KEYC_SMESSAGE (KEYC_OFFSET + 0x84)
|
||||
#define KEYC_SMOVE (KEYC_OFFSET + 0x85)
|
||||
#define KEYC_SNEXT (KEYC_OFFSET + 0x86)
|
||||
#define KEYC_SOPTIONS (KEYC_OFFSET + 0x87)
|
||||
#define KEYC_SPREVIOUS (KEYC_OFFSET + 0x88)
|
||||
#define KEYC_SPRINT (KEYC_OFFSET + 0x89)
|
||||
#define KEYC_SR (KEYC_OFFSET + 0x8a)
|
||||
#define KEYC_SREDO (KEYC_OFFSET + 0x8b)
|
||||
#define KEYC_SREPLACE (KEYC_OFFSET + 0x8c)
|
||||
#define KEYC_SRIGHT (KEYC_OFFSET + 0x8d)
|
||||
#define KEYC_SRSUME (KEYC_OFFSET + 0x8e)
|
||||
#define KEYC_SSAVE (KEYC_OFFSET + 0x8f)
|
||||
#define KEYC_SSUSPEND (KEYC_OFFSET + 0x90)
|
||||
#define KEYC_STAB (KEYC_OFFSET + 0x91)
|
||||
#define KEYC_SUNDO (KEYC_OFFSET + 0x92)
|
||||
#define KEYC_SUSPEND (KEYC_OFFSET + 0x93)
|
||||
#define KEYC_UNDO (KEYC_OFFSET + 0x94)
|
||||
#define KEYC_UP (KEYC_OFFSET + 0x95)
|
||||
#define KEYC_MOUSE (KEYC_OFFSET + 0x96)
|
||||
/* Function keys. */
|
||||
#define KEYC_F1 (KEYC_OFFSET + 0x01)
|
||||
#define KEYC_F2 (KEYC_OFFSET + 0x02)
|
||||
#define KEYC_F3 (KEYC_OFFSET + 0x03)
|
||||
#define KEYC_F4 (KEYC_OFFSET + 0x04)
|
||||
#define KEYC_F5 (KEYC_OFFSET + 0x05)
|
||||
#define KEYC_F6 (KEYC_OFFSET + 0x06)
|
||||
#define KEYC_F7 (KEYC_OFFSET + 0x07)
|
||||
#define KEYC_F8 (KEYC_OFFSET + 0x08)
|
||||
#define KEYC_F9 (KEYC_OFFSET + 0x09)
|
||||
#define KEYC_F10 (KEYC_OFFSET + 0x10)
|
||||
#define KEYC_F11 (KEYC_OFFSET + 0x11)
|
||||
#define KEYC_F12 (KEYC_OFFSET + 0x12)
|
||||
#define KEYC_IC (KEYC_OFFSET + 0x13)
|
||||
#define KEYC_DC (KEYC_OFFSET + 0x14)
|
||||
#define KEYC_HOME (KEYC_OFFSET + 0x15)
|
||||
#define KEYC_END (KEYC_OFFSET + 0x16)
|
||||
#define KEYC_NPAGE (KEYC_OFFSET + 0x17)
|
||||
#define KEYC_PPAGE (KEYC_OFFSET + 0x18)
|
||||
|
||||
/* Arrow keys. */
|
||||
#define KEYC_UP (KEYC_OFFSET + 0x50)
|
||||
#define KEYC_DOWN (KEYC_OFFSET + 0x51)
|
||||
#define KEYC_LEFT (KEYC_OFFSET + 0x52)
|
||||
#define KEYC_RIGHT (KEYC_OFFSET + 0x53)
|
||||
|
||||
/* Numeric keypad. Numbered from top-left, KPY_X. */
|
||||
#define KEYC_KP0_1 (KEYC_OFFSET + 0x100)
|
||||
|
155
tty-keys.c
155
tty-keys.c
@ -1,4 +1,4 @@
|
||||
/* $Id: tty-keys.c,v 1.12 2009-01-07 22:52:33 nicm Exp $ */
|
||||
/* $Id: tty-keys.c,v 1.13 2009-01-08 22:28:02 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -27,156 +27,31 @@ struct {
|
||||
const char *name;
|
||||
int code;
|
||||
} tty_keys[] = {
|
||||
/* { "ka1", KEYC_A1 }, */
|
||||
/* { "ka3", KEYC_A3 }, */
|
||||
/* { "kb2", KEYC_B2 }, */
|
||||
/* { "kb", KEYC_BACKSPACE }, */
|
||||
{ "kBEG", KEYC_SBEG },
|
||||
/* { "kc1", KEYC_C1 }, */
|
||||
/* { "kc3", KEYC_C3 }, */
|
||||
{ "kCAN", KEYC_SCANCEL },
|
||||
{ "kCMD", KEYC_SCOMMAND },
|
||||
{ "kCPY", KEYC_SCOPY },
|
||||
{ "kCRT", KEYC_SCREATE },
|
||||
{ "kDC", KEYC_SDC },
|
||||
{ "kDL", KEYC_SDL },
|
||||
{ "kEND", KEYC_SEND },
|
||||
{ "kEOL", KEYC_SEOL },
|
||||
{ "kEXT", KEYC_SEXIT },
|
||||
{ "kFND", KEYC_SFIND },
|
||||
{ "kHLP", KEYC_SHELP },
|
||||
{ "kHOM", KEYC_SHOME },
|
||||
{ "kIC", KEYC_SIC },
|
||||
{ "kLFT", KEYC_SLEFT },
|
||||
{ "kMOV", KEYC_SMOVE },
|
||||
{ "kMSG", KEYC_SMESSAGE },
|
||||
{ "kNXT", KEYC_SNEXT },
|
||||
{ "kOPT", KEYC_SOPTIONS },
|
||||
{ "kPRT", KEYC_SPRINT },
|
||||
{ "kPRV", KEYC_SPREVIOUS },
|
||||
{ "kRDO", KEYC_SREDO },
|
||||
{ "kRES", KEYC_SRSUME },
|
||||
{ "kRIT", KEYC_SRIGHT },
|
||||
{ "kRPL", KEYC_SREPLACE },
|
||||
{ "kSAV", KEYC_SSAVE },
|
||||
{ "kSPD", KEYC_SSUSPEND },
|
||||
{ "kUND", KEYC_SUNDO },
|
||||
{ "kbeg", KEYC_BEG },
|
||||
{ "kcan", KEYC_CANCEL },
|
||||
{ "kcbt", KEYC_BTAB },
|
||||
{ "kclo", KEYC_CLOSE },
|
||||
{ "kclr", KEYC_CLEAR },
|
||||
{ "kcmd", KEYC_COMMAND },
|
||||
{ "kcpy", KEYC_COPY },
|
||||
{ "kcrt", KEYC_CREATE },
|
||||
{ "kctab", KEYC_CTAB },
|
||||
{ "kcub1", KEYC_LEFT },
|
||||
{ "kcud1", KEYC_DOWN },
|
||||
{ "kcuf1", KEYC_RIGHT },
|
||||
{ "kcuu1", KEYC_UP },
|
||||
{ "kdch1", KEYC_DC },
|
||||
{ "kdl1", KEYC_DL },
|
||||
{ "ked", KEYC_EOS },
|
||||
{ "kel", KEYC_EOL },
|
||||
{ "kend", KEYC_END },
|
||||
/* { "kent", KEYC_ENTER }, */
|
||||
{ "kext", KEYC_EXIT },
|
||||
{ "kf0", KEYC_F0 },
|
||||
/* Function keys. */
|
||||
{ "kf1", KEYC_F1 },
|
||||
{ "kf10", KEYC_F10 },
|
||||
{ "kf11", KEYC_F11 },
|
||||
{ "kf12", KEYC_F12 },
|
||||
{ "kf13", KEYC_F13 },
|
||||
{ "kf14", KEYC_F14 },
|
||||
{ "kf15", KEYC_F15 },
|
||||
{ "kf16", KEYC_F16 },
|
||||
{ "kf17", KEYC_F17 },
|
||||
{ "kf18", KEYC_F18 },
|
||||
{ "kf19", KEYC_F19 },
|
||||
{ "kf2", KEYC_F2 },
|
||||
{ "kf20", KEYC_F20 },
|
||||
{ "kf21", KEYC_F21 },
|
||||
{ "kf22", KEYC_F22 },
|
||||
{ "kf23", KEYC_F23 },
|
||||
{ "kf24", KEYC_F24 },
|
||||
{ "kf25", KEYC_F25 },
|
||||
{ "kf26", KEYC_F26 },
|
||||
{ "kf27", KEYC_F27 },
|
||||
{ "kf28", KEYC_F28 },
|
||||
{ "kf29", KEYC_F29 },
|
||||
{ "kf3", KEYC_F3 },
|
||||
{ "kf30", KEYC_F30 },
|
||||
{ "kf31", KEYC_F31 },
|
||||
{ "kf32", KEYC_F32 },
|
||||
{ "kf33", KEYC_F33 },
|
||||
{ "kf34", KEYC_F34 },
|
||||
{ "kf35", KEYC_F35 },
|
||||
{ "kf36", KEYC_F36 },
|
||||
{ "kf37", KEYC_F37 },
|
||||
{ "kf38", KEYC_F38 },
|
||||
{ "kf39", KEYC_F39 },
|
||||
{ "kf4", KEYC_F4 },
|
||||
{ "kf40", KEYC_F40 },
|
||||
{ "kf41", KEYC_F41 },
|
||||
{ "kf42", KEYC_F42 },
|
||||
{ "kf43", KEYC_F43 },
|
||||
{ "kf44", KEYC_F44 },
|
||||
{ "kf45", KEYC_F45 },
|
||||
{ "kf46", KEYC_F46 },
|
||||
{ "kf47", KEYC_F47 },
|
||||
{ "kf48", KEYC_F48 },
|
||||
{ "kf49", KEYC_F49 },
|
||||
{ "kf5", KEYC_F5 },
|
||||
{ "kf50", KEYC_F50 },
|
||||
{ "kf51", KEYC_F51 },
|
||||
{ "kf52", KEYC_F52 },
|
||||
{ "kf53", KEYC_F53 },
|
||||
{ "kf54", KEYC_F54 },
|
||||
{ "kf55", KEYC_F55 },
|
||||
{ "kf56", KEYC_F56 },
|
||||
{ "kf57", KEYC_F57 },
|
||||
{ "kf58", KEYC_F58 },
|
||||
{ "kf59", KEYC_F59 },
|
||||
{ "kf6", KEYC_F6 },
|
||||
{ "kf60", KEYC_F60 },
|
||||
{ "kf61", KEYC_F61 },
|
||||
{ "kf62", KEYC_F62 },
|
||||
{ "kf63", KEYC_F63 },
|
||||
{ "kf7", KEYC_F7 },
|
||||
{ "kf8", KEYC_F8 },
|
||||
{ "kf9", KEYC_F9 },
|
||||
{ "kfnd", KEYC_FIND },
|
||||
{ "khlp", KEYC_HELP },
|
||||
{ "khome", KEYC_HOME },
|
||||
{ "khts", KEYC_STAB },
|
||||
{ "kf10", KEYC_F10 },
|
||||
{ "kf11", KEYC_F11 },
|
||||
{ "kf12", KEYC_F12 },
|
||||
{ "kich1", KEYC_IC },
|
||||
{ "kil1", KEYC_IL },
|
||||
{ "kind", KEYC_SF },
|
||||
{ "kll", KEYC_LL },
|
||||
{ "kmov", KEYC_MOVE },
|
||||
{ "kmrk", KEYC_MARK },
|
||||
{ "kmsg", KEYC_MESSAGE },
|
||||
{ "kdch1", KEYC_DC },
|
||||
{ "khome", KEYC_HOME },
|
||||
{ "kend", KEYC_END },
|
||||
{ "knp", KEYC_NPAGE },
|
||||
{ "knxt", KEYC_NEXT },
|
||||
{ "kopn", KEYC_OPEN },
|
||||
{ "kopt", KEYC_OPTIONS },
|
||||
{ "kpp", KEYC_PPAGE },
|
||||
{ "kprt", KEYC_PRINT },
|
||||
{ "kprv", KEYC_PREVIOUS },
|
||||
{ "krdo", KEYC_REDO },
|
||||
{ "kref", KEYC_REFERENCE },
|
||||
{ "kres", KEYC_RESUME },
|
||||
{ "krfr", KEYC_REFRESH },
|
||||
{ "kri", KEYC_SR },
|
||||
{ "krmir", KEYC_EIC },
|
||||
{ "krpl", KEYC_REPLACE },
|
||||
{ "krst", KEYC_RESTART },
|
||||
{ "ksav", KEYC_SAVE },
|
||||
{ "kslt", KEYC_SELECT },
|
||||
{ "kspd", KEYC_SUSPEND },
|
||||
{ "ktbc", KEYC_CATAB },
|
||||
{ "kund", KEYC_UNDO },
|
||||
{ "pmous", KEYC_MOUSE },
|
||||
|
||||
/* Arrow keys. */
|
||||
{ "kcuu1", KEYC_UP },
|
||||
{ "kcud1", KEYC_DOWN },
|
||||
{ "kcub1", KEYC_LEFT },
|
||||
{ "kcuf1", KEYC_RIGHT },
|
||||
|
||||
/*
|
||||
* Numeric keypad. termcap and terminfo are totally confusing for this.
|
||||
@ -185,7 +60,7 @@ struct {
|
||||
* for the keypad keys in application mode (which is different from
|
||||
* what it says in the termcap file). So, we just hardcode the vt100
|
||||
* escape sequences here and always put the terminal into keypad_xmit
|
||||
* mode. Translation of numbers mode/applications mode is done in
|
||||
* mode. Translation of numbers mode/applications mode is done in
|
||||
* input-keys.c.
|
||||
*/
|
||||
{ "-\033Oo", KEYC_KP0_1 },
|
||||
|
Loading…
Reference in New Issue
Block a user