1EVDEV(4)                   Kernel Interfaces Manual                   EVDEV(4)
2
3
4

NAME

6       evdev - Generic Linux input driver
7

SYNOPSIS

9       Section "InputDevice"
10         Identifier "devname"
11         Driver "evdev"
12         Option "Device"   "devpath"
13         ...
14       EndSection
15

DESCRIPTION

17       evdev  is  an  Xorg input driver for Linux´s generic event devices.  It
18       therefore supports all input  devices  that  the  kernel  knows  about,
19       including most mice and keyboards.
20
21       The  evdev  driver  can  serve  as  both a pointer and a keyboard input
22       device, and may be used as both the core keyboard and the core pointer.
23       Multiple  input  devices  are  supported  by multiple instances of this
24       driver, with one Load directive for evdev in the Module section of your
25       xorg.conf for each input device that will use this driver.
26

SUPPORTED HARDWARE

28       In  general,  any  input device that the kernel has a driver for can be
29       accessed through the evdev driver.  See the Linux kernel  documentation
30       for a complete list.
31

CONFIGURATION DETAILS

33       Please refer to xorg.conf(5x) for general configuration details and for
34       options that can be used with all input  drivers.   This  section  only
35       covers configuration details specific to this driver.
36

BASIC CONFIGURATIONS

38       Most users of this driver will probably be quite happy with the follow‐
39       ing for all QWERTY keyboards:
40
41       Section "InputDevice"
42         Identifier "keyboard"
43         Driver "evdev"
44         Option "evBits"  "+1"
45         Option "keyBits" "~1-255 ~352-511"
46         Option "Pass"    "3"
47         ...
48       EndSection
49
50       And the following for all mice:
51
52       Section "InputDevice"
53         Identifier "mouse"
54         Driver "evdev"
55         Option "evBits"  "+1-2"
56         Option "keyBits" "~272-287"
57         Option "relBits" "~0-2 ~6 ~8"
58         Option "Pass"    "3"
59         ...
60       EndSection
61
62       To understand what those Bits options do, or for more complex  configu‐
63       rations, please see ADVANCED OPTIONS below.
64

ADVANCED OPTIONS

