diff --git a/Nasal/canvas/tooltip.nas b/Nasal/canvas/tooltip.nas
index 47c573ea2..9ebcd906c 100644
--- a/Nasal/canvas/tooltip.nas
+++ b/Nasal/canvas/tooltip.nas
@@ -48,6 +48,10 @@ var Tooltip = {
       }
     });
     
+    # don't do anything with mouse events ourselves
+    me.set("capture-events", 0);
+    me.set("fill", "rgba(255,255,255,0.8)");
+    
     # transparent background
     me._canvas.setColorBackground(0.0, 0.0, 0.0, 0.0);
     
diff --git a/Nasal/controls.nas b/Nasal/controls.nas
index 09232cf55..5f0b01a4f 100644
--- a/Nasal/controls.nas
+++ b/Nasal/controls.nas
@@ -524,15 +524,15 @@ var cycleMouseMode = func(node)
         if (!getprop("/sim/mouse/right-button-mode-cycle-enabled")) {
             return;
         }
-    } else if (reason == "key-press") {
-        # ignore alt-tab / ctrl-tab
-        if (getprop('devices/status/keyboard/ctrl') or getprop('devices/status/keyboard/alt')) {
-            return;
-        }
     }
     
     var modeNode = props.globals.getNode('/devices/status/mice/mouse[0]/mode');    
     var mode = modeNode.getValue() + 1;
+    
+    if ((mode == 1) and getprop('/sim/mouse/skip-flight-controls-mode')) {
+        mode +=1;
+    }
+    
     if (mode == 3) mode = 0;
     modeNode.setIntValue(mode);
     
diff --git a/gui/dialogs/interface-config.xml b/gui/dialogs/interface-config.xml
index e9f615358..41f4e6f2b 100644
--- a/gui/dialogs/interface-config.xml
+++ b/gui/dialogs/interface-config.xml
@@ -66,12 +66,15 @@
       <col>0</col>
       <label>Tooltip on press</label>
       <padding>10</padding>
+	  <enable>
+        <property>/sim/gui/tooltips-enabled</property>
+      </enable>
     </text>
     
     <checkbox>
       <row>1</row>
       <col>1</col>
-      <property>/sim/gui/click-shows-tooltip</property>
+      <property>/sim/mouse/click-shows-tooltip</property>
       <binding>
         <command>dialog-apply</command>
       </binding>
@@ -96,6 +99,40 @@
       </binding>
     </checkbox>
     
+    
+    <text>
+      <row>3</row>
+      <col>0</col>
+      <label>Knob/slider drag sensitivity</label>
+      <padding>10</padding>
+    </text>
+    
+    <input>
+        <row>3</row>
+        <col>1</col>
+        <property>/sim/mouse/drag-sensitivity</property>
+        <live>true</live>
+        <binding>
+            <command>dialog-apply</command>
+        </binding>
+    </input>
+    
+    <text>
+      <row>4</row>
+      <col>0</col>
+      <label>Invert mouse-wheel on knobs/sliders</label>
+      <padding>10</padding>
+    </text>
+
+    <checkbox>
+      <row>4</row>
+      <col>1</col>
+      <property>/sim/mouse/invert-mouse-wheel</property>
+      <binding>
+        <command>dialog-apply</command>
+      </binding>
+    </checkbox>
+    
   </group>
 
   <nasal>
diff --git a/keyboard.xml b/keyboard.xml
index b751acbd0..7986e10d5 100644
--- a/keyboard.xml
+++ b/keyboard.xml
@@ -111,6 +111,11 @@ top down before the key bindings are parsed.
 	<name>Ctrl-I</name>
 	<desc>Cycle mouse mode</desc>
 	<binding>
+    
+        <condition>
+            <not><property>/devices/status/keyboard/alt</property></not>
+            <not><property>/devices/status/keyboard/ctrl</property></not>
+        </condition>
 		<command>cycle-mouse-mode</command>
 		<reason>key-press</reason>
 	</binding>
diff --git a/preferences.xml b/preferences.xml
index 7d6676ee8..db348837c 100644
--- a/preferences.xml
+++ b/preferences.xml
@@ -699,7 +699,12 @@ Started September 2000 by David Megginson, david@megginson.com
 			<hide-cursor type="bool" userarchive="y">true</hide-cursor>
             <right-button-mode-cycle-enabled type="bool" userarchive="y">true</right-button-mode-cycle-enabled>
 			<cursor-timeout-sec type="double" userarchive="y">10.0</cursor-timeout-sec>
-            <click-shows-tooltip type="bool">false</click-shows-tooltip>
+            <click-shows-tooltip type="bool" userarchive="y">false</click-shows-tooltip>
+            <tooltip-delay-msec type="int" userarchive="y">-1</tooltip-delay-msec>
+            
+            <drag-sensitivity type="double" userarchive="y">1.0</drag-sensitivity>
+            <invert-mouse-wheel type="bool" userarchive="y">false</invert-mouse-wheel>
+            <skip-flight-controls-mode type="bool" userarchive="y">false</skip-flight-controls-mode>
 		</mouse>
 
 		<replay>