1EVDEV(4)                   Kernel Interfaces Manual                   EVDEV(4)
2
3
4

NAME

6       evdev - Generic Linux input driver
7

SYNOPSIS

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

DESCRIPTION

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

SUPPORTED HARDWARE

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

CONFIGURATION DETAILS

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. Property: "Device Node" (read-only).
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 for touchscreens, otherwise
84              on until a middle mouse button event is registered. Prop‐
85              erty: "Evdev Middle Button Emulation".
86
87       Option "Emulate3Timeout" "integer"
88              Sets the timeout (in milliseconds) that the driver  waits
89              before  deciding if two buttons where pressed "simultane‐
90              ously" when 3 button emulation is enabled.  Default:  50.
91              Property: "Evdev Middle Button Timeout".
92
93       Option "EmulateWheel" "boolean"
94              Enable/disable  "wheel" emulation.  Wheel emulation means
95              emulating button press/release events when the  mouse  is
96              moved  while  a  specific  real button is pressed.  Wheel
97              button events (typically buttons 4  and  5)  are  usually
98              used  for  scrolling.  Wheel emulation is useful for get‐
99              ting wheel-like behaviour with trackballs.  It  can  also
100              be  useful  for mice with 4 or more buttons but no wheel.
101              See the description of the  EmulateWheelButton,  Emulate‐
102              WheelInertia, EmulateWheelTimeout, XAxisMapping, and YAx‐
103              isMapping options.  Default: off. Property  "Evdev  Wheel
104              Emulation".
105
106       Option "EmulateWheelButton" "integer"
107              Specifies  which button must be held down to enable wheel
108              emulation mode.  While this button is down,  X  and/or  Y
109              pointer   movement  will  generate  button  press/release
110              events as specified for the XAxisMapping and YAxisMapping
111              settings.  If the button is 0 and EmulateWheel is on, any
112              motion of the device  is  converted  into  wheel  events.
113              Default: 4.  Property: "Evdev Wheel Emulation Button".
114
115       Option "EmulateWheelInertia" "integer"
116              Specifies  how  far  (in pixels) the pointer must move to
117              generate button press/release events in  wheel  emulation
118              mode.   Default:  10.  Property:  "Evdev  Wheel Emulation
119              Inertia".
120
121       Option "EmulateWheelTimeout" "integer"
122              Specifies the time in milliseconds the EmulateWheelButton
123              must be pressed before wheel emulation is started. If the
124              EmulateWheelButton is released before this  timeout,  the
125              original  button  press/release  event is sent.  Default:
126              200. Property: "Evdev Wheel Emulation Timeout".
127
128       Option "EmulateThirdButton" "boolean"
129              Enable third button  emulation.  Third  button  emulation
130              emits  a  right button event (by default) by pressing and
131              holding the first button. The first button must  be  held
132              down  for  the  configured timeout and must not move more
133              than the configured threshold for the emulation to  acti‐
134              vate. Otherwise, the first button event is posted as nor‐
135              mal. Default: off.  Property: "Evdev Third Button  Emula‐
136              tion".
137
138       Option "EmulateThirdButtonTimeout" "integer"
139              Specifies the timeout in milliseconds between the initial
140              button press and the generation of  the  emulated  button
141              event.  Default: 1000. Property: "Evdev Third Button Emu‐
142              lation Timeout".
143
144       Option "EmulateThirdButtonButton" "integer"
145              Specifies the physical button number  to  be  emitted  if
146              third  button emulation is triggered.  Default: 3.  Prop‐
147              erty: "Evdev Third Button Button".
148
149       Option "EmulateThirdButtonMoveThreshold" "integer"
150              Specifies the maximum move fuzz in device coordinates for
151              third  button emulation. If the device moves by more than
152              this threshold before the third button emulation is trig‐
153              gered,  the  emulation  is  cancelled  and a first button
154              event is generated as  normal.   Default:  20.  Property:
155              "Evdev Third Button Emulation Threshold".
156
157       Option "GrabDevice" "boolean"
158              Force  a  grab  on the event device. Doing so will ensure
159              that no other driver can initialise the same  device  and
160              it  will  also  stop  the  device  from sending events to
161              /dev/kbd or /dev/input/mice. Events from this device will
162              not be sent to virtual devices (e.g. rfkill or the Macin‐
163              tosh mouse button emulation).  Default: disabled.
164
165       Option "InvertX" "Bool"
166
167       Option "InvertY" "Bool"
168              Invert the given axis.  Default:  off.  Property:  "Evdev
169              Axis Inversion".
170
171       Option "IgnoreRelativeAxes" "Bool"
172
173       Option "IgnoreAbsoluteAxes" "Bool"
174              Ignore  the specified type of axis. Default: unset. The X
175              server cannot deal with devices that have  both  relative
176              and  absolute  axes.  Evdev  tries  to guess wich axes to
177              ignore given the device type and disables  absolute  axes
178              for  mice and relative axes for tablets, touchscreens and
179              touchpad. These options allow to forcibly disable an axis
180              type.  Mouse  wheel axes are exempt and will work even if
181              relative axes are ignored. No property,  this  configura‐
182              tion must be set in the configuration.
183              If  either  option  is  set to False, the driver will not
184              ignore the specified axes regardless of the  presence  of
185              other  axes.  This  may trigger buggy behavior and events
186              from this axis are always forwarded. Users  are  discour‐
187              aged from setting this option.
188
189       Option "Calibration" "min-x max-x min-y max-y"
190              Calibrates  the  X  and  Y  axes for devices that need to
191              scale to a different coordinate system than  reported  to
192              the  X  server. This feature is required for devices that
193              need to scale to a different coordinate system than orig‐
194              inally  reported  by  the kernel (e.g. touchscreens). The
195              scaling to the custom coordinate system is done in-driver
196              and  the X server is unaware of the transformation. Prop‐
197              erty: "Evdev Axis Calibration".
198
199       Option "Mode" "Relative"|"Absolute"
200              Sets the mode of the device if device has absolute  axes.
201              The  default  value  for touchpads is relative, for other
202              absolute.  This option has no effect on  devices  without
203              absolute axes.
204
205       Option "SwapAxes" "Bool"
206              Swap x/y axes. Default: off. Property: "Evdev Axes Swap".
207
208       Option "XAxisMapping" "N1 N2"
209              Specifies  which  buttons  are  mapped to motion in the X
210              direction in wheel emulation mode.  Button number  N1  is
211              mapped to the negative X axis motion and button number N2
212              is mapped to the positive X  axis  motion.   Default:  no
213              mapping. Property: "Evdev Wheel Emulation Axes".
214
215       Option "YAxisMapping" "N1 N2"
216              Specifies  which  buttons  are  mapped to motion in the Y
217              direction in wheel emulation mode.  Button number  N1  is
218              mapped to the negative Y axis motion and button number N2
219              is mapped to the positive Y axis motion.  Default: "4 5".
220              Property: "Evdev Wheel Emulation Axes".
221
222       Option "TypeName" "type""
223              Specify  the X Input 1.x type (see XListInputDevices(3)).
224              There is rarely a need to use  this  option,  evdev  will
225              guess the device type based on the device's capabilities.
226              This option is provided for devices that need quirks.
227
228       Option "VertScrollDelta" "integer"
229              The amount of motion considered  one  unit  of  scrolling
230              vertically.   Default:  "1".   Property: "Evdev Scrolling
231              Distance".
232
233       Option "HorizScrollDelta" "integer"
234              The amount of motion considered  one  unit  of  scrolling
235              horizontally.   Default: "1".  Property: "Evdev Scrolling
236              Distance".
237
238       Option "DialDelta" "integer"
239              The amount of motion considered one unit of  turning  the
240              dial.   Default:  "1".   Property:  "Evdev Scrolling Dis‐
241              tance".
242
243

