evdev is an Xorg input driver for Linux's generic event devices. It
therefore supports all input devices that the kernel knows about, including
most mice, keyboards, tablets and touchscreens.
evdev is the default driver on the major Linux distributions.

The
evdev driver can serve as both a pointer and a keyboard input device. Multiple
input devices are supported by multiple instances of this driver, with one
InputDevice section of your xorg.conf for each input device that will
use this driver.

It is recommended that
evdev devices are configured through the
InputClass directive (refer to xorg.conf(5)) instead of manual
per-device configuration. Devices configured in the
xorg.conf(5) are not hot-plug capable.

Please refer to xorg.conf(5) for general configuration
details and for options that can be used with all input drivers. This
section only covers configuration details specific to this driver.

The following driver
Options are supported:

Option \N34ButtonMapping\N34 \N34string\N34

Sets the button mapping for this device. The mapping is a space-separated list
of button mappings that correspond in order to the physical buttons on the
device (i.e. the first number is the mapping for button 1, etc.). The default
mapping is "1 2 3 ... 32". A mapping of 0 deactivates the button. Multiple
buttons can have the same mapping.
For example, a left-handed mouse with deactivated scroll-wheel would use a
mapping of "3 2 1 0 0". Invalid mappings are ignored and the default mapping
is used. Buttons not specified in the users mapping use the default mapping.

Option \N34Device\N34 \N34string\N34

Specifies the device through which the device can be accessed. This will
generally be of the form \N34/dev/input/eventX\N34, where X is some integer.
The mapping from device node to hardware is system-dependent. Property:
"Device Node" (read-only).

Option \N34DragLockButtons\N34 \N34L1 B2 L3 B4\N34

Sets \N34drag lock buttons\N34 that simulate holding a button down, so
that low dexterity people do not have to hold a button down at the
same time they move a mouse cursor. Button numbers occur in pairs,
with the lock button number occurring first, followed by the button
number that is the target of the lock button. Property: "Evdev
Drag Lock Buttons".

Option \N34DragLockButtons\N34 \N34M1\N34

Sets a \N34master drag lock button\N34 that acts as a \N34Meta Key\N34
indicating that the next button pressed is to be
\N34drag locked\N34. Property: "Evdev Drag Lock Buttons".

Option \N34Emulate3Buttons\N34 \N34boolean\N34

Enable/disable the emulation of the third (middle) mouse button for mice
which only have two physical buttons. The third button is emulated by
pressing both buttons simultaneously. Default: off. Property: "Evdev Middle
Button Emulation".

Option \N34Emulate3Timeout\N34 \N34integer\N34

Sets the timeout (in milliseconds) that the driver waits before deciding
if two buttons where pressed "simultaneously" when 3 button emulation is
enabled. Default: 50. Property: "Evdev Middle Button Timeout".

Option \N34EmulateWheel\N34 \N34boolean\N34

Enable/disable "wheel" emulation. Wheel emulation means emulating button
press/release events when the mouse is moved while a specific real button
is pressed. Wheel button events (typically buttons 4 and 5) are
usually used for scrolling. Wheel emulation is useful for getting wheel-like
behaviour with trackballs. It can also be useful for mice with 4 or
more buttons but no wheel. See the description of the
EmulateWheelButton,
EmulateWheelInertia,
EmulateWheelTimeout,
XAxisMapping, and
YAxisMapping options. Default: off. Property "Evdev Wheel Emulation".

Option \N34EmulateWheelButton\N34 \N34integer\N34

Specifies which button must be held down to enable wheel emulation mode.
While this button is down, X and/or Y pointer movement will generate button
press/release events as specified for the
XAxisMapping and
YAxisMapping settings. If the button is 0 and
EmulateWheel is on, any motion of the device is converted into wheel events. Default: 4.
Property: "Evdev Wheel Emulation Button".

Specifies the time in milliseconds the
EmulateWheelButton must be pressed before wheel emulation is started. If the
EmulateWheelButton is released before this timeout, the original button press/release event
is sent. Default: 200. Property: "Evdev Wheel Emulation Timeout".

Option \N34EmulateThirdButton\N34 \N34boolean\N34

