Update to xf86-input-mouse-1.4.0, based on patch from hasso@

From xorg-announce@ mail:

The big change in 1.4.0 is the move of the OS-specific mouse handling code
from the Xorg server to the mouse driver.   This code was removed from the
Xorg server in the Xorg 1.6 development cycle, so users of non-evdev systems
(i.e. non-Linux or pre-evdev Linux) will need this version of the mouse driver
to run with Xorg 1.6.

Remove useless call to xf86AddModuleInfo
Merge some hardware support information from README.mouse into man page
Fix sun_mouse.c build on Solaris
Rename OS_SOURCES to stop automake complaints about not building program "OS"
Remove checks for Solaris x86 versions older than Solaris 8
sun_mouse.c: remove unused variables
sun_mouse.c: Use miPointerGetScreen instead of miPointerCurrentScreen
Fix solarisMouseAutoProbe to use device name & protocol specified by HAL
sun_mouse: check for Device in commonOptions if pInfo->options isn't set yet
Replace static changelog with one generated via XORG_CHANGELOG
Add XORG_CWARNFLAGS & XORG_WITH_LINT for more compiler checking
Clear assorted compiler, sparse & lint warnings
sun_mouse: fallback to commonOptions for StreamsModule too
Comment typo fixes
Remove some #if 1 statements
Unifdef XFree86LOADER
Add copyright notices for OS mouse code to COPYING file
Add note on hal-based configuration to man page
Version 1.4.0
Add OS mouse sources to the driver build
Change screen private key to an integer variable.
Build fix: Add a prototype for FindDevice function.
Include xorg-server.h to get the WSCONS_SUPPORT define from
prevent a double free of mouse private structure.
W axis support for bsd_mouse.
Make sure xf86MouseProtocolIDToName is of public visibility.
Compile warning fixes.
Fix linux build
man: Note that the server may probe default "Device" options.
Nuke RCS tags.
Check for XINPUT ABI 3.
fix compilation (upper/lower case typo)
This commit is contained in:
tnn 2009-05-22 19:05:57 +00:00
parent ef2877fa21
commit c38575fb83
4 changed files with 153 additions and 7 deletions

View file

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.9 2009/03/14 11:09:37 apb Exp $
# $NetBSD: Makefile,v 1.10 2009/05/22 19:05:57 tnn Exp $
DISTNAME= xf86-input-mouse-1.3.0
PKGREVISION= 2
DISTNAME= xf86-input-mouse-1.4.0
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_XORG:=driver/}
EXTRACT_SUFX= .tar.bz2

View file

@ -1,7 +1,9 @@
$NetBSD: distinfo,v 1.7 2009/03/14 11:09:37 apb Exp $
$NetBSD: distinfo,v 1.8 2009/05/22 19:05:57 tnn Exp $
SHA1 (xf86-input-mouse-1.3.0.tar.bz2) = 79ecd994b2820d24a00d4c4af9aa9189bdd9db93
RMD160 (xf86-input-mouse-1.3.0.tar.bz2) = a691e809e61e14e2383f1d4533b0eb454373667f
Size (xf86-input-mouse-1.3.0.tar.bz2) = 282157 bytes
SHA1 (xf86-input-mouse-1.4.0.tar.bz2) = d16c09580a0a5deb1675874e914f616548859747
RMD160 (xf86-input-mouse-1.4.0.tar.bz2) = 17985f0493711a25ffa8fdeae4d741d7f602ca4e
Size (xf86-input-mouse-1.4.0.tar.bz2) = 292626 bytes
SHA1 (patch-aa) = baf529a3ae260e98fb068cb9549f749705d8213b
SHA1 (patch-ab) = 632ec0e3908ccd16678a480b5ffa00dba7db640f
SHA1 (patch-ac) = d32bbb082c0898e6eb6bf9dadb2af401b1e79312
SHA1 (patch-ad) = 8301f21624cecdb19b2f705d546b6bd37d105dc3

View file