SUPPORTED PROPERTIES

245       The following properties are provided by the evdev driver.
246
247       Evdev Axis Calibration
248              4 32-bit values, order min-x, max-x, min-y,  max-y  or  0
249              values to disable in-driver axis calibration.
250
251       Evdev Axis Inversion
252              2  boolean  values (8 bit, 0 or 1), order X, Y. 1 inverts
253              the axis.
254
255       Evdev Axes Swap
256              1 boolean value (8 bit, 0 or 1). 1 swaps x/y axes.
257
258       Evdev Drag Lock Buttons
259              8-bit. Either 1 value or pairs  of  values.  Value  range
260              0-32, 0 disables a value.
261
262       Evdev Middle Button Emulation
263              1 boolean value (8 bit, 0 or 1).
264
265       Evdev Middle Button Timeout
266              1 16-bit positive value.
267
268       Evdev Wheel Emulation
269              1 boolean value (8 bit, 0 or 1).
270
271       Evdev Wheel Emulation Axes
272              4  8-bit values, order X up, X down, Y up, Y down. 0 dis‐
273              ables a value.
274
275       Evdev Wheel Emulation Button
276              1 8-bit value, allowed range 0-32, 0 disables the button.
277
278       Evdev Wheel Emulation Inertia
279              1 16-bit positive value.
280
281       Evdev Wheel Emulation Timeout
282              1 16-bit positive value.
283
284       Evdev Scrolling Distance
285              3 32-bit values: vertical, horizontal and dial.
286
287

AUTHORS

289       Kristian Høgsberg, Peter Hutterer
290

SEE ALSO

292       Xorg(1), xorg.conf(5), Xserver(1), X(7)
293
294
295
296X Version 11                xf86-input-evdev 2.9.2                    EVDEV(4)
Impressum