.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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]