diff options
-rw-r--r-- | libterminput.c | 6 | ||||
-rw-r--r-- | libterminput.h | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/libterminput.c b/libterminput.c index a255373..d721abd 100644 --- a/libterminput.c +++ b/libterminput.c @@ -143,13 +143,19 @@ parse_sequence(union libterminput_input *input, struct libterminput_state *ctx) switch (keylen) { case 2: switch (ctx->key[1]) { + case '@': input->keypress.key = LIBTERMINPUT_INS; break; case 'A': input->keypress.key = LIBTERMINPUT_UP; break; case 'B': input->keypress.key = LIBTERMINPUT_DOWN; break; case 'C': input->keypress.key = LIBTERMINPUT_RIGHT; break; case 'D': input->keypress.key = LIBTERMINPUT_LEFT; break; case 'E': input->keypress.key = LIBTERMINPUT_BEGIN; break; + case 'F': input->keypress.key = LIBTERMINPUT_END; break; case 'G': input->keypress.key = LIBTERMINPUT_BEGIN; break; + case 'H': input->keypress.key = LIBTERMINPUT_HOME; break; + case 'M': input->keypress.key = LIBTERMINPUT_MACRO; break; case 'P': input->keypress.key = LIBTERMINPUT_PAUSE; break; + case 'U': input->keypress.key = LIBTERMINPUT_NEXT; break; + case 'V': input->keypress.key = LIBTERMINPUT_PRIOR; break; case 'Z': input->keypress.key = LIBTERMINPUT_TAB; input->keypress.mods |= LIBTERMINPUT_SHIFT; diff --git a/libterminput.h b/libterminput.h index b86a2bd..4e33d09 100644 --- a/libterminput.h +++ b/libterminput.h @@ -32,10 +32,10 @@ enum libterminput_key { LIBTERMINPUT_F10, LIBTERMINPUT_F11, LIBTERMINPUT_F12, - LIBTERMINPUT_HOME, + LIBTERMINPUT_HOME, /* = find */ LIBTERMINPUT_INS, - LIBTERMINPUT_DEL, - LIBTERMINPUT_END, + LIBTERMINPUT_DEL, /* = remove */ + LIBTERMINPUT_END, /* = select */ LIBTERMINPUT_PRIOR, /* page up */ LIBTERMINPUT_NEXT, /* page down */ LIBTERMINPUT_ERASE, /* backspace */ @@ -54,7 +54,8 @@ enum libterminput_key { LIBTERMINPUT_KEYPAD_MINUS, LIBTERMINPUT_KEYPAD_COMMA, LIBTERMINPUT_KEYPAD_POINT, - LIBTERMINPUT_KEYPAD_ENTER + LIBTERMINPUT_KEYPAD_ENTER, + LIBTERMINPUT_MACRO }; enum libterminput_type { |