From 5096474944431cc85a7a440e1d682713588fb4f6 Mon Sep 17 00:00:00 2001 From: eidheim Date: Sat, 1 Aug 2015 09:46:54 +0200 Subject: [PATCH] Minor fix to apple+arrow keys on OS X. --- src/window.cc | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/window.cc b/src/window.cc index 784a0be..2e81910 100644 --- a/src/window.cc +++ b/src/window.cc @@ -230,24 +230,16 @@ bool Window::on_key_press_event(GdkEventKey *event) { event->hardware_keycode=119; } else if(event->keyval==GDK_KEY_Up) { - if(auto text_view=dynamic_cast(get_focus())) { - if(event->state & GDK_SHIFT_MASK) - text_view->get_buffer()->select_range(text_view->get_buffer()->begin(), text_view->get_buffer()->get_insert()->get_iter()); - else - text_view->get_buffer()->place_cursor(text_view->get_buffer()->begin()); - text_view->scroll_to(text_view->get_buffer()->get_insert()); - } - return true; + event->keyval=GDK_KEY_Home; + event->state=event->state & GDK_SHIFT_MASK; + event->state+=GDK_CONTROL_MASK; + event->hardware_keycode=115; } else if(event->keyval==GDK_KEY_Down) { - if(auto text_view=dynamic_cast(get_focus())) { - if(event->state & GDK_SHIFT_MASK) - text_view->get_buffer()->select_range(text_view->get_buffer()->end(), text_view->get_buffer()->get_insert()->get_iter()); - else - text_view->get_buffer()->place_cursor(text_view->get_buffer()->end()); - text_view->scroll_to(text_view->get_buffer()->get_insert()); - } - return true; + event->keyval=GDK_KEY_End; + event->state=event->state & GDK_SHIFT_MASK; + event->state+=GDK_CONTROL_MASK; + event->hardware_keycode=119; } } #endif