diff options
author | David Robillard <d@drobilla.net> | 2014-11-15 02:04:28 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-11-15 02:04:28 -0500 |
commit | 333c776e0ea5d1380daaa919969cc2f3722fc8eb (patch) | |
tree | 1c1541cea25ba1a6123a136b057bf9cd23fbff21 /libs/canvas/canvas.cc | |
parent | 89a19808187137b1ddbec7d26786fbe50ed7476a (diff) |
Fix MIDI region keyboard editing (add key handling to canvas).
Diffstat (limited to 'libs/canvas/canvas.cc')
-rw-r--r-- | libs/canvas/canvas.cc | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc index 35fe31041d..be0f25d7a2 100644 --- a/libs/canvas/canvas.cc +++ b/libs/canvas/canvas.cc @@ -374,7 +374,8 @@ GtkCanvas::GtkCanvas () { /* these are the events we want to know about */ add_events (Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | Gdk::POINTER_MOTION_MASK | - Gdk::SCROLL_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK); + Gdk::SCROLL_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK | + Gdk::KEY_PRESS_MASK | Gdk::KEY_RELEASE_MASK); } void @@ -814,6 +815,28 @@ GtkCanvas::on_scroll_event (GdkEventScroll* ev) return deliver_event (reinterpret_cast<GdkEvent*>(©)); } +/** Handler for GDK key press events. + * @param ev Event. + * @return true if the event was handled. + */ +bool +GtkCanvas::on_key_press_event (GdkEventKey* ev) +{ + DEBUG_TRACE (PBD::DEBUG::CanvasEvents, "canvas key press\n"); + return deliver_event (reinterpret_cast<GdkEvent*>(ev)); +} + +/** Handler for GDK key release events. + * @param ev Event. + * @return true if the event was handled. + */ +bool +GtkCanvas::on_key_release_event (GdkEventKey* ev) +{ + DEBUG_TRACE (PBD::DEBUG::CanvasEvents, "canvas key release\n"); + return deliver_event (reinterpret_cast<GdkEvent*>(ev)); +} + /** Handler for GDK button press events. * @param ev Event. * @return true if the event was handled. |