xref: /linux/drivers/input/Kconfig (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
21da177e4SLinus Torvalds#
31da177e4SLinus Torvalds# Input device configuration
41da177e4SLinus Torvalds#
51da177e4SLinus Torvalds
61da177e4SLinus Torvaldsmenu "Input device support"
71da177e4SLinus Torvalds
81da177e4SLinus Torvaldsconfig INPUT
96a108a14SDavid Rientjes	tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT
101da177e4SLinus Torvalds	default y
1136203c4fSDmitry Torokhov	help
121da177e4SLinus Torvalds	  Say Y here if you have any input device (mouse, keyboard, tablet,
131da177e4SLinus Torvalds	  joystick, steering wheel ...) connected to your system and want
141da177e4SLinus Torvalds	  it to be available to applications. This includes standard PS/2
151da177e4SLinus Torvalds	  keyboard and mouse.
161da177e4SLinus Torvalds
171da177e4SLinus Torvalds	  Say N here if you have a headless (no monitor, no keyboard) system.
181da177e4SLinus Torvalds
19ec15872dSMauro Carvalho Chehab	  More information is available: <file:Documentation/input/input.rst>
201da177e4SLinus Torvalds
211da177e4SLinus Torvalds	  If unsure, say Y.
221da177e4SLinus Torvalds
231da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
241da177e4SLinus Torvalds	  module will be called input.
251da177e4SLinus Torvalds
261da177e4SLinus Torvaldsif INPUT
271da177e4SLinus Torvalds
28f60c8ba7SSamuel Thibaultconfig INPUT_LEDS
29f60c8ba7SSamuel Thibault	tristate "Export input device LEDs in sysfs"
30f60c8ba7SSamuel Thibault	depends on LEDS_CLASS
31f60c8ba7SSamuel Thibault	default INPUT
32f60c8ba7SSamuel Thibault	help
33f60c8ba7SSamuel Thibault	  Say Y here if you would like to export LEDs on input devices
34f60c8ba7SSamuel Thibault	  as standard LED class devices in sysfs.
35f60c8ba7SSamuel Thibault
36f60c8ba7SSamuel Thibault	  If unsure, say Y.
37f60c8ba7SSamuel Thibault
38f60c8ba7SSamuel Thibault	  To compile this driver as a module, choose M here: the
39f60c8ba7SSamuel Thibault	  module will be called input-leds.
40f60c8ba7SSamuel Thibault
417d928a2bSAnssi Hannulaconfig INPUT_FF_MEMLESS
427d928a2bSAnssi Hannula	tristate "Support for memoryless force-feedback devices"
4336203c4fSDmitry Torokhov	help
447d928a2bSAnssi Hannula	  Say Y here if you have memoryless force-feedback input device
457d928a2bSAnssi Hannula	  such as Logitech WingMan Force 3D, ThrustMaster FireStorm Dual
467d928a2bSAnssi Hannula	  Power 2, or similar. You will also need to enable hardware-specific
477d928a2bSAnssi Hannula	  driver.
487d928a2bSAnssi Hannula
497d928a2bSAnssi Hannula	  If unsure, say N.
507d928a2bSAnssi Hannula
517d928a2bSAnssi Hannula	  To compile this driver as a module, choose M here: the
527d928a2bSAnssi Hannula	  module will be called ff-memless.
537d928a2bSAnssi Hannula
5436203c4fSDmitry Torokhovconfig INPUT_SPARSEKMAP
5536203c4fSDmitry Torokhov	tristate "Sparse keymap support library"
5636203c4fSDmitry Torokhov	help
5736203c4fSDmitry Torokhov	  Say Y here if you are using a driver for an input
5836203c4fSDmitry Torokhov	  device that uses sparse keymap. This option is only
5936203c4fSDmitry Torokhov	  useful for out-of-tree drivers since in-tree drivers
6036203c4fSDmitry Torokhov	  select it automatically.
6136203c4fSDmitry Torokhov
6236203c4fSDmitry Torokhov	  If unsure, say N.
6336203c4fSDmitry Torokhov
6436203c4fSDmitry Torokhov	  To compile this driver as a module, choose M here: the
6536203c4fSDmitry Torokhov	  module will be called sparse-keymap.
6636203c4fSDmitry Torokhov
671932811fSDmitry Torokhovconfig INPUT_MATRIXKMAP
681932811fSDmitry Torokhov	tristate "Matrix keymap support library"
691932811fSDmitry Torokhov	help
701932811fSDmitry Torokhov	  Say Y here if you are using a driver for an input
711932811fSDmitry Torokhov	  device that uses matrix keymap. This option is only
721932811fSDmitry Torokhov	  useful for out-of-tree drivers since in-tree drivers
731932811fSDmitry Torokhov	  select it automatically.
741932811fSDmitry Torokhov
751932811fSDmitry Torokhov	  If unsure, say N.
761932811fSDmitry Torokhov
771932811fSDmitry Torokhov	  To compile this driver as a module, choose M here: the
781932811fSDmitry Torokhov	  module will be called matrix-keymap.
791932811fSDmitry Torokhov
8045ceaf14SStephen Boydconfig INPUT_VIVALDIFMAP
8145ceaf14SStephen Boyd	tristate
8245ceaf14SStephen Boyd	help
8345ceaf14SStephen Boyd	  ChromeOS Vivaldi keymap support library. This is a hidden
8445ceaf14SStephen Boyd	  option so that drivers can use common code to parse and
8545ceaf14SStephen Boyd	  expose the vivaldi function row keymap.
8645ceaf14SStephen Boyd
871da177e4SLinus Torvaldscomment "Userland interfaces"
881da177e4SLinus Torvalds
891da177e4SLinus Torvaldsconfig INPUT_MOUSEDEV
90dfaaed08STom Gundersen	tristate "Mouse interface"
9136203c4fSDmitry Torokhov	help
921da177e4SLinus Torvalds	  Say Y here if you want your mouse to be accessible as char devices
931da177e4SLinus Torvalds	  13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
941da177e4SLinus Torvalds	  emulated IntelliMouse Explorer PS/2 mouse. That way, all user space
951da177e4SLinus Torvalds	  programs (including SVGAlib, GPM and X) will be able to use your
961da177e4SLinus Torvalds	  mouse.
971da177e4SLinus Torvalds
981da177e4SLinus Torvalds	  If unsure, say Y.
991da177e4SLinus Torvalds
1001da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1011da177e4SLinus Torvalds	  module will be called mousedev.
1021da177e4SLinus Torvalds
1031da177e4SLinus Torvaldsconfig INPUT_MOUSEDEV_PSAUX
1041da177e4SLinus Torvalds	bool "Provide legacy /dev/psaux device"
1051da177e4SLinus Torvalds	depends on INPUT_MOUSEDEV
10636203c4fSDmitry Torokhov	help
1071da177e4SLinus Torvalds	  Say Y here if you want your mouse also be accessible as char device
1081da177e4SLinus Torvalds	  10:1 - /dev/psaux. The data available through /dev/psaux is exactly
1091da177e4SLinus Torvalds	  the same as the data from /dev/input/mice.
1101da177e4SLinus Torvalds
1111da177e4SLinus Torvalds	  If unsure, say Y.
1121da177e4SLinus Torvalds
1131da177e4SLinus Torvaldsconfig INPUT_MOUSEDEV_SCREEN_X
1141da177e4SLinus Torvalds	int "Horizontal screen resolution"
1151da177e4SLinus Torvalds	depends on INPUT_MOUSEDEV
1161da177e4SLinus Torvalds	default "1024"
1171da177e4SLinus Torvalds	help
1181da177e4SLinus Torvalds	  If you're using a digitizer, or a graphic tablet, and want to use
1191da177e4SLinus Torvalds	  it as a mouse then the mousedev driver needs to know the X window
1201da177e4SLinus Torvalds	  screen resolution you are using to correctly scale the data. If
1211da177e4SLinus Torvalds	  you're not using a digitizer, this value is ignored.
1221da177e4SLinus Torvalds
1231da177e4SLinus Torvaldsconfig INPUT_MOUSEDEV_SCREEN_Y
1241da177e4SLinus Torvalds	int "Vertical screen resolution"
1251da177e4SLinus Torvalds	depends on INPUT_MOUSEDEV
1261da177e4SLinus Torvalds	default "768"
1271da177e4SLinus Torvalds	help
1281da177e4SLinus Torvalds	  If you're using a digitizer, or a graphic tablet, and want to use
1291da177e4SLinus Torvalds	  it as a mouse then the mousedev driver needs to know the X window
1301da177e4SLinus Torvalds	  screen resolution you are using to correctly scale the data. If
1311da177e4SLinus Torvalds	  you're not using a digitizer, this value is ignored.
1321da177e4SLinus Torvalds
1331da177e4SLinus Torvaldsconfig INPUT_JOYDEV
1341da177e4SLinus Torvalds	tristate "Joystick interface"
13536203c4fSDmitry Torokhov	help
1361da177e4SLinus Torvalds	  Say Y here if you want your joystick or gamepad to be
1371da177e4SLinus Torvalds	  accessible as char device 13:0+ - /dev/input/jsX device.
1381da177e4SLinus Torvalds
1391da177e4SLinus Torvalds	  If unsure, say Y.
1401da177e4SLinus Torvalds
141ec15872dSMauro Carvalho Chehab	  More information is available: <file:Documentation/input/joydev/joystick.rst>
1421da177e4SLinus Torvalds
1431da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1441da177e4SLinus Torvalds	  module will be called joydev.
1451da177e4SLinus Torvalds
1461da177e4SLinus Torvaldsconfig INPUT_EVDEV
1471da177e4SLinus Torvalds	tristate "Event interface"
1481da177e4SLinus Torvalds	help
1491da177e4SLinus Torvalds	  Say Y here if you want your input device events be accessible
1501da177e4SLinus Torvalds	  under char device 13:64+ - /dev/input/eventX in a generic way.
1511da177e4SLinus Torvalds
1521da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1531da177e4SLinus Torvalds	  module will be called evdev.
1541da177e4SLinus Torvalds
1551da177e4SLinus Torvaldsconfig INPUT_EVBUG
1561da177e4SLinus Torvalds	tristate "Event debugging"
15736203c4fSDmitry Torokhov	help
1581da177e4SLinus Torvalds	  Say Y here if you have a problem with the input subsystem and
1591da177e4SLinus Torvalds	  want all events (keypresses, mouse movements), to be output to
1601da177e4SLinus Torvalds	  the system log. While this is useful for debugging, it's also
1611da177e4SLinus Torvalds	  a security threat - your keypresses include your passwords, of
1621da177e4SLinus Torvalds	  course.
1631da177e4SLinus Torvalds
1641da177e4SLinus Torvalds	  If unsure, say N.
1651da177e4SLinus Torvalds
1661da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1671da177e4SLinus Torvalds	  module will be called evbug.
1681da177e4SLinus Torvalds
169fdefcbddSJavier Martinez Canillasconfig INPUT_KUNIT_TEST
170fdefcbddSJavier Martinez Canillas	tristate "KUnit tests for Input" if !KUNIT_ALL_TESTS
171*e0f41f83SGeert Uytterhoeven	depends on INPUT && KUNIT
172fdefcbddSJavier Martinez Canillas	default KUNIT_ALL_TESTS
173fdefcbddSJavier Martinez Canillas	help
174fdefcbddSJavier Martinez Canillas	  Say Y here if you want to build the KUnit tests for the input
175fdefcbddSJavier Martinez Canillas	  subsystem.
176fdefcbddSJavier Martinez Canillas
177fdefcbddSJavier Martinez Canillas	  If in doubt, say "N".
178fdefcbddSJavier Martinez Canillas
179e17bb1deSRichard Purdieconfig INPUT_APMPOWER
1806a108a14SDavid Rientjes	tristate "Input Power Event -> APM Bridge" if EXPERT
181e17bb1deSRichard Purdie	depends on INPUT && APM_EMULATION
18236203c4fSDmitry Torokhov	help
183e17bb1deSRichard Purdie	  Say Y here if you want suspend key events to trigger a user
184e17bb1deSRichard Purdie	  requested suspend through APM. This is useful on embedded
185692105b8SMatt LaPlante	  systems where such behaviour is desired without userspace
186e17bb1deSRichard Purdie	  interaction. If unsure, say N.
187e17bb1deSRichard Purdie
188e17bb1deSRichard Purdie	  To compile this driver as a module, choose M here: the
189e17bb1deSRichard Purdie	  module will be called apm-power.
190e17bb1deSRichard Purdie
1911da177e4SLinus Torvaldscomment "Input Device Drivers"
1921da177e4SLinus Torvalds
1931da177e4SLinus Torvaldssource "drivers/input/keyboard/Kconfig"
1941da177e4SLinus Torvalds
1951da177e4SLinus Torvaldssource "drivers/input/mouse/Kconfig"
1961da177e4SLinus Torvalds
1971da177e4SLinus Torvaldssource "drivers/input/joystick/Kconfig"
1981da177e4SLinus Torvalds
1994104d13fSDmitry Torokhovsource "drivers/input/tablet/Kconfig"
2004104d13fSDmitry Torokhov
2011da177e4SLinus Torvaldssource "drivers/input/touchscreen/Kconfig"
2021da177e4SLinus Torvalds
2031da177e4SLinus Torvaldssource "drivers/input/misc/Kconfig"
2041da177e4SLinus Torvalds
2052b6a321dSAndrew Duggansource "drivers/input/rmi4/Kconfig"
2062b6a321dSAndrew Duggan
2071da177e4SLinus Torvaldsendif
2081da177e4SLinus Torvalds
2091da177e4SLinus Torvaldsmenu "Hardware I/O ports"
2101da177e4SLinus Torvalds
2111da177e4SLinus Torvaldssource "drivers/input/serio/Kconfig"
2121da177e4SLinus Torvalds
2131da177e4SLinus Torvaldssource "drivers/input/gameport/Kconfig"
2141da177e4SLinus Torvalds
2151da177e4SLinus Torvaldsendmenu
2161da177e4SLinus Torvalds
2171da177e4SLinus Torvaldsendmenu
2181da177e4SLinus Torvalds
219