diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2007-09-21 19:24:37 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2007-09-21 19:24:37 +0000 |
commit | 1fefbb7a85b172dfb0d3323619f989280512b506 (patch) | |
tree | ba9098d72d604c8ee3902358742c38c09c08431c | |
parent | f14510825856746cbade5ec6377c2ad3f7d9a269 (diff) | |
download | rtmux-1fefbb7a85b172dfb0d3323619f989280512b506.tar.gz rtmux-1fefbb7a85b172dfb0d3323619f989280512b506.tar.bz2 rtmux-1fefbb7a85b172dfb0d3323619f989280512b506.zip |
Pass through backspace for now.
-rw-r--r-- | TODO | 1 | ||||
-rw-r--r-- | input.c | 48 | ||||
-rw-r--r-- | local.c | 7 | ||||
-rw-r--r-- | screen.c | 5 | ||||
-rw-r--r-- | server.c | 8 |
5 files changed, 40 insertions, 29 deletions
@@ -20,3 +20,4 @@ - some of the uses of buffers really sucks. buffer_reverse_add/remove, and buffer_insert_range/delete_range are abominations. this should be rethought +- figure out once and for all what is going on with backspace and del @@ -1,4 +1,4 @@ -/* $Id: input.c,v 1.4 2007-08-28 09:19:50 nicm Exp $ */ +/* $Id: input.c,v 1.5 2007-09-21 19:24:37 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -48,29 +48,29 @@ struct input_key { }; struct input_key input_keys[] = { - { KEYC_BACKSPACE, "" }, - { KEYC_DC, "[3~" }, - { KEYC_DOWN, "OB" }, - { KEYC_F1, "OP" }, - { KEYC_F10, "[21~" }, - { KEYC_F11, "[23~" }, - { KEYC_F12, "[24~" }, - { KEYC_F2, "OQ" }, - { KEYC_F3, "OR" }, - { KEYC_F4, "OS" }, - { KEYC_F5, "[15~" }, - { KEYC_F6, "[17~" }, - { KEYC_F7, "[18~" }, - { KEYC_F8, "[19~" }, - { KEYC_F9, "[20~" }, - { KEYC_HOME, "[1~" }, - { KEYC_IC, "[2~" }, - { KEYC_LEFT, "OD" }, - { KEYC_LL, "[4~" }, - { KEYC_NPAGE, "[6~" }, - { KEYC_PPAGE, "[5~" }, - { KEYC_RIGHT, "OC" }, - { KEYC_UP, "OA" } +/* { KEYC_BACKSPACE, "\010" }, */ + { KEYC_DC, "\e[3~" }, + { KEYC_DOWN, "\eOB" }, + { KEYC_F1, "\eOP" }, + { KEYC_F10, "\e[21~" }, + { KEYC_F11, "\e[23~" }, + { KEYC_F12, "\e[24~" }, + { KEYC_F2, "\eOQ" }, + { KEYC_F3, "\eOR" }, + { KEYC_F4, "\eOS" }, + { KEYC_F5, "\e[15~" }, + { KEYC_F6, "\e[17~" }, + { KEYC_F7, "\e[18~" }, + { KEYC_F8, "\e[19~" }, + { KEYC_F9, "\e[20~" }, + { KEYC_HOME, "\e[1~" }, + { KEYC_IC, "\e[2~" }, + { KEYC_LEFT, "\eOD" }, + { KEYC_LL, "\e[4~" }, + { KEYC_NPAGE, "\e[6~" }, + { KEYC_PPAGE, "\e[5~" }, + { KEYC_RIGHT, "\eOC" }, + { KEYC_UP, "\eOA" } }; /* @@ -1,4 +1,4 @@ -/* $Id: local.c,v 1.6 2007-09-20 09:43:33 nicm Exp $ */ +/* $Id: local.c,v 1.7 2007-09-21 19:24:37 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -49,7 +49,7 @@ struct local_key local_keys[] = { { "ka1", NULL, 0, KEYC_A1 }, { "ka3", NULL, 0, KEYC_A3 }, { "kb2", NULL, 0, KEYC_B2 }, - { "kbs", NULL, 0, KEYC_BACKSPACE }, +/* { "kbs", NULL, 0, KEYC_BACKSPACE }, */ { "kbeg", NULL, 0, KEYC_BEG }, { "kcbt", NULL, 0, KEYC_BTAB }, { "kc1", NULL, 0, KEYC_C1 }, @@ -348,7 +348,8 @@ local_key(size_t *used) if (strncmp(BUFFER_OUT(local_in), lk->string, size) == 0) { if (size < lk->size) return (KEYC_NONE); - log_debug("got key: %s %d", lk->name, lk->code); + log_debug("got key: " + "%s %d \"%s\"", lk->name, lk->code, lk->string); buffer_remove(local_in, lk->size); if (used != NULL) *used = lk->size; @@ -1,4 +1,4 @@ -/* $Id: screen.c,v 1.10 2007-09-21 18:00:58 nicm Exp $ */ +/* $Id: screen.c,v 1.11 2007-09-21 19:24:37 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -395,6 +395,9 @@ screen_character(struct screen *s, u_char ch) if (s->cx > 0) s->cx--; break; + case '\177': /* DC */ + /* XXX */ + break; default: if (ch < ' ') fatalx("bad control"); @@ -1,4 +1,4 @@ -/* $Id: server.c,v 1.9 2007-09-20 18:03:23 nicm Exp $ */ +/* $Id: server.c,v 1.10 2007-09-21 19:24:37 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -575,6 +575,12 @@ user_input(struct client *c, size_t in) case '\005': key = KEYC_LL; goto again; + case '\010': + key = KEYC_BACKSPACE; + goto again; + case '\177': + key = KEYC_DC; + goto again; case '\013': c->buf[c->idx + 1] = '\0'; input_store_zero(c->out, CODE_CURSOROFF); |