On 08/19/13 02:14 AM, Thomas Klausner wrote:
With a multiplexed device like wsmouse it does not make sense to
kill emulate3buttons on the first button-3-pressed event. The
button-3 pressed may belong to a mouse long gone and leave the
internal (two button only) mousepad useless.

 From Martin Husemann <[email protected]>
Signed-off-by: Thomas Klausner <[email protected]>
---
  src/mouse.c | 11 +++++++++++
  1 file changed, 11 insertions(+)

diff --git a/src/mouse.c b/src/mouse.c
index 4797160..89cccdd 100644
--- a/src/mouse.c
+++ b/src/mouse.c
@@ -2057,6 +2057,17 @@ Emulate3ButtonsSoft(InputInfoPtr pInfo)
      if (!pMse->emulate3ButtonsSoft)
          return TRUE;

+#if defined(__NetBSD__) && defined(WSCONS_SUPPORT)
+   /*
+    * On NetBSD a wsmouse is a multiplexed device. Imagine a notebook
+    * with two-button mousepad, and an external USB mouse plugged in
+    * temporarily. After using button 3 on the external mouse and
+    * unplugging it again, the mousepad will still need to emulate
+    * 3 buttons.
+    */
+   return TRUE;
+#endif
+
      LogMessageVerbSigSafe(X_INFO, 4, "mouse: 3rd Button detected: disabling 
emulate3Button\n");

      Emulate3ButtonsSetEnabled(pInfo, FALSE);


Won't that cause compiler warnings about unreachable code?   Perhaps the rest
of the function should be wrapped in #else ... #endif.

(In fact you could probably put the whole function body in the #else...#endif
 clause, but then you'd have to add an attribute to tell the compiler it's
 expected that the pInfo argument is unused.)

--
        -Alan Coopersmith-              [email protected]
         Oracle Solaris Engineering - http://blogs.oracle.com/alanc
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to