Enable third button emulation. Third button emulation emits a right button
event (by default) by pressing and holding the first button. The first
button must be held down for the configured timeout and must not move more
than the configured threshold for the emulation to activate. Otherwise, the
first button event is posted as normal. Default: off. Property: "Evdev
Third Button Emulation".

Option \N34EmulateThirdButtonTimeout\N34 \N34integer\N34

Specifies the timeout in milliseconds between the initial button press and
the generation of the emulated button event.
Default: 1000. Property: "Evdev Third Button Emulation Timeout".

Option \N34EmulateThirdButtonButton\N34 \N34integer\N34

Specifies the physical button number to be emitted if third button emulation
is triggered.
Default: 3. Property: "Evdev Third Button Button".

Specifies the maximum move fuzz in device coordinates for third button
emulation. If the device moves by more than this threshold before the third
button emulation is triggered, the emulation is cancelled and a first button
event is generated as normal.
Default: 20. Property: "Evdev Third Button Emulation Threshold".

Option \N34GrabDevice\N34 \N34boolean\N34

Force a grab on the event device. Doing so will ensure that no other driver
can initialise the same device and it will also stop the device from sending
events to /dev/kbd or /dev/input/mice. Events from this device will not be
sent to virtual devices (e.g. rfkill or the Macintosh mouse button emulation).
Default: disabled.

Ignore the specified type of axis. Default: unset. The X server cannot deal
with devices that have both relative and absolute axes. Evdev tries to guess
wich axes to ignore given the device type and disables absolute axes for
mice and relative axes for tablets, touchscreens and touchpad. These options
allow to forcibly disable an axis type. Mouse wheel axes are exempt and will
work even if relative axes are ignored. No property, this configuration must
be set in the configuration.
If either option is set to False, the driver will not ignore the specified
axes regardless of the presence of other axes. This may trigger buggy
behavior and events from this axis are always forwarded. Users are
discouraged from setting this option.

Option \N34Calibration\N34 \N34min-x max-x min-y max-y\N34

Calibrates the X and Y axes for devices that need to scale to a different
coordinate system than reported to the X server. This feature is required
for devices that need to scale to a different coordinate system than
originally reported by the kernel (e.g. touchscreens). The scaling to the
custom coordinate system is done in-driver and the X server is unaware of
the transformation. Property: "Evdev Axis Calibration".

Option \N34Mode\N34 \N34Relative\N34|\N34Absolute\N34

Sets the mode of the device if device has absolute axes.
The default value for touchpads is relative, for other absolute.
This option has no effect on devices without absolute axes.

Option \N34SwapAxes\N34 \N34Bool\N34

Swap x/y axes. Default: off. Property: "Evdev Axes Swap".

Option \N34XAxisMapping\N34 \N34N1 N2\N34

Specifies which buttons are mapped to motion in the X direction in wheel
emulation mode. Button number
N1 is mapped to the negative X axis motion and button number
N2 is mapped to the positive X axis motion. Default: no mapping. Property:
"Evdev Wheel Emulation Axes".

Option \N34YAxisMapping\N34 \N34N1 N2\N34

Specifies which buttons are mapped to motion in the Y direction in wheel
emulation mode. Button number
N1 is mapped to the negative Y axis motion and button number
N2 is mapped to the positive Y axis motion. Default: "4 5". Property:
"Evdev Wheel Emulation Axes".

Option \N34TypeName\N34 \N34type\N34

Specify the X Input 1.x type (see XListInputDevices(3)).
There is rarely a need to use this option, evdev will guess the device type
based on the devices capabilities. This option is provided for devices that
need quirks.

Option \N34VertScrollDelta\N34 \N34integer\N34

The amount of motion considered one unit of scrolling vertically.
Default: "1". Property: "Evdev Scrolling Distance".

Option \N34HorizScrollDelta\N34 \N34integer\N34

The amount of motion considered one unit of scrolling horizontally.
Default: "1". Property: "Evdev Scrolling Distance".

Option \N34DialDelta\N34 \N34integer\N34

The amount of motion considered one unit of turning the dial. Default: "1".
Property: "Evdev Scrolling Distance".