mirror of
https://gitlab.freedesktop.org/xorg/proto/xcbproto.git
synced 2026-05-08 13:38:05 +02:00
Implement XTest extension and xte demo
This commit is contained in:
parent
f52c9b1bc8
commit
ab86b41cfd
1 changed files with 104 additions and 0 deletions
104
src/extensions/xtest.xml
Normal file
104
src/extensions/xtest.xml
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2006 Ian Osgood
|
||||
All Rights Reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person ob/Sintaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the names of the authors or their
|
||||
institutions shall not be used in advertising or otherwise to promote the
|
||||
sale, use or other dealings in this Software without prior written
|
||||
authorization from the authors.
|
||||
-->
|
||||
|
||||
<xcb header="xtest" extension-xname="XTEST" extension-name="Test">
|
||||
|
||||
<!-- Conforms to XTEST 2.1 -->
|
||||
|
||||
<!-- Requests -->
|
||||
<request name="GetVersion" opcode="0">
|
||||
<field type="CARD8" name="major_version" />
|
||||
<pad bytes="1" />
|
||||
<field type="CARD16" name="minor_version" />
|
||||
<reply>
|
||||
<field type="CARD8" name="major_version" />
|
||||
<field type="CARD16" name="minor_version" />
|
||||
</reply>
|
||||
</request>
|
||||
|
||||
<enum name="Cursor">
|
||||
<item name="None"> <value>0</value></item>
|
||||
<item name="Current"><value>1</value></item>
|
||||
</enum>
|
||||
|
||||
<request name="CompareCursor" opcode="1">
|
||||
<field type="WINDOW" name="window" />
|
||||
<field type="CURSOR" name="cursor" />
|
||||
<reply>
|
||||
<field type="BOOL" name="same" />
|
||||
</reply>
|
||||
</request>
|
||||
|
||||
<!-- There are several ways to use the FakeInput request:
|
||||
1. Simulate a keypress:
|
||||
type = XCBKeyPress or XCBKeyRelease
|
||||
detail = keycode
|
||||
2. Simulate a button:
|
||||
type = XCBButtonPress or XCBButtonRelease
|
||||
detail = enum XCBButton (1..5)
|
||||
3. Simulate mouse motion:
|
||||
type = XCBMotionNotify
|
||||
detail = 0 or 1
|
||||
window = XCBNone or a root window id
|
||||
rootX,
|
||||
rootY = position (relative if detail==1)
|
||||
|
||||
Version 2.2 adds support for the XInput extension:
|
||||
4. Simulate a device keypress
|
||||
5. Simulate a device button
|
||||
6. Simulate a proximity event
|
||||
7. Simulate a device motion event
|
||||
[These are not yet supported, since we would also need to
|
||||
send the variable-length state of the axes.]
|
||||
|
||||
In each case, time is set to a delay in milliseconds.
|
||||
-->
|
||||
|
||||
<request name="FakeInput" opcode="2">
|
||||
<field type="BYTE" name="type" />
|
||||
<field type="BYTE" name="detail" />
|
||||
<pad bytes="2" />
|
||||
<field type="CARD32" name="time" />
|
||||
<field type="WINDOW" name="window" />
|
||||
<pad bytes="8" />
|
||||
<field type="CARD16" name="rootX" />
|
||||
<field type="CARD16" name="rootY" />
|
||||
<pad bytes="7" />
|
||||
<!-- Version 2.2: XInput device -->
|
||||
<field type="CARD8" name="deviceid" />
|
||||
<!-- Version 2.2: optional axes state here -->
|
||||
</request>
|
||||
|
||||
<request name="GrabControl" opcode="3">
|
||||
<field type="BOOL" name="impervious" />
|
||||
<pad bytes="3" />
|
||||
</request>
|
||||
|
||||
<!-- No events or errors -->
|
||||
|
||||
</xcb>
|
||||
Loading…
Add table
Reference in a new issue