EVDEV
Section: Devices and Network Interfaces (4)
Updated: xf86-input-evdev 2.3.1
Index
Return to Main Contents
NAME
evdev - Generic Linux input driver
SYNOPSIS
Section N'34'InputDeviceN'34'
Identifier N'34'devnameN'34'
Driver N'34'evdevN'34'
Option N'34'DeviceN'34' N'34'devpathN'34'
Option N'34'Emulate3ButtonsN'34' N'34'TrueN'34'
Option N'34'Emulate3TimeoutN'34' N'34'50N'34'
Option N'34'GrabDeviceN'34' N'34'FalseN'34'
...
EndSection
DESCRIPTION
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.
SUPPORTED HARDWARE
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.
CONFIGURATION DETAILS
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'ButtonMappingN'34' N'34'stringN'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'DeviceN'34' N'34'stringN'34'
-
Specifies the device through which the device can be accessed. This will
generally be of the form N'34'/dev/input/eventXN'34', where X is some integer.
The mapping from device node to hardware is system-dependent.
- Option N'34'DragLockButtonsN'34' N'34'L1 B2 L3 B4N'34'
-
Sets N'34'drag lock buttonsN'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'DragLockButtonsN'34' N'34'M1N'34'
-
Sets a N'34'master drag lock buttonN'34' that acts as a N'34'Meta KeyN'34'
indicating that the next button pressed is to be
N'34'drag lockedN'34'. Property: "Evdev Drag Lock Buttons".
- Option N'34'Emulate3ButtonsN'34' N'34'booleanN'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: on, until a middle mouse
button event is registered. Property: "Evdev Middle Button Emulation".
- Option N'34'Emulate3TimeoutN'34' N'34'integerN'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'EmulateWheelN'34' N'34'booleanN'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'EmulateWheelButtonN'34' N'34'integerN'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".
- Option N'34'EmulateWheelInertiaN'34' N'34'integerN'34'
-
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 N'34'EmulateWheelTimeoutN'34' N'34'integerN'34'
-
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'GrabDeviceN'34' N'34'booleanN'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.
- Option N'34'InvertXN'34' N'34'BoolN'34'
-
- Option N'34'InvertYN'34' N'34'BoolN'34'
-
Invert the given axis. Default: off. Property: "Evdev Axis Inversion".
- Option N'34'IgnoreRelativeAxesN'34' N'34'BoolN'34'
-
- Option N'34'IgnoreAbsoluteAxesN'34' N'34'BoolN'34'
-
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'ReopenAttemptsN'34' N'34'integerN'34'
-
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 N'34'CalibrationN'34' N'34'min-x max-x min-y max-yN'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'SwapAxesN'34' N'34'BoolN'34'
-
Swap x/y axes. Default: off. Property: "Evdev Axes Swap".
- Option N'34'XAxisMappingN'34' N'34'N1 N2N'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'YAxisMappingN'34' N'34'N1 N2N'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".
SUPPORTED PROPERTIES
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.
AUTHORS
Kristian Høgsberg.
SEE ALSO
Xorg(1), xorg.conf(5), Xserver(1), X(7),
README.mouse.