xref: /OK3568_Linux_fs/external/xserver/include/xserver-properties.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright 2008 Red Hat, Inc.
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Permission is hereby granted, free of charge, to any person obtaining a
5*4882a593Smuzhiyun  * copy of this software and associated documentation files (the "Software")
6*4882a593Smuzhiyun  * to deal in the software without restriction, including without limitation
7*4882a593Smuzhiyun  * on the rights to use, copy, modify, merge, publish, distribute, sub
8*4882a593Smuzhiyun  * license, and/or sell copies of the Software, and to permit persons to whom
9*4882a593Smuzhiyun  * them Software is furnished to do so, subject to the following conditions:
10*4882a593Smuzhiyun  *
11*4882a593Smuzhiyun  * The above copyright notice and this permission notice (including the next
12*4882a593Smuzhiyun  * paragraph) shall be included in all copies or substantial portions of the
13*4882a593Smuzhiyun  * Software.
14*4882a593Smuzhiyun  *
15*4882a593Smuzhiyun  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16*4882a593Smuzhiyun  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTIBILITY,
17*4882a593Smuzhiyun  * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
18*4882a593Smuzhiyun  * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER
19*4882a593Smuzhiyun  * IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF OR IN
20*4882a593Smuzhiyun  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21*4882a593Smuzhiyun  */
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun /* Properties managed by the server. */
24*4882a593Smuzhiyun 
25*4882a593Smuzhiyun #ifndef _XSERVER_PROPERTIES_H_
26*4882a593Smuzhiyun #define _XSERVER_PROPERTIES_H_
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun /* Type for a 4 byte float. Storage format IEEE 754 in client's default
29*4882a593Smuzhiyun  * byte-ordering. */
30*4882a593Smuzhiyun #define XATOM_FLOAT "FLOAT"
31*4882a593Smuzhiyun 
32*4882a593Smuzhiyun /* STRING. Seat name of this display */
33*4882a593Smuzhiyun #define SEAT_ATOM_NAME "Xorg_Seat"
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun /* BOOL. 0 - device disabled, 1 - device enabled */
36*4882a593Smuzhiyun #define XI_PROP_ENABLED      "Device Enabled"
37*4882a593Smuzhiyun /* BOOL. If present, device is a virtual XTEST device */
38*4882a593Smuzhiyun #define XI_PROP_XTEST_DEVICE  "XTEST Device"
39*4882a593Smuzhiyun 
40*4882a593Smuzhiyun /* CARD32, 2 values, vendor, product.
41*4882a593Smuzhiyun  * This property is set by the driver and may not be available for some
42*4882a593Smuzhiyun  * drivers. Read-Only */
43*4882a593Smuzhiyun #define XI_PROP_PRODUCT_ID "Device Product ID"
44*4882a593Smuzhiyun 
45*4882a593Smuzhiyun /* Coordinate transformation matrix for absolute input devices
46*4882a593Smuzhiyun  * FLOAT, 9 values in row-major order, coordinates in 0..1 range:
47*4882a593Smuzhiyun  * [c0 c1 c2]   [x]
48*4882a593Smuzhiyun  * [c3 c4 c5] * [y]
49*4882a593Smuzhiyun  * [c6 c7 c8]   [1] */
50*4882a593Smuzhiyun #define XI_PROP_TRANSFORM "Coordinate Transformation Matrix"
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun /* STRING. Device node path of device */
53*4882a593Smuzhiyun #define XI_PROP_DEVICE_NODE "Device Node"
54*4882a593Smuzhiyun 
55*4882a593Smuzhiyun /* Pointer acceleration properties */
56*4882a593Smuzhiyun /* INTEGER of any format */
57*4882a593Smuzhiyun #define ACCEL_PROP_PROFILE_NUMBER "Device Accel Profile"
58*4882a593Smuzhiyun /* FLOAT, format 32 */
59*4882a593Smuzhiyun #define ACCEL_PROP_CONSTANT_DECELERATION "Device Accel Constant Deceleration"
60*4882a593Smuzhiyun /* FLOAT, format 32 */
61*4882a593Smuzhiyun #define ACCEL_PROP_ADAPTIVE_DECELERATION "Device Accel Adaptive Deceleration"
62*4882a593Smuzhiyun /* FLOAT, format 32 */
63*4882a593Smuzhiyun #define ACCEL_PROP_VELOCITY_SCALING "Device Accel Velocity Scaling"
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun /* Axis labels */
66*4882a593Smuzhiyun #define AXIS_LABEL_PROP "Axis Labels"
67*4882a593Smuzhiyun 
68*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_X           "Rel X"
69*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_Y           "Rel Y"
70*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_Z           "Rel Z"
71*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_RX          "Rel Rotary X"
72*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_RY          "Rel Rotary Y"
73*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_RZ          "Rel Rotary Z"
74*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_HWHEEL      "Rel Horiz Wheel"
75*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_DIAL        "Rel Dial"
76*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_WHEEL       "Rel Vert Wheel"
77*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_MISC        "Rel Misc"
78*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_VSCROLL     "Rel Vert Scroll"
79*4882a593Smuzhiyun #define AXIS_LABEL_PROP_REL_HSCROLL     "Rel Horiz Scroll"
80*4882a593Smuzhiyun 
81*4882a593Smuzhiyun /*
82*4882a593Smuzhiyun  * Absolute axes
83*4882a593Smuzhiyun  */
84*4882a593Smuzhiyun 
85*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_X           "Abs X"
86*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_Y           "Abs Y"
87*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_Z           "Abs Z"
88*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_RX          "Abs Rotary X"
89*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_RY          "Abs Rotary Y"
90*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_RZ          "Abs Rotary Z"
91*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_THROTTLE    "Abs Throttle"
92*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_RUDDER      "Abs Rudder"
93*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_WHEEL       "Abs Wheel"
94*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_GAS         "Abs Gas"
95*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_BRAKE       "Abs Brake"
96*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_HAT0X       "Abs Hat 0 X"
97*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_HAT0Y       "Abs Hat 0 Y"
98*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_HAT1X       "Abs Hat 1 X"
99*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_HAT1Y       "Abs Hat 1 Y"
100*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_HAT2X       "Abs Hat 2 X"
101*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_HAT2Y       "Abs Hat 2 Y"
102*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_HAT3X       "Abs Hat 3 X"
103*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_HAT3Y       "Abs Hat 3 Y"
104*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_PRESSURE    "Abs Pressure"
105*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_DISTANCE    "Abs Distance"
106*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_TILT_X      "Abs Tilt X"
107*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_TILT_Y      "Abs Tilt Y"
108*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_TOOL_WIDTH  "Abs Tool Width"
109*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_VOLUME      "Abs Volume"
110*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_TOUCH_MAJOR "Abs MT Touch Major"
111*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_TOUCH_MINOR "Abs MT Touch Minor"
112*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_WIDTH_MAJOR "Abs MT Width Major"
113*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_WIDTH_MINOR "Abs MT Width Minor"
114*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_ORIENTATION "Abs MT Orientation"
115*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_POSITION_X  "Abs MT Position X"
116*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_POSITION_Y  "Abs MT Position Y"
117*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_TOOL_TYPE   "Abs MT Tool Type"
118*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_BLOB_ID     "Abs MT Blob ID"
119*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_TRACKING_ID "Abs MT Tracking ID"
120*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_PRESSURE    "Abs MT Pressure"
121*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_DISTANCE    "Abs MT Distance"
122*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_TOOL_X      "Abs MT Tool X"
123*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MT_TOOL_Y      "Abs MT Tool Y"
124*4882a593Smuzhiyun #define AXIS_LABEL_PROP_ABS_MISC        "Abs Misc"
125*4882a593Smuzhiyun 
126*4882a593Smuzhiyun /* Button names */
127*4882a593Smuzhiyun #define BTN_LABEL_PROP "Button Labels"
128*4882a593Smuzhiyun 
129*4882a593Smuzhiyun /* Default label */
130*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_UNKNOWN      "Button Unknown"
131*4882a593Smuzhiyun /* Wheel buttons */
132*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_WHEEL_UP     "Button Wheel Up"
133*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_WHEEL_DOWN   "Button Wheel Down"
134*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_HWHEEL_LEFT  "Button Horiz Wheel Left"
135*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_HWHEEL_RIGHT "Button Horiz Wheel Right"
136*4882a593Smuzhiyun 
137*4882a593Smuzhiyun /* The following are from linux/input.h */
138*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_0            "Button 0"
139*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_1            "Button 1"
140*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_2            "Button 2"
141*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_3            "Button 3"
142*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_4            "Button 4"
143*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_5            "Button 5"
144*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_6            "Button 6"
145*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_7            "Button 7"
146*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_8            "Button 8"
147*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_9            "Button 9"
148*4882a593Smuzhiyun 
149*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_LEFT         "Button Left"
150*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_RIGHT        "Button Right"
151*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_MIDDLE       "Button Middle"
152*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_SIDE         "Button Side"
153*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_EXTRA        "Button Extra"
154*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_FORWARD      "Button Forward"
155*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_BACK         "Button Back"
156*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TASK         "Button Task"
157*4882a593Smuzhiyun 
158*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TRIGGER      "Button Trigger"
159*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_THUMB        "Button Thumb"
160*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_THUMB2       "Button Thumb2"
161*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOP          "Button Top"
162*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOP2         "Button Top2"
163*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_PINKIE       "Button Pinkie"
164*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_BASE         "Button Base"
165*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_BASE2        "Button Base2"
166*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_BASE3        "Button Base3"
167*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_BASE4        "Button Base4"
168*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_BASE5        "Button Base5"
169*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_BASE6        "Button Base6"
170*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_DEAD         "Button Dead"
171*4882a593Smuzhiyun 
172*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_A            "Button A"
173*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_B            "Button B"
174*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_C            "Button C"
175*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_X            "Button X"
176*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_Y            "Button Y"
177*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_Z            "Button Z"
178*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TL           "Button T Left"
179*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TR           "Button T Right"
180*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TL2          "Button T Left2"
181*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TR2          "Button T Right2"
182*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_SELECT       "Button Select"
183*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_START        "Button Start"
184*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_MODE         "Button Mode"
185*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_THUMBL       "Button Thumb Left"
186*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_THUMBR       "Button Thumb Right"
187*4882a593Smuzhiyun 
188*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOOL_PEN             "Button Tool Pen"
189*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOOL_RUBBER          "Button Tool Rubber"
190*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOOL_BRUSH           "Button Tool Brush"
191*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOOL_PENCIL          "Button Tool Pencil"
192*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOOL_AIRBRUSH        "Button Tool Airbrush"
193*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOOL_FINGER          "Button Tool Finger"
194*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOOL_MOUSE           "Button Tool Mouse"
195*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOOL_LENS            "Button Tool Lens"
196*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOUCH                "Button Touch"
197*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_STYLUS               "Button Stylus"
198*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_STYLUS2              "Button Stylus2"
199*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOOL_DOUBLETAP       "Button Tool Doubletap"
200*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_TOOL_TRIPLETAP       "Button Tool Tripletap"
201*4882a593Smuzhiyun 
202*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_GEAR_DOWN            "Button Gear down"
203*4882a593Smuzhiyun #define BTN_LABEL_PROP_BTN_GEAR_UP              "Button Gear up"
204*4882a593Smuzhiyun 
205*4882a593Smuzhiyun #endif
206