xref: /linux/drivers/input/Kconfig (revision d2912cb15bdda8ba4a5dd73396ad62641af2f520)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Input device configuration
4#
5
6menu "Input device support"
7	depends on !UML
8
9config INPUT
10	tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT
11	default y
12	help
13	  Say Y here if you have any input device (mouse, keyboard, tablet,
14	  joystick, steering wheel ...) connected to your system and want
15	  it to be available to applications. This includes standard PS/2
16	  keyboard and mouse.
17
18	  Say N here if you have a headless (no monitor, no keyboard) system.
19
20	  More information is available: <file:Documentation/input/input.rst>
21
22	  If unsure, say Y.
23
24	  To compile this driver as a module, choose M here: the
25	  module will be called input.
26
27if INPUT
28
29config INPUT_LEDS
30	tristate "Export input device LEDs in sysfs"
31	depends on LEDS_CLASS
32	default INPUT
33	help
34	  Say Y here if you would like to export LEDs on input devices
35	  as standard LED class devices in sysfs.
36
37	  If unsure, say Y.
38
39	  To compile this driver as a module, choose M here: the
40	  module will be called input-leds.
41
42config INPUT_FF_MEMLESS
43	tristate "Support for memoryless force-feedback devices"
44	help
45	  Say Y here if you have memoryless force-feedback input device
46	  such as Logitech WingMan Force 3D, ThrustMaster FireStorm Dual
47	  Power 2, or similar. You will also need to enable hardware-specific
48	  driver.
49
50	  If unsure, say N.
51
52	  To compile this driver as a module, choose M here: the
53	  module will be called ff-memless.
54
55config INPUT_POLLDEV
56	tristate "Polled input device skeleton"
57	help
58	  Say Y here if you are using a driver for an input
59	  device that periodically polls hardware state. This
60	  option is only useful for out-of-tree drivers since
61	  in-tree drivers select it automatically.
62
63	  If unsure, say N.
64
65	  To compile this driver as a module, choose M here: the
66	  module will be called input-polldev.
67
68config INPUT_SPARSEKMAP
69	tristate "Sparse keymap support library"
70	help
71	  Say Y here if you are using a driver for an input
72	  device that uses sparse keymap. This option is only
73	  useful for out-of-tree drivers since in-tree drivers
74	  select it automatically.
75
76	  If unsure, say N.
77
78	  To compile this driver as a module, choose M here: the
79	  module will be called sparse-keymap.
80
81config INPUT_MATRIXKMAP
82	tristate "Matrix keymap support library"
83	help
84	  Say Y here if you are using a driver for an input
85	  device that uses matrix keymap. This option is only
86	  useful for out-of-tree drivers since in-tree drivers
87	  select it automatically.
88
89	  If unsure, say N.
90
91	  To compile this driver as a module, choose M here: the
92	  module will be called matrix-keymap.
93
94comment "Userland interfaces"
95
96config INPUT_MOUSEDEV
97	tristate "Mouse interface"
98	help
99	  Say Y here if you want your mouse to be accessible as char devices
100	  13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
101	  emulated IntelliMouse Explorer PS/2 mouse. That way, all user space
102	  programs (including SVGAlib, GPM and X) will be able to use your
103	  mouse.
104
105	  If unsure, say Y.
106
107	  To compile this driver as a module, choose M here: the
108	  module will be called mousedev.
109
110config INPUT_MOUSEDEV_PSAUX
111	bool "Provide legacy /dev/psaux device"
112	depends on INPUT_MOUSEDEV
113	help
114	  Say Y here if you want your mouse also be accessible as char device
115	  10:1 - /dev/psaux. The data available through /dev/psaux is exactly
116	  the same as the data from /dev/input/mice.
117
118	  If unsure, say Y.
119
120config INPUT_MOUSEDEV_SCREEN_X
121	int "Horizontal screen resolution"
122	depends on INPUT_MOUSEDEV
123	default "1024"
124	help
125	  If you're using a digitizer, or a graphic tablet, and want to use
126	  it as a mouse then the mousedev driver needs to know the X window
127	  screen resolution you are using to correctly scale the data. If
128	  you're not using a digitizer, this value is ignored.
129
130config INPUT_MOUSEDEV_SCREEN_Y
131	int "Vertical screen resolution"
132	depends on INPUT_MOUSEDEV
133	default "768"
134	help
135	  If you're using a digitizer, or a graphic tablet, and want to use
136	  it as a mouse then the mousedev driver needs to know the X window
137	  screen resolution you are using to correctly scale the data. If
138	  you're not using a digitizer, this value is ignored.
139
140config INPUT_JOYDEV
141	tristate "Joystick interface"
142	help
143	  Say Y here if you want your joystick or gamepad to be
144	  accessible as char device 13:0+ - /dev/input/jsX device.
145
146	  If unsure, say Y.
147
148	  More information is available: <file:Documentation/input/joydev/joystick.rst>
149
150	  To compile this driver as a module, choose M here: the
151	  module will be called joydev.
152
153config INPUT_EVDEV
154	tristate "Event interface"
155	help
156	  Say Y here if you want your input device events be accessible
157	  under char device 13:64+ - /dev/input/eventX in a generic way.
158
159	  To compile this driver as a module, choose M here: the
160	  module will be called evdev.
161
162config INPUT_EVBUG
163	tristate "Event debugging"
164	help
165	  Say Y here if you have a problem with the input subsystem and
166	  want all events (keypresses, mouse movements), to be output to
167	  the system log. While this is useful for debugging, it's also
168	  a security threat - your keypresses include your passwords, of
169	  course.
170
171	  If unsure, say N.
172
173	  To compile this driver as a module, choose M here: the
174	  module will be called evbug.
175
176config INPUT_APMPOWER
177	tristate "Input Power Event -> APM Bridge" if EXPERT
178	depends on INPUT && APM_EMULATION
179	help
180	  Say Y here if you want suspend key events to trigger a user
181	  requested suspend through APM. This is useful on embedded
182	  systems where such behaviour is desired without userspace
183	  interaction. If unsure, say N.
184
185	  To compile this driver as a module, choose M here: the
186	  module will be called apm-power.
187
188comment "Input Device Drivers"
189
190source "drivers/input/keyboard/Kconfig"
191
192source "drivers/input/mouse/Kconfig"
193
194source "drivers/input/joystick/Kconfig"
195
196source "drivers/input/tablet/Kconfig"
197
198source "drivers/input/touchscreen/Kconfig"
199
200source "drivers/input/misc/Kconfig"
201
202source "drivers/input/rmi4/Kconfig"
203
204endif
205
206menu "Hardware I/O ports"
207
208source "drivers/input/serio/Kconfig"
209
210source "drivers/input/gameport/Kconfig"
211
212endmenu
213
214endmenu
215
216