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