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

SUPPORTED PROPERTIES

270       The following properties are provided by the evdev driver.
271
272       Evdev Axis Calibration
273              4  32-bit  values,  order min-x, max-x, min-y, max-y or 0
274              values to disable in-driver axis calibration.
275
276       Evdev Axis Inversion
277              2 boolean values (8 bit, 0 or 1), order X, Y.  1  inverts
278              the axis.
279
280       Evdev Axes Swap
281              1 boolean value (8 bit, 0 or 1). 1 swaps x/y axes.
282
283       Evdev Drag Lock Buttons
284              8-bit.  Either  1  value  or pairs of values. Value range
285              0-32, 0 disables a value.
286
287       Evdev Middle Button Emulation
288              1 boolean value (8 bit, 0 or 1).
289
290       Evdev Middle Button Timeout
291              1 16-bit positive value.
292
293       Evdev Middle Button Button
294              1 8-bit value, allowed range 0-32, 0 disables the button.
295
296       Evdev Wheel Emulation
297              1 boolean value (8 bit, 0 or 1).
298
299       Evdev Wheel Emulation Axes
300              4 8-bit values, order X up, X down, Y up, Y down. 0  dis‐
301              ables a value.
302
303       Evdev Wheel Emulation Button
304              1 8-bit value, allowed range 0-32, 0 disables the button.
305
306       Evdev Wheel Emulation Inertia
307              1 16-bit positive value.
308
309       Evdev Wheel Emulation Timeout
310              1 16-bit positive value.
311
312       Evdev Scrolling Distance
313              3 32-bit values: vertical, horizontal and dial.
314
315

AUTHORS

317       Kristian Høgsberg, Peter Hutterer
318

SEE ALSO

320       Xorg(1), xorg.conf(5), Xserver(1), X(7)
321
322
323
324X Version 11                xf86-input-evdev 2.10.6                   EVDEV(4)
Impressum