diff options
author | Christian Linhart <chris@demorecorder.com> | 2014-09-04 17:49:01 +0200 |
---|---|---|
committer | Christian Linhart <chris@demorecorder.com> | 2014-11-03 11:23:23 +0100 |
commit | 3d8e9abc8019a8f1da90ae779617b93f24fe3239 (patch) | |
tree | 8bb83b16a1f58af9080220f421f48c0430e684ef | |
parent | fd9f1ade9605efe7c443d962134c4ded6c54f565 (diff) |
xinput: RawEvents: support lists axisvalues and axisvalues_raw
Support the lists axisvalues and axisvalues_raw in RawEvents.
These are RawKeyPress, RawButtonPress, RawTouchBegin and their eventcopies.
The length of both lists is determined by the number of bits set in the
list valuator_mask. This is solved in the same way as for event KeyPress.
spec:
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XI2proto.txt?id=inputproto-2.3.1#n2362
code:
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI2proto.h?id=inputproto-2.3.1#n980
Message-ID: <1409845742-38797-7-git-send-email-chris@demorecorder.com>
Patch-Thread-Subject: [Xcb] support popcount of a list and associated xml changes
Patch-Set: PopcountList
Patch-Number: proto 7/8
Patch-Version: V1
Signed-off-by: Christian Linhart <chris@DemoRecorder.com>
-rw-r--r-- | src/xinput.xml | 54 |
1 files changed, 42 insertions, 12 deletions
diff --git a/src/xinput.xml b/src/xinput.xml index 7f67cfe..f861231 100644 --- a/src/xinput.xml +++ b/src/xinput.xml @@ -2472,10 +2472,20 @@ in struct DeviceTimeCoord. <list type="CARD32" name="valuator_mask"> <fieldref>valuators_len</fieldref> </list> - <!-- Uninterpreted: list (axisvalues) of FP3232, - length is <popcount> on valuator_mask list --> - <!-- Uninterpreted: list (axisvalues_raw) of FP3232, - length is <popcount> on valuator_mask list --> + <list type="FP3232" name="axisvalues"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> + <list type="FP3232" name="axisvalues_raw"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> </event> <eventcopy name="RawKeyRelease" number="14" ref="RawKeyPress" /> @@ -2493,10 +2503,20 @@ in struct DeviceTimeCoord. <list type="CARD32" name="valuator_mask"> <fieldref>valuators_len</fieldref> </list> - <!-- Uninterpreted: list (axisvalues) of FP3232, - length is <popcount> on valuator_mask list --> - <!-- Uninterpreted: list (axisvalues_raw) of FP3232, - length is <popcount> on valuator_mask list --> + <list type="FP3232" name="axisvalues"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> + <list type="FP3232" name="axisvalues_raw"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> </event> <eventcopy name="RawButtonRelease" number="16" ref="RawButtonPress" /> @@ -2580,10 +2600,20 @@ in struct DeviceTimeCoord. <list type="CARD32" name="valuator_mask"> <fieldref>valuators_len</fieldref> </list> - <!-- Uninterpreted: list (axisvalues) of FP3232, - length is <popcount> on valuator_mask list --> - <!-- Uninterpreted: list (axisvalues_raw) of FP3232, - length is <popcount> on valuator_mask list --> + <list type="FP3232" name="axisvalues"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> + <list type="FP3232" name="axisvalues_raw"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> </event> <eventcopy name="RawTouchUpdate" number="23" ref="RawTouchBegin" /> |