Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
EVDEV(4x)			  X Version 11			       EVDEV(4x)

NAME
     evdev - Generic Linux input driver for XLibre

SYNOPSIS
     Section "InputDevice"
       Identifier "devname"
       Driver "evdev"
       Option "Device"	 "devpath"
       Option "Emulate3Buttons"     "True"
       Option "Emulate3Timeout"     "50"
       Option "GrabDevice"     "False"
       ...
     EndSection

DESCRIPTION
     evdev  is	an  XLibre  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 dri-
     ver 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  configura-
     tion.  Devices configured in the xorg.conf(5) are not hot-plug capable.

SUPPORTED HARDWARE
     In  general,  any	input device that the kernel has a driver for can be ac-
     cessed 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 op-
     tions 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 map-
	    ping  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-depen-
	    dent.  Property: "Device Node" (read-only).

     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" indicat-
	    ing 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 emu-
	    lated by pressing both buttons simultaneously.  Default: off.  Prop-
	    erty: "Evdev Middle Button Emulation".

     Option "Emulate3Timeout" "integer"
	    Sets the timeout (in milliseconds) that the driver waits before  de-
	    ciding  if	two  buttons were pressed "simultaneously" when 3 button
	    emulation is enabled.  Default: 50.  Property: "Evdev Middle  Button
	    Timeout".

     Option "Emulate3Button" "integer"
	    Specifies  the physical button number to be emitted if middle button
	    emulation is triggered.  Default: 2.  Property: "Evdev Middle Button
	    Button".

     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  de-
	    scription  of  the EmulateWheelButton, EmulateWheelInertia, Emulate-
	    WheelTimeout, 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  XAxisMap-
	    ping and YAxisMapping settings.  If the button is 0 and EmulateWheel
	    is on, any motion of the device is converted into wheel events.  De-
	    fault: 4.  Property: "Evdev Wheel Emulation Button".

     Option "EmulateWheelInertia" "integer"
	    Specifies how far (in pixels) the pointer must move to generate but-
	    ton  press/release	events	in  wheel  emulation mode.  Default: 10.
	    Property: "Evdev Wheel Emulation Inertia".

	    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.

	    WARNING:  the name "inertia" is a misnomer.  This option defines the
	    distance required to  generate  one  scroll  event	similar  to  the
	    VertScrollDelta  and  HorizScrollDelta  options.  It does not enable
	    inertia in the physical sense, scrolling stops immediately once  the
	    movement has stopped.

     Option "EmulateWheelTimeout" "integer"
	    Specifies  the  time  in milliseconds the EmulateWheelButton must be
	    pressed before wheel emulation is started.	If the	EmulateWheelBut-
	    ton  is  released before this timeout, the original button press/re-
	    lease event is sent.  Default: 200.  Property: "Evdev  Wheel  Emula-
	    tion Timeout".

     Option "EmulateThirdButton" "boolean"
	    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 "EmulateThirdButtonTimeout" "integer"
	    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 "EmulateThirdButtonButton" "integer"
	    Specifies the physical button number to be emitted if  third  button
	    emulation  is triggered.  Default: 3.  Property: "Evdev Third Button
	    Button".

     Option "EmulateThirdButtonMoveThreshold" "integer"
	    Specifies the maximum move fuzz in device coordinates for third but-
	    ton emulation.  If the device moves by more than this threshold  be-
	    fore  the third button emulation is triggered, the emulation is can-
	    celled and a first button event is generated  as  normal.	Default:
	    20.  Property: "Evdev Third Button Emulation Threshold".

     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 Inver-
	    sion".

     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 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.
	    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  for-
	    warded.  Users are discouraged from setting this option.

     Option "Calibration" "min-x max-x min-y max-y"
	    Calibrates the X and Y axes for devices that need to scale to a dif-
	    ferent  coordinate	system than reported to the X server.  This fea-
	    ture is required for devices that need to scale to a different coor-
	    dinate system than originally reported by the  kernel  (e.g.  touch-
	    screens).	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 "Mode" "Relative"|"Absolute"
	    Sets the mode of the device if device has absolute	axes.	The  de-
	    fault value for touchpads is relative, for other absolute.	This op-
	    tion has no effect on devices without absolute axes.

     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".

     Option "TypeName"""type""
	    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 de-
	    vices that need quirks.

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

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

     Option "DialDelta" "integer"
	    The amount of motion considered one unit of turning the  dial.   De-
	    fault: "1".  Property: "Evdev Scrolling Distance".

     Option "Resolution" "integer"
	    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".

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  dis-
	    ables a value.

     Evdev Middle Button Emulation
	    1 boolean value (8 bit, 0 or 1).

     Evdev Middle Button Timeout
	    1 16-bit positive value.

     Evdev Middle Button Button
	    1 8-bit value, allowed range 0-32, 0 disables the button.

     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.

     Evdev Scrolling Distance
	    3 32-bit values: vertical, horizontal and dial.

AUTHORS
     Kristian HA,gsberg, Peter Hutterer

SEE ALSO
     XLibre(1), xorg.conf(5), Xserver(1), X(7)

xlibre-xf86-input-evdev 25.0.0	   2016-11-17			       EVDEV(4x)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=evdev&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help