=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/tty-keys.c,v retrieving revision 1.8 retrieving revision 1.9 diff -c -r1.8 -r1.9 *** src/usr.bin/tmux/tty-keys.c 2009/10/26 13:41:46 1.8 --- src/usr.bin/tmux/tty-keys.c 2009/10/26 13:58:02 1.9 *************** *** 1,4 **** ! /* $OpenBSD: tty-keys.c,v 1.8 2009/10/26 13:41:46 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: tty-keys.c,v 1.9 2009/10/26 13:58:02 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 25,30 **** --- 25,34 ---- #include "tmux.h" + /* + * Handle keys input from the outside terminal. + */ + void tty_keys_add(struct tty *, const char *, int, int); int tty_keys_mouse(char *, size_t, size_t *, struct mouse_event *); *************** *** 67,87 **** { TTYC_KPP, NULL, KEYC_PPAGE, TTYKEY_CTRL }, { TTYC_KCBT, NULL, KEYC_BTAB, TTYKEY_CTRL }, ! /* Arrow keys. */ { 0, "\033OA", KEYC_UP, TTYKEY_RAW }, { 0, "\033OB", KEYC_DOWN, TTYKEY_RAW }, { 0, "\033OC", KEYC_RIGHT, TTYKEY_RAW }, { 0, "\033OD", KEYC_LEFT, TTYKEY_RAW }, ! { 0, "\033[A", KEYC_UP, TTYKEY_RAW }, ! { 0, "\033[B", KEYC_DOWN, TTYKEY_RAW }, ! { 0, "\033[C", KEYC_RIGHT, TTYKEY_RAW }, ! { 0, "\033[D", KEYC_LEFT, TTYKEY_RAW }, { 0, "\033Oa", KEYC_UP|KEYC_CTRL, TTYKEY_RAW }, { 0, "\033Ob", KEYC_DOWN|KEYC_CTRL, TTYKEY_RAW }, { 0, "\033Oc", KEYC_RIGHT|KEYC_CTRL, TTYKEY_RAW }, { 0, "\033Od", KEYC_LEFT|KEYC_CTRL, TTYKEY_RAW }, { 0, "\033[a", KEYC_UP|KEYC_SHIFT, TTYKEY_RAW }, { 0, "\033[b", KEYC_DOWN|KEYC_SHIFT, TTYKEY_RAW }, { 0, "\033[c", KEYC_RIGHT|KEYC_SHIFT, TTYKEY_RAW }, --- 71,96 ---- { TTYC_KPP, NULL, KEYC_PPAGE, TTYKEY_CTRL }, { TTYC_KCBT, NULL, KEYC_BTAB, TTYKEY_CTRL }, ! /* ! * Arrow keys. There are several variants of these so just accept them. ! * We always put the terminal into application keys mode so ctrl should ! * swap between SS3 and CSI. ! */ { 0, "\033OA", KEYC_UP, TTYKEY_RAW }, { 0, "\033OB", KEYC_DOWN, TTYKEY_RAW }, { 0, "\033OC", KEYC_RIGHT, TTYKEY_RAW }, { 0, "\033OD", KEYC_LEFT, TTYKEY_RAW }, ! { 0, "\033[A", KEYC_UP|KEYC_CTRL, TTYKEY_RAW }, ! { 0, "\033[B", KEYC_DOWN|KEYC_CTRL, TTYKEY_RAW }, ! { 0, "\033[C", KEYC_RIGHT|KEYC_CTRL, TTYKEY_RAW }, ! { 0, "\033[D", KEYC_LEFT|KEYC_CTRL, TTYKEY_RAW }, { 0, "\033Oa", KEYC_UP|KEYC_CTRL, TTYKEY_RAW }, { 0, "\033Ob", KEYC_DOWN|KEYC_CTRL, TTYKEY_RAW }, { 0, "\033Oc", KEYC_RIGHT|KEYC_CTRL, TTYKEY_RAW }, { 0, "\033Od", KEYC_LEFT|KEYC_CTRL, TTYKEY_RAW }, + { 0, "\033[a", KEYC_UP|KEYC_SHIFT, TTYKEY_RAW }, { 0, "\033[b", KEYC_DOWN|KEYC_SHIFT, TTYKEY_RAW }, { 0, "\033[c", KEYC_RIGHT|KEYC_SHIFT, TTYKEY_RAW },