diff --git a/man/evdev.man b/man/evdev.man index 266396d..ee519bc 100644 --- a/man/evdev.man +++ b/man/evdev.man @@ -1,6 +1,6 @@ .\" shorthand for double quote that works everywhere. .ds q \N'34' -.TH EVDEV __drivermansuffix__ __vendorversion__ +.TH EVDEV __drivermansuffix__ 2016-11-17 __vendorversion__ .SH NAME evdev \- Generic Linux input driver .SH SYNOPSIS @@ -16,103 +16,118 @@ evdev \- Generic Linux input driver .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, keyboards, tablets and touchscreens. +.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, keyboards, tablets, and touchscreens. .B evdev is the default driver on the major Linux distributions. .PP -The +The .B 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 __xconfigfile__ for each input device that will -use this driver. +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 __xconfigfile__ for each input device +that will use this driver. .PP It is recommended that .B evdev devices are configured through the .B InputClass -directive (refer to __xconfigfile__(__filemansuffix__)) instead of manual -per-device configuration. Devices configured in the -__xconfigfile__(__filemansuffix__) are not hot-plug capable. -.PP +directive (refer to +.BR __xconfigfile__ (__filemansuffix__)) +instead of manual per-device configuration. +Devices configured in the +.BR __xconfigfile__ (__filemansuffix__) +are not hot-plug capable. .SH SUPPORTED HARDWARE In general, any input device that the kernel has a driver for can be accessed -through the +through the .B evdev -driver. See the Linux kernel documentation for a complete list. -.PP +driver. +See the Linux kernel documentation for a complete list. .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. +Please refer to +.BR __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 +The following driver .B Options are supported: .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. +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. +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 \*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. Property: -"Device Node" (read-only). +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. +Property: "Device Node" (read-only). .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. Property: "Evdev +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". .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. Property: "Evdev Drag Lock Buttons". -.TP 7 +indicating that the next button pressed is to be \*qdrag locked\*q. +Property: "Evdev Drag Lock Buttons". .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: off. Property: "Evdev Middle -Button Emulation". +which only have two physical buttons. +The third button is emulated by pressing both buttons simultaneously. +Default: off. +Property: "Evdev Middle Button Emulation". .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. Property: "Evdev Middle Button Timeout". +if two buttons were pressed "simultaneously" when 3 button emulation is enabled. +Default: 50. +Property: "Evdev Middle Button Timeout". .TP 7 .BI "Option \*qEmulate3Button\*q \*q" integer \*q Specifies the physical button number to be emitted if middle button emulation is triggered. -Default: 2. Property: "Evdev Middle Button Button". +Default: 2. +Property: "Evdev Middle Button Button". .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 +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. Default: off. Property "Evdev Wheel Emulation". +options. +Default: off. +Property: "Evdev Wheel Emulation". .TP 7 .BI "Option \*qEmulateWheelButton\*q \*q" integer \*q Specifies which button must be held down to enable wheel emulation mode. @@ -121,97 +136,119 @@ press/release events as specified for the .B XAxisMapping and .B YAxisMapping -settings. If the button is 0 and -.BR EmulateWheel -is on, any motion of the device is converted into wheel events. Default: 4. +settings. +If the button is 0 and +.B EmulateWheel +is on, any motion of the device is converted into wheel events. +Default: 4. Property: "Evdev Wheel Emulation Button". .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. Property: "Evdev -Wheel Emulation Inertia". +press/release events in wheel emulation mode. +Default: 10. +Property: "Evdev Wheel Emulation Inertia". .IP This value must be set for any device does not resemble a standard mouse. Specifically, on absolute devices such as tablets the value should be set to a reasonable fraction of the expected movement to avoid excess scroll events. .IP .B WARNING: -the name \*qinertia\*q is a misnomer. This option defines the distance -required to generate one scroll event similar to the +the name \*qinertia\*q is a misnomer. +This option defines the distance required to generate one scroll event +similar to the .B VertScrollDelta and .B HorizScrollDelta -options. It does not enable inertia in the -physical sense, scrolling stops immediately once the movement has stopped. +options. +It does not enable inertia in the physical sense, +scrolling stops immediately once the movement has stopped. .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. Property: "Evdev Wheel Emulation Timeout". +.B EmulateWheelButton +must be pressed before wheel emulation is started. +If the +.B EmulateWheelButton +is released before this timeout, +the original button press/release event is sent. +Default: 200. +Property: "Evdev Wheel Emulation Timeout". .TP 7 .BI "Option \*qEmulateThirdButton\*q \*q" boolean \*q -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". +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". .TP 7 .BI "Option \*qEmulateThirdButtonTimeout\*q \*q" integer \*q 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". +Default: 1000. +Property: "Evdev Third Button Emulation Timeout". .TP 7 .BI "Option \*qEmulateThirdButtonButton\*q \*q" integer \*q Specifies the physical button number to be emitted if third button emulation is triggered. -Default: 3. Property: "Evdev Third Button Button". +Default: 3. +Property: "Evdev Third Button Button". .TP 7 .BI "Option \*qEmulateThirdButtonMoveThreshold\*q \*q" integer \*q Specifies the maximum move fuzz in device coordinates for third button -emulation. If the device moves by more than this threshold before the third +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". +Default: 20. +Property: "Evdev Third Button Emulation Threshold". .TP 7 .BI "Option \*qGrabDevice\*q \*q" boolean \*q -Force a grab on the event device. Doing so will ensure that no other driver +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). +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. .TP 7 .BI "Option \*qInvertX\*q \*q" Bool \*q .TP 7 .BI "Option \*qInvertY\*q \*q" Bool \*q -Invert the given axis. Default: off. Property: "Evdev Axis Inversion". +Invert the given axis. +Default: off. +Property: "Evdev Axis Inversion". .TP 7 .BI "Option \*qIgnoreRelativeAxes\*q \*q" Bool \*q .TP 7 .BI "Option \*qIgnoreAbsoluteAxes\*q \*q" Bool \*q -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 -which 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. +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 which 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. .br 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. +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. .TP 7 .BI "Option \*qCalibration\*q \*q" "min-x max-x min-y max-y" \*q 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". +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". .TP 7 .B Option \*qMode\*q \*qRelative\*q\fP|\fP\*qAbsolute\*q Sets the mode of the device if device has absolute axes. @@ -219,97 +256,114 @@ The default value for touchpads is relative, for other absolute. This option has no effect on devices without absolute axes. .TP 7 .BI "Option \*qSwapAxes\*q \*q" Bool \*q -Swap x/y axes. Default: off. Property: "Evdev Axes Swap". +Swap x/y axes. +Default: off. +Property: "Evdev Axes Swap". .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 +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. Property: -"Evdev Wheel Emulation Axes". +is mapped to the positive X axis motion. +Default: no mapping. +Property: "Evdev Wheel Emulation Axes". .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 +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". Property: -"Evdev Wheel Emulation Axes". +is mapped to the positive Y axis motion. +Default: "4 5". +Property: "Evdev Wheel Emulation Axes". .TP 7 -.BI "Option \*qTypeName\*q \*q"type"\*q -Specify the X Input 1.x type (see XListInputDevices(__libmansuffix__)). +.BI "Option \*qTypeName\*q" \*q"type"\*q +Specify the X Input 1.x type (see +.BR XListInputDevices (__libmansuffix__)). 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. +based on the device's capabilities. +This option is provided for devices that need quirks. .TP 7 .BI "Option \*qVertScrollDelta\*q \*q" integer \*q The amount of motion considered one unit of scrolling vertically. -Default: "1". Property: "Evdev Scrolling Distance". +Default: "1". +Property: "Evdev Scrolling Distance". .TP 7 .BI "Option \*qHorizScrollDelta\*q \*q" integer \*q The amount of motion considered one unit of scrolling horizontally. -Default: "1". Property: "Evdev Scrolling Distance". +Default: "1". +Property: "Evdev Scrolling Distance". .TP 7 .BI "Option \*qDialDelta\*q \*q" integer \*q -The amount of motion considered one unit of turning the dial. Default: "1". +The amount of motion considered one unit of turning the dial. +Default: "1". Property: "Evdev Scrolling Distance". .TP 7 .BI "Option \*qResolution\*q \*q" integer \*q -Sets the resolution of the device in dots per inch. The resolution is used -to scale relative motion events from mouse devices to 1000 DPI resolution. This -can be used to make high resolution mice less sensitive without turning off -acceleration. If set to 0 no scaling will be performed. Default: "0". - +Sets the resolution of the device in dots per inch. +The resolution is used to scale relative motion events from mouse devices to +1000 DPI resolution. +This can be used to make high resolution mice less sensitive without turning off +acceleration. +If set to 0 no scaling will be performed. +Default: "0". .SH SUPPORTED PROPERTIES The following properties are provided by the .B evdev driver. .TP 7 -.BI "Evdev Axis Calibration" +.B "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. .TP 7 -.BI "Evdev Axis Inversion" -2 boolean values (8 bit, 0 or 1), order X, Y. 1 inverts the axis. +.B "Evdev Axis Inversion" +2 boolean values (8 bit, 0 or 1), order X, Y. +1 inverts the axis. .TP 7 -.BI "Evdev Axes Swap" -1 boolean value (8 bit, 0 or 1). 1 swaps x/y axes. +.B "Evdev Axes Swap" +1 boolean value (8 bit, 0 or 1). +1 swaps x/y axes. .TP 7 -.BI "Evdev Drag Lock Buttons" -8-bit. Either 1 value or pairs of values. Value range 0-32, 0 disables a -value. +.B "Evdev Drag Lock Buttons" +8-bit. Either 1 value or pairs of values. +Value range 0-32, 0 disables a value. .TP 7 -.BI "Evdev Middle Button Emulation" +.B "Evdev Middle Button Emulation" 1 boolean value (8 bit, 0 or 1). .TP 7 -.BI "Evdev Middle Button Timeout" +.B "Evdev Middle Button Timeout" 1 16-bit positive value. .TP 7 -.BI "Evdev Middle Button Button" +.B "Evdev Middle Button Button" 1 8-bit value, allowed range 0-32, 0 disables the button. .TP 7 -.BI "Evdev Wheel Emulation" +.B "Evdev Wheel Emulation" 1 boolean value (8 bit, 0 or 1). .TP 7 -.BI "Evdev Wheel Emulation Axes" -4 8-bit values, order X up, X down, Y up, Y down. 0 disables a value. +.B "Evdev Wheel Emulation Axes" +4 8-bit values, order X up, X down, Y up, Y down. +0 disables a value. .TP 7 -.BI "Evdev Wheel Emulation Button" +.B "Evdev Wheel Emulation Button" 1 8-bit value, allowed range 0-32, 0 disables the button. .TP 7 -.BI "Evdev Wheel Emulation Inertia" +.B "Evdev Wheel Emulation Inertia" 1 16-bit positive value. .TP 7 -.BI "Evdev Wheel Emulation Timeout" +.B "Evdev Wheel Emulation Timeout" 1 16-bit positive value. .TP 7 -.BI "Evdev Scrolling Distance" +.B "Evdev Scrolling Distance" 3 32-bit values: vertical, horizontal and dial. - .SH AUTHORS Kristian Høgsberg, Peter Hutterer .SH "SEE ALSO" -__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__) +.BR __xservername__ (__appmansuffix__), +.BR __xconfigfile__ (__filemansuffix__), +.BR Xserver (__appmansuffix__), +.BR X (__miscmansuffix__)