1EVDEV(4) Kernel Interfaces Manual EVDEV(4)
2
3
4
6 evdev - Generic Linux input driver
7
9 Section "InputDevice"
10 Identifier "devname"
11 Driver "evdev"
12 Option "Device" "devpath"
13 Option "Emulate3Buttons" "True"
14 Option "Emulate3Timeout" "50"
15 Option "GrabDevice" "False"
16 ...
17 EndSection
18
20 evdev is an Xorg input driver for Linux´s generic event devices. It
21 therefore supports all input devices that the kernel knows about,
22 including most mice, keyboards, tablets and touchscreens. evdev is the
23 default driver on the major Linux distributions.
24
25 The evdev driver can serve as both a pointer and a keyboard input
26 device. Multiple input devices are supported by multiple instances of
27 this driver, with one InputDevice section of your xorg.conf for each
28 input device that will use this driver.
29
30 It is recommended that evdev devices are configured through the Input‐
31 Class directive (refer to xorg.conf(5)) instead of manual per-device
32 configuration. Devices configured in the xorg.conf(5) are not hot-plug
33 capable.
34
36 In general, any input device that the kernel has a driver for can be
37 accessed through the evdev driver. See the Linux kernel documentation
38 for a complete list.
39
41 Please refer to xorg.conf(5) for general configuration details and for
42 options that can be used with all input drivers. This section only
43 covers configuration details specific to this driver.
44
45 The following driver Options are supported:
46
47 Option "ButtonMapping" "string"
48 Sets the button mapping for this device. The mapping is a space-
49 separated list of button mappings that correspond in order to
50 the physical buttons on the device (i.e. the first number is the
51 mapping for button 1, etc.). The default mapping is "1 2 3 ...
52 32". A mapping of 0 deactivates the button. Multiple buttons can
53 have the same mapping. For example, a left-handed mouse with
54 deactivated scroll-wheel would use a mapping of "3 2 1 0 0".
55 Invalid mappings are ignored and the default mapping is used.
56 Buttons not specified in the user's mapping use the default map‐
57 ping.
58
59 Option "Device" "string"
60 Specifies the device through which the device can be accessed.
61 This will generally be of the form "/dev/input/eventX", where X
62 is some integer. The mapping from device node to hardware is
63 system-dependent.
64
65 Option "DragLockButtons" "L1 B2 L3 B4"
66 Sets "drag lock buttons" that simulate holding a button down, so
67 that low dexterity people do not have to hold a button down at
68 the same time they move a mouse cursor. Button numbers occur in
69 pairs, with the lock button number occurring first, followed by
70 the button number that is the target of the lock button. Prop‐
71 erty: "Evdev Drag Lock Buttons".
72
73 Option "DragLockButtons" "M1"
74 Sets a "master drag lock button" that acts as a "Meta Key" indi‐
75 cating that the next button pressed is to be "drag locked".
76 Property: "Evdev Drag Lock Buttons".
77
78
79 Option "Emulate3Buttons" "boolean"
80 Enable/disable the emulation of the third (middle) mouse
81 button for mice which only have two physical buttons.
82 The third button is emulated by pressing both buttons
83 simultaneously. Default: off. Property: "Evdev Middle
84 Button Emulation".
85
86 Option "Emulate3Timeout" "integer"
87 Sets the timeout (in milliseconds) that the driver waits
88 before deciding if two buttons where pressed "simultane‐
89 ously" when 3 button emulation is enabled. Default: 50.
90 Property: "Evdev Middle Button Timeout".
91
92 Option "EmulateWheel" "boolean"
93 Enable/disable "wheel" emulation. Wheel emulation means
94 emulating button press/release events when the mouse is
95 moved while a specific real button is pressed. Wheel
96 button events (typically buttons 4 and 5) are usually
97 used for scrolling. Wheel emulation is useful for get‐
98 ting wheel-like behaviour with trackballs. It can also
99 be useful for mice with 4 or more buttons but no wheel.
100 See the description of the EmulateWheelButton, Emulate‐
101 WheelInertia, EmulateWheelTimeout, XAxisMapping, and YAx‐
102 isMapping options. Default: off. Property "Evdev Wheel
103 Emulation".
104
105 Option "EmulateWheelButton" "integer"
106 Specifies which button must be held down to enable wheel
107 emulation mode. While this button is down, X and/or Y
108 pointer movement will generate button press/release
109 events as specified for the XAxisMapping and YAxisMapping
110 settings. If the button is 0 and EmulateWheel is on, any
111 motion of the device is converted into wheel events.
112 Default: 4. Property: "Evdev Wheel Emulation Button".
113
114 Option "EmulateWheelInertia" "integer"
115 Specifies how far (in pixels) the pointer must move to
116 generate button press/release events in wheel emulation
117 mode. Default: 10. Property: "Evdev Wheel Emulation
118 Inertia".
119
120 Option "EmulateWheelTimeout" "integer"
121 Specifies the time in milliseconds the EmulateWheelButton
122 must be pressed before wheel emulation is started. If the
123 EmulateWheelButton is released before this timeout, the
124 original button press/release event is sent. Default:
125 200. Property: "Evdev Wheel Emulation Timeout".
126
127 Option "GrabDevice" "boolean"
128 Force a grab on the event device. Doing so will ensure
129 that no other driver can initialise the same device and
130 it will also stop the device from sending events to
131 /dev/kbd or /dev/input/mice. Events from this device will
132 not be sent to virtual devices (e.g. rfkill or the Macin‐
133 tosh mouse button emulation). Default: disabled.
134
135 Option "InvertX" "Bool"
136
137 Option "InvertY" "Bool"
138 Invert the given axis. Default: off. Property: "Evdev
139 Axis Inversion".
140
141 Option "IgnoreRelativeAxes" "Bool"
142
143 Option "IgnoreAbsoluteAxes" "Bool"
144 Ignore the specified type of axis. Default: unset. The X
145 server cannot deal with devices that have both relative
146 and absolute axes. Evdev tries to guess wich axes to
147 ignore given the device type and disables absolute axes
148 for mice and relative axes for tablets, touchscreens and
149 touchpad. These options allow to forcibly disable an axis
150 type. Mouse wheel axes are exempt and will work even if
151 relative axes are ignored. No property, this configura‐
152 tion must be set in the configuration.
153 If either option is set to False, the driver will not
154 ignore the specified axes regardless of the presence of
155 other axes. This may trigger buggy behavior and events
156 from this axis are always forwarded. Users are discour‐
157 aged from setting this option.
158
159 Option "Calibration" "min-x max-x min-y max-y"
160 Calibrates the X and Y axes for devices that need to
161 scale to a different coordinate system than reported to
162 the X server. This feature is required for devices that
163 need to scale to a different coordinate system than orig‐
164 inally reported by the kernel (e.g. touchscreens). The
165 scaling to the custom coordinate system is done in-driver
166 and the X server is unaware of the transformation. Prop‐
167 erty: "Evdev Axis Calibration".
168
169 Option "Mode" "Relative"|"Absolute"
170 Sets the mode of the device if device has absolute axes.
171 The default value for touchpads is relative, for other
172 absolute. This option has no effect on devices without
173 absolute axes.
174
175 Option "SwapAxes" "Bool"
176 Swap x/y axes. Default: off. Property: "Evdev Axes Swap".
177
178 Option "XAxisMapping" "N1 N2"
179 Specifies which buttons are mapped to motion in the X
180 direction in wheel emulation mode. Button number N1 is
181 mapped to the negative X axis motion and button number N2
182 is mapped to the positive X axis motion. Default: no
183 mapping. Property: "Evdev Wheel Emulation Axes".
184
185 Option "YAxisMapping" "N1 N2"
186 Specifies which buttons are mapped to motion in the Y
187 direction in wheel emulation mode. Button number N1 is
188 mapped to the negative Y axis motion and button number N2
189 is mapped to the positive Y axis motion. Default: "4 5".
190 Property: "Evdev Wheel Emulation Axes".
191
192
194 The following properties are provided by the evdev driver.
195
196 Evdev Axis Calibration
197 4 32-bit values, order min-x, max-x, min-y, max-y or 0
198 values to disable in-driver axis calibration.
199
200 Evdev Axis Inversion
201 2 boolean values (8 bit, 0 or 1), order X, Y. 1 inverts
202 the axis.
203
204 Evdev Axes Swap
205 1 boolean value (8 bit, 0 or 1). 1 swaps x/y axes.
206
207 Evdev Drag Lock Buttons
208 8-bit. Either 1 value or pairs of values. Value range
209 0-32, 0 disables a value.
210
211 Evdev Middle Button Emulation
212 1 boolean value (8 bit, 0 or 1).
213
214 Evdev Middle Button Timeout
215 1 16-bit positive value.
216
217 Evdev Wheel Emulation
218 1 boolean value (8 bit, 0 or 1).
219
220 Evdev Wheel Emulation Axes
221 4 8-bit values, order X up, X down, Y up, Y down. 0 dis‐
222 ables a value.
223
224 Evdev Wheel Emulation Button
225 1 8-bit value, allowed range 0-32, 0 disables the button.
226
227 Evdev Wheel Emulation Inertia
228 1 16-bit positive value.
229
230 Evdev Wheel Emulation Timeout
231 1 16-bit positive value.
232
233
235 Kristian Høgsberg, Peter Hutterer
236
238 Xorg(1), xorg.conf(5), Xserver(1), X(7)
239
240
241
242X Version 11 xf86-input-evdev 2.5.0 EVDEV(4)