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.
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

SUPPORTED PROPERTIES

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

AUTHORS

235       Kristian Høgsberg, Peter Hutterer
236

SEE ALSO

238       Xorg(1), xorg.conf(5), Xserver(1), X(7)
239
240
241
242X Version 11                xf86-input-evdev 2.5.0                    EVDEV(4)
Impressum