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 @@
[1m1. Introduction[0m
- 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 @@
[1m2. Supported Hardware[0m
- 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.
[1mSerial mouse[0m
@@ -112,9 +113,9 @@
[1mUSB mouse[0m
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 [4mwsmouse(4)[24m manual page for kernel configuration
informations.
- This driver also provides support for USB mices. See the [4mums(4)[24m manual
+ This driver also provides support for USB mice. See the [4mums(4)[24m 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 @@
[1m3.14. Solaris[0m
- 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.
[1mUSB mouse[0m
@@ -520,7 +531,7 @@
- [1m5.2. ZAxisMappping[0m
+ [1m5.2. ZAxisMapping[0m
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: