^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # Input device configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) menu "Input device support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) depends on !UML
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) config INPUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Say Y here if you have any input device (mouse, keyboard, tablet,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) joystick, steering wheel ...) connected to your system and want
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) it to be available to applications. This includes standard PS/2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) keyboard and mouse.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Say N here if you have a headless (no monitor, no keyboard) system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) More information is available: <file:Documentation/input/input.rst>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) module will be called input.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) if INPUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) config INPUT_LEDS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) tristate "Export input device LEDs in sysfs"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) depends on LEDS_CLASS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) default INPUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Say Y here if you would like to export LEDs on input devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) as standard LED class devices in sysfs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) module will be called input-leds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) config INPUT_FF_MEMLESS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) tristate "Support for memoryless force-feedback devices"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Say Y here if you have memoryless force-feedback input device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) such as Logitech WingMan Force 3D, ThrustMaster FireStorm Dual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) Power 2, or similar. You will also need to enable hardware-specific
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) module will be called ff-memless.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) config INPUT_POLLDEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) tristate "Polled input device skeleton"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) Say Y here if you are using a driver for an input
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) device that periodically polls hardware state. This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) option is only useful for out-of-tree drivers since
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) in-tree drivers select it automatically.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) module will be called input-polldev.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) config INPUT_SPARSEKMAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) tristate "Sparse keymap support library"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Say Y here if you are using a driver for an input
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) device that uses sparse keymap. This option is only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) useful for out-of-tree drivers since in-tree drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) select it automatically.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) module will be called sparse-keymap.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) config INPUT_MATRIXKMAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) tristate "Matrix keymap support library"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) Say Y here if you are using a driver for an input
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) device that uses matrix keymap. This option is only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) useful for out-of-tree drivers since in-tree drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) select it automatically.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) module will be called matrix-keymap.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) comment "Userland interfaces"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) config INPUT_MOUSEDEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) tristate "Mouse interface"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) Say Y here if you want your mouse to be accessible as char devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) emulated IntelliMouse Explorer PS/2 mouse. That way, all user space
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) programs (including SVGAlib, GPM and X) will be able to use your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) mouse.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) module will be called mousedev.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) config INPUT_MOUSEDEV_PSAUX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) bool "Provide legacy /dev/psaux device"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) depends on INPUT_MOUSEDEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) Say Y here if you want your mouse also be accessible as char device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 10:1 - /dev/psaux. The data available through /dev/psaux is exactly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) the same as the data from /dev/input/mice.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) config INPUT_MOUSEDEV_SCREEN_X
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) int "Horizontal screen resolution"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) depends on INPUT_MOUSEDEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) default "1024"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) If you're using a digitizer, or a graphic tablet, and want to use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) it as a mouse then the mousedev driver needs to know the X window
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) screen resolution you are using to correctly scale the data. If
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) you're not using a digitizer, this value is ignored.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) config INPUT_MOUSEDEV_SCREEN_Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) int "Vertical screen resolution"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) depends on INPUT_MOUSEDEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) default "768"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) If you're using a digitizer, or a graphic tablet, and want to use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) it as a mouse then the mousedev driver needs to know the X window
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) screen resolution you are using to correctly scale the data. If
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) you're not using a digitizer, this value is ignored.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) config INPUT_JOYDEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) tristate "Joystick interface"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) Say Y here if you want your joystick or gamepad to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) accessible as char device 13:0+ - /dev/input/jsX device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) More information is available: <file:Documentation/input/joydev/joystick.rst>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) module will be called joydev.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) config INPUT_EVDEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) tristate "Event interface"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) Say Y here if you want your input device events be accessible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) under char device 13:64+ - /dev/input/eventX in a generic way.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) module will be called evdev.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) config INPUT_EVBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) tristate "Event debugging"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) Say Y here if you have a problem with the input subsystem and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) want all events (keypresses, mouse movements), to be output to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) the system log. While this is useful for debugging, it's also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) a security threat - your keypresses include your passwords, of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) course.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) module will be called evbug.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) config INPUT_APMPOWER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) tristate "Input Power Event -> APM Bridge" if EXPERT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) depends on INPUT && APM_EMULATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) Say Y here if you want suspend key events to trigger a user
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) requested suspend through APM. This is useful on embedded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) systems where such behaviour is desired without userspace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) interaction. If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) module will be called apm-power.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) comment "Input Device Drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) source "drivers/input/keyboard/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) source "drivers/input/mouse/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) source "drivers/input/joystick/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) source "drivers/input/tablet/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) source "drivers/input/touchscreen/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) source "drivers/input/remotectl/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) source "drivers/input/sensors/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) source "drivers/input/misc/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) source "drivers/input/rmi4/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) menu "Hardware I/O ports"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) source "drivers/input/serio/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) source "drivers/input/gameport/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) endmenu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) endmenu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219)