[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-input-mouse: Changes to 'upstream-unstable'



 .cvsignore       |   19 -------------------
 .gitignore       |   20 ++++++++++++++++++++
 README           |   55 +++++++++++++++++++++++++++++++++++--------------------
 man/mousedrv.man |    9 +++++++++
 src/mouse.c      |   24 ++++++++++++++++++++++--
 src/mousePriv.h  |    2 ++
 6 files changed, 88 insertions(+), 41 deletions(-)

New commits:
commit c7c012d8bf735dfa894146b379a2e1fd55f57fca
Author: Drew Parsons <dparsons@debian.org>
Date:   Thu Jun 14 00:24:07 2007 +1000

    Update version using PACKAGE_VERSION_*

diff --git a/src/mouse.c b/src/mouse.c
index d11c9ba..f3abc23 100644
--- a/src/mouse.c
+++ b/src/mouse.c
@@ -3811,7 +3811,7 @@ static XF86ModuleVersionInfo xf86MouseVersionRec =
     MODINFOSTRING1,
     MODINFOSTRING2,
     XORG_VERSION_CURRENT,
-    1, 1, 1,
+    PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
     ABI_CLASS_XINPUT,
     ABI_XINPUT_VERSION,
     MOD_CLASS_XINPUT,

commit e567cb0792ea3dc2cd68c46628332c1f8bbb173d
Author: Jürgen Appel <jappel@linux01.gwdg.de>
Date:   Mon Apr 23 15:54:08 2007 +0200

    Added "Sensitivity" option. Use for slowing down high resolution mice.

diff --git a/man/mousedrv.man b/man/mousedrv.man
index 231935c..714fb05 100644
--- a/man/mousedrv.man
+++ b/man/mousedrv.man
@@ -210,6 +210,15 @@ Sets the resolution of the device in counts per inch.  Setting this is
 only supported for some mice, including some PS/2 mice on some platforms.
 Default: whatever the mouse is already set to.
 .TP 7
+.BI "Option \*qSensitivity\*q \*q" float \*q
+Mouse movements are multiplied by this float before being processed. Use this
+mechanism to slow down high resolution mice. Because values bigger than 1.0
+will result in not all pixels on the screen being accessible, you should better
+use mouse acceleration (see
+.BR "man xset" )
+for speeding up low resolution mice.
+Default: 1.0
+.TP 7
 .BI "Option \*qDragLockButtons\*q \*q" "L1 B2 L3 B4" \*q
 Sets \*qdrag lock buttons\*q that simulate holding a button down, so
 that low dexterity people do not have to hold a button down at the
diff --git a/src/mouse.c b/src/mouse.c
index aea0e55..d11c9ba 100644
--- a/src/mouse.c
+++ b/src/mouse.c
@@ -213,7 +213,8 @@ typedef enum {
     OPTION_VMIN,
     OPTION_DRAGLOCKBUTTONS,
     OPTION_DOUBLECLICK_BUTTONS,
-    OPTION_BUTTON_MAPPING
+    OPTION_BUTTON_MAPPING,
+    OPTION_SENSITIVITY
 } MouseOpts;
 
 #ifdef XFree86LOADER
@@ -257,6 +258,7 @@ static const OptionInfoRec mouseOptions[] = {
     { OPTION_DRAGLOCKBUTTONS,	"DragLockButtons",OPTV_STRING,	{0}, FALSE },
     { OPTION_DOUBLECLICK_BUTTONS,"DoubleClickButtons", OPTV_STRING, {0}, FALSE },
     { OPTION_BUTTON_MAPPING,   "ButtonMapping",   OPTV_STRING,  {0}, FALSE },
+    { OPTION_SENSITIVITY,      "Sensitivity",     OPTV_REAL,    {0}, FALSE },
     { -1,			NULL,		  OPTV_NONE,	{0}, FALSE }
 };
 #endif
@@ -799,6 +801,12 @@ MouseHWOptions(InputInfoPtr pInfo)
 	xf86Msg(X_CONFIG, "%s: Resolution: %d\n", pInfo->name,
 		pMse->resolution);
     }
+
+    if (mPriv->sensitivity 
+	= xf86SetRealOption(pInfo->options, "Sensitivity", 1.0)) {
+	xf86Msg(X_CONFIG, "%s: Sensitivity: %g\n", pInfo->name,
+		mPriv->sensitivity);
+    }
 }
 
 static void
