diff options
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 0ac2dfc43a..83bfbffe54 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -152,17 +152,18 @@ MidiRegionView::canvas_event(GdkEvent* ev) switch (ev->type) { case GDK_KEY_PRESS: - cout << "KEY" << endl; if (ev->key.keyval == GDK_Delete && !delete_mod) { delete_mod = true; original_mode = trackview.editor.current_midi_edit_mode(); trackview.editor.set_midi_edit_mode(MidiEditErase); start_remove_command(); _mouse_state = EraseTouchDragging; + return true; } else if (ev->key.keyval == GDK_Shift_L || ev->key.keyval == GDK_Control_L) { _mouse_state = SelectTouchDragging; + return true; } - return true; + return false; case GDK_KEY_RELEASE: if (ev->key.keyval == GDK_Delete) { @@ -174,10 +175,12 @@ MidiRegionView::canvas_event(GdkEvent* ev) trackview.editor.set_midi_edit_mode(original_mode); delete_mod = false; } + return true; } else if (ev->key.keyval == GDK_Shift_L || ev->key.keyval == GDK_Control_L) { _mouse_state = None; + return true; } - return true; + return false; case GDK_BUTTON_PRESS: if (_mouse_state != SelectTouchDragging && _mouse_state != EraseTouchDragging) |