Man Linux: Main Page and Category List


       evdev - Generic Linux input driver


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


       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

       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

       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

       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

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


       Xorg(1), xorg.conf(5), Xserver(1), X(7), README.mouse.