From: Iain Hibbert <plu...@rya-online.net>

---
 src/bsd_mouse.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/bsd_mouse.c b/src/bsd_mouse.c
index 83054eb..d16d621 100644
--- a/src/bsd_mouse.c
+++ b/src/bsd_mouse.c
@@ -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 HUG_AC_PAN              0x0238
+
 #define HID_USAGE2(p,u) (((p) << 16) | u)
 
 /* The UMS mices have middle button as number 3 */
@@ -496,7 +499,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 +711,9 @@ usbPreInit(InputInfoPtr pInfo, const char *protocol, int 
flags)
     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, HUG_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 +726,9 @@ usbPreInit(InputInfoPtr pInfo, const char *protocol, int 
flags)
     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, HUG_AC_PAN),
+                  hid_input, &pUsbMse->loc_w) < 0) {
+    }
 #endif
     /* Probe for number of buttons */
     for (i = 1; i <= MSE_MAXBUTTONS; i++) {
-- 
1.7.0.5

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to