@ -0,0 +1,106 @@
$NetBSD: patch-ac,v 1.1 2009/05/22 19:05:57 tnn Exp $
Changes from NetBSD xsrc/external/mit/xorg-server/dist/\
hw/xfree86/os-support/bsd/bsd_mouse.c
----------------------------
revision 1.5
date: 2009/02/09 09:49:39; author: plunky; state: Exp; lines: +16 -0
add horizontal mouse-wheel functionality to USB and WSMOUSE drivers
----------------------------
revision 1.4
date: 2009/02/02 03:06:37; author: christos; state: Exp; lines: +7 -11
add a SetupMouse proc to condition the fd. Convert NetBSD's SetupAuto to
SetupMouse.
----------------------------
revision 1.3
date: 2009/01/19 00:54:29; author: christos; state: Exp; lines: +2 -1
fix ioctl.
----------------------------
revision 1.2
date: 2009/01/13 18:43:46; author: christos; state: Exp; lines: +25 -0
Set the mouse event protocol version. (untested, but head will be broken
unless I add this).
----------------------------
--- src/bsd_mouse.c.orig 2009-05-19 15:12:28 +0300
+++ src/bsd_mouse.c 2009-05-19 15:13:13 +0300
@@ -53,12 +53,15 @@
#define HUP_GENERIC_DESKTOP 0x0001
#define HUP_BUTTON 0x0009
+#define HUP_CONSUMER 0x000c
#define HUG_X 0x0030
#define HUG_Y 0x0031
#define HUG_Z 0x0032
#define HUG_WHEEL 0x0038
+#define HUC_AC_PAN 0x0238
+
#define HID_USAGE2(p,u) (((p) << 16) | u)
/* The UMS mices have middle button as number 3 */
@@ -339,6 +342,23 @@ FindDevice(InputInfoPtr pInfo, const cha
}
#endif
+#if defined(__NetBSD__)
+static Bool
+SetupMouse(InputInfoPtr pInfo)
+{
+#ifdef WSCONS_SUPPORT
+#ifdef WSMOUSEIO_SETVERSION
+ int version = WSMOUSE_EVENT_VERSION;
+ if (ioctl(pInfo->fd, WSMOUSEIO_SETVERSION, &version) == -1) {
+ xf86Msg(X_WARNING, "%s: cannot set version\n", pInfo->name);
+ return FALSE;
+ }
+#endif
+#endif
+ return TRUE;
+}
+#endif
+
#if (defined(__OpenBSD__) || defined(__NetBSD__)) && defined(WSCONS_SUPPORT)
/* Only support wsmouse configuration for now */
@@ -496,7 +516,7 @@ typedef struct _UsbMseRec {
hid_item_t loc_x; /* x locator item */
hid_item_t loc_y; /* y locator item */
hid_item_t loc_z; /* z (wheel) locator item */
- hid_item_t loc_w; /* z (wheel) locator item */
+ hid_item_t loc_w; /* w (pan) locator item */
hid_item_t loc_btn[MSE_MAXBUTTONS]; /* buttons locator items */
unsigned char *buffer;
} UsbMseRec, *UsbMsePtr;
@@ -708,6 +728,9 @@ usbPreInit(InputInfoPtr pInfo, const cha
if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_WHEEL),
hid_input, &pUsbMse->loc_z, pUsbMse->iid) < 0) {
}
+ if (hid_locate(reportDesc, HID_USAGE2(HUP_CONSUMER, HUC_AC_PAN),
+ hid_input, &pUsbMse->loc_w, pUsbMse->iid) < 0) {
+ }
#else
if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_X),
hid_input, &pUsbMse->loc_x) < 0) {
@@ -720,6 +743,9 @@ usbPreInit(InputInfoPtr pInfo, const cha
if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_WHEEL),
hid_input, &pUsbMse->loc_z) < 0) {
}
+ if (hid_locate(reportDesc, HID_USAGE2(HUP_CONSUMER, HUC_AC_PAN),
+ hid_input, &pUsbMse->loc_w) < 0) {
+ }
#endif
/* Probe for number of buttons */
for (i = 1; i <= MSE_MAXBUTTONS; i++) {
@@ -790,6 +816,9 @@ xf86OSMouseInit(int flags)
p->SetupAuto = SetupAuto;
p->SetMiscRes = SetMouseRes;
#endif
+#if defined(__NetBSD__)
+ p->SetupMouse = SetupMouse;
+#endif
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__NetBSD__)
p->FindDevice = FindDevice;
#endif

View file

@ -0,0 +1,39 @@
$NetBSD: patch-ad,v 1.1 2009/05/22 19:05:57 tnn Exp $
Changes from NetBSD xsrc/external/mit/xorg-server/dist/\
hw/xfree86/os-support/xf86OSmouse.h
----------------------------
revision 1.2
date: 2009/02/02 03:06:37; author: christos; state: Exp; lines: +4 -0
add a SetupMouse proc to condition the fd. Convert NetBSD's SetupAuto to
SetupMouse.
----------------------------
--- ./src/xf86OSmouse.h.orig 2009-05-19 15:15:31 +0300
+++ ./src/xf86OSmouse.h 2009-05-19 15:18:54 +0300
@@ -82,6 +82,7 @@ typedef Bool (*BuiltinPreInitProc)(Input
int flags);
typedef const char *(*DefaultProtocolProc)(void);
typedef const char *(*SetupAutoProc)(InputInfoPtr pInfo, int *protoPara);
+typedef Bool (*SetupMouseProc)(InputInfoPtr pInfo);
typedef void (*SetResProc)(InputInfoPtr pInfo, const char* protocol, int rate,
int res);
typedef const char *(*FindDeviceProc)(InputInfoPtr pInfo, const char *protocol,
@@ -99,6 +100,7 @@ typedef struct {
BuiltinPreInitProc PreInit;
DefaultProtocolProc DefaultProtocol;
SetupAutoProc SetupAuto;
+ SetupMouseProc SetupMouse;
SetResProc SetPS2Res;
SetResProc SetBMRes;
SetResProc SetMiscRes;
@@ -141,6 +143,8 @@ typedef struct {
*
* SetBMRes: Set the resolution and sample rate for MSE_BM protocol types.
*
+ * SetupMouse: Called once after open to condition the file descriptor.
+ *
* SetMiscRes: Set the resolution and sample rate for MSE_MISC protocol types.
*
* FindDevice: This function gets called when no Device has been specified