Age | Commit message (Collapse) | Author | Files | Lines |
|
Xi 2.1 adds TouchClasses to devices, as well as TouchBegin, TouchMotion
and TouchEnd events, to allow support for multiple touchpoints on a
single device. This is a full implementation of the Xi 2.1 additions.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
(cherry picked from commit a3dbde2de87ee4f577748a8c447501a3ea462559)
|
|
InternalEvents shouldn't be used anywhere outside the X server itself. Split
up into events.h for opaque typedefs for the events needed by various
headers and eventstr.h for the actual struct definitions.
eventstr.h must only be included by code that requires internal events and
is not part of the SDK.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Require inputproto 1.9.99.13
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Master devices provide the union of all attached slave devices' buttons,
i.e. the number of buttons on the master device is always the number of
buttons of the slave device with the highest number of buttons. When slaves
are attached or detached, the master device adjusts the button number to
reflect the new buttons.
On a slave switch, this slave's button labels are copied into the master (up
to slave->num_buttons). The remaining button labels (if any) stay as they
are. Thus, if any of the higher buttons is still pressed, it reflects the
label of the last pressed device that provided this button.
If two devices press the same button and it is differently labelled the last
pressed one will be reflected in the master device.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Copying all classes into the master device has drawbacks for hybrid devices
(devices that are both mice and keyboards). If such a device posts an event,
it's key classes are moved into the VCP. The key event itself is unaffected
by keyboard grabs and the like.
Partial class copying copies depending on the event and copies the classes
into the right master device (i.e. the VCK for key events, the VCP for
pointer events).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
ChangeDeviceId would actually overwrite the flags field if deviceid wasn't
present. Aside from the event of course not telling which device generated
it in the first place.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
There's no need for internal events to be a struct with a single nested
union, we might as well make the union itself the InternalEvent.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
We need more flags for this in the near future, so let's namespace them now.
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
For the valuator data, not yet for root x/y and event x/y.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
We need to fill the info here, as the device may change until we get a chance
to process it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Best to FatalError if a wrong event comes in. At least that forces me to fix
it really quickly.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Should have done that before pushing, but oh well.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
This should re-enable DGA, but XQuartz needs to be changed to internal events
too now.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
This is the event we want to feed into the EQ and process on the way through.
Only applies for input events for now.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|