diff options
Diffstat (limited to 'xorg-server/hw/xfree86/common')
-rw-r--r-- | xorg-server/hw/xfree86/common/xf86Module.h | 2 | ||||
-rw-r--r-- | xorg-server/hw/xfree86/common/xf86Xinput.c | 24 | ||||
-rw-r--r-- | xorg-server/hw/xfree86/common/xf86Xinput.h | 3 |
3 files changed, 28 insertions, 1 deletions
diff --git a/xorg-server/hw/xfree86/common/xf86Module.h b/xorg-server/hw/xfree86/common/xf86Module.h index d35464351..1de87dbbe 100644 --- a/xorg-server/hw/xfree86/common/xf86Module.h +++ b/xorg-server/hw/xfree86/common/xf86Module.h @@ -83,7 +83,7 @@ typedef enum { */ #define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 4) #define ABI_VIDEODRV_VERSION SET_ABI_VERSION(12, 0) -#define ABI_XINPUT_VERSION SET_ABI_VERSION(15, 0) +#define ABI_XINPUT_VERSION SET_ABI_VERSION(16, 0) #define ABI_EXTENSION_VERSION SET_ABI_VERSION(6, 0) #define ABI_FONT_VERSION SET_ABI_VERSION(0, 6) diff --git a/xorg-server/hw/xfree86/common/xf86Xinput.c b/xorg-server/hw/xfree86/common/xf86Xinput.c index b9753f01d..280a6ec93 100644 --- a/xorg-server/hw/xfree86/common/xf86Xinput.c +++ b/xorg-server/hw/xfree86/common/xf86Xinput.c @@ -1410,4 +1410,28 @@ xf86EnableDevice(DeviceIntPtr dev) EnableDevice(dev, TRUE); } +/** + * Post a touch event with optional valuators. If this is the first touch in + * the sequence, at least x & y valuators must be provided. The driver is + * responsible for maintaining the correct event sequence (TouchBegin, TouchUpdate, + * TouchEnd). Submitting an update or end event for a unregistered touchid will + * result in errors. + * Touch IDs may be reused by the driver but only after a TouchEnd has been + * submitted for that touch ID. + * + * @param dev The device to post the event for + * @param touchid The touchid of the current touch event. Must be an + * existing ID for TouchUpdate or TouchEnd events + * @param type One of XI_TouchBegin, XI_TouchUpdate, XI_TouchEnd + * @param flags Flags for this event + * @param The valuator mask with all valuators set for this event. + */ +void +xf86PostTouchEvent(DeviceIntPtr dev, uint32_t touchid, uint16_t type, + uint32_t flags, const ValuatorMask *mask) +{ + + QueueTouchEvents(dev, type, touchid, flags, mask); +} + /* end of xf86Xinput.c */ diff --git a/xorg-server/hw/xfree86/common/xf86Xinput.h b/xorg-server/hw/xfree86/common/xf86Xinput.h index 7d96fac78..ad092dd03 100644 --- a/xorg-server/hw/xfree86/common/xf86Xinput.h +++ b/xorg-server/hw/xfree86/common/xf86Xinput.h @@ -141,6 +141,9 @@ extern _X_EXPORT void xf86PostKeyEventP(DeviceIntPtr device, unsigned int key_co const int *valuators); extern _X_EXPORT void xf86PostKeyboardEvent(DeviceIntPtr device, unsigned int key_code, int is_down); +extern _X_EXPORT void xf86PostTouchEvent(DeviceIntPtr dev, uint32_t touchid, + uint16_t type, uint32_t flags, + const ValuatorMask *mask); extern _X_EXPORT InputInfoPtr xf86FirstLocalDevice(void); extern _X_EXPORT int xf86ScaleAxis(int Cx, int to_max, int to_min, int from_max, int from_min); extern _X_EXPORT void xf86ProcessCommonOptions(InputInfoPtr pInfo, XF86OptionPtr options); |