mirror of
https://github.com/X11Libre/xserver.git
synced 2026-11-01 03:03:58 +00:00
XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks
This commit is contained in:
parent
90f1536dd3
commit
adc7f9a4eb
705 changed files with 30330 additions and 26603 deletions
|
|
@ -1,7 +1,29 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/xf86OSmouse.h,v 1.20 2002/12/17 20:55:23 dawes Exp $ */
|
||||
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/xf86OSmouse.h,v 1.24 2003/11/03 05:11:51 tsi Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1997-1999 by The XFree86 Project, Inc.
|
||||
* Copyright (c) 1999-2003 by The XFree86 Project, Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of the copyright holder(s)
|
||||
* and author(s) shall not be used in advertising or otherwise to promote
|
||||
* the sale, use or other dealings in this Software without prior written
|
||||
* authorization from the copyright holder(s) and author(s).
|
||||
*/
|
||||
|
||||
/* Public interface to OS-specific mouse support. */
|
||||
|
|
@ -22,6 +44,36 @@
|
|||
* specific protocol names that are
|
||||
* supported for this class. */
|
||||
|
||||
/* Mouse Protocol IDs. */
|
||||
typedef enum {
|
||||
PROT_UNKNOWN = -2,
|
||||
PROT_UNSUP = -1, /* protocol is not supported */
|
||||
PROT_MS = 0,
|
||||
PROT_MSC,
|
||||
PROT_MM,
|
||||
PROT_LOGI,
|
||||
PROT_LOGIMAN,
|
||||
PROT_MMHIT,
|
||||
PROT_GLIDE,
|
||||
PROT_IMSERIAL,
|
||||
PROT_THINKING,
|
||||
PROT_ACECAD,
|
||||
PROT_VALUMOUSESCROLL,
|
||||
PROT_PS2,
|
||||
PROT_GENPS2,
|
||||
PROT_IMPS2,
|
||||
PROT_EXPPS2,
|
||||
PROT_THINKPS2,
|
||||
PROT_MMPS2,
|
||||
PROT_GLIDEPS2,
|
||||
PROT_NETPS2,
|
||||
PROT_NETSCPS2,
|
||||
PROT_BM,
|
||||
PROT_AUTO,
|
||||
PROT_SYSMOUSE,
|
||||
PROT_NUMPROTOS /* This must always be last. */
|
||||
} MouseProtocolID;
|
||||
|
||||
struct _MouseDevRec;
|
||||
|
||||
typedef int (*GetInterfaceTypesProc)(void);
|
||||
|
|
@ -33,10 +85,9 @@ typedef const char *(*DefaultProtocolProc)(void);
|
|||
typedef const char *(*SetupAutoProc)(InputInfoPtr pInfo, int *protoPara);
|
||||
typedef void (*SetResProc)(InputInfoPtr pInfo, const char* protocol, int rate,
|
||||
int res);
|
||||
typedef void (*checkMovementsProc)(InputInfoPtr,int, int);
|
||||
typedef void (*autoProbeProc)(InputInfoPtr, Bool, Bool);
|
||||
typedef Bool (*collectDataProc)(struct _MouseDevRec *, unsigned char);
|
||||
typedef Bool (*dataGoodProc)(struct _MouseDevRec *);
|
||||
typedef const char *(*FindDeviceProc)(InputInfoPtr pInfo, const char *protocol,
|
||||
int flags);
|
||||
typedef const char *(*GuessProtocolProc)(InputInfoPtr pInfo, int flags);
|
||||
|
||||
/*
|
||||
* OSMouseInfoRec is used to pass information from the OSMouse layer to the
|
||||
|
|
@ -52,6 +103,8 @@ typedef struct {
|
|||
SetResProc SetPS2Res;
|
||||
SetResProc SetBMRes;
|
||||
SetResProc SetMiscRes;
|
||||
FindDeviceProc FindDevice;
|
||||
GuessProtocolProc GuessProtocol;
|
||||
} OSMouseInfoRec, *OSMouseInfoPtr;
|
||||
|
||||
/*
|
||||
|
|
@ -78,7 +131,11 @@ typedef struct {
|
|||
* auto-detection. It returns the name of the detected protocol,
|
||||
* or NULL when detection fails. It may also adjust one or more
|
||||
* of the "protoPara" values for the detected protocol by setting
|
||||
* then to something other than -1.
|
||||
* then to something other than -1. SetupAuto gets called in two
|
||||
* ways. The first is before any devices have been opened. This
|
||||
* can be used when the protocol "Auto" always maps to a single
|
||||
* protocol type. The second is with the device open, allowing
|
||||
* OS-specific probing to be done.
|
||||
*
|
||||
* SetPS2Res: Set the resolution and sample rate for MSE_PS2 and MSE_XPS2
|
||||
* protocol types.
|
||||
|
|
@ -86,15 +143,62 @@ typedef struct {
|
|||
* SetBMRes: Set the resolution and sample rate for MSE_BM protocol types.
|
||||
*
|
||||
* SetMiscRes: Set the resolution and sample rate for MSE_MISC protocol types.
|
||||
*
|
||||
* FindDevice: This function gets called when no Device has been specified
|
||||
* in the config file. OS-specific methods may be used to guess
|
||||
* which input device to use. This function is called after the
|
||||
* pre-open attempts at protocol discovery are done, but before
|
||||
* the device is open. I.e., after the first SetupAuto() call,
|
||||
* after the DefaultProtocol() call, but before the PreInit()
|
||||
* call. Available protocol information may be used in locating
|
||||
* the default input device.
|
||||
*
|
||||
* GuessProtocol: A last resort attempt at guessing the mouse protocol by
|
||||
* whatever OS-specific means might be available. OS-independent
|
||||
* things should be in the mouse driver. This function gets
|
||||
* called after the mouse driver's OS-independent methods have
|
||||
* failed.
|
||||
*/
|
||||
|
||||
extern OSMouseInfoPtr xf86OSMouseInit(int flags);
|
||||
|
||||
/* Adjust this when the mouse interface changes. */
|
||||
|
||||
/*
|
||||
* History:
|
||||
*
|
||||
* 1.0.0 - Everything up to when versioning was started.
|
||||
* 1.1.0 - FindDevice and GuessProtocol added to OSMouseInfoRec
|
||||
*
|
||||
*/
|
||||
|
||||
#define OS_MOUSE_VERSION_MAJOR 1
|
||||
#define OS_MOUSE_VERSION_MINOR 1
|
||||
#define OS_MOUSE_VERSION_PATCH 0
|
||||
|
||||
#define OS_MOUSE_VERSION_CURRENT \
|
||||
BUILTIN_INTERFACE_VERSION_NUMERIC(OS_MOUSE_VERSION_MAJOR, \
|
||||
OS_MOUSE_VERSION_MINOR, \
|
||||
OS_MOUSE_VERSION_PATCH)
|
||||
|
||||
#define HAVE_GUESS_PROTOCOL \
|
||||
(xf86GetBuiltinInterfaceVersion(BUILTIN_IF_OSMOUSE, 0) >= \
|
||||
BUILTIN_INTERFACE_VERSION_NUMERIC(1, 1, 0))
|
||||
|
||||
#define HAVE_FIND_DEVICE \
|
||||
(xf86GetBuiltinInterfaceVersion(BUILTIN_IF_OSMOUSE, 0) >= \
|
||||
BUILTIN_INTERFACE_VERSION_NUMERIC(1, 1, 0))
|
||||
|
||||
/*
|
||||
* Mouse device record. This is shared by the mouse driver and the OSMouse
|
||||
* layer.
|
||||
*/
|
||||
|
||||
typedef void (*checkMovementsProc)(InputInfoPtr,int, int);
|
||||
typedef void (*autoProbeProc)(InputInfoPtr, Bool, Bool);
|
||||
typedef Bool (*collectDataProc)(struct _MouseDevRec *, unsigned char);
|
||||
typedef Bool (*dataGoodProc)(struct _MouseDevRec *);
|
||||
|
||||
typedef void (*PostMseEventProc)(InputInfoPtr pInfo, int buttons,
|
||||
int dx, int dy, int dz, int dw);
|
||||
typedef void (*MouseCommonOptProc)(InputInfoPtr pInfo);
|
||||
|
|
@ -106,8 +210,8 @@ typedef struct _MouseDevRec {
|
|||
DeviceIntPtr device;
|
||||
const char * mseDevice;
|
||||
const char * protocol;
|
||||
int protocolID;
|
||||
int oldProtocolID; /* hack */
|
||||
MouseProtocolID protocolID;
|
||||
MouseProtocolID oldProtocolID; /* hack */
|
||||
int class;
|
||||
int mseModel;
|
||||
int baudRate;
|
||||
|
|
|
|||
Loading…
Reference in a new issue