Update xf86-input-vmmouse to version 12.6.5

This commit is contained in:
matthieu 2009-11-22 14:29:51 +00:00
parent 04895411e3
commit a391d7d7b4
5 changed files with 158 additions and 123 deletions

View File

@ -7631,7 +7631,7 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar]) AC_SUBST([am__untar])
]) # _AM_PROG_TAR ]) # _AM_PROG_TAR
dnl xorg-macros.m4. Generated from xorg-macros.m4.in:xorgversion.m4 by configure. dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
dnl dnl
dnl Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved. dnl Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved.
dnl dnl
@ -7668,27 +7668,24 @@ dnl of the copyright holder.
# your configure.ac with the minimum required version, such as: # your configure.ac with the minimum required version, such as:
# XORG_MACROS_VERSION(1.1) # XORG_MACROS_VERSION(1.1)
# #
# To force at least a version with this macro defined, also add: # To ensure that this macro is defined, also add:
# m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])]) # m4_ifndef([XORG_MACROS_VERSION],
# [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
# #
# #
# See the "minimum version" comment for each macro you use to see what # See the "minimum version" comment for each macro you use to see what
# version you require. # version you require.
AC_DEFUN([XORG_MACROS_VERSION],[ m4_defun([XORG_MACROS_VERSION],[
[XORG_MACROS_needed_version=$1 m4_define([vers_have], [1.3.0])
XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'` m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`] m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
AC_MSG_CHECKING([if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}]) m4_if(m4_cmp(maj_have, maj_needed), 0,,
[XORG_MACROS_version=1.2.1 [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'` m4_if(m4_version_compare(vers_have, [$1]), -1,
XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`] [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then m4_undefine([vers_have])
AC_MSG_ERROR([configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x]) m4_undefine([maj_have])
fi m4_undefine([maj_needed])
if test $XORG_MACROS_minor -lt $XORG_MACROS_needed_minor ; then
AC_MSG_ERROR([configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer])
fi
AC_MSG_RESULT([yes, $XORG_MACROS_version])
]) # XORG_MACROS_VERSION ]) # XORG_MACROS_VERSION
# XORG_PROG_RAWCPP() # XORG_PROG_RAWCPP()
@ -7955,7 +7952,7 @@ AC_SUBST(MAKE_HTML)
# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them. # their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
AC_DEFUN([XORG_CHECK_MALLOC_ZERO],[ AC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
AC_ARG_ENABLE(malloc0returnsnull, AC_ARG_ENABLE(malloc0returnsnull,
AC_HELP_STRING([--enable-malloc0returnsnull], AS_HELP_STRING([--enable-malloc0returnsnull],
[malloc(0) returns NULL (default: auto)]), [malloc(0) returns NULL (default: auto)]),
[MALLOC_ZERO_RETURNS_NULL=$enableval], [MALLOC_ZERO_RETURNS_NULL=$enableval],
[MALLOC_ZERO_RETURNS_NULL=auto]) [MALLOC_ZERO_RETURNS_NULL=auto])
@ -8007,7 +8004,7 @@ AC_SUBST([XTMALLOC_ZERO_CFLAGS])
AC_DEFUN([XORG_WITH_LINT],[ AC_DEFUN([XORG_WITH_LINT],[
# Allow checking code with lint, sparse, etc. # Allow checking code with lint, sparse, etc.
AC_ARG_WITH(lint, [AC_HELP_STRING([--with-lint], AC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
[Use a lint-style source code checker (default: disabled)])], [Use a lint-style source code checker (default: disabled)])],
[use_lint=$withval], [use_lint=no]) [use_lint=$withval], [use_lint=no])
if test "x$use_lint" = "xyes" ; then if test "x$use_lint" = "xyes" ; then
@ -8048,7 +8045,7 @@ AM_CONDITIONAL(LINT, [test x$LINT != xno])
AC_DEFUN([XORG_LINT_LIBRARY],[ AC_DEFUN([XORG_LINT_LIBRARY],[
AC_REQUIRE([XORG_WITH_LINT]) AC_REQUIRE([XORG_WITH_LINT])
# Build lint "library" for more indepth checks of programs calling this library # Build lint "library" for more indepth checks of programs calling this library
AC_ARG_ENABLE(lint-library, [AC_HELP_STRING([--enable-lint-library], AC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
[Create lint library (default: disabled)])], [Create lint library (default: disabled)])],
[make_lint_lib=$enableval], [make_lint_lib=no]) [make_lint_lib=$enableval], [make_lint_lib=no])
if test "x$make_lint_lib" != "xno" ; then if test "x$make_lint_lib" != "xno" ; then
@ -8078,9 +8075,9 @@ if test "x$GCC" = xyes ; then
CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \ CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \ -Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
-Wbad-function-cast" -Wbad-function-cast"
case `gcc -dumpversion` in case `$CC -dumpversion` in
3.4.* | 4.*) 3.4.* | 4.*)
CWARNFLAGS+=" -Wold-style-definition -Wdeclaration-after-statement" CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
;; ;;
esac esac
else else
@ -8090,7 +8087,51 @@ else
fi fi
fi fi
AC_SUBST(CWARNFLAGS) AC_SUBST(CWARNFLAGS)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
]) # XORG_CWARNFLAGS ]) # XORG_CWARNFLAGS
# XORG_STRICT_OPTION
# -----------------------
# Minimum version: 1.3.0
#
# Add configure option to enable strict compilation
AC_DEFUN([XORG_STRICT_OPTION], [
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_PROG_CC_C99])
AC_REQUIRE([XORG_CWARNFLAGS])
AC_ARG_ENABLE(strict-compilation,
AS_HELP_STRING([--enable-strict-compilation],
[Enable all warnings from compiler and make them errors (default: disabled)]),
[STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
if test "x$STRICT_COMPILE" = "xyes"; then
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
if test "x$GCC" = xyes ; then
STRICT_CFLAGS="-pedantic -Werror"
elif test "x$SUNCC" = "xyes"; then
STRICT_CFLAGS="-errwarn"
elif test "x$INTELCC" = "xyes"; then
STRICT_CFLAGS="-Werror"
fi
fi
CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
AC_SUBST([CWARNFLAGS])
]) # XORG_STRICT_OPTION
# XORG_DEFAULT_OPTIONS
# --------------------
# Minimum version: 1.3.0
#
# Defines default options for X.Org modules.
#
AC_DEFUN([XORG_DEFAULT_OPTIONS], [
XORG_CWARNFLAGS
XORG_STRICT_OPTION
XORG_RELEASE_VERSION
XORG_CHANGELOG
XORG_MANPAGE_SECTIONS
]) # XORG_DEFAULT_OPTIONS
dnl Copyright 2005 Red Hat, Inc dnl Copyright 2005 Red Hat, Inc
dnl dnl
dnl Permission to use, copy, modify, distribute, and sell this software and its dnl Permission to use, copy, modify, distribute, and sell this software and its
@ -8125,7 +8166,7 @@ dnl
AC_DEFUN([XORG_RELEASE_VERSION],[ AC_DEFUN([XORG_RELEASE_VERSION],[
AC_ARG_WITH(release-version, AC_ARG_WITH(release-version,
AC_HELP_STRING([--with-release-version=STRING], AS_HELP_STRING([--with-release-version=STRING],
[Use release version string in package name]), [Use release version string in package name]),
[RELEASE_VERSION="$withval"], [RELEASE_VERSION="$withval"],
[RELEASE_VERSION=""]) [RELEASE_VERSION=""])

View File

@ -41,6 +41,9 @@
/* Has version 1.1.0 or greater of the Xserver */ /* Has version 1.1.0 or greater of the Xserver */
#undef HAVE_XORG_SERVER_1_1_0 #undef HAVE_XORG_SERVER_1_1_0
/* Do not include built-in mouse module fallback */
#undef NO_MOUSE_MODULE
/* Name of package */ /* Name of package */
#undef PACKAGE #undef PACKAGE

View File

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.62 for xf86-input-vmmouse 12.6.4. # Generated by GNU Autoconf 2.62 for xf86-input-vmmouse 12.6.5.
# #
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
# #
@ -750,8 +750,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package. # Identity of this package.
PACKAGE_NAME='xf86-input-vmmouse' PACKAGE_NAME='xf86-input-vmmouse'
PACKAGE_TARNAME='xf86-input-vmmouse' PACKAGE_TARNAME='xf86-input-vmmouse'
PACKAGE_VERSION='12.6.4' PACKAGE_VERSION='12.6.5'
PACKAGE_STRING='xf86-input-vmmouse 12.6.4' PACKAGE_STRING='xf86-input-vmmouse 12.6.5'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
ac_unique_file="Makefile.am" ac_unique_file="Makefile.am"
@ -1507,7 +1507,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures xf86-input-vmmouse 12.6.4 to adapt to many kinds of systems. \`configure' configures xf86-input-vmmouse 12.6.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1578,7 +1578,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of xf86-input-vmmouse 12.6.4:";; short | recursive ) echo "Configuration of xf86-input-vmmouse 12.6.5:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1701,7 +1701,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
xf86-input-vmmouse configure 12.6.4 xf86-input-vmmouse configure 12.6.5
generated by GNU Autoconf 2.62 generated by GNU Autoconf 2.62
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@ -1715,7 +1715,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by xf86-input-vmmouse $as_me 12.6.4, which was It was created by xf86-input-vmmouse $as_me 12.6.5, which was
generated by GNU Autoconf 2.62. Invocation command line was generated by GNU Autoconf 2.62. Invocation command line was
$ $0 $@ $ $0 $@
@ -2366,7 +2366,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='xf86-input-vmmouse' PACKAGE='xf86-input-vmmouse'
VERSION='12.6.4' VERSION='12.6.5'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -21181,6 +21181,18 @@ cat >>confdefs.h <<\_ACEOF
#define ABS_VALUATOR_AXES 1 #define ABS_VALUATOR_AXES 1
_ACEOF _ACEOF
fi
if test -n "$PKG_CONFIG" && \
{ ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-server >= 1.6.0\"") >&5
($PKG_CONFIG --exists --print-errors "xorg-server >= 1.6.0") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
cat >>confdefs.h <<\_ACEOF
#define NO_MOUSE_MODULE 1
_ACEOF
fi fi
CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src' CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src'
@ -21935,7 +21947,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by xf86-input-vmmouse $as_me 12.6.4, which was This file was extended by xf86-input-vmmouse $as_me 12.6.5, which was
generated by GNU Autoconf 2.62. Invocation command line was generated by GNU Autoconf 2.62. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -21988,7 +22000,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\ ac_cs_version="\\
xf86-input-vmmouse config.status 12.6.4 xf86-input-vmmouse config.status 12.6.5
configured by $0, generated by GNU Autoconf 2.62, configured by $0, generated by GNU Autoconf 2.62,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"

View File

@ -22,7 +22,7 @@
AC_PREREQ(2.57) AC_PREREQ(2.57)
AC_INIT([xf86-input-vmmouse], AC_INIT([xf86-input-vmmouse],
12.6.4, 12.6.5,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-input-vmmouse) 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], PKG_CHECK_EXISTS([xorg-server > 1.4.0.90],
[AC_DEFINE([ABS_VALUATOR_AXES], 1, [AC_DEFINE([ABS_VALUATOR_AXES], 1,
[Define absolute valuator axes])]) [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' CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src'
AC_SUBST([CFLAGS]) AC_SUBST([CFLAGS])

View File

@ -68,6 +68,10 @@
#include "xf86OSmouse.h" #include "xf86OSmouse.h"
#include "compiler.h" #include "compiler.h"
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
#include <xserver-properties.h>
#endif
#include "xisb.h" #include "xisb.h"
#include "mipointer.h" #include "mipointer.h"
@ -95,7 +99,7 @@
*/ */
#define VMMOUSE_MAJOR_VERSION 12 #define VMMOUSE_MAJOR_VERSION 12
#define VMMOUSE_MINOR_VERSION 6 #define VMMOUSE_MINOR_VERSION 6
#define VMMOUSE_PATCHLEVEL 4 #define VMMOUSE_PATCHLEVEL 5
#define VMMOUSE_DRIVER_VERSION \ #define VMMOUSE_DRIVER_VERSION \
(VMMOUSE_MAJOR_VERSION * 65536 + VMMOUSE_MINOR_VERSION * 256 + VMMOUSE_PATCHLEVEL) (VMMOUSE_MAJOR_VERSION * 65536 + VMMOUSE_MINOR_VERSION * 256 + VMMOUSE_PATCHLEVEL)
#define VMMOUSE_DRIVER_VERSION_STRING \ #define VMMOUSE_DRIVER_VERSION_STRING \
@ -116,9 +120,6 @@ const char vm_mouse_version[] __attribute__((section(".modinfo"),unused)) =
/***************************************************************************** /*****************************************************************************
* static function header * static function header
****************************************************************************/ ****************************************************************************/
#ifdef XFree86LOADER
static const OptionInfoRec *VMMouseAvailableOptions(void *unused);
#endif
static InputInfoPtr VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags); static InputInfoPtr VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags);
static void VMMouseUnInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags); static void VMMouseUnInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags);
static void MouseCommonOptions(InputInfoPtr pInfo); static void MouseCommonOptions(InputInfoPtr pInfo);
@ -202,68 +203,6 @@ InputDriverRec VMMOUSE = {
0 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, static char reverseMap[32] = { 0, 4, 2, 6, 1, 5, 3, 7,
8, 12, 10, 14, 9, 13, 11, 15, 8, 12, 10, 14, 9, 13, 11, 15,
16, 20, 18, 22, 17, 21, 19, 23, 16, 20, 18, 22, 17, 21, 19, 23,
@ -297,6 +236,9 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
InputInfoPtr pInfo; InputInfoPtr pInfo;
MouseDevPtr pMse; MouseDevPtr pMse;
VMMousePrivPtr mPriv; VMMousePrivPtr mPriv;
#ifndef NO_MOUSE_MODULE
{
OSMouseInfoPtr osInfo = NULL; OSMouseInfoPtr osInfo = NULL;
/* /*
@ -305,6 +247,8 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
osInfo = xf86OSMouseInit(0); osInfo = xf86OSMouseInit(0);
if (!osInfo) if (!osInfo)
return FALSE; return FALSE;
}
#endif
mPriv = xcalloc (1, sizeof (VMMousePrivRec)); mPriv = xcalloc (1, sizeof (VMMousePrivRec));
@ -416,14 +360,6 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
return pInfo; return pInfo;
} }
#ifdef XFree86LOADER
static const OptionInfoRec *
VMMouseAvailableOptions(void *unused)
{
return (mouseOptions);
}
#endif
/* /*
*---------------------------------------------------------------------- *----------------------------------------------------------------------
@ -776,6 +712,10 @@ VMMouseDeviceControl(DeviceIntPtr device, int mode)
VMMousePrivPtr mPriv; VMMousePrivPtr mPriv;
unsigned char map[MSE_MAXBUTTONS + 1]; unsigned char map[MSE_MAXBUTTONS + 1];
int i; 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; pInfo = device->public.devicePrivate;
pMse = pInfo->private; pMse = pInfo->private;
@ -791,9 +731,30 @@ VMMouseDeviceControl(DeviceIntPtr device, int mode)
*/ */
for (i = 0; i < MSE_MAXBUTTONS; i++) for (i = 0; i < MSE_MAXBUTTONS; i++)
map[i + 1] = i + 1; 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, InitPointerDeviceStruct((DevicePtr)device, map,
min(pMse->buttons, MSE_MAXBUTTONS), min(pMse->buttons, MSE_MAXBUTTONS),
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
btn_labels,
#endif
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
miPointerGetMotionEvents, miPointerGetMotionEvents,
#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 3 #elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 3
@ -804,21 +765,40 @@ VMMouseDeviceControl(DeviceIntPtr device, int mode)
miPointerGetMotionBufferSize() miPointerGetMotionBufferSize()
#else #else
GetMotionHistorySize(), 2 GetMotionHistorySize(), 2
#endif
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
, axes_labels
#endif #endif
); );
/* X valuator */ /* X valuator */
#ifdef ABS_VALUATOR_AXES #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 #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 #endif
xf86InitValuatorDefaults(device, 0); xf86InitValuatorDefaults(device, 0);
/* Y valuator */ /* Y valuator */
#ifdef ABS_VALUATOR_AXES #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 #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 #endif
xf86InitValuatorDefaults(device, 1); xf86InitValuatorDefaults(device, 1);
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
@ -1146,14 +1126,6 @@ VMMouseConvertProc(InputInfoPtr pInfo, int first, int num, int v0, int v1, int v
#ifdef XFree86LOADER #ifdef XFree86LOADER
ModuleInfoRec VMMouseInfo = {
1,
"VMMOUSE",
NULL,
0,
VMMouseAvailableOptions,
};
/* /*
*---------------------------------------------------------------------- *----------------------------------------------------------------------
@ -1202,7 +1174,6 @@ VMMousePlug(pointer module,
int *errmin) int *errmin)
{ {
static Bool Initialised = FALSE; static Bool Initialised = FALSE;
char *name;
xf86LoaderReqSymLists(reqSymbols, NULL); xf86LoaderReqSymLists(reqSymbols, NULL);
@ -1212,6 +1183,9 @@ VMMousePlug(pointer module,
xf86Msg(X_INFO, "VMWARE(0): VMMOUSE module was loaded\n"); xf86Msg(X_INFO, "VMWARE(0): VMMOUSE module was loaded\n");
xf86AddInputDriver(&VMMOUSE, module, 0); xf86AddInputDriver(&VMMOUSE, module, 0);
#ifndef NO_MOUSE_MODULE
{
char *name;
/* /*
* Load the normal mouse module as submodule * Load the normal mouse module as submodule
* If we fail in PreInit later, this allows us to fall back to normal mouse module * If we fail in PreInit later, this allows us to fall back to normal mouse module
@ -1227,6 +1201,8 @@ VMMousePlug(pointer module,
LoaderErrorMsg(NULL, name, *errmaj, *errmin); LoaderErrorMsg(NULL, name, *errmaj, *errmin);
} }
xfree(name); xfree(name);
}
#endif
return module; return module;
} }
@ -1247,7 +1223,7 @@ static XF86ModuleVersionInfo VMMouseVersionRec = {
/* /*
* The variable contains the necessary information to load and initialize the module * The variable contains the necessary information to load and initialize the module
*/ */
XF86ModuleData vmmouseModuleData = { _X_EXPORT XF86ModuleData vmmouseModuleData = {
&VMMouseVersionRec, &VMMouseVersionRec,
VMMousePlug, VMMousePlug,
VMMouseUnplug VMMouseUnplug