From 21ce8800b8b25ae2b5efefa2136c02387d390e8c Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Tue, 31 Jul 2012 22:40:47 +0100 Subject: Cursor left/right keys plus modifier move caret to extrems. --- framebuffer/fbtk/text.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'framebuffer') diff --git a/framebuffer/fbtk/text.c b/framebuffer/fbtk/text.c index d71b162f6..e2f0fa389 100644 --- a/framebuffer/fbtk/text.c +++ b/framebuffer/fbtk/text.c @@ -334,16 +334,25 @@ text_input(fbtk_widget_t *widget, fbtk_callback_info *cbi) break; case NSFB_KEY_RIGHT: - if (widget->u.text.idx < widget->u.text.len) - widget->u.text.idx++; - caret_moved = true; + if (widget->u.text.idx < widget->u.text.len) { + if (modifier == 0) + widget->u.text.idx++; + else + widget->u.text.idx = widget->u.text.len; + + caret_moved = true; + } break; case NSFB_KEY_LEFT: - if (widget->u.text.idx > 0) - widget->u.text.idx--; + if (widget->u.text.idx > 0) { + if (modifier == 0) + widget->u.text.idx--; + else + widget->u.text.idx = 0; - caret_moved = true; + caret_moved = true; + } break; case NSFB_KEY_PAGEUP: -- cgit v1.2.3