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