Merge tag 'sh-for-v6.5-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubit...
[platform/kernel/linux-rpi.git] / drivers / input / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Input device configuration
4 #
5
6 menu "Input device support"
7
8 config INPUT
9         tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT
10         default y
11         help
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
15           keyboard and mouse.
16
17           Say N here if you have a headless (no monitor, no keyboard) system.
18
19           More information is available: <file:Documentation/input/input.rst>
20
21           If unsure, say Y.
22
23           To compile this driver as a module, choose M here: the
24           module will be called input.
25
26 if INPUT
27
28 config INPUT_LEDS
29         tristate "Export input device LEDs in sysfs"
30         depends on LEDS_CLASS
31         default INPUT
32         help
33           Say Y here if you would like to export LEDs on input devices
34           as standard LED class devices in sysfs.
35
36           If unsure, say Y.
37
38           To compile this driver as a module, choose M here: the
39           module will be called input-leds.
40
41 config INPUT_FF_MEMLESS
42         tristate "Support for memoryless force-feedback devices"
43         help
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
47           driver.
48
49           If unsure, say N.
50
51           To compile this driver as a module, choose M here: the
52           module will be called ff-memless.
53
54 config INPUT_SPARSEKMAP
55         tristate "Sparse keymap support library"
56         help
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.
61
62           If unsure, say N.
63
64           To compile this driver as a module, choose M here: the
65           module will be called sparse-keymap.
66
67 config INPUT_MATRIXKMAP
68         tristate "Matrix keymap support library"
69         help
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.
74
75           If unsure, say N.
76
77           To compile this driver as a module, choose M here: the
78           module will be called matrix-keymap.
79
80 config INPUT_VIVALDIFMAP
81         tristate
82         help
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.
86
87 comment "Userland interfaces"
88
89 config INPUT_MOUSEDEV
90         tristate "Mouse interface"
91         help
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
96           mouse.
97
98           If unsure, say Y.
99
100           To compile this driver as a module, choose M here: the
101           module will be called mousedev.
102
103 config INPUT_MOUSEDEV_PSAUX
104         bool "Provide legacy /dev/psaux device"
105         depends on INPUT_MOUSEDEV
106         help
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.
110
111           If unsure, say Y.
112
113 config INPUT_MOUSEDEV_SCREEN_X
114         int "Horizontal screen resolution"
115         depends on INPUT_MOUSEDEV
116         default "1024"
117         help
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.
122
123 config INPUT_MOUSEDEV_SCREEN_Y
124         int "Vertical screen resolution"
125         depends on INPUT_MOUSEDEV
126         default "768"
127         help
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.
132
133 config INPUT_JOYDEV
134         tristate "Joystick interface"
135         help
136           Say Y here if you want your joystick or gamepad to be
137           accessible as char device 13:0+ - /dev/input/jsX device.
138
139           If unsure, say Y.
140
141           More information is available: <file:Documentation/input/joydev/joystick.rst>
142
143           To compile this driver as a module, choose M here: the
144           module will be called joydev.
145
146 config INPUT_EVDEV
147         tristate "Event interface"
148         help
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.
151
152           To compile this driver as a module, choose M here: the
153           module will be called evdev.
154
155 config INPUT_EVBUG
156         tristate "Event debugging"
157         help
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
162           course.
163
164           If unsure, say N.
165
166           To compile this driver as a module, choose M here: the
167           module will be called evbug.
168
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
173         help
174           Say Y here if you want to build the KUnit tests for the input
175           subsystem.
176
177           If in doubt, say "N".
178
179 config INPUT_APMPOWER
180         tristate "Input Power Event -> APM Bridge" if EXPERT
181         depends on INPUT && APM_EMULATION
182         help
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.
187
188           To compile this driver as a module, choose M here: the
189           module will be called apm-power.
190
191 comment "Input Device Drivers"
192
193 source "drivers/input/keyboard/Kconfig"
194
195 source "drivers/input/mouse/Kconfig"
196
197 source "drivers/input/joystick/Kconfig"
198
199 source "drivers/input/tablet/Kconfig"
200
201 source "drivers/input/touchscreen/Kconfig"
202
203 source "drivers/input/misc/Kconfig"
204
205 source "drivers/input/rmi4/Kconfig"
206
207 endif
208
209 menu "Hardware I/O ports"
210
211 source "drivers/input/serio/Kconfig"
212
213 source "drivers/input/gameport/Kconfig"
214
215 endmenu
216
217 endmenu
218