162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Input device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenu "Input device support"
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciconfig INPUT
962306a36Sopenharmony_ci	tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT
1062306a36Sopenharmony_ci	default y
1162306a36Sopenharmony_ci	help
1262306a36Sopenharmony_ci	  Say Y here if you have any input device (mouse, keyboard, tablet,
1362306a36Sopenharmony_ci	  joystick, steering wheel ...) connected to your system and want
1462306a36Sopenharmony_ci	  it to be available to applications. This includes standard PS/2
1562306a36Sopenharmony_ci	  keyboard and mouse.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	  Say N here if you have a headless (no monitor, no keyboard) system.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	  More information is available: <file:Documentation/input/input.rst>
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	  If unsure, say Y.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2462306a36Sopenharmony_ci	  module will be called input.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciif INPUT
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciconfig INPUT_LEDS
2962306a36Sopenharmony_ci	tristate "Export input device LEDs in sysfs"
3062306a36Sopenharmony_ci	depends on LEDS_CLASS
3162306a36Sopenharmony_ci	default INPUT
3262306a36Sopenharmony_ci	help
3362306a36Sopenharmony_ci	  Say Y here if you would like to export LEDs on input devices
3462306a36Sopenharmony_ci	  as standard LED class devices in sysfs.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	  If unsure, say Y.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3962306a36Sopenharmony_ci	  module will be called input-leds.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciconfig INPUT_FF_MEMLESS
4262306a36Sopenharmony_ci	tristate "Support for memoryless force-feedback devices"
4362306a36Sopenharmony_ci	help
4462306a36Sopenharmony_ci	  Say Y here if you have memoryless force-feedback input device
4562306a36Sopenharmony_ci	  such as Logitech WingMan Force 3D, ThrustMaster FireStorm Dual
4662306a36Sopenharmony_ci	  Power 2, or similar. You will also need to enable hardware-specific
4762306a36Sopenharmony_ci	  driver.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	  If unsure, say N.
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
5262306a36Sopenharmony_ci	  module will be called ff-memless.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciconfig INPUT_SPARSEKMAP
5562306a36Sopenharmony_ci	tristate "Sparse keymap support library"
5662306a36Sopenharmony_ci	help
5762306a36Sopenharmony_ci	  Say Y here if you are using a driver for an input
5862306a36Sopenharmony_ci	  device that uses sparse keymap. This option is only
5962306a36Sopenharmony_ci	  useful for out-of-tree drivers since in-tree drivers
6062306a36Sopenharmony_ci	  select it automatically.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	  If unsure, say N.
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
6562306a36Sopenharmony_ci	  module will be called sparse-keymap.
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciconfig INPUT_MATRIXKMAP
6862306a36Sopenharmony_ci	tristate "Matrix keymap support library"
6962306a36Sopenharmony_ci	help
7062306a36Sopenharmony_ci	  Say Y here if you are using a driver for an input
7162306a36Sopenharmony_ci	  device that uses matrix keymap. This option is only
7262306a36Sopenharmony_ci	  useful for out-of-tree drivers since in-tree drivers
7362306a36Sopenharmony_ci	  select it automatically.
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci	  If unsure, say N.
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
7862306a36Sopenharmony_ci	  module will be called matrix-keymap.
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciconfig INPUT_VIVALDIFMAP
8162306a36Sopenharmony_ci	tristate
8262306a36Sopenharmony_ci	help
8362306a36Sopenharmony_ci	  ChromeOS Vivaldi keymap support library. This is a hidden
8462306a36Sopenharmony_ci	  option so that drivers can use common code to parse and
8562306a36Sopenharmony_ci	  expose the vivaldi function row keymap.
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_cicomment "Userland interfaces"
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ciconfig INPUT_MOUSEDEV
9062306a36Sopenharmony_ci	tristate "Mouse interface"
9162306a36Sopenharmony_ci	help
9262306a36Sopenharmony_ci	  Say Y here if you want your mouse to be accessible as char devices
9362306a36Sopenharmony_ci	  13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
9462306a36Sopenharmony_ci	  emulated IntelliMouse Explorer PS/2 mouse. That way, all user space
9562306a36Sopenharmony_ci	  programs (including SVGAlib, GPM and X) will be able to use your
9662306a36Sopenharmony_ci	  mouse.
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci	  If unsure, say Y.
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
10162306a36Sopenharmony_ci	  module will be called mousedev.
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ciconfig INPUT_MOUSEDEV_PSAUX
10462306a36Sopenharmony_ci	bool "Provide legacy /dev/psaux device"
10562306a36Sopenharmony_ci	depends on INPUT_MOUSEDEV
10662306a36Sopenharmony_ci	help
10762306a36Sopenharmony_ci	  Say Y here if you want your mouse also be accessible as char device
10862306a36Sopenharmony_ci	  10:1 - /dev/psaux. The data available through /dev/psaux is exactly
10962306a36Sopenharmony_ci	  the same as the data from /dev/input/mice.
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci	  If unsure, say Y.
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ciconfig INPUT_MOUSEDEV_SCREEN_X
11462306a36Sopenharmony_ci	int "Horizontal screen resolution"
11562306a36Sopenharmony_ci	depends on INPUT_MOUSEDEV
11662306a36Sopenharmony_ci	default "1024"
11762306a36Sopenharmony_ci	help
11862306a36Sopenharmony_ci	  If you're using a digitizer, or a graphic tablet, and want to use
11962306a36Sopenharmony_ci	  it as a mouse then the mousedev driver needs to know the X window
12062306a36Sopenharmony_ci	  screen resolution you are using to correctly scale the data. If
12162306a36Sopenharmony_ci	  you're not using a digitizer, this value is ignored.
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ciconfig INPUT_MOUSEDEV_SCREEN_Y
12462306a36Sopenharmony_ci	int "Vertical screen resolution"
12562306a36Sopenharmony_ci	depends on INPUT_MOUSEDEV
12662306a36Sopenharmony_ci	default "768"
12762306a36Sopenharmony_ci	help
12862306a36Sopenharmony_ci	  If you're using a digitizer, or a graphic tablet, and want to use
12962306a36Sopenharmony_ci	  it as a mouse then the mousedev driver needs to know the X window
13062306a36Sopenharmony_ci	  screen resolution you are using to correctly scale the data. If
13162306a36Sopenharmony_ci	  you're not using a digitizer, this value is ignored.
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ciconfig INPUT_JOYDEV
13462306a36Sopenharmony_ci	tristate "Joystick interface"
13562306a36Sopenharmony_ci	help
13662306a36Sopenharmony_ci	  Say Y here if you want your joystick or gamepad to be
13762306a36Sopenharmony_ci	  accessible as char device 13:0+ - /dev/input/jsX device.
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci	  If unsure, say Y.
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci	  More information is available: <file:Documentation/input/joydev/joystick.rst>
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
14462306a36Sopenharmony_ci	  module will be called joydev.
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ciconfig INPUT_EVDEV
14762306a36Sopenharmony_ci	tristate "Event interface"
14862306a36Sopenharmony_ci	help
14962306a36Sopenharmony_ci	  Say Y here if you want your input device events be accessible
15062306a36Sopenharmony_ci	  under char device 13:64+ - /dev/input/eventX in a generic way.
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
15362306a36Sopenharmony_ci	  module will be called evdev.
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ciconfig INPUT_EVBUG
15662306a36Sopenharmony_ci	tristate "Event debugging"
15762306a36Sopenharmony_ci	help
15862306a36Sopenharmony_ci	  Say Y here if you have a problem with the input subsystem and
15962306a36Sopenharmony_ci	  want all events (keypresses, mouse movements), to be output to
16062306a36Sopenharmony_ci	  the system log. While this is useful for debugging, it's also
16162306a36Sopenharmony_ci	  a security threat - your keypresses include your passwords, of
16262306a36Sopenharmony_ci	  course.
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci	  If unsure, say N.
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
16762306a36Sopenharmony_ci	  module will be called evbug.
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ciconfig INPUT_KUNIT_TEST
17062306a36Sopenharmony_ci	tristate "KUnit tests for Input" if !KUNIT_ALL_TESTS
17162306a36Sopenharmony_ci	depends on INPUT && KUNIT
17262306a36Sopenharmony_ci	default KUNIT_ALL_TESTS
17362306a36Sopenharmony_ci	help
17462306a36Sopenharmony_ci	  Say Y here if you want to build the KUnit tests for the input
17562306a36Sopenharmony_ci	  subsystem.
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci	  If in doubt, say "N".
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ciconfig INPUT_APMPOWER
18062306a36Sopenharmony_ci	tristate "Input Power Event -> APM Bridge" if EXPERT
18162306a36Sopenharmony_ci	depends on INPUT && APM_EMULATION
18262306a36Sopenharmony_ci	help
18362306a36Sopenharmony_ci	  Say Y here if you want suspend key events to trigger a user
18462306a36Sopenharmony_ci	  requested suspend through APM. This is useful on embedded
18562306a36Sopenharmony_ci	  systems where such behaviour is desired without userspace
18662306a36Sopenharmony_ci	  interaction. If unsure, say N.
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
18962306a36Sopenharmony_ci	  module will be called apm-power.
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_cicomment "Input Device Drivers"
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_cisource "drivers/input/keyboard/Kconfig"
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_cisource "drivers/input/mouse/Kconfig"
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_cisource "drivers/input/joystick/Kconfig"
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_cisource "drivers/input/tablet/Kconfig"
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_cisource "drivers/input/touchscreen/Kconfig"
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_cisource "drivers/input/misc/Kconfig"
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_cisource "drivers/input/rmi4/Kconfig"
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ciendif
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_cimenu "Hardware I/O ports"
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_cisource "drivers/input/serio/Kconfig"
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_cisource "drivers/input/gameport/Kconfig"
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ciendmenu
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ciendmenu
21862306a36Sopenharmony_ci
219