summaryrefslogtreecommitdiff
path: root/framebuffer
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2012-07-31 22:40:47 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2012-07-31 22:40:47 +0100
commit21ce8800b8b25ae2b5efefa2136c02387d390e8c (patch)
tree38a4695c48b56255679e405d66038298ca111635 /framebuffer
parentde7361ca888881598a987972d8c76e58253423da (diff)
downloadnetsurf-21ce8800b8b25ae2b5efefa2136c02387d390e8c.tar.gz
netsurf-21ce8800b8b25ae2b5efefa2136c02387d390e8c.tar.bz2
Cursor left/right keys plus modifier move caret to extrems.
Diffstat (limited to 'framebuffer')
-rw-r--r--framebuffer/fbtk/text.c21
1 files changed, 15 insertions, 6 deletions
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: