1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Input device configuration
4#
5
6menu "Input device support"
7
8config 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
26if INPUT
27
28config 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
41config 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
54config 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
67config 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
80comment "Userland interfaces"
81
82config INPUT_MOUSEDEV
83	tristate "Mouse interface"
84	help
85	  Say Y here if you want your mouse to be accessible as char devices
86	  13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
87	  emulated IntelliMouse Explorer PS/2 mouse. That way, all user space
88	  programs (including SVGAlib, GPM and X) will be able to use your
89	  mouse.
90
91	  If unsure, say Y.
92
93	  To compile this driver as a module, choose M here: the
94	  module will be called mousedev.
95
96config INPUT_MOUSEDEV_PSAUX
97	bool "Provide legacy /dev/psaux device"
98	depends on INPUT_MOUSEDEV
99	help
100	  Say Y here if you want your mouse also be accessible as char device
101	  10:1 - /dev/psaux. The data available through /dev/psaux is exactly
102	  the same as the data from /dev/input/mice.
103
104	  If unsure, say Y.
105
106config INPUT_MOUSEDEV_SCREEN_X
107	int "Horizontal screen resolution"
108	depends on INPUT_MOUSEDEV
109	default "1024"
110	help
111	  If you're using a digitizer, or a graphic tablet, and want to use
112	  it as a mouse then the mousedev driver needs to know the X window
113	  screen resolution you are using to correctly scale the data. If
114	  you're not using a digitizer, this value is ignored.
115
116config INPUT_MOUSEDEV_SCREEN_Y
117	int "Vertical screen resolution"
118	depends on INPUT_MOUSEDEV
119	default "768"
120	help
121	  If you're using a digitizer, or a graphic tablet, and want to use
122	  it as a mouse then the mousedev driver needs to know the X window
123	  screen resolution you are using to correctly scale the data. If
124	  you're not using a digitizer, this value is ignored.
125
126config INPUT_JOYDEV
127	tristate "Joystick interface"
128	help
129	  Say Y here if you want your joystick or gamepad to be
130	  accessible as char device 13:0+ - /dev/input/jsX device.
131
132	  If unsure, say Y.
133
134	  More information is available: <file:Documentation/input/joydev/joystick.rst>
135
136	  To compile this driver as a module, choose M here: the
137	  module will be called joydev.
138
139config INPUT_EVDEV
140	tristate "Event interface"
141	help
142	  Say Y here if you want your input device events be accessible
143	  under char device 13:64+ - /dev/input/eventX in a generic way.
144
145	  To compile this driver as a module, choose M here: the
146	  module will be called evdev.
147
148config INPUT_EVBUG
149	tristate "Event debugging"
150	help
151	  Say Y here if you have a problem with the input subsystem and
152	  want all events (keypresses, mouse movements), to be output to
153	  the system log. While this is useful for debugging, it's also
154	  a security threat - your keypresses include your passwords, of
155	  course.
156
157	  If unsure, say N.
158
159	  To compile this driver as a module, choose M here: the
160	  module will be called evbug.
161
162config INPUT_APMPOWER
163	tristate "Input Power Event -> APM Bridge" if EXPERT
164	depends on INPUT && APM_EMULATION
165	help
166	  Say Y here if you want suspend key events to trigger a user
167	  requested suspend through APM. This is useful on embedded
168	  systems where such behaviour is desired without userspace
169	  interaction. If unsure, say N.
170
171	  To compile this driver as a module, choose M here: the
172	  module will be called apm-power.
173
174comment "Input Device Drivers"
175
176source "drivers/input/keyboard/Kconfig"
177
178source "drivers/input/mouse/Kconfig"
179
180source "drivers/input/joystick/Kconfig"
181
182source "drivers/input/tablet/Kconfig"
183
184source "drivers/input/touchscreen/Kconfig"
185
186source "drivers/input/misc/Kconfig"
187
188source "drivers/input/rmi4/Kconfig"
189
190endif
191
192menu "Hardware I/O ports"
193
194source "drivers/input/serio/Kconfig"
195
196source "drivers/input/gameport/Kconfig"
197
198endmenu
199
200endmenu
201
202