@@ -2365,10 +2373,13 @@ MousePostEvent(InputInfoPtr pInfo, int truebuttons,
 	       int dx, int dy, int dz, int dw)
 {
     MouseDevPtr pMse;
+    mousePrivPtr mousepriv;
     int zbutton = 0, wbutton = 0, zbuttoncount = 0, wbuttoncount = 0;
     int i, b, buttons = 0;
 
     pMse = pInfo->private;
+    mousepriv = (mousePrivPtr)pMse->mousePriv;
+    
     if (pMse->protocolID == PROT_MMHIT)
 	b = reverseBits(hitachMap, truebuttons);
     else
@@ -2458,6 +2469,15 @@ MousePostEvent(InputInfoPtr pInfo, int truebuttons,
 	dy = tmp;
     }
 
+    /* Accumulate the scaled dx, dy in the private variables 
+       fracdx,fracdy and return the integer number part */
+    if (mousepriv) {
+	mousepriv->fracdx += mousepriv->sensitivity*dx;
+	mousepriv->fracdy += mousepriv->sensitivity*dy;
+	mousepriv->fracdx -= ( dx=(int)(mousepriv->fracdx) );
+	mousepriv->fracdy -= ( dy=(int)(mousepriv->fracdy) );
+    }
+    
     /* If mouse wheel movement has to be mapped on a button, we need to
      * loop for button press and release events. */
     do {
diff --git a/src/mousePriv.h b/src/mousePriv.h
index 262d029..79dcdd1 100644
--- a/src/mousePriv.h
+++ b/src/mousePriv.h
@@ -64,6 +64,8 @@ typedef struct {
     int		acc;
     CARD32	pnpLast;
     Bool	disablePnPauto;
+    float	fracdx,fracdy; 
+    float	sensitivity;
 } mousePrivRec, *mousePrivPtr;
 
 /* mouse proto flags */

commit 4666e5f14b2cb63f5cd7c863331fe69658c989df
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Mon Feb 26 13:36:15 2007 -0800

    renamed: .cvsignore -> .gitignore

diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index fb1befd..0000000
--- a/.cvsignore
+++ /dev/null
@@ -1,19 +0,0 @@
-Makefile
-Makefile.in
-*.la
-*.lo
-aclocal.m4
-autom4te.cache
-config.guess
-config.h
-config.h.in
-config.log
-config.status
-config.sub
-configure
-depcomp
-install-sh
-libtool
-ltmain.sh
-missing
-stamp-h1
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2df4a8d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,20 @@
+Makefile
+Makefile.in
+*.la
+*.lo
+aclocal.m4
+autom4te.cache
+config.guess
+config.h
+config.h.in
+config.log
+config.status
+config.sub
+configure
+depcomp
+install-sh
+libtool
+ltmain.sh
+missing
+stamp-h1
+*~

commit 92a8e2a39d7c9d6bfdaa0a5ac0118599008638ff
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Mon Feb 26 13:35:42 2007 -0800

    Update text version of README to match sgml
    
    Oops - forgot to regen text when the sgml changes were checked in for
    commit 28c5410df7ba8af07b994c0907519e869c9df750

diff --git a/README b/README
index 0ba8f7b..1f54753 100644
--- a/README
+++ b/README
@@ -55,7 +55,7 @@
   1.  Introduction
 
 
-  This document describes mouse support in X.org Foundation's X11R6.8
+  This document describes mouse support in X.org Foundation's Xorg
   server.
 
   Mouse configuration has often been mysterious task for novice users.
@@ -67,8 +67,9 @@
   2.  Supported Hardware
 
 
-  The X.org Foundation X server supports three classes of mice: serial,
-  bus and PS/2 mice.
+  The X.org Foundation X server supports four classes of mice: serial,
+  bus and PS/2 mice, and additional mouse types supported by
+  specific operating systems, such as USB mice.
 
 
      Serial mouse
@@ -112,9 +113,9 @@
      USB mouse
         USB (Universal Serial Bus) ports are present on most modern
         computers. Several devices can be plugged into this bus,
-        including mices and keyboards.
+        including mice and keyboards.
 
-        The server includes support for USB mices on some systems.
+        The server includes support for USB mice on some systems.
 
   Many mice nowadays can be used both as a serial mouse and as a PS/2
   mouse.  They has a logic to distinguish which interface it is
@@ -247,7 +248,7 @@
   device. Refer to the wsmouse(4) manual page for kernel configuration
   informations.
 
-  This driver also provides support for USB mices. See the ums(4) manual
+  This driver also provides support for USB mice. See the ums(4) manual
   page for details.
 
 
@@ -273,7 +274,7 @@
   emulates the bus mouse.  Specify the "BusMouse" protocol for any PS/2
   mouse regardless of the brand of the mouse when using this device.
 
-  XFree86 3.3.6 support USB mices on OpenBSD 2.6 and later though the
+  XFree86 3.3.6 support USB mice on OpenBSD 2.6 and later though the
   generic Human Interface Device (hid) /dev/uhid*. Select the "usb"
   protocol and the /dev/uhid* instance corresponding to your mouse as
   the device name.
@@ -298,13 +299,22 @@
 
   3.14.  Solaris
 
-  Testing has been done with Solaris 2.5.1, 2.6, 7, 8, 9 and pre-release
-  versions of Solaris 10.  Logitech and Microsoft bus mice have not been
-  tested, but might work with the /dev/logi and /dev/msm devices.
+  Testing has been done with Solaris 2.5.1, 2.6, 7, 8, 9 and 10.
+
+  On Solaris 10 1/06 and later versions with "virtual mouse" support,
+  all PS/2 and USB mice connected to the system can be accessed via 
+  the /dev/mouse device using the VUID protocol, including USB mice 
+  plugged in after the X server is started.   On older releases or
+  to address mice individually, specific devices and protocols may 
+  be used.
+
+  Logitech and Microsoft bus mice have not been tested, but might work
+  with the /dev/logi and /dev/msm devices.
+
   Standard 2 and 3 button PS/2 mice work with the "PS/2" protocol type
   and the /dev/kdmouse device.  USB mice work with the "VUID" protocol
-  type and the /dev/mouse device.  The PnP serial mouse support (the
-  "Auto" protocol) has been tested and does not work.  The "Auto"
+  type and the /dev/mouse device.  The PnP serial mouse support via the
+  "Auto" protocol has been tested and does not work.  The "Auto"
   protocol can however detect PS/2 and USB mice correctly.
 
   Additional USB mice can be connected using the "VUID" protocol type
@@ -343,10 +353,11 @@
   connector of the mouse.  The serial mouse has a D-Sub female 9- or
   25-pin connector.  The bus mice have either a D-Sub male 9-pin
   connector or a round DIN 9-pin connector.  The PS/2 mouse is equipped
-  with a small, round DIN 6-pin connector.  Some mice come with adapters
-  with which the connector can be converted to another.  If you are to
-  use such an adapter, remember that the connector at the very end of
-  the mouse/adapter pair is what matters.
+  with a small, round DIN 6-pin connector.  USB mice have a thin 
+  rectangular connector.  Some mice come with adapters with which the 
+  connector can be converted to another.  If you are to use such an 
+  adapter, remember that the connector at the very end of the mouse/adapter 
+  pair is what matters.
 
   The next thing to decide is a device node to use for the given
   interface.  For the bus and PS/2 mice, there is little choice; your OS
@@ -455,14 +466,14 @@
            work with the "IntelliMouse" protocol, you have to use it as
            a regular 2- or 3-button serial mouse.
 
-     If the "Auto" protocol is specified and the mouse seems working,
-     but you find that not all features of the mouse is available, that
+     If the "Auto" protocol is specified and the mouse seems to be working,
+     but you find that not all features of the mouse are available, that
      is because the X server does not have native support for that model
      of mouse and is using a ``compatible'' protocol according to PnP
      information.
 
      If you suspect this is the case with your mouse, please enter a
-     bugreport in bugzilla.freedesktop.org, using the xorg product.
+     bug report at http://bugzilla.freedesktop.org, using the xorg product.
 
 
      USB mouse
@@ -520,7 +531,7 @@
 
 
 
-  5.2.  ZAxisMappping
+  5.2.  ZAxisMapping
 
   This option maps the Z axis (wheel) motion to buttons or to another
   axis.
@@ -1153,7 +1164,11 @@
   5 Wheel Negative Move     Button 4
   6 Wheel Positive Move     Button 5
 
+  Starting in the Xorg 6.9 release, you can also achieve this in your
+  configuration file by adding this to the "InputDevice" section in 
+  xorg.conf:
 
+       Option "ButtonMapping" "1 6 3 2 4 5"
 
   For the MS IntelliMouse Explorer which as a wheel and 5 buttons, you
   may have the following InputDevice section.



Reply to: