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