Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
[platform/kernel/linux-starfive.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_APMPOWER
170         tristate "Input Power Event -> APM Bridge" if EXPERT
171         depends on INPUT && APM_EMULATION
172         help
173           Say Y here if you want suspend key events to trigger a user
174           requested suspend through APM. This is useful on embedded
175           systems where such behaviour is desired without userspace
176           interaction. If unsure, say N.
177
178           To compile this driver as a module, choose M here: the
179           module will be called apm-power.
180
181 comment "Input Device Drivers"
182
183 source "drivers/input/keyboard/Kconfig"
184
185 source "drivers/input/mouse/Kconfig"
186
187 source "drivers/input/joystick/Kconfig"
188
189 source "drivers/input/tablet/Kconfig"
190
191 source "drivers/input/touchscreen/Kconfig"
192
193 source "drivers/input/misc/Kconfig"
194
195 source "drivers/input/rmi4/Kconfig"
196
197 endif
198
199 menu "Hardware I/O ports"
200
201 source "drivers/input/serio/Kconfig"
202
203 source "drivers/input/gameport/Kconfig"
204
205 endmenu
206
207 endmenu
208