diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2013-09-30 21:38:11 +0100 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2013-09-30 21:38:11 +0100 |
commit | 97aceb5a681faf288e38b5db9e408931ff0d3e6b (patch) | |
tree | 0b593b98d77fb26b61177db3026493d461740be2 /framebuffer | |
parent | 10b422b16344f24bbb766f52dc3f0d6da7fde194 (diff) | |
download | netsurf-97aceb5a681faf288e38b5db9e408931ff0d3e6b.tar.gz netsurf-97aceb5a681faf288e38b5db9e408931ff0d3e6b.tar.bz2 |
Pass KEY_UNDO and KEY_REDO to core. (Currently ignored.)
Diffstat (limited to 'framebuffer')
-rw-r--r-- | framebuffer/gui.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/framebuffer/gui.c b/framebuffer/gui.c index c9adf6c0a..6530c388a 100644 --- a/framebuffer/gui.c +++ b/framebuffer/gui.c @@ -971,6 +971,34 @@ fb_browser_window_input(fbtk_widget_t *widget, fbtk_callback_info *cbi) modifier |= FBTK_MOD_LCTRL; break; + case NSFB_KEY_y: + case NSFB_KEY_z: + if (cbi->event->value.keycode == NSFB_KEY_z && + (modifier & FBTK_MOD_RCTRL || + modifier & FBTK_MOD_LCTRL) && + (modifier & FBTK_MOD_RSHIFT || + modifier & FBTK_MOD_LSHIFT)) { + /* Z pressed with CTRL and SHIFT held */ + browser_window_key_press(gw->bw, KEY_REDO); + break; + + } else if (cbi->event->value.keycode == NSFB_KEY_z && + (modifier & FBTK_MOD_RCTRL || + modifier & FBTK_MOD_LCTRL)) { + /* Z pressed with CTRL held */ + browser_window_key_press(gw->bw, KEY_UNDO); + break; + + } else if (cbi->event->value.keycode == NSFB_KEY_y && + (modifier & FBTK_MOD_RCTRL || + modifier & FBTK_MOD_LCTRL)) { + /* Y pressed with CTRL held */ + browser_window_key_press(gw->bw, KEY_REDO); + break; + } + /* Z or Y pressed but not undo or redo; + * Fall through to default handling */ + default: ucs4 = fbtk_keycode_to_ucs4(cbi->event->value.keycode, modifier); |