</list>
</event>
+ <!-- the highest bit in a CARD8 device_id-field indicates that more
+ events will follow -->
+ <enum name="MoreEventsMask">
+ <item name="MoreEvents"> <bit>7</bit> </item> <!-- 0x80 -->
+ </enum>
+
<event name="DeviceKeyPress" number="1">
<field type="BYTE" name="detail" />
<field type="TIMESTAMP" name="time" />
<field type="INT16" name="event_y" />
<field type="CARD16" name="state" mask="KeyButMask" />
<field type="BOOL" name="same_screen" />
- <field type="CARD8" name="device_id" />
+ <field type="CARD8" name="device_id" altmask="MoreEventsMask" />
</event>
<eventcopy name="DeviceKeyRelease" number="2" ref="DeviceKeyPress" />
<eventcopy name="ProximityOut" number="9" ref="DeviceKeyPress" />
<event name="DeviceStateNotify" number="10">
- <field type="BYTE" name="device_id" />
+ <field type="BYTE" name="device_id" altmask="MoreEventsMask" />
<field type="TIMESTAMP" name="time" />
<field type="CARD8" name="num_keys" />
<field type="CARD8" name="num_buttons" />
<pad bytes="20" />
</event>
+ <enum name="ChangeDevice">
+ <item name="NewPointer"> <value>0</value> </item>
+ <item name="NewKeyboard"> <value>1</value> </item>
+ </enum>
+
<event name="ChangeDeviceNotify" number="12">
<field type="BYTE" name="device_id" />
<field type="TIMESTAMP" name="time" />
- <field type="CARD8" name="request" />
+ <field type="CARD8" name="request" enum="ChangeDevice" />
<pad bytes="23" />
</event>
<event name="DeviceKeyStateNotify" number="13">
- <field type="BYTE" name="device_id" />
+ <field type="BYTE" name="device_id" altmask="MoreEventsMask" />
<list type="CARD8" name="keys">
<value>28</value>
</list>