diff options
Diffstat (limited to 'gtk2_ardour/stereo_panner.cc')
-rw-r--r-- | gtk2_ardour/stereo_panner.cc | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/gtk2_ardour/stereo_panner.cc b/gtk2_ardour/stereo_panner.cc index 12ff72d36f..1e12213168 100644 --- a/gtk2_ardour/stereo_panner.cc +++ b/gtk2_ardour/stereo_panner.cc @@ -411,15 +411,25 @@ StereoPanner::on_key_press_event (GdkEventKey* ev) step = one_degree * 5.0; } + /* up/down control width because we consider pan position more "important" + (and thus having higher "sense" priority) than width. + */ + switch (ev->keyval) { case GDK_Up: if (Keyboard::modifier_state_equals (ev->state, Keyboard::SecondaryModifier)) { width_control->set_value (1.0); } else { - wv += step; - width_control->set_value (wv); + width_control->set_value (wv + step); } break; + case GDK_Down: + if (Keyboard::modifier_state_equals (ev->state, Keyboard::SecondaryModifier)) { + width_control->set_value (-1.0); + } else { + width_control->set_value (wv - step); + } + case GDK_Left: pv -= step; position_control->set_value (pv); @@ -428,13 +438,6 @@ StereoPanner::on_key_press_event (GdkEventKey* ev) pv += step; position_control->set_value (pv); break; - case GDK_Down: - if (Keyboard::modifier_state_equals (ev->state, Keyboard::SecondaryModifier)) { - width_control->set_value (-1.0); - } else { - wv -= step; - width_control->set_value (wv); - } break; case GDK_0: |