1 # SPDX-License-Identifier: GPL-2.0-only
3 # Input device configuration
6 menu "Input device support"
9 tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT
12 Say Y here if you have any input device (mouse, keyboard, tablet,
13 joystick, steering wheel ...) connected to your system and want
14 it to be available to applications. This includes standard PS/2
17 Say N here if you have a headless (no monitor, no keyboard) system.
19 More information is available: <file:Documentation/input/input.rst>
23 To compile this driver as a module, choose M here: the
24 module will be called input.
29 tristate "Export input device LEDs in sysfs"
33 Say Y here if you would like to export LEDs on input devices
34 as standard LED class devices in sysfs.
38 To compile this driver as a module, choose M here: the
39 module will be called input-leds.
41 config INPUT_FF_MEMLESS
42 tristate "Support for memoryless force-feedback devices"
44 Say Y here if you have memoryless force-feedback input device
45 such as Logitech WingMan Force 3D, ThrustMaster FireStorm Dual
46 Power 2, or similar. You will also need to enable hardware-specific
51 To compile this driver as a module, choose M here: the
52 module will be called ff-memless.
54 config INPUT_SPARSEKMAP
55 tristate "Sparse keymap support library"
57 Say Y here if you are using a driver for an input
58 device that uses sparse keymap. This option is only
59 useful for out-of-tree drivers since in-tree drivers
60 select it automatically.
64 To compile this driver as a module, choose M here: the
65 module will be called sparse-keymap.
67 config INPUT_MATRIXKMAP
68 tristate "Matrix keymap support library"
70 Say Y here if you are using a driver for an input
71 device that uses matrix keymap. This option is only
72 useful for out-of-tree drivers since in-tree drivers
73 select it automatically.
77 To compile this driver as a module, choose M here: the
78 module will be called matrix-keymap.
80 config INPUT_VIVALDIFMAP
83 ChromeOS Vivaldi keymap support library. This is a hidden
84 option so that drivers can use common code to parse and
85 expose the vivaldi function row keymap.
87 comment "Userland interfaces"
90 tristate "Mouse interface"
92 Say Y here if you want your mouse to be accessible as char devices
93 13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
94 emulated IntelliMouse Explorer PS/2 mouse. That way, all user space
95 programs (including SVGAlib, GPM and X) will be able to use your
100 To compile this driver as a module, choose M here: the
101 module will be called mousedev.
103 config INPUT_MOUSEDEV_PSAUX
104 bool "Provide legacy /dev/psaux device"
105 depends on INPUT_MOUSEDEV
107 Say Y here if you want your mouse also be accessible as char device
108 10:1 - /dev/psaux. The data available through /dev/psaux is exactly
109 the same as the data from /dev/input/mice.
113 config INPUT_MOUSEDEV_SCREEN_X
114 int "Horizontal screen resolution"
115 depends on INPUT_MOUSEDEV
118 If you're using a digitizer, or a graphic tablet, and want to use
119 it as a mouse then the mousedev driver needs to know the X window
120 screen resolution you are using to correctly scale the data. If
121 you're not using a digitizer, this value is ignored.
123 config INPUT_MOUSEDEV_SCREEN_Y
124 int "Vertical screen resolution"
125 depends on INPUT_MOUSEDEV
128 If you're using a digitizer, or a graphic tablet, and want to use
129 it as a mouse then the mousedev driver needs to know the X window
130 screen resolution you are using to correctly scale the data. If
131 you're not using a digitizer, this value is ignored.
134 tristate "Joystick interface"
136 Say Y here if you want your joystick or gamepad to be
137 accessible as char device 13:0+ - /dev/input/jsX device.
141 More information is available: <file:Documentation/input/joydev/joystick.rst>
143 To compile this driver as a module, choose M here: the
144 module will be called joydev.
147 tristate "Event interface"
149 Say Y here if you want your input device events be accessible
150 under char device 13:64+ - /dev/input/eventX in a generic way.
152 To compile this driver as a module, choose M here: the
153 module will be called evdev.
156 tristate "Event debugging"
158 Say Y here if you have a problem with the input subsystem and
159 want all events (keypresses, mouse movements), to be output to
160 the system log. While this is useful for debugging, it's also
161 a security threat - your keypresses include your passwords, of
166 To compile this driver as a module, choose M here: the
167 module will be called evbug.
169 config INPUT_KUNIT_TEST
170 tristate "KUnit tests for Input" if !KUNIT_ALL_TESTS
171 depends on INPUT && KUNIT
172 default KUNIT_ALL_TESTS
174 Say Y here if you want to build the KUnit tests for the input
177 If in doubt, say "N".
179 config INPUT_APMPOWER
180 tristate "Input Power Event -> APM Bridge" if EXPERT
181 depends on INPUT && APM_EMULATION
183 Say Y here if you want suspend key events to trigger a user
184 requested suspend through APM. This is useful on embedded
185 systems where such behaviour is desired without userspace
186 interaction. If unsure, say N.
188 To compile this driver as a module, choose M here: the
189 module will be called apm-power.
191 comment "Input Device Drivers"
193 source "drivers/input/keyboard/Kconfig"
195 source "drivers/input/mouse/Kconfig"
197 source "drivers/input/joystick/Kconfig"
199 source "drivers/input/tablet/Kconfig"
201 source "drivers/input/touchscreen/Kconfig"
203 source "drivers/input/misc/Kconfig"
205 source "drivers/input/rmi4/Kconfig"
209 menu "Hardware I/O ports"
211 source "drivers/input/serio/Kconfig"
213 source "drivers/input/gameport/Kconfig"