14642e01fSmrg/*
24642e01fSmrg * Copyright 2008 Red Hat, Inc.
34642e01fSmrg *
44642e01fSmrg * Permission is hereby granted, free of charge, to any person obtaining a
54642e01fSmrg * copy of this software and associated documentation files (the "Software")
64642e01fSmrg * to deal in the software without restriction, including without limitation
74642e01fSmrg * on the rights to use, copy, modify, merge, publish, distribute, sub
84642e01fSmrg * license, and/or sell copies of the Software, and to permit persons to whom
94642e01fSmrg * them Software is furnished to do so, subject to the following conditions:
104642e01fSmrg *
114642e01fSmrg * The above copyright notice and this permission notice (including the next
124642e01fSmrg * paragraph) shall be included in all copies or substantial portions of the
134642e01fSmrg * Software.
144642e01fSmrg *
154642e01fSmrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
164642e01fSmrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTIBILITY,
174642e01fSmrg * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
184642e01fSmrg * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER
194642e01fSmrg * IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF OR IN
204642e01fSmrg * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
214642e01fSmrg */
224642e01fSmrg
234642e01fSmrg/* Properties managed by the server. */
244642e01fSmrg
254642e01fSmrg#ifndef _XSERVER_PROPERTIES_H_
264642e01fSmrg#define _XSERVER_PROPERTIES_H_
274642e01fSmrg
284642e01fSmrg/* Type for a 4 byte float. Storage format IEEE 754 in client's default
294642e01fSmrg * byte-ordering. */
304642e01fSmrg#define XATOM_FLOAT "FLOAT"
314642e01fSmrg
3235c4bbdfSmrg/* STRING. Seat name of this display */
3335c4bbdfSmrg#define SEAT_ATOM_NAME "Xorg_Seat"
3435c4bbdfSmrg
354642e01fSmrg/* BOOL. 0 - device disabled, 1 - device enabled */
364642e01fSmrg#define XI_PROP_ENABLED      "Device Enabled"
376747b715Smrg/* BOOL. If present, device is a virtual XTEST device */
386747b715Smrg#define XI_PROP_XTEST_DEVICE  "XTEST Device"
396747b715Smrg
4035c4bbdfSmrg/* CARD32, 2 values, vendor, product.
4135c4bbdfSmrg * This property is set by the driver and may not be available for some
4235c4bbdfSmrg * drivers. Read-Only */
4335c4bbdfSmrg#define XI_PROP_PRODUCT_ID "Device Product ID"
4435c4bbdfSmrg
456747b715Smrg/* Coordinate transformation matrix for absolute input devices
466747b715Smrg * FLOAT, 9 values in row-major order, coordinates in 0..1 range:
476747b715Smrg * [c0 c1 c2]   [x]
486747b715Smrg * [c3 c4 c5] * [y]
496747b715Smrg * [c6 c7 c8]   [1] */
506747b715Smrg#define XI_PROP_TRANSFORM "Coordinate Transformation Matrix"
516747b715Smrg
5235c4bbdfSmrg/* STRING. Device node path of device */
5335c4bbdfSmrg#define XI_PROP_DEVICE_NODE "Device Node"
5435c4bbdfSmrg
556747b715Smrg/* Pointer acceleration properties */
566747b715Smrg/* INTEGER of any format */
576747b715Smrg#define ACCEL_PROP_PROFILE_NUMBER "Device Accel Profile"
586747b715Smrg/* FLOAT, format 32 */
596747b715Smrg#define ACCEL_PROP_CONSTANT_DECELERATION "Device Accel Constant Deceleration"
606747b715Smrg/* FLOAT, format 32 */
616747b715Smrg#define ACCEL_PROP_ADAPTIVE_DECELERATION "Device Accel Adaptive Deceleration"
626747b715Smrg/* FLOAT, format 32 */
636747b715Smrg#define ACCEL_PROP_VELOCITY_SCALING "Device Accel Velocity Scaling"
646747b715Smrg
656747b715Smrg/* Axis labels */
666747b715Smrg#define AXIS_LABEL_PROP "Axis Labels"
676747b715Smrg
686747b715Smrg#define AXIS_LABEL_PROP_REL_X           "Rel X"
696747b715Smrg#define AXIS_LABEL_PROP_REL_Y           "Rel Y"
706747b715Smrg#define AXIS_LABEL_PROP_REL_Z           "Rel Z"
716747b715Smrg#define AXIS_LABEL_PROP_REL_RX          "Rel Rotary X"
726747b715Smrg#define AXIS_LABEL_PROP_REL_RY          "Rel Rotary Y"
736747b715Smrg#define AXIS_LABEL_PROP_REL_RZ          "Rel Rotary Z"
746747b715Smrg#define AXIS_LABEL_PROP_REL_HWHEEL      "Rel Horiz Wheel"
756747b715Smrg#define AXIS_LABEL_PROP_REL_DIAL        "Rel Dial"
766747b715Smrg#define AXIS_LABEL_PROP_REL_WHEEL       "Rel Vert Wheel"
776747b715Smrg#define AXIS_LABEL_PROP_REL_MISC        "Rel Misc"
7835c4bbdfSmrg#define AXIS_LABEL_PROP_REL_VSCROLL     "Rel Vert Scroll"
7935c4bbdfSmrg#define AXIS_LABEL_PROP_REL_HSCROLL     "Rel Horiz Scroll"
806747b715Smrg
816747b715Smrg/*
826747b715Smrg * Absolute axes
836747b715Smrg */
846747b715Smrg
856747b715Smrg#define AXIS_LABEL_PROP_ABS_X           "Abs X"
866747b715Smrg#define AXIS_LABEL_PROP_ABS_Y           "Abs Y"
876747b715Smrg#define AXIS_LABEL_PROP_ABS_Z           "Abs Z"
886747b715Smrg#define AXIS_LABEL_PROP_ABS_RX          "Abs Rotary X"
896747b715Smrg#define AXIS_LABEL_PROP_ABS_RY          "Abs Rotary Y"
906747b715Smrg#define AXIS_LABEL_PROP_ABS_RZ          "Abs Rotary Z"
916747b715Smrg#define AXIS_LABEL_PROP_ABS_THROTTLE    "Abs Throttle"
926747b715Smrg#define AXIS_LABEL_PROP_ABS_RUDDER      "Abs Rudder"
936747b715Smrg#define AXIS_LABEL_PROP_ABS_WHEEL       "Abs Wheel"
946747b715Smrg#define AXIS_LABEL_PROP_ABS_GAS         "Abs Gas"
956747b715Smrg#define AXIS_LABEL_PROP_ABS_BRAKE       "Abs Brake"
966747b715Smrg#define AXIS_LABEL_PROP_ABS_HAT0X       "Abs Hat 0 X"
976747b715Smrg#define AXIS_LABEL_PROP_ABS_HAT0Y       "Abs Hat 0 Y"
986747b715Smrg#define AXIS_LABEL_PROP_ABS_HAT1X       "Abs Hat 1 X"
996747b715Smrg#define AXIS_LABEL_PROP_ABS_HAT1Y       "Abs Hat 1 Y"
1006747b715Smrg#define AXIS_LABEL_PROP_ABS_HAT2X       "Abs Hat 2 X"
1016747b715Smrg#define AXIS_LABEL_PROP_ABS_HAT2Y       "Abs Hat 2 Y"
1026747b715Smrg#define AXIS_LABEL_PROP_ABS_HAT3X       "Abs Hat 3 X"
1036747b715Smrg#define AXIS_LABEL_PROP_ABS_HAT3Y       "Abs Hat 3 Y"
1046747b715Smrg#define AXIS_LABEL_PROP_ABS_PRESSURE    "Abs Pressure"
1056747b715Smrg#define AXIS_LABEL_PROP_ABS_DISTANCE    "Abs Distance"
1066747b715Smrg#define AXIS_LABEL_PROP_ABS_TILT_X      "Abs Tilt X"
1076747b715Smrg#define AXIS_LABEL_PROP_ABS_TILT_Y      "Abs Tilt Y"
1086747b715Smrg#define AXIS_LABEL_PROP_ABS_TOOL_WIDTH  "Abs Tool Width"
1096747b715Smrg#define AXIS_LABEL_PROP_ABS_VOLUME      "Abs Volume"
1106747b715Smrg#define AXIS_LABEL_PROP_ABS_MT_TOUCH_MAJOR "Abs MT Touch Major"
1116747b715Smrg#define AXIS_LABEL_PROP_ABS_MT_TOUCH_MINOR "Abs MT Touch Minor"
1126747b715Smrg#define AXIS_LABEL_PROP_ABS_MT_WIDTH_MAJOR "Abs MT Width Major"
1136747b715Smrg#define AXIS_LABEL_PROP_ABS_MT_WIDTH_MINOR "Abs MT Width Minor"
1146747b715Smrg#define AXIS_LABEL_PROP_ABS_MT_ORIENTATION "Abs MT Orientation"
1156747b715Smrg#define AXIS_LABEL_PROP_ABS_MT_POSITION_X  "Abs MT Position X"
1166747b715Smrg#define AXIS_LABEL_PROP_ABS_MT_POSITION_Y  "Abs MT Position Y"
1176747b715Smrg#define AXIS_LABEL_PROP_ABS_MT_TOOL_TYPE   "Abs MT Tool Type"
1186747b715Smrg#define AXIS_LABEL_PROP_ABS_MT_BLOB_ID     "Abs MT Blob ID"
1196747b715Smrg#define AXIS_LABEL_PROP_ABS_MT_TRACKING_ID "Abs MT Tracking ID"
1206747b715Smrg#define AXIS_LABEL_PROP_ABS_MT_PRESSURE    "Abs MT Pressure"
12135c4bbdfSmrg#define AXIS_LABEL_PROP_ABS_MT_DISTANCE    "Abs MT Distance"
12235c4bbdfSmrg#define AXIS_LABEL_PROP_ABS_MT_TOOL_X      "Abs MT Tool X"
12335c4bbdfSmrg#define AXIS_LABEL_PROP_ABS_MT_TOOL_Y      "Abs MT Tool Y"
1246747b715Smrg#define AXIS_LABEL_PROP_ABS_MISC        "Abs Misc"
1256747b715Smrg
1266747b715Smrg/* Button names */
1276747b715Smrg#define BTN_LABEL_PROP "Button Labels"
1286747b715Smrg
1296747b715Smrg/* Default label */
1306747b715Smrg#define BTN_LABEL_PROP_BTN_UNKNOWN      "Button Unknown"
1316747b715Smrg/* Wheel buttons */
1326747b715Smrg#define BTN_LABEL_PROP_BTN_WHEEL_UP     "Button Wheel Up"
1336747b715Smrg#define BTN_LABEL_PROP_BTN_WHEEL_DOWN   "Button Wheel Down"
1346747b715Smrg#define BTN_LABEL_PROP_BTN_HWHEEL_LEFT  "Button Horiz Wheel Left"
1356747b715Smrg#define BTN_LABEL_PROP_BTN_HWHEEL_RIGHT "Button Horiz Wheel Right"
1366747b715Smrg
1376747b715Smrg/* The following are from linux/input.h */
1386747b715Smrg#define BTN_LABEL_PROP_BTN_0            "Button 0"
1396747b715Smrg#define BTN_LABEL_PROP_BTN_1            "Button 1"
1406747b715Smrg#define BTN_LABEL_PROP_BTN_2            "Button 2"
1416747b715Smrg#define BTN_LABEL_PROP_BTN_3            "Button 3"
1426747b715Smrg#define BTN_LABEL_PROP_BTN_4            "Button 4"
1436747b715Smrg#define BTN_LABEL_PROP_BTN_5            "Button 5"
1446747b715Smrg#define BTN_LABEL_PROP_BTN_6            "Button 6"
1456747b715Smrg#define BTN_LABEL_PROP_BTN_7            "Button 7"
1466747b715Smrg#define BTN_LABEL_PROP_BTN_8            "Button 8"
1476747b715Smrg#define BTN_LABEL_PROP_BTN_9            "Button 9"
1486747b715Smrg
1496747b715Smrg#define BTN_LABEL_PROP_BTN_LEFT         "Button Left"
1506747b715Smrg#define BTN_LABEL_PROP_BTN_RIGHT        "Button Right"
1516747b715Smrg#define BTN_LABEL_PROP_BTN_MIDDLE       "Button Middle"
1526747b715Smrg#define BTN_LABEL_PROP_BTN_SIDE         "Button Side"
1536747b715Smrg#define BTN_LABEL_PROP_BTN_EXTRA        "Button Extra"
1546747b715Smrg#define BTN_LABEL_PROP_BTN_FORWARD      "Button Forward"
1556747b715Smrg#define BTN_LABEL_PROP_BTN_BACK         "Button Back"
1566747b715Smrg#define BTN_LABEL_PROP_BTN_TASK         "Button Task"
1576747b715Smrg
1586747b715Smrg#define BTN_LABEL_PROP_BTN_TRIGGER      "Button Trigger"
1596747b715Smrg#define BTN_LABEL_PROP_BTN_THUMB        "Button Thumb"
1606747b715Smrg#define BTN_LABEL_PROP_BTN_THUMB2       "Button Thumb2"
1616747b715Smrg#define BTN_LABEL_PROP_BTN_TOP          "Button Top"
1626747b715Smrg#define BTN_LABEL_PROP_BTN_TOP2         "Button Top2"
1636747b715Smrg#define BTN_LABEL_PROP_BTN_PINKIE       "Button Pinkie"
1646747b715Smrg#define BTN_LABEL_PROP_BTN_BASE         "Button Base"
1656747b715Smrg#define BTN_LABEL_PROP_BTN_BASE2        "Button Base2"
1666747b715Smrg#define BTN_LABEL_PROP_BTN_BASE3        "Button Base3"
1676747b715Smrg#define BTN_LABEL_PROP_BTN_BASE4        "Button Base4"
1686747b715Smrg#define BTN_LABEL_PROP_BTN_BASE5        "Button Base5"
1696747b715Smrg#define BTN_LABEL_PROP_BTN_BASE6        "Button Base6"
1706747b715Smrg#define BTN_LABEL_PROP_BTN_DEAD         "Button Dead"
1716747b715Smrg
1726747b715Smrg#define BTN_LABEL_PROP_BTN_A            "Button A"
1736747b715Smrg#define BTN_LABEL_PROP_BTN_B            "Button B"
1746747b715Smrg#define BTN_LABEL_PROP_BTN_C            "Button C"
1756747b715Smrg#define BTN_LABEL_PROP_BTN_X            "Button X"
1766747b715Smrg#define BTN_LABEL_PROP_BTN_Y            "Button Y"
1776747b715Smrg#define BTN_LABEL_PROP_BTN_Z            "Button Z"
1786747b715Smrg#define BTN_LABEL_PROP_BTN_TL           "Button T Left"
1796747b715Smrg#define BTN_LABEL_PROP_BTN_TR           "Button T Right"
1806747b715Smrg#define BTN_LABEL_PROP_BTN_TL2          "Button T Left2"
1816747b715Smrg#define BTN_LABEL_PROP_BTN_TR2          "Button T Right2"
1826747b715Smrg#define BTN_LABEL_PROP_BTN_SELECT       "Button Select"
1836747b715Smrg#define BTN_LABEL_PROP_BTN_START        "Button Start"
1846747b715Smrg#define BTN_LABEL_PROP_BTN_MODE         "Button Mode"
1856747b715Smrg#define BTN_LABEL_PROP_BTN_THUMBL       "Button Thumb Left"
1866747b715Smrg#define BTN_LABEL_PROP_BTN_THUMBR       "Button Thumb Right"
1876747b715Smrg
1886747b715Smrg#define BTN_LABEL_PROP_BTN_TOOL_PEN             "Button Tool Pen"
1896747b715Smrg#define BTN_LABEL_PROP_BTN_TOOL_RUBBER          "Button Tool Rubber"
1906747b715Smrg#define BTN_LABEL_PROP_BTN_TOOL_BRUSH           "Button Tool Brush"
1916747b715Smrg#define BTN_LABEL_PROP_BTN_TOOL_PENCIL          "Button Tool Pencil"
1926747b715Smrg#define BTN_LABEL_PROP_BTN_TOOL_AIRBRUSH        "Button Tool Airbrush"
1936747b715Smrg#define BTN_LABEL_PROP_BTN_TOOL_FINGER          "Button Tool Finger"
1946747b715Smrg#define BTN_LABEL_PROP_BTN_TOOL_MOUSE           "Button Tool Mouse"
1956747b715Smrg#define BTN_LABEL_PROP_BTN_TOOL_LENS            "Button Tool Lens"
1966747b715Smrg#define BTN_LABEL_PROP_BTN_TOUCH                "Button Touch"
1976747b715Smrg#define BTN_LABEL_PROP_BTN_STYLUS               "Button Stylus"
1986747b715Smrg#define BTN_LABEL_PROP_BTN_STYLUS2              "Button Stylus2"
1996747b715Smrg#define BTN_LABEL_PROP_BTN_TOOL_DOUBLETAP       "Button Tool Doubletap"
2006747b715Smrg#define BTN_LABEL_PROP_BTN_TOOL_TRIPLETAP       "Button Tool Tripletap"
2016747b715Smrg
2026747b715Smrg#define BTN_LABEL_PROP_BTN_GEAR_DOWN            "Button Gear down"
2036747b715Smrg#define BTN_LABEL_PROP_BTN_GEAR_UP              "Button Gear up"
2044642e01fSmrg
2054642e01fSmrg#endif
206