aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2009-01-08 22:28:02 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2009-01-08 22:28:02 +0000
commit622d4def2283e6fdc13dae33d8814e2af5169a65 (patch)
treeac4a0bc015e6001521350d2e1c239e4eaed5f032
parent678dffa840870a332b1c9136964ed4422e4d414d (diff)
downloadrtmux-622d4def2283e6fdc13dae33d8814e2af5169a65.tar.gz
rtmux-622d4def2283e6fdc13dae33d8814e2af5169a65.tar.bz2
rtmux-622d4def2283e6fdc13dae33d8814e2af5169a65.zip
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.
-rw-r--r--input-keys.c9
-rw-r--r--key-string.c149
-rw-r--r--status.c5
-rw-r--r--tmux.h177
-rw-r--r--tty-keys.c155
5 files changed, 62 insertions, 433 deletions
diff --git a/input-keys.c b/input-keys.c
index cc7e8f8f..19a42198 100644
--- a/input-keys.c
+++ b/input-keys.c
@@ -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 },
diff --git a/key-string.c b/key-string.c
index 981ba21d..7b4b330c 100644
--- a/key-string.c
+++ b/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 },
diff --git a/status.c b/status.c
index 675e284a..9b9e1801 100644
--- a/status.c
+++ b/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';
diff --git a/tmux.h b/tmux.h
index 7adf228c..a60d8ecb 100644
--- a/tmux.h
+++ b/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)
diff --git a/tty-keys.c b/tty-keys.c
index ca96300d..29b0d9d2 100644
--- a/tty-keys.c
+++ b/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 },