diff --git a/mice.xml b/mice.xml
index cc53bb3d5..3d8e043d5 100644
--- a/mice.xml
+++ b/mice.xml
@@ -294,14 +294,17 @@ current mode for each mouse is held in the
      <wrap type="bool">false</wrap>
     </binding>
 
-    <!-- Middle button pressed: move the view up and down -->
+    <!-- Middle button pressed, no Ctrl: move the view up and down -->
     <binding>
      <condition>
       <and>
        <not>
         <property>/devices/status/mice/mouse[0]/button[0]</property>
        </not>
-        <property>/devices/status/mice/mouse[0]/button[1]</property>
+       <property>/devices/status/mice/mouse[0]/button[1]</property>
+       <not>
+        <property>/devices/status/keyboard/ctrl</property>
+       </not>
       </and>
      </condition>
      <command>property-adjust</command>
@@ -310,6 +313,23 @@ current mode for each mouse is held in the
      <wrap type="bool">false</wrap>
     </binding>
 
+    <!-- Middle button and Ctrl pressed: move the view forward and backward -->
+    <binding>
+     <condition>
+      <and>
+       <not>
+        <property>/devices/status/mice/mouse[0]/button[0]</property>
+       </not>
+       <property>/devices/status/mice/mouse[0]/button[1]</property>
+       <property>/devices/status/keyboard/ctrl</property>
+      </and>
+     </condition>
+     <command>property-adjust</command>
+     <property>/sim/current-view/z-offset-m</property>
+     <factor type="double">1</factor>
+     <wrap type="bool">false</wrap>
+    </binding>
+
    </y-axis>
 
   </mode>