Table of Contents
evdev - Generic Linux input driver
Section "InputDevice"
Identifier "devname"
Driver "evdev"
Option "Device" "devpath"
Option "Emulate3Buttons" "True"
Option "Emulate3Timeout" "50"
Option "GrabDevice" "False"
...
EndSection
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 and keyboards.
The evdev driver can serve as both a pointer and
a keyboard input device, and may be used as both the core keyboard and
the core pointer. Multiple input devices are supported by multiple instances
of this driver, with one Load directive for evdev in the Module section
of your xorg.conf for each input device that will use this driver.
In general, any input device that the kernel has a driver for can
be accessed through the evdev driver. See the Linux kernel documentation
for a complete list.
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 "ButtonMapping"
"string"
- 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 "Device" "string"
- Specifies
the device through which the device can be accessed. This will generally
be of the form "/dev/input/eventX", where X is some integer. The mapping
from device node to hardware is system-dependent.
- Option "DragLockButtons"
"L1 B2 L3 B4"
- Sets "drag lock buttons" 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 "DragLockButtons"
"M1"
- Sets a "master drag lock button" that acts as a "Meta Key" indicating
that the next button pressed is to be "drag locked". Property: "Evdev Drag
Lock Buttons".
- Option "Emulate3Buttons" "boolean"
- 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: on, until a middle mouse button event is registered. Property:
"Evdev Middle Button Emulation".
- Option "Emulate3Timeout" "integer"
- 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 "EmulateWheel"
"boolean" 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 "EmulateWheelButton" "integer"
- 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".
- Option "EmulateWheelInertia" "integer"
- Specifies how far (in pixels)
the pointer must move to generate button press/release events in wheel
emulation mode. Default: 10. Property: "Evdev Wheel Emulation Inertia".
- Option
"EmulateWheelTimeout" "integer"
- 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 "GrabDevice" "boolean"
- 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.
- Option "InvertX"
"Bool"
- Option "InvertY" "Bool"
- Invert the given axis. Default: off. Property:
"Evdev Axis Inversion".
- Option "IgnoreRelativeAxes" "Bool"
- Option "IgnoreAbsoluteAxes"
"Bool"
- 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 "ReopenAttempts" "integer"
- Number of reopen
attempts after a read error occurs on the device (e.g. after waking up from
suspend). In between each attempt is a 100ms wait. Default: 10.
- Option "Calibration"
"min-x max-x min-y max-y"
- 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 "SwapAxes" "Bool"
- Swap x/y axes. Default: off. Property: "Evdev Axes
Swap".
- Option "XAxisMapping" "N1 N2"
- 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 "YAxisMapping" "N1 N2"
- 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".
The following properties are provided by the
evdev driver.
- Evdev Axis Calibration
- 4 32-bit values, order min-x, max-x, min-y,
max-y or 0 values to disable in-driver axis calibration.
- Evdev Axis Inversion
- 2 boolean values (8 bit, 0 or 1), order X, Y. 1 inverts the axis.
- Evdev Axes
Swap
- 1 boolean value (8 bit, 0 or 1). 1 swaps x/y axes.
- Evdev Drag Lock Buttons
- 8-bit. Either 1 value or pairs of values. Value range 0-32, 0 disables a value.
- Evdev Middle Button Emulation
- 1 boolean value (8 bit, 0 or 1).
- Evdev Middle
Button Timeout
- 1 16-bit positive value.
- Evdev Wheel Emulation
- 1 boolean value
(8 bit, 0 or 1).
- Evdev Wheel Emulation Axes
- 4 8-bit values, order X up, X
down, Y up, Y down. 0 disables a value.
- Evdev Wheel Emulation Button
- 1 8-bit
value, allowed range 0-32, 0 disables the button.
- Evdev Wheel Emulation Inertia
- 1 16-bit positive value.
- Evdev Wheel Emulation Timeout
- 1 16-bit positive value.
Kristian Høgsberg.
Xorg(1)
, xorg.conf(5)
, Xserver(1)
, X(7)
,
README.mouse.
Table of Contents