diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-13 10:27:16 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-14 10:00:31 +1000 |
commit | 36064dca9097df896b4b1b49c9c68775f1728846 (patch) | |
tree | 2ef0b03768e1e414917206b75c74502999c535c8 /src/evdev.h | |
parent | Rename parts of the Post API to a Queue API. (diff) | |
download | xf86-input-evdev-36064dca9097df896b4b1b49c9c68775f1728846.tar.gz xf86-input-evdev-36064dca9097df896b4b1b49c9c68775f1728846.tar.bz2 xf86-input-evdev-36064dca9097df896b4b1b49c9c68775f1728846.zip |
Add EvdevPostButtonEvent API to immediately post a button event (#23269)
The wheel emulation code needs this API. When the timer expires, the event
must be posted immediately, not enqueued onto the internal event queue.
Otherwise, the emulated middle button press is enqueued only and no event is
sent until the next physical event (and its EV_SYN) arrives.
Since the timer is triggered outside of the SIGIO and SIGIO is blocked
during this period anyway, we could also just enqueue the event and flush by
simulating an EV_SYN. It's easier this way though.
X.Org Bug 23269 <http://bugs.freedesktop.org/show_bug.cgi?id=23269>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Oliver McFadden <oliver.mcfadden@nokia.com>
Diffstat (limited to 'src/evdev.h')
-rw-r--r-- | src/evdev.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/evdev.h b/src/evdev.h index a4a1064..38adeaf 100644 --- a/src/evdev.h +++ b/src/evdev.h @@ -183,6 +183,7 @@ typedef struct { /* Event posting functions */ void EvdevQueueKbdEvent(InputInfoPtr pInfo, struct input_event *ev, int value); void EvdevQueueButtonEvent(InputInfoPtr pInfo, int button, int value); +void EvdevPostButtonEvent(InputInfoPtr pInfo, int button, int value); void EvdevQueueButtonClicks(InputInfoPtr pInfo, int button, int count); void EvdevPostRelativeMotionEvents(InputInfoPtr pInfo, int *num_v, int *first_v, int v[MAX_VALUATORS]); |