fix various MIDI keybindings that were lost due to a subtle change in keyboard event...
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 19 Aug 2011 14:47:41 +0000 (14:47 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 19 Aug 2011 14:47:41 +0000 (14:47 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@10010 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/utils.cc

index 8177e7facc1d274774c135d17a7f1a4d56f8c471..add148d0b0fdad2670d46b6d9e7c6ff5788cf44f 100644 (file)
@@ -671,7 +671,23 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev)
        
 #endif
        
-       if (!special_handling_of_unmodified_accelerators || (ev->state & mask)) {
+       if (!special_handling_of_unmodified_accelerators) {
+
+               /* XXX note that for a brief moment, the conditional above
+                * included "|| (ev->state & mask)" so as to enforce the
+                * implication of special_handling_of_UNMODIFIED_accelerators.
+                * however, this forces any key that GTK doesn't allow and that
+                * we have an alternative (see next comment) for to be
+                * automatically sent through the accel groups activation
+                * pathway, which prevents individual widgets & canvas items
+                * from ever seeing it if is used by a key binding.
+                * 
+                * specifically, this hid Ctrl-down-arrow from MIDI region
+                * views because it is also bound to an action.
+                *
+                * until we have a robust, clean binding system, this
+                * quirk will have to remain in place.
+                */
 
                /* pretend that certain key events that GTK does not allow
                   to be used as accelerators are actually something that