66   DEVICE SPECIFICATION
67       For this section you'll want to have knowledge of glob (7) and our evil
68       BIT MATCHING SPECIFICATION stuff.
69
70       The following driver Options control what devices are accepted:
71
72
73       Option "Device" "string"
74              Specifies the device  note  through  which  the  device  can  be
75              accessed.   At  this time ONLY /dev/input/event<N>, where <N> is
76              an integer, are matched against this this field.
77              This option uses globbing.
78              Please note that use of this option is strongly discouraged.
79
80
81       Option "Name" "string"
82              Specifies the device name for the device you wish to use.
83              The device name is generally the only consistent identifier  for
84              devices  that  are commonly unplugged and plugged back into dif‐
85              ferent ports.
86              A list of currently plugged in  devices  and  associated  device
87              names  can  be obtained by typing "cat /proc/bus/input/devices",
88              the "Name" field is the value you want for this option.
89              This option uses globbing.
90
91
92       Option "Phys" "string"
93              Specifies the device phys string for the device you wish to use.
94              The phys string is generally consistant to the USB port a device
95              is plugged into.
96              A  list  of  currently  plugged in devices and associated device
97              names can be obtained by typing  "cat  /proc/bus/input/devices",
98              the "Phys" field is the value you want for this option.
99              This option uses globbing.
100
101
102       Option "<map>Bits" "bit specifier"
103              Specifies  device  capability  bits  which must be set, possibly
104              set, or unset.
105              <map>Bits: Where map is one of ev, key, rel, abs, msc, led, snd,
106              or ff.
107              The  bit  specifier format is a string consisting of +<n>, -<n>,
108              and ~<n> space sepirated specifiers, where  <n>  is  a  positive
109              integer  or  integer  range.  (The latter given in the format of
110              2-6.)
111              + specifies bits which must be set.
112              - specifies bits which must not be set.
113              ~ is a little more complex, it specifies that at  least  one  of
114              the bits given with ~ for the field in question must be set, but
115              it doesn't matter how many or which of the bits. (It is actually
116              the most useful of the 3 specifiers.)
117              As  an example '+0 +3 -1-2 ~5-10', requires bits 0 and 3 be set,
118              bits 1 and 2 to not be set, and at least one bit in the range of
119              5 to 10 be set.
120              An  annoyingly formatted set of bitmasks for your devices can be
121              obtained   by   typing   "cat   /proc/bus/input/devices",    and
122              /usr/include/linux/input.h  should  contain  the  defines  which
123              declare what bits are what for each field.
124
125
126       Option "bustype" "integer"
127              Specifies the bus ID for the device you wish to use.
128              This is either 0 (the default, matches anything), or the Bus=<n>
129              field in /proc/bus/input/devices for your device.
130              This  value depends on what type of bus your device is connected
131              to.
132
133
134       Option "vendor" "integer"
135              Specifies the vendor ID for the device you wish to use.
136              This is either 0 (the default, matches anything),  or  the  Ven‐
137              dor=<n> field in /proc/bus/input/devices for your device.
138              This  value  should  remain  constant  barring  perhaps firmware
139              updates to the device itself.
140
141
142       Option "version" "integer"
143              Specifies the version for the device you wish to use.
144              This is either 0 (the default, matches anything),  or  the  Ver‐
145              sion=<n> field in /proc/bus/input/devices for your device.
146              This  value  should  remain  constant  barring  perhaps firmware
147              updates to the device itself.
148
149
150       Option "product" "integer"
151              Specifies the product ID for the device you wish to use.
152              This is either 0 (the default, matches anything), or  the  Prod‐
153              uct=<n> field in /proc/bus/input/devices for your device.
154              This  value  should  remain  constant  barring  perhaps firmware
155              updates to the device itself.
156
157
158       Option "Pass" "integer"
159              Specifies the order in which evdev will scan for devices.
160              This is in the range of 0 to 3, and is used for the  case  where
161              more then one evdev inputsection matches the same device.
162              An  inputsection  with  a lower pass number will always beat out
163              one with a higher pass number.  Order when both sections are the
164              same number is undefined.
165              The default is 0.
166
167
168
169   RELATIVE AXIS CONFIGURATION
170       The  relative  axis portion of this driver handle all reported relative
171       axies.
172       The axies are named X, Y, Z, RX, RY, RZ, HWHEEL, DIAL, WHEEL, MISC, 10,
173       11, 12, 13, 14, and 15.
174       The  axies  are reported to X as valuators, with the default mapping of
175       axies to valuators being the first axies found to the  first  valuator,
176       the second found to the second valuator, and so on, so that if you have
177       axies X, Y, HWHEEL, and WHEEL,  you  would  have  X=0,  Y=1,  HWHEEL=2,
178       WHEEL=3.
179       If  the  driver  is reporting core events, valuators 0 and 1 are always
180       mapped to x and y coordinates, respectively.
181       The following driver Options control the relative axis portion  of  the
182       driver:
183
184       Option "<axis>RelativeAxisMap" "number"
185              This remaps the axis specified to the specified valuator.
186
187       Option "<axis>RelativeAxisButtons" "number number"
188              This remaps the axis specified to the specified buttons.
189              Note that the physical buttons are always remapped around 'fake'
190              buttons created by this option, so that  if  you  have  physical
191              buttons  1  2  3 4 5, and map the Wheel axis to buttons 4 5, you
192              get buttons 1 2 3 4 5 6 7, with buttons 6 and 7  being  physical
193              buttons 4 and 5.
194
195   ABSOLUTE AXIS CONFIGURATION
196       The  relative  axis portion of this driver handle all reported relative
197       axies.
198       The axies are named X, Y, Z, RX, RY, RZ, THROTTLE, RUDDER, WHEEL,  GAS,
199       BREAK, <11-15>, HAT0X, HAT0Y, HAT1X, HAT1Y, HAT2X, HAT2Y, HAT3X, HAT3Y,
200       PRESSURE, TILT_X, TILT_Y, TOOL_WIDTH, VOLUME, <29-39>, MISC, <41-62>.
201       The axies are reported to X as valuators, with the default  mapping  of
202       axies  to  valuators being the first axies found to the first valuator,
203       the second found to the second valuator, and so on, so that if you have
204       axies  X,  Y,  TILT_X,  and  TILT_Y, you would have X=0, Y=1, TILT_X=2,
205       TILT_Y=3.
206       If the driver is reporting core events, valuators 0 and  1  are  always
207       mapped to x and y coordinates, respectively.
208       The  following  driver Options control the relative axis portion of the
209       driver:
210
211       Option "<axis>AbsoluteAxisMap" "number"
212              This remaps the axis specified to the specified valuator.
213
214       Option "AbsoluteScreen" "number"
215              This binds the device to a specific screen, scaling  it  to  the
216              coordinate space of that screen.
217              The number can either be -1, or a valid screen number.
218              If  -1  or  if  in  relative mode no scaling or screen fixing is
219              done.
220              This is of most use for digitizers, where  the  screen  and  the
221              input device are the same surface.
222
223       Option "Mode" "<mode>"
224              This selects the default mode for the device.
225              Valid values are "absolute" and "relative".
226              This  can  be  set at run time per actual device with the xinput
227              utility.
228
229   BUTTON CONFIGURATION
230       At the moment, the button portion of this driver only  handles  buttons
231       reported as mouse buttons, that is from BTN_MOUSE to BTN_JOYSTICK - 1.
232       At this time there are no configuration options for buttens.
233
234   KEYBOARD CONFIGURATION
235       The  keyboard  portion  of  this  driver  handles all keys reported and
236       requires XKB support.
237       The following driver Options control the relative axis portion  of  the
238       driver:
239
240       Option "XkbRules" "rules"
241              specifies  which XKB rules file to use for interpreting the Xkb‐
242              Model, XkbLayout, XkbVariant, and XkbOptions settings.  Default:
243              "xorg"  for most platforms, but "xfree98" for the Japanese PC-98
244              platforms.
245
246       Option "XkbModel" "modelname"
247              specifies the XKB keyboard model name.  Default: "evdev".
248
249       Option "XkbLayout" "layoutname"
250              specifies the XKB keyboard layout name.   This  is  usually  the
251              country or language type of the keyboard.  Default: "us".
252
253       Option "XkbVariant" "variants"
254              specifies  the  XKB  keyboard  variant components.  These can be
255              used to enhance the keyboard layout details.  Default: not set.
256
257       Option "XkbOptions" "options"
258              specifies the XKB keyboard option components.  These can be used
259              to enhance the keyboard behaviour.  Default: not set.
260
261

AUTHORS

263       Zephaniah E. Hull.
264       Kristian Høgsberg.
265

SEE ALSO

267       Xorg(1x), xorg.conf(5x), xorgconfig(1x), Xserver(1x), X(7).
268
269
270
271X Version 11                xf86-input-evdev 1.1.2                    EVDEV(4)
Impressum