1 /*
2  * Copyright © 2015 Red Hat, Inc.
3  *
4  * Permission to use, copy, modify, distribute, and sell this software
5  * and its documentation for any purpose is hereby granted without
6  * fee, provided that the above copyright notice appear in all copies
7  * and that both that copyright notice and this permission notice
8  * appear in supporting documentation, and that the name of Red Hat
9  * not be used in advertising or publicity pertaining to distribution
10  * of the software without specific, written prior permission.  Red
11  * Hat makes no representations about the suitability of this software
12  * for any purpose.  It is provided "as is" without express or implied
13  * warranty.
14  *
15  * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
16  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
17  * NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
18  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
19  * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
20  * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
21  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22  */
23 
24 #ifndef _LIBINPUT_PROPERTIES_H_
25 #define _LIBINPUT_PROPERTIES_H_
26 
27 /* Tapping enabled/disabled: BOOL, 1 value */
28 #define LIBINPUT_PROP_TAP "libinput Tapping Enabled"
29 
30 /* Tapping default enabled/disabled: BOOL, 1 value, read-only */
31 #define LIBINPUT_PROP_TAP_DEFAULT "libinput Tapping Enabled Default"
32 
33 /* Tap drag enabled/disabled: BOOL, 1 value */
34 #define LIBINPUT_PROP_TAP_DRAG "libinput Tapping Drag Enabled"
35 
36 /* Tap drag default enabled/disabled: BOOL, 1 value, read-only */
37 #define LIBINPUT_PROP_TAP_DRAG_DEFAULT "libinput Tapping Drag Enabled Default"
38 
39 /* Tap drag lock enabled/disabled: BOOL, 1 value */
40 #define LIBINPUT_PROP_TAP_DRAG_LOCK "libinput Tapping Drag Lock Enabled"
41 
42 /* Tap drag lock default enabled/disabled: BOOL, 1 value, read-only */
43 #define LIBINPUT_PROP_TAP_DRAG_LOCK_DEFAULT "libinput Tapping Drag Lock Enabled Default"
44 
45 /* Tap button order: BOOL, 2 values in order LRM, LMR, only one may be set
46    at any time */
47 #define LIBINPUT_PROP_TAP_BUTTONMAP "libinput Tapping Button Mapping Enabled"
48 
49 /* Tap button default order: BOOL, 2 values in order LRM, LMR, read-only */
50 #define LIBINPUT_PROP_TAP_BUTTONMAP_DEFAULT "libinput Tapping Button Mapping Default"
51 
52 /* Calibration matrix: FLOAT, 9 values of a 3x3 matrix, in rows */
53 #define LIBINPUT_PROP_CALIBRATION "libinput Calibration Matrix"
54 
55 /* Calibration matrix: FLOAT, 9 values of a 3x3 matrix, in rows, read-only*/
56 #define LIBINPUT_PROP_CALIBRATION_DEFAULT "libinput Calibration Matrix Default"
57 
58 /* Pointer accel speed: FLOAT, 1 value, 32 bit */
59 #define LIBINPUT_PROP_ACCEL "libinput Accel Speed"
60 
61 /* Pointer accel speed: FLOAT, 1 value, 32 bit, read-only*/
62 #define LIBINPUT_PROP_ACCEL_DEFAULT "libinput Accel Speed Default"
63 
64 /* Pointer accel profile: BOOL, 2 values in oder adaptive, flat,
65  * only one is enabled at a time at max, read-only */
66 #define LIBINPUT_PROP_ACCEL_PROFILES_AVAILABLE "libinput Accel Profiles Available"
67 
68 /* Pointer accel profile: BOOL, 2 values in order adaptive, flat,
69    only one is enabled at a time at max, read-only */
70 #define LIBINPUT_PROP_ACCEL_PROFILE_ENABLED_DEFAULT "libinput Accel Profile Enabled Default"
71 
72 /* Pointer accel profile: BOOL, 2 values in order adaptive, flat,
73    only one is enabled at a time at max */
74 #define LIBINPUT_PROP_ACCEL_PROFILE_ENABLED "libinput Accel Profile Enabled"
75 
76 /* Natural scrolling: BOOL, 1 value */
77 #define LIBINPUT_PROP_NATURAL_SCROLL "libinput Natural Scrolling Enabled"
78 
79 /* Natural scrolling: BOOL, 1 value, read-only */
80 #define LIBINPUT_PROP_NATURAL_SCROLL_DEFAULT "libinput Natural Scrolling Enabled Default"
81 
82 /* Send-events mode: BOOL read-only, 2 values in order disabled,
83    disabled-on-external-mouse */
84 #define LIBINPUT_PROP_SENDEVENTS_AVAILABLE "libinput Send Events Modes Available"
85 
86 /* Send-events mode: BOOL, 2 values in order disabled,
87    disabled-on-external-mouse */
88 #define LIBINPUT_PROP_SENDEVENTS_ENABLED "libinput Send Events Mode Enabled"
89 
90 /* Send-events mode: BOOL, 2 values in order disabled,
91    disabled-on-external-mouse, read-only */
92 #define LIBINPUT_PROP_SENDEVENTS_ENABLED_DEFAULT "libinput Send Events Mode Enabled Default"
93 
94 /* Left-handed enabled/disabled: BOOL, 1 value */
95 #define LIBINPUT_PROP_LEFT_HANDED "libinput Left Handed Enabled"
96 
97 /* Left-handed enabled/disabled: BOOL, 1 value, read-only */
98 #define LIBINPUT_PROP_LEFT_HANDED_DEFAULT "libinput Left Handed Enabled Default"
99 
100 /* Scroll method: BOOL read-only, 3 values in order 2fg, edge, button.
101    shows available scroll methods */
102 #define LIBINPUT_PROP_SCROLL_METHODS_AVAILABLE "libinput Scroll Methods Available"
103 
104 /* Scroll method: BOOL, 3 values in order 2fg, edge, button
105    only one is enabled at a time at max */
106 #define LIBINPUT_PROP_SCROLL_METHOD_ENABLED "libinput Scroll Method Enabled"
107 
108 /* Scroll method: BOOL, 3 values in order 2fg, edge, button
109    only one is enabled at a time at max, read-only */
110 #define LIBINPUT_PROP_SCROLL_METHOD_ENABLED_DEFAULT "libinput Scroll Method Enabled Default"
111 
112 /* Scroll button for button scrolling: 32-bit int, 1 value */
113 #define LIBINPUT_PROP_SCROLL_BUTTON "libinput Button Scrolling Button"
114 
115 /* Scroll button for button scrolling: 32-bit int, 1 value, read-only */
116 #define LIBINPUT_PROP_SCROLL_BUTTON_DEFAULT "libinput Button Scrolling Button Default"
117 
118 /* Scroll button lock: BOOL, 1 value, TRUE for enabled, FALSE otherwise */
119 #define LIBINPUT_PROP_SCROLL_BUTTON_LOCK "libinput Button Scrolling Button Lock Enabled"
120 
121 /* Scroll button lock: BOOL, 1 value, TRUE for enabled, FALSE otherwise, read-only*/
122 #define LIBINPUT_PROP_SCROLL_BUTTON_LOCK_DEFAULT "libinput Button Scrolling Button Lock Enabled Default"
123 
124 /* Click method: BOOL read-only, 2 values in order buttonareas, clickfinger
125    shows available click methods */
126 #define LIBINPUT_PROP_CLICK_METHODS_AVAILABLE "libinput Click Methods Available"
127 
128 /* Click method: BOOL, 2 values in order buttonareas, clickfinger
129    only one enabled at a time at max */
130 #define LIBINPUT_PROP_CLICK_METHOD_ENABLED "libinput Click Method Enabled"
131 
132 /* Click method: BOOL, 2 values in order buttonareas, clickfinger
133    only one enabled at a time at max, read-only */
134 #define LIBINPUT_PROP_CLICK_METHOD_ENABLED_DEFAULT "libinput Click Method Enabled Default"
135 
136 /* Middle button emulation: BOOL, 1 value */
137 #define LIBINPUT_PROP_MIDDLE_EMULATION_ENABLED "libinput Middle Emulation Enabled"
138 
139 /* Middle button emulation: BOOL, 1 value, read-only */
140 #define LIBINPUT_PROP_MIDDLE_EMULATION_ENABLED_DEFAULT "libinput Middle Emulation Enabled Default"
141 
142 /* Disable while typing: BOOL, 1 value */
143 #define LIBINPUT_PROP_DISABLE_WHILE_TYPING "libinput Disable While Typing Enabled"
144 
145 /* Disable while typing: BOOL, 1 value, read-only */
146 #define LIBINPUT_PROP_DISABLE_WHILE_TYPING_DEFAULT "libinput Disable While Typing Enabled Default"
147 
148 /* Drag lock buttons, either:
149    CARD8, one value, the meta lock button, or
150    CARD8, n * 2 values, the drag lock pairs with n being the button and n+1
151    the target button number */
152 #define LIBINPUT_PROP_DRAG_LOCK_BUTTONS "libinput Drag Lock Buttons"
153 
154 /* Horizontal scroll events enabled: BOOL, 1 value (0 or 1).
155  * If disabled, horizontal scroll events are discarded */
156 #define LIBINPUT_PROP_HORIZ_SCROLL_ENABLED "libinput Horizontal Scroll Enabled"
157 
158 /* Number of modes each pad mode group has available: CARD8, one for each
159  * pad mode group, read-only.
160  */
161 #define LIBINPUT_PROP_TABLET_PAD_MODE_GROUPS_AVAILABLE "libinput Pad Mode Groups Modes Available"
162 
163 /* Mode each pad mode group is currently in: CARD8, one for each pad mode
164  * group, read-only.
165  */
166 #define LIBINPUT_PROP_TABLET_PAD_MODE_GROUPS "libinput Pad Mode Groups Modes"
167 
168 /* The association of each logical button with the pad mode group: INT8,
169  * one for each logical button. If set to -1 the button cannot be associated
170  * with a mode group. read-only
171  */
172 #define LIBINPUT_PROP_TABLET_PAD_MODE_GROUP_BUTTONS "libinput Pad Mode Group Buttons"
173 
174 /* The association of each logical strip with the pad mode group: INT8,
175  * one for each logical strip. If set to -1 the strip cannot be associated
176  * with a mode group. read-only
177  */
178 #define LIBINPUT_PROP_TABLET_PAD_MODE_GROUP_STRIPS "libinput Pad Mode Group Strips"
179 
180 /* The association of each logical ring with the pad mode group: INT8,
181  * one for each logical ring. If set to -1 the ring cannot be associated
182  * with a mode group. read-only
183  */
184 #define LIBINPUT_PROP_TABLET_PAD_MODE_GROUP_RINGS "libinput Pad Mode Group Rings"
185 
186 /* Device rotation: FLOAT, 1 value, 32 bit */
187 #define LIBINPUT_PROP_ROTATION_ANGLE "libinput Rotation Angle"
188 
189 /* Device rotation: FLOAT, 1 value, 32 bit, read-only */
190 #define LIBINPUT_PROP_ROTATION_ANGLE_DEFAULT "libinput Rotation Angle Default"
191 
192 /* Tablet tool pressure curve: float, 8 values, 32 bit
193  * Value range is [0.0, 1.0], the values specify the x/y of the four
194  * control points for a cubic bezier curve.
195  * Default value: 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0
196  */
197 #define LIBINPUT_PROP_TABLET_TOOL_PRESSURECURVE "libinput Tablet Tool Pressurecurve"
198 
199 /* Tablet tool area ratio: CARD32, 2 values, w and h */
200 #define LIBINPUT_PROP_TABLET_TOOL_AREA_RATIO "libinput Tablet Tool Area Ratio"
201 
202 #endif /* _LIBINPUT_PROPERTIES_H_ */
203