18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Input device configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cimenu "Input device support"
78c2ecf20Sopenharmony_ci	depends on !UML
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciconfig INPUT
108c2ecf20Sopenharmony_ci	tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT
118c2ecf20Sopenharmony_ci	default y
128c2ecf20Sopenharmony_ci	help
138c2ecf20Sopenharmony_ci	  Say Y here if you have any input device (mouse, keyboard, tablet,
148c2ecf20Sopenharmony_ci	  joystick, steering wheel ...) connected to your system and want
158c2ecf20Sopenharmony_ci	  it to be available to applications. This includes standard PS/2
168c2ecf20Sopenharmony_ci	  keyboard and mouse.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	  Say N here if you have a headless (no monitor, no keyboard) system.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci	  More information is available: <file:Documentation/input/input.rst>
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	  If unsure, say Y.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
258c2ecf20Sopenharmony_ci	  module will be called input.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciif INPUT
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciconfig INPUT_LEDS
308c2ecf20Sopenharmony_ci	tristate "Export input device LEDs in sysfs"
318c2ecf20Sopenharmony_ci	depends on LEDS_CLASS
328c2ecf20Sopenharmony_ci	default INPUT
338c2ecf20Sopenharmony_ci	help
348c2ecf20Sopenharmony_ci	  Say Y here if you would like to export LEDs on input devices
358c2ecf20Sopenharmony_ci	  as standard LED class devices in sysfs.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	  If unsure, say Y.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
408c2ecf20Sopenharmony_ci	  module will be called input-leds.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciconfig INPUT_FF_MEMLESS
438c2ecf20Sopenharmony_ci	tristate "Support for memoryless force-feedback devices"
448c2ecf20Sopenharmony_ci	help
458c2ecf20Sopenharmony_ci	  Say Y here if you have memoryless force-feedback input device
468c2ecf20Sopenharmony_ci	  such as Logitech WingMan Force 3D, ThrustMaster FireStorm Dual
478c2ecf20Sopenharmony_ci	  Power 2, or similar. You will also need to enable hardware-specific
488c2ecf20Sopenharmony_ci	  driver.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	  If unsure, say N.
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
538c2ecf20Sopenharmony_ci	  module will be called ff-memless.
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ciconfig INPUT_POLLDEV
568c2ecf20Sopenharmony_ci	tristate "Polled input device skeleton"
578c2ecf20Sopenharmony_ci	help
588c2ecf20Sopenharmony_ci	  Say Y here if you are using a driver for an input
598c2ecf20Sopenharmony_ci	  device that periodically polls hardware state. This
608c2ecf20Sopenharmony_ci	  option is only useful for out-of-tree drivers since
618c2ecf20Sopenharmony_ci	  in-tree drivers select it automatically.
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci	  If unsure, say N.
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
668c2ecf20Sopenharmony_ci	  module will be called input-polldev.
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciconfig INPUT_SPARSEKMAP
698c2ecf20Sopenharmony_ci	tristate "Sparse keymap support library"
708c2ecf20Sopenharmony_ci	help
718c2ecf20Sopenharmony_ci	  Say Y here if you are using a driver for an input
728c2ecf20Sopenharmony_ci	  device that uses sparse keymap. This option is only
738c2ecf20Sopenharmony_ci	  useful for out-of-tree drivers since in-tree drivers
748c2ecf20Sopenharmony_ci	  select it automatically.
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci	  If unsure, say N.
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
798c2ecf20Sopenharmony_ci	  module will be called sparse-keymap.
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ciconfig INPUT_MATRIXKMAP
828c2ecf20Sopenharmony_ci	tristate "Matrix keymap support library"
838c2ecf20Sopenharmony_ci	help
848c2ecf20Sopenharmony_ci	  Say Y here if you are using a driver for an input
858c2ecf20Sopenharmony_ci	  device that uses matrix keymap. This option is only
868c2ecf20Sopenharmony_ci	  useful for out-of-tree drivers since in-tree drivers
878c2ecf20Sopenharmony_ci	  select it automatically.
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci	  If unsure, say N.
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
928c2ecf20Sopenharmony_ci	  module will be called matrix-keymap.
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_cicomment "Userland interfaces"
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ciconfig INPUT_MOUSEDEV
978c2ecf20Sopenharmony_ci	tristate "Mouse interface"
988c2ecf20Sopenharmony_ci	help
998c2ecf20Sopenharmony_ci	  Say Y here if you want your mouse to be accessible as char devices
1008c2ecf20Sopenharmony_ci	  13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
1018c2ecf20Sopenharmony_ci	  emulated IntelliMouse Explorer PS/2 mouse. That way, all user space
1028c2ecf20Sopenharmony_ci	  programs (including SVGAlib, GPM and X) will be able to use your
1038c2ecf20Sopenharmony_ci	  mouse.
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci	  If unsure, say Y.
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1088c2ecf20Sopenharmony_ci	  module will be called mousedev.
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ciconfig INPUT_MOUSEDEV_PSAUX
1118c2ecf20Sopenharmony_ci	bool "Provide legacy /dev/psaux device"
1128c2ecf20Sopenharmony_ci	depends on INPUT_MOUSEDEV
1138c2ecf20Sopenharmony_ci	help
1148c2ecf20Sopenharmony_ci	  Say Y here if you want your mouse also be accessible as char device
1158c2ecf20Sopenharmony_ci	  10:1 - /dev/psaux. The data available through /dev/psaux is exactly
1168c2ecf20Sopenharmony_ci	  the same as the data from /dev/input/mice.
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci	  If unsure, say Y.
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ciconfig INPUT_MOUSEDEV_SCREEN_X
1218c2ecf20Sopenharmony_ci	int "Horizontal screen resolution"
1228c2ecf20Sopenharmony_ci	depends on INPUT_MOUSEDEV
1238c2ecf20Sopenharmony_ci	default "1024"
1248c2ecf20Sopenharmony_ci	help
1258c2ecf20Sopenharmony_ci	  If you're using a digitizer, or a graphic tablet, and want to use
1268c2ecf20Sopenharmony_ci	  it as a mouse then the mousedev driver needs to know the X window
1278c2ecf20Sopenharmony_ci	  screen resolution you are using to correctly scale the data. If
1288c2ecf20Sopenharmony_ci	  you're not using a digitizer, this value is ignored.
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ciconfig INPUT_MOUSEDEV_SCREEN_Y
1318c2ecf20Sopenharmony_ci	int "Vertical screen resolution"
1328c2ecf20Sopenharmony_ci	depends on INPUT_MOUSEDEV
1338c2ecf20Sopenharmony_ci	default "768"
1348c2ecf20Sopenharmony_ci	help
1358c2ecf20Sopenharmony_ci	  If you're using a digitizer, or a graphic tablet, and want to use
1368c2ecf20Sopenharmony_ci	  it as a mouse then the mousedev driver needs to know the X window
1378c2ecf20Sopenharmony_ci	  screen resolution you are using to correctly scale the data. If
1388c2ecf20Sopenharmony_ci	  you're not using a digitizer, this value is ignored.
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ciconfig INPUT_JOYDEV
1418c2ecf20Sopenharmony_ci	tristate "Joystick interface"
1428c2ecf20Sopenharmony_ci	help
1438c2ecf20Sopenharmony_ci	  Say Y here if you want your joystick or gamepad to be
1448c2ecf20Sopenharmony_ci	  accessible as char device 13:0+ - /dev/input/jsX device.
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci	  If unsure, say Y.
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci	  More information is available: <file:Documentation/input/joydev/joystick.rst>
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1518c2ecf20Sopenharmony_ci	  module will be called joydev.
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ciconfig INPUT_EVDEV
1548c2ecf20Sopenharmony_ci	tristate "Event interface"
1558c2ecf20Sopenharmony_ci	help
1568c2ecf20Sopenharmony_ci	  Say Y here if you want your input device events be accessible
1578c2ecf20Sopenharmony_ci	  under char device 13:64+ - /dev/input/eventX in a generic way.
1588c2ecf20Sopenharmony_ci
1598c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1608c2ecf20Sopenharmony_ci	  module will be called evdev.
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ciconfig INPUT_EVBUG
1638c2ecf20Sopenharmony_ci	tristate "Event debugging"
1648c2ecf20Sopenharmony_ci	help
1658c2ecf20Sopenharmony_ci	  Say Y here if you have a problem with the input subsystem and
1668c2ecf20Sopenharmony_ci	  want all events (keypresses, mouse movements), to be output to
1678c2ecf20Sopenharmony_ci	  the system log. While this is useful for debugging, it's also
1688c2ecf20Sopenharmony_ci	  a security threat - your keypresses include your passwords, of
1698c2ecf20Sopenharmony_ci	  course.
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ci	  If unsure, say N.
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1748c2ecf20Sopenharmony_ci	  module will be called evbug.
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ciconfig INPUT_APMPOWER
1778c2ecf20Sopenharmony_ci	tristate "Input Power Event -> APM Bridge" if EXPERT
1788c2ecf20Sopenharmony_ci	depends on INPUT && APM_EMULATION
1798c2ecf20Sopenharmony_ci	help
1808c2ecf20Sopenharmony_ci	  Say Y here if you want suspend key events to trigger a user
1818c2ecf20Sopenharmony_ci	  requested suspend through APM. This is useful on embedded
1828c2ecf20Sopenharmony_ci	  systems where such behaviour is desired without userspace
1838c2ecf20Sopenharmony_ci	  interaction. If unsure, say N.
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1868c2ecf20Sopenharmony_ci	  module will be called apm-power.
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_cicomment "Input Device Drivers"
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_cisource "drivers/input/keyboard/Kconfig"
1918c2ecf20Sopenharmony_ci
1928c2ecf20Sopenharmony_cisource "drivers/input/mouse/Kconfig"
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_cisource "drivers/input/joystick/Kconfig"
1958c2ecf20Sopenharmony_ci
1968c2ecf20Sopenharmony_cisource "drivers/input/tablet/Kconfig"
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_cisource "drivers/input/touchscreen/Kconfig"
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_cisource "drivers/input/misc/Kconfig"
2018c2ecf20Sopenharmony_ci
2028c2ecf20Sopenharmony_cisource "drivers/input/rmi4/Kconfig"
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ciendif
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_cimenu "Hardware I/O ports"
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_cisource "drivers/input/serio/Kconfig"
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_cisource "drivers/input/gameport/Kconfig"
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ciendmenu
2138c2ecf20Sopenharmony_ci
2148c2ecf20Sopenharmony_ciendmenu
2158c2ecf20Sopenharmony_ci
216