Index: NoesisView.cs
===================================================================
--- NoesisView.cs	(revision 13245)
+++ NoesisView.cs	(working copy)
@@ -1064,6 +1064,11 @@
       #endif
     }
 
+    private static bool IsCursorVisible()
+    {
+        return UnityEngine.Cursor.visible && UnityEngine.Cursor.lockState != CursorLockMode.Locked;
+    }
+
     private Vector3 MousePosition()
     {
       #if ENABLE_LEGACY_INPUT_MANAGER
@@ -1085,7 +1090,7 @@
 
     private void UpdateMouse()
     {
-        if (HasMouse())
+        if (HasMouse() && IsCursorVisible())
         {
             Vector3 mousePos = MousePosition();
 
@@ -1681,7 +1686,7 @@
         {
             case UnityEngine.EventType.MouseDown:
             {
-                if (enableMouse)
+                if (enableMouse && IsCursorVisible())
                 {
                     UnityEngine.Vector2 mouse = ProjectPointer(ev.mousePosition.x, UnityEngine.Screen.height - ev.mousePosition.y);
 
@@ -1706,7 +1711,7 @@
             }
             case UnityEngine.EventType.MouseUp:
             {
-                if (enableMouse)
+                if (enableMouse && IsCursorVisible())
                 {
                     UnityEngine.Vector2 mouse = ProjectPointer(ev.mousePosition.x, UnityEngine.Screen.height - ev.mousePosition.y);
 
@@ -1724,7 +1729,7 @@
             }
             case UnityEngine.EventType.ScrollWheel:
             {
-                if (enableMouse)
+                if (enableMouse && IsCursorVisible())
                 {
                     UnityEngine.Vector2 mouse = ProjectPointer(ev.mousePosition.x, UnityEngine.Screen.height - ev.mousePosition.y);
 
