From a523a2d3669b8799121a9d4260decb20df39b590 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 2 Apr 2021 01:55:44 +0200 Subject: Add more key codes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libterminput.c | 6 ++++++ 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 { -- cgit v1.2.3-70-g09d2