configure.ac  |    5 +
 src/vmmouse.c |  152 ++++++++++++++++++++++++----------------------------------
 2 files changed, 68 insertions(+), 89 deletions(-)

New commits:
commit 989004f300c9fd897837fdee4fd9c1307c6ed6ca
Author: Adam Jackson <a...@redhat.com>
Date:   Thu Jul 16 09:57:27 2009 +1000

    Compile with INPUT ABI 7.
    
    Button labels up to 7 are essentially default so we can assume they are the
    usual ones. Beyond that, they are anyone's guess.
    Axis labels are X/Y.
    
    Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>

diff --git a/src/vmmouse.c b/src/vmmouse.c
index caba093..d4f0ca6 100644
--- a/src/vmmouse.c
+++ b/src/vmmouse.c
@@ -68,6 +68,10 @@
 #include "xf86OSmouse.h"
 #include "compiler.h"
 
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+#include <xserver-properties.h>
+#endif
+
 #include "xisb.h"
 #include "mipointer.h"
 
@@ -708,6 +712,10 @@ VMMouseDeviceControl(DeviceIntPtr device, int mode)
    VMMousePrivPtr mPriv;
    unsigned char map[MSE_MAXBUTTONS + 1];
    int i;
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+   Atom btn_labels[MSE_MAXBUTTONS] = {0};
+   Atom axes_labels[2] = { 0, 0 };
+#endif
 
    pInfo = device->public.devicePrivate;
    pMse = pInfo->private;
@@ -723,9 +731,30 @@ VMMouseDeviceControl(DeviceIntPtr device, int mode)
        */
       for (i = 0; i < MSE_MAXBUTTONS; i++)
         map[i + 1] = i + 1;
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+      btn_labels[0] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_LEFT);
+      btn_labels[1] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_MIDDLE);
+      btn_labels[2] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_RIGHT);
+      btn_labels[4] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_UP);
+      btn_labels[5] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_DOWN);
+      btn_labels[6] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_HWHEEL_LEFT);
+      btn_labels[7] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_HWHEEL_RIGHT);
+      /* other buttons are unknown */
+
+#ifdef ABS_VALUATOR_AXES
+      axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_X);
+      axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_Y);
+#else
+      axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_X);
+      axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_Y);
+#endif /* ABS_VALUATOR_AXES */
+#endif
 
       InitPointerDeviceStruct((DevicePtr)device, map,
                              min(pMse->buttons, MSE_MAXBUTTONS),
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+                               btn_labels,
+#endif
 #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
                                miPointerGetMotionEvents,
 #elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 3
@@ -737,20 +766,39 @@ VMMouseDeviceControl(DeviceIntPtr device, int mode)
 #else
                                 GetMotionHistorySize(), 2
 #endif
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+                               , axes_labels
+#endif
                                 );
 
       /* X valuator */
 #ifdef ABS_VALUATOR_AXES
-      xf86InitValuatorAxisStruct(device, 0, 0, 65535, 10000, 0, 10000);
+      xf86InitValuatorAxisStruct(device, 0,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+                               axes_labels[0],
+#endif
+                               0, 65535, 10000, 0, 10000);
 #else
-      xf86InitValuatorAxisStruct(device, 0, 0, -1, 1, 0, 1);
+      xf86InitValuatorAxisStruct(device, 0,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+                               axes_labels[0],
+#endif
+                               0, -1, 1, 0, 1);
 #endif
       xf86InitValuatorDefaults(device, 0);
       /* Y valuator */
 #ifdef ABS_VALUATOR_AXES
-      xf86InitValuatorAxisStruct(device, 1, 0, 65535, 10000, 0, 10000);
+      xf86InitValuatorAxisStruct(device, 1,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+                               axes_labels[1],
+#endif
+                               0, 65535, 10000, 0, 10000);
 #else
-      xf86InitValuatorAxisStruct(device, 1, 0, -1, 1, 0, 1);
+      xf86InitValuatorAxisStruct(device, 1,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+                               axes_labels[1],
+#endif
+                               0, -1, 1, 0, 1);
 #endif
       xf86InitValuatorDefaults(device, 1);
 #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0

commit 2fd8646ff528f4f7c4450dff111b4e9335ae2186
Author: Peter Hutterer <peter.hutte...@who-t.net>
Date:   Wed Jul 29 11:21:19 2009 -0700

    Needed by newer X servers, otherwise the module data is invisible and a 
dlopen error occurs.
    
    Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>

