xref: /linux/drivers/input/Kconfig (revision 45ceaf14d53a123e5955477da501bc6f26b99039)
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
80*45ceaf14SStephen Boydconfig INPUT_VIVALDIFMAP
81*45ceaf14SStephen Boyd	tristate
82*45ceaf14SStephen Boyd	help
83*45ceaf14SStephen Boyd	  ChromeOS Vivaldi keymap support library. This is a hidden
84*45ceaf14SStephen Boyd	  option so that drivers can use common code to parse and
85*45ceaf14SStephen Boyd	  expose the vivaldi function row keymap.
86*45ceaf14SStephen 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
169e17bb1deSRichard Purdieconfig INPUT_APMPOWER
1706a108a14SDavid Rientjes	tristate "Input Power Event -> APM Bridge" if EXPERT
171e17bb1deSRichard Purdie	depends on INPUT && APM_EMULATION
17236203c4fSDmitry Torokhov	help
173e17bb1deSRichard Purdie	  Say Y here if you want suspend key events to trigger a user
174e17bb1deSRichard Purdie	  requested suspend through APM. This is useful on embedded
175692105b8SMatt LaPlante	  systems where such behaviour is desired without userspace
176e17bb1deSRichard Purdie	  interaction. If unsure, say N.
177e17bb1deSRichard Purdie
178e17bb1deSRichard Purdie	  To compile this driver as a module, choose M here: the
179e17bb1deSRichard Purdie	  module will be called apm-power.
180e17bb1deSRichard Purdie
1811da177e4SLinus Torvaldscomment "Input Device Drivers"
1821da177e4SLinus Torvalds
1831da177e4SLinus Torvaldssource "drivers/input/keyboard/Kconfig"
1841da177e4SLinus Torvalds
1851da177e4SLinus Torvaldssource "drivers/input/mouse/Kconfig"
1861da177e4SLinus Torvalds
1871da177e4SLinus Torvaldssource "drivers/input/joystick/Kconfig"
1881da177e4SLinus Torvalds
1894104d13fSDmitry Torokhovsource "drivers/input/tablet/Kconfig"
1904104d13fSDmitry Torokhov
1911da177e4SLinus Torvaldssource "drivers/input/touchscreen/Kconfig"
1921da177e4SLinus Torvalds
1931da177e4SLinus Torvaldssource "drivers/input/misc/Kconfig"
1941da177e4SLinus Torvalds
1952b6a321dSAndrew Duggansource "drivers/input/rmi4/Kconfig"
1962b6a321dSAndrew Duggan
1971da177e4SLinus Torvaldsendif
1981da177e4SLinus Torvalds
1991da177e4SLinus Torvaldsmenu "Hardware I/O ports"
2001da177e4SLinus Torvalds
2011da177e4SLinus Torvaldssource "drivers/input/serio/Kconfig"
2021da177e4SLinus Torvalds
2031da177e4SLinus Torvaldssource "drivers/input/gameport/Kconfig"
2041da177e4SLinus Torvalds
2051da177e4SLinus Torvaldsendmenu
2061da177e4SLinus Torvalds
2071da177e4SLinus Torvaldsendmenu
2081da177e4SLinus Torvalds
209