diff options
Diffstat (limited to 'input-keys.c')
-rw-r--r-- | input-keys.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/input-keys.c b/input-keys.c index c24eed94..51920578 100644 --- a/input-keys.c +++ b/input-keys.c @@ -1,4 +1,4 @@ -/* $Id: input-keys.c,v 1.6 2008-01-03 21:32:11 nicm Exp $ */ +/* $Id: input-keys.c,v 1.7 2008-06-06 17:20:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -28,6 +28,8 @@ struct { int key; const char *data; } input_keys[] = { +/* { KEYC_BACKSPACE, "\010" }, */ + { KEYC_DC, "\e[3~" }, { KEYC_F1, "\eOP" }, { KEYC_F10, "\e[21~" }, @@ -108,12 +110,14 @@ input_key(struct window *w, int key) #endif for (i = 0; i < NINPUTKEYS; i++) { - if (input_keys[i].key == key) { - log_debug2( - "found key %d: \"%s\"", key, input_keys[i].data); - buffer_write(w->out, - input_keys[i].data, strlen(input_keys[i].data)); - return; - } + if (input_keys[i].key == key) + break; } + if (i == NINPUTKEYS) { + log_debug2("key %d missing", key); + return; + } + + log_debug2("found key %d: \"%s\"", key, input_keys[i].data); + buffer_write(w->out, input_keys[i].data, strlen(input_keys[i].data)); } |