From 58a9dfb65164095f32b1d5f7070015da5111d884 Mon Sep 17 00:00:00 2001 From: Samuel Mendoza-Jonas Date: Fri, 19 Aug 2016 11:55:57 +1000 Subject: ui/ncurses: Treat left/right arrow keys properly It turns out ncurses helpfully provides REQ_LEFT_FIELD and REQ_RIGHT_FIELD to navigate between visually horizontal fields. Update widgetset_process_key() to use these for KEY_LEFT and KEY_RIGHT respectively. Signed-off-by: Samuel Mendoza-Jonas --- ui/ncurses/nc-widgets.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ui/ncurses/nc-widgets.c b/ui/ncurses/nc-widgets.c index 7dc2df3..15cec80 100644 --- a/ui/ncurses/nc-widgets.c +++ b/ui/ncurses/nc-widgets.c @@ -1132,14 +1132,12 @@ bool widgetset_process_key(struct nc_widgetset *set, int key) tab = true; /* fall through */ case KEY_UP: - case KEY_LEFT: req = REQ_SPREV_FIELD; break; case '\t': tab = true; /* fall through */ case KEY_DOWN: - case KEY_RIGHT: req = REQ_SNEXT_FIELD; break; case KEY_PPAGE: @@ -1148,6 +1146,12 @@ bool widgetset_process_key(struct nc_widgetset *set, int key) case KEY_NPAGE: req = REQ_SLAST_FIELD; break; + case KEY_LEFT: + req = REQ_LEFT_FIELD; + break; + case KEY_RIGHT: + req = REQ_RIGHT_FIELD; + break; } if (req) { -- cgit v1.1