mirror of
https://gitlab.freedesktop.org/xorg/proto/xorgproto.git
synced 2026-05-07 07:18:03 +02:00
XI2: Split up raw events into multiple event types.
Instead of a single XI_RawEvent type with subtypes to represent the actual event, split up the event into XI_RawButtonPress, XI_RawButtonRelease, etc. This way clients can select for specific raw events only instead of all of them at once. Note that raw events may be selected on master devices too, the server will route them through master devices. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
f345258bf4
commit
c455db2c25
2 changed files with 15 additions and 11 deletions
16
XI2.h
16
XI2.h
|
|
@ -130,9 +130,13 @@
|
|||
#define XI_FocusIn 9
|
||||
#define XI_FocusOut 10
|
||||
#define XI_HierarchyChanged 11
|
||||
#define XI_RawEvent 12
|
||||
#define XI_PropertyEvent 13
|
||||
#define XI_LASTEVENT XI_PropertyEvent
|
||||
#define XI_PropertyEvent 12
|
||||
#define XI_RawKeyPress 13
|
||||
#define XI_RawKeyRelease 14
|
||||
#define XI_RawButtonPress 15
|
||||
#define XI_RawButtonRelease 16
|
||||
#define XI_RawMotion 17
|
||||
#define XI_LASTEVENT XI_RawMotion
|
||||
/* NOTE: XI2LASTEVENT in xserver/include/inputstr.h must be the same value
|
||||
* as XI_LASTEVENT if the server is supposed to handle masks etc. for this
|
||||
* type of event. */
|
||||
|
|
@ -152,7 +156,11 @@
|
|||
#define XI_FocusInMask (1 << XI_FocusIn)
|
||||
#define XI_FocusOutMask (1 << XI_FocusOut)
|
||||
#define XI_HierarchyChangedMask (1 << XI_HierarchyChanged)
|
||||
#define XI_RawEventMask (1 << XI_RawEvent)
|
||||
#define XI_PropertyEventMask (1 << XI_PropertyEvent)
|
||||
#define XI_RawKeyPressMask (1 << XI_RawKeyPress)
|
||||
#define XI_RawKeyReleaseMask (1 << XI_RawKeyRelease)
|
||||
#define XI_RawButtonPressMask (1 << XI_RawButtonPress)
|
||||
#define XI_RawButtonReleaseMask (1 << XI_RawButtonRelease)
|
||||
#define XI_RawMotionMask (1 << XI_RawMotion)
|
||||
|
||||
#endif /* _XI2_H_ */
|
||||
|
|
|
|||
10
XI2proto.txt
10
XI2proto.txt
|
|
@ -1462,7 +1462,6 @@ EVENTHEADER { type: BYTE
|
|||
┌───
|
||||
RawEvent
|
||||
EVENTHEADER
|
||||
eventtype: RAWTYPE
|
||||
detail: CARD32
|
||||
valuators_len: CARD16
|
||||
valuators: SETofVALUATORMASK
|
||||
|
|
@ -1470,13 +1469,10 @@ EVENTHEADER { type: BYTE
|
|||
axisvalues_raw: LISTofFP3232
|
||||
└───
|
||||
|
||||
RAWTYPE { Motion, KeyPress, KeyRelease, ButtonPress, ButtonRelease }
|
||||
|
||||
A RawDevice event provides the information provided by the driver to the
|
||||
client. RawDevice events are only generated for slave devices and provide
|
||||
both the raw data as supplied by the driver and transformed data as used
|
||||
in the server. Transformations include, but are not limited to, axis
|
||||
clipping and acceleration.
|
||||
client. RawDevice provide both the raw data as supplied by the driver and
|
||||
transformed data as used in the server. Transformations include, but are
|
||||
not limited to, axis clipping and acceleration.
|
||||
Transformed valuator data may be equivalent to raw data. In this case,
|
||||
both raw and transformed valuator data is provided.
|
||||
RawEvents are sent exclusively to all root windows or to the client
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue