|
version 3.18, 1998/07/25 16:55:17
|
version 3.19, 1998/12/05 14:40:09
|
|
|
|
| * | * |
| */ | */ |
| | |
| /* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Xinput.h,v 3.16.2.8 1998/06/05 16:22:55 dawes Exp $ */ |
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Xinput.h,v 3.18 1998/07/25 16:55:17 dawes Exp $ */ |
| | |
| #ifndef _xf86Xinput_h | #ifndef _xf86Xinput_h |
| #define _xf86Xinput_h | #define _xf86Xinput_h |
| | |
| |
#if 0 |
| /* | /* |
| * THIS IS A BIG UGGLY HACK!!! | * THIS IS A BIG UGGLY HACK!!! |
| * vvvvvvvvvvvvvvvvv */ | * vvvvvvvvvvvvvvvvv */ |
| #define LexPtr void * | #define LexPtr void * |
| /* ^^^^^^^^^^^^^^^^^ */ | /* ^^^^^^^^^^^^^^^^^ */ |
| |
#endif |
| | |
| #ifndef NEED_EVENTS | #ifndef NEED_EVENTS |
| #define NEED_EVENTS | #define NEED_EVENTS |
|
|
|
| #include "X.h" | #include "X.h" |
| #include "Xproto.h" | #include "Xproto.h" |
| #include "inputstr.h" | #include "inputstr.h" |
| #if 0 |
|
| #include "XI.h" | #include "XI.h" |
| #include "XIproto.h" | #include "XIproto.h" |
| #include "XIstubs.h" | #include "XIstubs.h" |
| #endif |
|
| #if 0 | #if 0 |
| #include "xf86Config.h" |
#include "xf86Opt.h" |
| #endif | #endif |
| | |
| #define XI86_NO_OPEN_ON_INIT 1 /* open the device only when needed */ | #define XI86_NO_OPEN_ON_INIT 1 /* open the device only when needed */ |
| #define XI86_CONFIGURED 2 /* the device has been configured */ | #define XI86_CONFIGURED 2 /* the device has been configured */ |
| #define XI86_ALWAYS_CORE 4 /* the device always controls the pointer */ | #define XI86_ALWAYS_CORE 4 /* the device always controls the pointer */ |
| |
/* the device sends Xinput and core pointer events */ |
| |
#define XI86_SEND_CORE_EVENTS 4 |
| |
/* if the device is the core pointer or is sending core events, and |
| |
* SEND_DRAG_EVENTS is false, and a buttons is done, then no motion events |
| |
* (mouse drag action) are sent. This is mainly to allow a touch screen to be |
| |
* used with netscape and other browsers which do strange things if the mouse |
| |
* moves between button down and button up. With a touch screen, this motion |
| |
* is common due to the user's finger moving slightly. |
| |
*/ |
| |
#define XI86_SEND_DRAG_EVENTS 8 |
| |
|
| |
#ifdef DBG |
| |
#undef DBG |
| |
#endif |
| |
#define DBG(lvl, f) {if ((lvl) <= xf86GetVerbosity()) f;} |
| | |
| #define XI_PRIVATE(dev) \ | #define XI_PRIVATE(dev) \ |
| (((LocalDevicePtr)((dev)->public.devicePrivate))->private) | (((LocalDevicePtr)((dev)->public.devicePrivate))->private) |
| | |
| |
#define MOUSE_DEV(dev) (MouseDevPtr) XI_PRIVATE(dev) |
| |
|
| #ifdef HAS_MOTION_HISTORY | #ifdef HAS_MOTION_HISTORY |
| #undef HAS_MOTION_HISTORY | #undef HAS_MOTION_HISTORY |
| #endif | #endif |
|
|
|
| | |
| typedef struct _LocalDeviceRec { | typedef struct _LocalDeviceRec { |
| char *name; | char *name; |
| |
char *type; |
| int flags; | int flags; |
| Bool (*device_config)( |
Bool (*device_control)( DeviceIntPtr, /*device*/ |
| #if NeedNestedPrototypes |
int ); /*what*/ |
| struct _LocalDeviceRec** /*array*/, |
void (*read_input)( struct _LocalDeviceRec* ); /*local*/ |
| int /*index*/, |
int (*control_proc)( struct _LocalDeviceRec*, /*local*/ |
| int /*max*/, |
xDeviceCtl* ); /* control */ |
| LexPtr /*val*/ |
void (*close_proc)( struct _LocalDeviceRec* ); /*local*/ |
| #endif |
int (*switch_mode)( ClientPtr, /*client*/ |
| ); |
DeviceIntPtr, /*dev*/ |
| Bool (*device_control)( |
int ); /*mode*/ |
| #if NeedNestedPrototypes |
|
| DeviceIntPtr /*device*/, |
Bool (*conversion_proc)( struct _LocalDeviceRec*, /*local*/ |
| int /*what*/ |
int, /* first */ |
| #endif |
int, /* num */ |
| ); |
int, /* v0 */ |
| void (*read_input)( |
int, /* v1 */ |
| #if NeedNestedPrototypes |
int, /* v2 */ |
| struct _LocalDeviceRec* /*local*/ |
int, /* v3 */ |
| #endif |
int, /* v4 */ |
| ); |
int, /* v5 */ |
| int (*control_proc)( |
int*, /* x */ |
| #if NeedNestedPrototypes |
int* ); /* y */ |
| struct _LocalDeviceRec* /*local*/, |
|
| pointer /*control*/ |
|
| #endif |
|
| ); |
|
| void (*close_proc)( |
|
| #if NeedNestedPrototypes |
|
| struct _LocalDeviceRec* /*local*/ |
|
| #endif |
|
| ); |
|
| int (*switch_mode)( |
|
| #if NeedNestedPrototypes |
|
| ClientPtr /*client*/, |
|
| DeviceIntPtr /*dev*/, |
|
| int /*mode*/ |
|
| #endif |
|
| ); |
|
| Bool (*conversion_proc)( |
|
| #if NeedNestedPrototypes |
|
| struct _LocalDeviceRec* /*local*/, |
|
| int /* first */, |
|
| int /* num */, |
|
| int /* v0 */, |
|
| int /* v1 */, |
|
| int /* v2 */, |
|
| int /* v3 */, |
|
| int /* v4 */, |
|
| int /* v5 */, |
|
| int* /* x */, |
|
| int* /* y */ |
|
| #endif |
|
| ); |
|
| int fd; | int fd; |
| Atom atom; |
|
| DeviceIntPtr dev; | DeviceIntPtr dev; |
| pointer private; | pointer private; |
| int private_flags; | int private_flags; |
|
|
|
| unsigned int last; | unsigned int last; |
| int old_x; | int old_x; |
| int old_y; | int old_y; |
| char *type_name; |
|
| IntegerFeedbackPtr always_core_feedback; | IntegerFeedbackPtr always_core_feedback; |
| |
struct _LocalDeviceRec *next; |
| } LocalDeviceRec, *LocalDevicePtr; | } LocalDeviceRec, *LocalDevicePtr; |
| | |
| typedef struct _DeviceAssocRec | typedef struct _DeviceAssocRec |
| { | { |
| char *config_section_name; | char *config_section_name; |
| LocalDevicePtr (*device_allocate)( |
LocalDevicePtr (*device_allocate)( void ); |
| #if NeedNestedPrototypes |
|
| void |
|
| #endif |
|
| ); |
|
| } DeviceAssocRec, *DeviceAssocPtr; | } DeviceAssocRec, *DeviceAssocPtr; |
| | |
| extern int | extern int |
| xf86IsCorePointer( |
xf86IsCorePointer( DeviceIntPtr ); /*dev*/ |
| #if NeedFunctionPrototypes |
|
| DeviceIntPtr /*dev*/ |
|
| #endif |
|
| ); |
|
| | |
| extern int | extern int |
| xf86IsCoreKeyboard( |
xf86IsCoreKeyboard( DeviceIntPtr ); /*dev*/ |
| #if NeedFunctionPrototypes |
|
| DeviceIntPtr /*dev*/ |
|
| #endif |
|
| ); |
|
| | |
| extern void | extern void |
| xf86AlwaysCore( |
xf86AlwaysCore( LocalDevicePtr, /*local*/ |
| #if NeedFunctionPrototypes |
Bool ); /*always*/ |
| LocalDevicePtr /*local*/, |
|
| Bool /*always*/ |
|
| #endif |
|
| ); |
|
| | |
| void |
|
| xf86configExtendedInputSection( |
|
| #ifdef NeedFunctionPrototypes |
|
| LexPtr /* val */ |
|
| #endif |
|
| ); |
|
| | |
| void | void |
| xf86AddDeviceAssoc( |
xf86AddDeviceAssoc( DeviceAssocPtr ); /* assoc */ |
| #ifdef NeedFunctionPrototypes |
|
| DeviceAssocPtr /* assoc */ |
|
| #endif |
|
| ); |
|
| | |
| void | void |
| InitExtInput( |
InitExtInput( void ); |
| #ifdef NeedFunctionPrototypes |
|
| void |
|
| #endif |
|
| ); |
|
| | |
| Bool | Bool |
| xf86eqInit ( |
xf86eqInit( DevicePtr, /* pKbd */ |
| #ifdef NeedFunctionPrototypes |
DevicePtr ); /* pPtr */ |
| DevicePtr /* pKbd */, |
|
| DevicePtr /* pPtr */ |
|
| #endif |
|
| ); |
|
| | |
| void |
|
| xf86eqEnqueue ( |
|
| #ifdef NeedFunctionPrototypes |
|
| struct _xEvent * /*event */ |
|
| #endif |
|
| ); |
|
| | |
| void | void |
| xf86eqSwitchScreen(ScreenPtr, Bool); |
xf86eqEnqueue( struct _xEvent* ); /*event */ |
| |
|
| | |
| void | void |
| xf86eqProcessInputEvents ( |
xf86eqSwitchScreen( ScreenPtr, |
| #ifdef NeedFunctionPrototypes |
Bool ); |
| |
|
| void | void |
| #endif |
xf86eqProcessInputEvents( void ); |
| ); |
|
| | |
| void | void |
| xf86PostMotionEvent( |
xf86PostMotionEvent( DeviceIntPtr, /*device*/ |
| #if NeedVarargsPrototypes |
int, /*is_absolute*/ |
| DeviceIntPtr /*device*/, |
int, /*first_valuator*/ |
| int /*is_absolute*/, |
int, /*num_valuators*/ |
| int /*first_valuator*/, |
... ); |
| int /*num_valuators*/, |
|
| ... |
|
| #endif |
|
| ); |
|
| | |
| void | void |
| xf86PostProximityEvent( |
xf86PostProximityEvent( DeviceIntPtr, /*device*/ |
| #if NeedVarargsPrototypes |
int, /*is_in*/ |
| DeviceIntPtr /*device*/, |
int, /*first_valuator*/ |
| int /*is_in*/, |
int, /*num_valuators*/ |
| int /*first_valuator*/, |
... ); |
| int /*num_valuators*/, |
|
| ... |
|
| #endif |
|
| ); |
|
| | |
| void | void |
| xf86PostButtonEvent( |
xf86PostButtonEvent( DeviceIntPtr, /*device*/ |
| #if NeedVarargsPrototypes |
int, /*is_absolute*/ |
| DeviceIntPtr /*device*/, |
int, /*button*/ |
| int /*is_absolute*/, |
int, /*is_down*/ |
| int /*button*/, |
int, /*first_valuator*/ |
| int /*is_down*/, |
int, /*num_valuators*/ |
| int /*first_valuator*/, |
... ); |
| int /*num_valuators*/, |
|
| ... |
|
| #endif |
|
| ); |
|
| | |
| void | void |
| xf86PostKeyEvent( |
xf86PostKeyEvent( DeviceIntPtr device, |
| #if NeedVarargsPrototypes |
|
| DeviceIntPtr device, |
|
| unsigned int key_code, | unsigned int key_code, |
| int is_down, | int is_down, |
| int is_absolute, | int is_absolute, |
| int first_valuator, | int first_valuator, |
| int num_valuators, | int num_valuators, |
| ... |
... ); |
| #endif |
|
| ); |
|
| | |
| void | void |
| xf86MotionHistoryAllocate( |
xf86MotionHistoryAllocate( LocalDevicePtr local ); |
| #if NeedFunctionPrototypes |
|
| LocalDevicePtr local |
|
| #endif |
|
| ); |
|
| | |
| int | int |
| xf86GetMotionEvents( |
xf86GetMotionEvents( DeviceIntPtr dev, |
| #if NeedFunctionPrototypes |
|
| DeviceIntPtr dev, |
|
| xTimecoord *buff, | xTimecoord *buff, |
| unsigned long start, | unsigned long start, |
| unsigned long stop, | unsigned long stop, |
| ScreenPtr pScreen |
ScreenPtr pScreen ); |
| #endif |
|
| ); |
|
| | |
| void | void |
| xf86XinputFinalizeInit( |
xf86XinputFinalizeInit( DeviceIntPtr dev ); |
| #if NeedFunctionPrototypes |
|
| DeviceIntPtr dev |
|
| #endif |
|
| ); |
|
| | |
| Bool | Bool |
| xf86CheckButton( |
xf86CheckButton( int button, |
| #if NeedFunctionPrototypes |
int down ); |
| int button, |
|
| int down |
|
| #endif |
|
| ); |
|
| | |
| void | void |
| xf86SwitchCoreDevice( |
xf86SwitchCoreDevice( LocalDevicePtr device, |
| #if NeedFunctionPrototypes |
DeviceIntPtr core ); |
| LocalDevicePtr device, |
|
| DeviceIntPtr core |
void |
| #endif |
xf86AddLocalDevice( LocalDevicePtr device, |
| ); |
pointer options ); |
| |
|
| |
Bool |
| |
xf86RemoveLocalDevice( LocalDevicePtr device ); |
| |
|
| |
void |
| |
xf86XInputSetScreen( LocalDevicePtr local, |
| |
int screen_number, |
| |
int x, |
| |
int y ); |
| |
|
| |
int |
| |
xf86ScaleAxis( int Cx, |
| |
int Sxhigh, |
| |
int Sxlow, |
| |
int Rxhigh, |
| |
int Rxlow ); |
| |
|
| |
void |
| |
xf86XInputProcessOptions( LocalDevicePtr local, |
| |
pointer list ); |
| |
|
| |
void |
| |
xf86XInputSetSendCoreEvents( LocalDevicePtr local, |
| |
int flag ); |
| | |
| #endif /* _xf86Xinput_h */ | #endif /* _xf86Xinput_h */ |
| |
|