diff --git a/src/vmmouse.c b/src/vmmouse.c
index 6a4f9f9..caba093 100644
--- a/src/vmmouse.c
+++ b/src/vmmouse.c
@@ -1175,7 +1175,7 @@ static XF86ModuleVersionInfo VMMouseVersionRec = {
 /*
  * The variable contains the necessary information to load and initialize the 
module
  */
-XF86ModuleData vmmouseModuleData = {
+_X_EXPORT XF86ModuleData vmmouseModuleData = {
    &VMMouseVersionRec,
    VMMousePlug,
    VMMouseUnplug

commit 436582791de540ef85b0b66000f2446d6f8f9802
Author: Shelley Gong <shelleyg...@vmware.com>
Date:   Wed Jul 29 11:12:24 2009 -0700

    Turn off built-in fallback-to-mouse-driver mechanism. With input
    hotplug, HAL handles deciding which driver to use and the presence
    of mouse_drv can't be assumed anymore on modern distros.

diff --git a/configure.ac b/configure.ac
index ab39f6c..a7ecda9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-input-vmmouse],
-        12.6.4,
+        12.6.5,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-input-vmmouse)
 
@@ -115,6 +115,9 @@ PKG_CHECK_EXISTS([xorg-server >= 1.3.99.0 xorg-server <= 
1.4.0.90],
 PKG_CHECK_EXISTS([xorg-server > 1.4.0.90],
                 [AC_DEFINE([ABS_VALUATOR_AXES], 1,
                            [Define absolute valuator axes])])
+PKG_CHECK_EXISTS([xorg-server >= 1.6.0],
+                [AC_DEFINE([NO_MOUSE_MODULE], 1,
+                           [Do not include built-in mouse module fallback])])
 
 CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src'
 AC_SUBST([CFLAGS])
diff --git a/src/vmmouse.c b/src/vmmouse.c
index 2fc0c4c..6a4f9f9 100644
--- a/src/vmmouse.c
+++ b/src/vmmouse.c
@@ -95,7 +95,7 @@
  */
 #define VMMOUSE_MAJOR_VERSION 12
 #define VMMOUSE_MINOR_VERSION 6
-#define VMMOUSE_PATCHLEVEL 4
+#define VMMOUSE_PATCHLEVEL 5
 #define VMMOUSE_DRIVER_VERSION \
    (VMMOUSE_MAJOR_VERSION * 65536 + VMMOUSE_MINOR_VERSION * 256 + 
VMMOUSE_PATCHLEVEL)
 #define VMMOUSE_DRIVER_VERSION_STRING \
@@ -232,6 +232,9 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
    InputInfoPtr pInfo;
    MouseDevPtr pMse;
    VMMousePrivPtr mPriv;
+
+#ifndef NO_MOUSE_MODULE
+{
    OSMouseInfoPtr osInfo = NULL;
 
    /*
@@ -240,6 +243,8 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
    osInfo = xf86OSMouseInit(0);
    if (!osInfo)
       return FALSE;
+}
+#endif
 
    mPriv = xcalloc (1, sizeof (VMMousePrivRec));
 
@@ -1121,7 +1126,6 @@ VMMousePlug(pointer       module,
            int         *errmin)
 {
    static Bool Initialised = FALSE;
-   char *name;
 
    xf86LoaderReqSymLists(reqSymbols, NULL);
 
@@ -1131,6 +1135,9 @@ VMMousePlug(pointer       module,
    xf86Msg(X_INFO, "VMWARE(0): VMMOUSE module was loaded\n");
    xf86AddInputDriver(&VMMOUSE, module, 0);
 
+#ifndef NO_MOUSE_MODULE
+{
+   char *name;
    /*
     * Load the normal mouse module as submodule
     * If we fail in PreInit later, this allows us to fall back to normal mouse 
module
@@ -1146,6 +1153,8 @@ VMMousePlug(pointer       module,
       LoaderErrorMsg(NULL, name, *errmaj, *errmin);
    }
    xfree(name);
+}
+#endif
 
    return module;
 }

commit 370aab66b97a6fdc18f87d584a252f33f575899e
Author: Matthias Hopf <mh...@suse.de>
Date:   Fri Jun 5 20:06:40 2009 +0200

    Remove ModuleInfoRec and associated bits.
    
    ModuleInfoRec was removed with 2107becb0ce2ffda001be65728c53563496d8d50 from
    the server. The MouseOpts were only used from the ModuleInfoRec, they're 
gone
    now too.
    
    Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>

diff --git a/src/vmmouse.c b/src/vmmouse.c
index deec8c8..2fc0c4c 100644
--- a/src/vmmouse.c
+++ b/src/vmmouse.c
@@ -116,9 +116,6 @@ const char vm_mouse_version[] 
__attribute__((section(".modinfo"),unused)) =
 /*****************************************************************************
  *     static function header
  ****************************************************************************/
-#ifdef XFree86LOADER
-static const OptionInfoRec *VMMouseAvailableOptions(void *unused);
-#endif
 static InputInfoPtr VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags);
 static void VMMouseUnInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags);
 static void MouseCommonOptions(InputInfoPtr pInfo);
@@ -202,68 +199,6 @@ InputDriverRec VMMOUSE = {
    0
 };
 
-typedef enum {
-    OPTION_ALWAYS_CORE,
-    OPTION_SEND_CORE_EVENTS,
-    OPTION_CORE_POINTER,
-    OPTION_SEND_DRAG_EVENTS,
-    OPTION_HISTORY_SIZE,
-    OPTION_DEVICE,
-    OPTION_PROTOCOL,
-    OPTION_BUTTONS,
-    OPTION_EMULATE_3_BUTTONS,
-    OPTION_EMULATE_3_TIMEOUT,
-    OPTION_CHORD_MIDDLE,
-    OPTION_FLIP_XY,
-    OPTION_INV_X,
-    OPTION_INV_Y,
-    OPTION_ANGLE_OFFSET,
-    OPTION_Z_AXIS_MAPPING,
-    OPTION_SAMPLE_RATE,
-    OPTION_RESOLUTION,
-    OPTION_EMULATE_WHEEL,
-    OPTION_EMU_WHEEL_BUTTON,
-    OPTION_EMU_WHEEL_INERTIA,
-    OPTION_X_AXIS_MAPPING,
-    OPTION_Y_AXIS_MAPPING,
-    OPTION_AUTO_SOFT,
-    OPTION_DRAGLOCKBUTTONS
-} MouseOpts;
-
-/*
- * Define the acceptable mouse options
- * Currently not all of those options are supported
- *
- */
-static const OptionInfoRec mouseOptions[] = {
-    { OPTION_ALWAYS_CORE,      "AlwaysCore",     OPTV_BOOLEAN, {0}, FALSE },
-    { OPTION_SEND_CORE_EVENTS, "SendCoreEvents", OPTV_BOOLEAN, {0}, FALSE },
-    { OPTION_CORE_POINTER,     "CorePointer",    OPTV_BOOLEAN, {0}, FALSE },
-    { OPTION_SEND_DRAG_EVENTS, "SendDragEvents", OPTV_BOOLEAN, {0}, FALSE },
-    { OPTION_HISTORY_SIZE,     "HistorySize",    OPTV_INTEGER, {0}, FALSE },
-    { OPTION_DEVICE,           "Device",         OPTV_STRING,  {0}, FALSE },
-    { OPTION_PROTOCOL,         "Protocol",       OPTV_STRING,  {0}, FALSE },
-    { OPTION_BUTTONS,          "Buttons",        OPTV_INTEGER, {0}, FALSE },
-    { OPTION_EMULATE_3_BUTTONS,        "Emulate3Buttons",OPTV_BOOLEAN, {0}, 
FALSE },
-    { OPTION_EMULATE_3_TIMEOUT,        "Emulate3Timeout",OPTV_INTEGER, {0}, 
FALSE },
-    { OPTION_CHORD_MIDDLE,     "ChordMiddle",    OPTV_BOOLEAN, {0}, FALSE },
-    { OPTION_FLIP_XY,          "FlipXY",         OPTV_BOOLEAN, {0}, FALSE },
-    { OPTION_INV_X,            "InvX",           OPTV_BOOLEAN, {0}, FALSE },
-    { OPTION_INV_Y,            "InvY",           OPTV_BOOLEAN, {0}, FALSE },
-    { OPTION_ANGLE_OFFSET,     "AngleOffset",    OPTV_INTEGER, {0}, FALSE },
-    { OPTION_Z_AXIS_MAPPING,   "ZAxisMapping",   OPTV_STRING,  {0}, FALSE },
-    { OPTION_SAMPLE_RATE,      "SampleRate",     OPTV_INTEGER, {0}, FALSE },
-    { OPTION_RESOLUTION,       "Resolution",     OPTV_INTEGER, {0}, FALSE },
-    { OPTION_EMULATE_WHEEL,    "EmulateWheel",   OPTV_BOOLEAN, {0}, FALSE },
-    { OPTION_EMU_WHEEL_BUTTON, "EmulateWheelButton", OPTV_INTEGER, {0}, FALSE 
},
-    { OPTION_EMU_WHEEL_INERTIA,        "EmulateWheelInertia", OPTV_INTEGER, 
{0}, FALSE },
-    { OPTION_X_AXIS_MAPPING,   "XAxisMapping",   OPTV_STRING,  {0}, FALSE },
-    { OPTION_Y_AXIS_MAPPING,   "YAxisMapping",   OPTV_STRING,  {0}, FALSE },
-    { OPTION_AUTO_SOFT,                "AutoSoft",       OPTV_BOOLEAN, {0}, 
FALSE },
-    { OPTION_DRAGLOCKBUTTONS,  "DragLockButtons",OPTV_STRING,  {0}, FALSE },
-    { -1,                      NULL,             OPTV_NONE,    {0}, FALSE }
-};
-
 static char reverseMap[32] = { 0,  4,  2,  6,  1,  5,  3,  7,
                               8, 12, 10, 14,  9, 13, 11, 15,
                              16, 20, 18, 22, 17, 21, 19, 23,
@@ -416,14 +351,6 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
    return pInfo;
 }
 
-#ifdef XFree86LOADER
-static const OptionInfoRec *
-VMMouseAvailableOptions(void *unused)
-{
-    return (mouseOptions);
-}
-#endif
-
 
 /*
  *----------------------------------------------------------------------
@@ -1146,14 +1073,6 @@ VMMouseConvertProc(InputInfoPtr pInfo, int first, int 
num, int v0, int v1, int v
 
 
 #ifdef XFree86LOADER
-ModuleInfoRec VMMouseInfo = {
-    1,
-    "VMMOUSE",
-    NULL,
-    0,
-    VMMouseAvailableOptions,
-};
-
 
 /*
  *----------------------------------------------------------------------


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to