mirror of
https://github.com/X11Libre/xserver.git
synced 2026-09-22 20:35:43 +00:00
Adjust EQ to support long events.
Add RawDeviceEvent (pointers only for now). This commit changes the event queue to use EventLists instead of xEvent arrays. Only EQ is affected, event delivery still uses xEvent* (look for comment in mieqProcessInputEvent). RawDeviceEvents deliver driver information to the client, without clipping or acceleration.
This commit is contained in:
parent
0214d0b96a
commit
58c0fd2927
10 changed files with 299 additions and 93 deletions
|
|
@ -691,4 +691,8 @@ extern Bool DevHasCursor(DeviceIntPtr pDev);
|
|||
extern Bool IsPointerDevice( DeviceIntPtr dev);
|
||||
extern Bool IsKeyboardDevice(DeviceIntPtr dev);
|
||||
|
||||
|
||||
/* GE stuff */
|
||||
void SetGenericFilter(int extension, Mask* filters);
|
||||
|
||||
#endif /* DIX_H */
|
||||
|
|
|
|||
|
|
@ -85,6 +85,15 @@ typedef struct _OtherClients *OtherClientsPtr;
|
|||
typedef struct _InputClients *InputClientsPtr;
|
||||
typedef struct _DeviceIntRec *DeviceIntPtr;
|
||||
|
||||
typedef struct _EventList {
|
||||
xEvent* event;
|
||||
int evlen; /* length of allocated memory for event in bytes. This is not
|
||||
the actual length of the event. The event's actual length is
|
||||
32 for standard events or 32 +
|
||||
((xGenericEvent*)event)->length * 4 for GenericEvents */
|
||||
} EventList, *EventListPtr;
|
||||
|
||||
|
||||
typedef int (*DeviceProc)(
|
||||
DeviceIntPtr /*device*/,
|
||||
int /*what*/);
|
||||
|
|
@ -390,8 +399,11 @@ extern void InitInput(
|
|||
|
||||
extern int GetMaximumEventsNum(void);
|
||||
|
||||
extern EventListPtr InitEventList(int num_events);
|
||||
extern void FreeEventList(EventListPtr list, int num_events);
|
||||
|
||||
extern int GetPointerEvents(
|
||||
xEvent *events,
|
||||
EventListPtr events,
|
||||
DeviceIntPtr pDev,
|
||||
int type,
|
||||
int buttons,
|
||||
|
|
@ -401,13 +413,13 @@ extern int GetPointerEvents(
|
|||
int *valuators);
|
||||
|
||||
extern int GetKeyboardEvents(
|
||||
xEvent *events,
|
||||
EventListPtr events,
|
||||
DeviceIntPtr pDev,
|
||||
int type,
|
||||
int key_code);
|
||||
|
||||
extern int GetKeyboardValuatorEvents(
|
||||
xEvent *events,
|
||||
EventListPtr events,
|
||||
DeviceIntPtr pDev,
|
||||
int type,
|
||||
int key_code,
|
||||
|
|
@ -416,7 +428,7 @@ extern int GetKeyboardValuatorEvents(
|
|||
int *valuators);
|
||||
|
||||
extern int GetProximityEvents(
|
||||
xEvent *events,
|
||||
EventListPtr events,
|
||||
DeviceIntPtr pDev,
|
||||
int type,
|
||||
int first_valuator,
|
||||
|
|
|
|||
Loading…
Reference in a new issue