.\" shorthand for double quote that works everywhere. .ds q \N'34' .TH EVDEV __drivermansuffix__ __vendorversion__ .SH NAME evdev \- Generic Linux input driver .SH SYNOPSIS .nf .B "Section \*qInputDevice\*q" .BI " Identifier \*q" devname \*q .B " Driver \*qevdev\*q" .BI " Option \*qDevice\*q \*q" devpath \*q .BI " Option \*qPath\*q \*q" path \*q .BI " Option \*qEmulate3Buttons\*q \*q" True \*q .BI " Option \*qEmulate3Timeout\*q \*q" 50 \*q \ \ ... .B EndSection .fi .SH DESCRIPTION .B evdev is an __xservername__ input driver for Linux\'s generic event devices. It therefore supports all input devices that the kernel knows about, including most mice and keyboards. .PP The .B 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 __xconfigfile__ for each input device that will use this driver. .PP .SH SUPPORTED HARDWARE In general, any input device that the kernel has a driver for can be accessed through the .B evdev driver. See the Linux kernel documentation for a complete list. .PP .SH CONFIGURATION DETAILS Please refer to __xconfigfile__(__filemansuffix__) 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. .PP The following driver .B Options are supported: .TP 7 .BI "Option \*qDevice\*q \*q" string \*q Specifies the device through which the device can be accessed. This will generally be of the form \*q/dev/input/eventX\*q, where X is some integer. The mapping from device node to hardware is system-dependent. This option is mandatory unless \*qPath\*q is given, and there is no default setting. .TP 7 .BI "Option \*qPath\*q \*q" string \*q Specifies the device through which the device can be accessed. This will generally be of the form \*q/dev/input/by-path/xyz\*q, where xyz includes the name of the device. The mapping from device node to hardware is system-dependent. This option has precedence over the \*qDevice\*q option but one of \*qPath\*q or \*qDevice\*q must be given. .TP 7 .BI "Option \*qEmulate3Buttons\*q \*q" boolean \*q 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. .TP 7 .BI "Option \*qEmulate3Timeout\*q \*q" integer \*q 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. .TP 7 .BI "Option \*qButtonMapping\*q \*q" string \*q 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. .TP 7 .BI "Option \*qDragLockButtons\*q \*q" "L1 B2 L3 B4" \*q Sets \*qdrag lock buttons\*q 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. .TP 7 .BI "Option \*qDragLockButtons\*q \*q" "M1" \*q Sets a \*qmaster drag lock button\*q that acts as a \*qMeta Key\*q indicating that the next button pressed is to be \*qdrag locked\*q. .TP 7 .BI "Option \*qEmulateWheel\*q \*q" boolean \*q 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 .BR EmulateWheelButton , .BR EmulateWheelInertia , .BR EmulateWheelTimeout , .BR XAxisMapping , and .B YAxisMapping options below. Default: off. .TP 7 .BI "Option \*qEmulateWheelButton\*q \*q" integer \*q 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 .B XAxisMapping and .B YAxisMapping settings. Default: 4. .TP 7 .BI "Option \*qEmulateWheelInertia\*q \*q" integer \*q Specifies how far (in pixels) the pointer must move to generate button press/release events in wheel emulation mode. Default: 10. .TP 7 .BI "Option \*qEmulateWheelTimeout\*q \*q" integer \*q Specifies the time in milliseconds the .BR EmulateWheelButton must be pressed before wheel emulation is started. If the .BR EmulateWheelButton is released before this timeout, the original button press/release event is sent. Default: 200. .TP 7 .BI "Option \*qXAxisMapping\*q \*q" "N1 N2" \*q Specifies which buttons are mapped to motion in the X direction in wheel emulation mode. Button number .I N1 is mapped to the negative X axis motion and button number .I N2 is mapped to the positive X axis motion. Default: no mapping. .TP 7 .BI "Option \*qYAxisMapping\*q \*q" "N1 N2" \*q Specifies which buttons are mapped to motion in the Y direction in wheel emulation mode. Button number .I N1 is mapped to the negative Y axis motion and button number .I N2 is mapped to the positive Y axis motion. Default: "4 5" .TP 7 .BI "Option \*qReopenAttempts\*q \*q" integer \*q 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. .SH AUTHORS Kristian Høgsberg. .SH "SEE ALSO" __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__), README.mouse.