xref: /linux/drivers/input/Kconfig (revision 1260ed77798502de9c98020040d2995008de10cc)
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
155fdefcbddSJavier Martinez Canillasconfig INPUT_KUNIT_TEST
156fdefcbddSJavier Martinez Canillas	tristate "KUnit tests for Input" if !KUNIT_ALL_TESTS
157*e0f41f83SGeert Uytterhoeven	depends on INPUT && KUNIT
158fdefcbddSJavier Martinez Canillas	default KUNIT_ALL_TESTS
159fdefcbddSJavier Martinez Canillas	help
160fdefcbddSJavier Martinez Canillas	  Say Y here if you want to build the KUnit tests for the input
161fdefcbddSJavier Martinez Canillas	  subsystem.
162fdefcbddSJavier Martinez Canillas
163fdefcbddSJavier Martinez Canillas	  If in doubt, say "N".
164fdefcbddSJavier Martinez Canillas
165e17bb1deSRichard Purdieconfig INPUT_APMPOWER
1666a108a14SDavid Rientjes	tristate "Input Power Event -> APM Bridge" if EXPERT
167e17bb1deSRichard Purdie	depends on INPUT && APM_EMULATION
16836203c4fSDmitry Torokhov	help
169e17bb1deSRichard Purdie	  Say Y here if you want suspend key events to trigger a user
170e17bb1deSRichard Purdie	  requested suspend through APM. This is useful on embedded
171692105b8SMatt LaPlante	  systems where such behaviour is desired without userspace
172e17bb1deSRichard Purdie	  interaction. If unsure, say N.
173e17bb1deSRichard Purdie
174e17bb1deSRichard Purdie	  To compile this driver as a module, choose M here: the
175e17bb1deSRichard Purdie	  module will be called apm-power.
176e17bb1deSRichard Purdie
1771da177e4SLinus Torvaldscomment "Input Device Drivers"
1781da177e4SLinus Torvalds
1791da177e4SLinus Torvaldssource "drivers/input/keyboard/Kconfig"
1801da177e4SLinus Torvalds
1811da177e4SLinus Torvaldssource "drivers/input/mouse/Kconfig"
1821da177e4SLinus Torvalds
1831da177e4SLinus Torvaldssource "drivers/input/joystick/Kconfig"
1841da177e4SLinus Torvalds
1854104d13fSDmitry Torokhovsource "drivers/input/tablet/Kconfig"
1864104d13fSDmitry Torokhov
1871da177e4SLinus Torvaldssource "drivers/input/touchscreen/Kconfig"
1881da177e4SLinus Torvalds
1891da177e4SLinus Torvaldssource "drivers/input/misc/Kconfig"
1901da177e4SLinus Torvalds
1912b6a321dSAndrew Duggansource "drivers/input/rmi4/Kconfig"
1922b6a321dSAndrew Duggan
1931da177e4SLinus Torvaldsendif
1941da177e4SLinus Torvalds
1951da177e4SLinus Torvaldsmenu "Hardware I/O ports"
1961da177e4SLinus Torvalds
1971da177e4SLinus Torvaldssource "drivers/input/serio/Kconfig"
1981da177e4SLinus Torvalds
1991da177e4SLinus Torvaldssource "drivers/input/gameport/Kconfig"
2001da177e4SLinus Torvalds
2011da177e4SLinus Torvaldsendmenu
2021da177e4SLinus Torvalds
2031da177e4SLinus Torvaldsendmenu
2041da177e4SLinus Torvalds
205