0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # Input device configuration
0004 #
0005
0006 menu "Input device support"
0007
0008 config INPUT
0009 tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT
0010 default y
0011 help
0012 Say Y here if you have any input device (mouse, keyboard, tablet,
0013 joystick, steering wheel ...) connected to your system and want
0014 it to be available to applications. This includes standard PS/2
0015 keyboard and mouse.
0016
0017 Say N here if you have a headless (no monitor, no keyboard) system.
0018
0019 More information is available: <file:Documentation/input/input.rst>
0020
0021 If unsure, say Y.
0022
0023 To compile this driver as a module, choose M here: the
0024 module will be called input.
0025
0026 if INPUT
0027
0028 config INPUT_LEDS
0029 tristate "Export input device LEDs in sysfs"
0030 depends on LEDS_CLASS
0031 default INPUT
0032 help
0033 Say Y here if you would like to export LEDs on input devices
0034 as standard LED class devices in sysfs.
0035
0036 If unsure, say Y.
0037
0038 To compile this driver as a module, choose M here: the
0039 module will be called input-leds.
0040
0041 config INPUT_FF_MEMLESS
0042 tristate "Support for memoryless force-feedback devices"
0043 help
0044 Say Y here if you have memoryless force-feedback input device
0045 such as Logitech WingMan Force 3D, ThrustMaster FireStorm Dual
0046 Power 2, or similar. You will also need to enable hardware-specific
0047 driver.
0048
0049 If unsure, say N.
0050
0051 To compile this driver as a module, choose M here: the
0052 module will be called ff-memless.
0053
0054 config INPUT_SPARSEKMAP
0055 tristate "Sparse keymap support library"
0056 help
0057 Say Y here if you are using a driver for an input
0058 device that uses sparse keymap. This option is only
0059 useful for out-of-tree drivers since in-tree drivers
0060 select it automatically.
0061
0062 If unsure, say N.
0063
0064 To compile this driver as a module, choose M here: the
0065 module will be called sparse-keymap.
0066
0067 config INPUT_MATRIXKMAP
0068 tristate "Matrix keymap support library"
0069 help
0070 Say Y here if you are using a driver for an input
0071 device that uses matrix keymap. This option is only
0072 useful for out-of-tree drivers since in-tree drivers
0073 select it automatically.
0074
0075 If unsure, say N.
0076
0077 To compile this driver as a module, choose M here: the
0078 module will be called matrix-keymap.
0079
0080 config INPUT_VIVALDIFMAP
0081 tristate
0082 help
0083 ChromeOS Vivaldi keymap support library. This is a hidden
0084 option so that drivers can use common code to parse and
0085 expose the vivaldi function row keymap.
0086
0087 comment "Userland interfaces"
0088
0089 config INPUT_MOUSEDEV
0090 tristate "Mouse interface"
0091 help
0092 Say Y here if you want your mouse to be accessible as char devices
0093 13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
0094 emulated IntelliMouse Explorer PS/2 mouse. That way, all user space
0095 programs (including SVGAlib, GPM and X) will be able to use your
0096 mouse.
0097
0098 If unsure, say Y.
0099
0100 To compile this driver as a module, choose M here: the
0101 module will be called mousedev.
0102
0103 config INPUT_MOUSEDEV_PSAUX
0104 bool "Provide legacy /dev/psaux device"
0105 depends on INPUT_MOUSEDEV
0106 help
0107 Say Y here if you want your mouse also be accessible as char device
0108 10:1 - /dev/psaux. The data available through /dev/psaux is exactly
0109 the same as the data from /dev/input/mice.
0110
0111 If unsure, say Y.
0112
0113 config INPUT_MOUSEDEV_SCREEN_X
0114 int "Horizontal screen resolution"
0115 depends on INPUT_MOUSEDEV
0116 default "1024"
0117 help
0118 If you're using a digitizer, or a graphic tablet, and want to use
0119 it as a mouse then the mousedev driver needs to know the X window
0120 screen resolution you are using to correctly scale the data. If
0121 you're not using a digitizer, this value is ignored.
0122
0123 config INPUT_MOUSEDEV_SCREEN_Y
0124 int "Vertical screen resolution"
0125 depends on INPUT_MOUSEDEV
0126 default "768"
0127 help
0128 If you're using a digitizer, or a graphic tablet, and want to use
0129 it as a mouse then the mousedev driver needs to know the X window
0130 screen resolution you are using to correctly scale the data. If
0131 you're not using a digitizer, this value is ignored.
0132
0133 config INPUT_JOYDEV
0134 tristate "Joystick interface"
0135 help
0136 Say Y here if you want your joystick or gamepad to be
0137 accessible as char device 13:0+ - /dev/input/jsX device.
0138
0139 If unsure, say Y.
0140
0141 More information is available: <file:Documentation/input/joydev/joystick.rst>
0142
0143 To compile this driver as a module, choose M here: the
0144 module will be called joydev.
0145
0146 config INPUT_EVDEV
0147 tristate "Event interface"
0148 help
0149 Say Y here if you want your input device events be accessible
0150 under char device 13:64+ - /dev/input/eventX in a generic way.
0151
0152 To compile this driver as a module, choose M here: the
0153 module will be called evdev.
0154
0155 config INPUT_EVBUG
0156 tristate "Event debugging"
0157 help
0158 Say Y here if you have a problem with the input subsystem and
0159 want all events (keypresses, mouse movements), to be output to
0160 the system log. While this is useful for debugging, it's also
0161 a security threat - your keypresses include your passwords, of
0162 course.
0163
0164 If unsure, say N.
0165
0166 To compile this driver as a module, choose M here: the
0167 module will be called evbug.
0168
0169 config INPUT_APMPOWER
0170 tristate "Input Power Event -> APM Bridge" if EXPERT
0171 depends on INPUT && APM_EMULATION
0172 help
0173 Say Y here if you want suspend key events to trigger a user
0174 requested suspend through APM. This is useful on embedded
0175 systems where such behaviour is desired without userspace
0176 interaction. If unsure, say N.
0177
0178 To compile this driver as a module, choose M here: the
0179 module will be called apm-power.
0180
0181 comment "Input Device Drivers"
0182
0183 source "drivers/input/keyboard/Kconfig"
0184
0185 source "drivers/input/mouse/Kconfig"
0186
0187 source "drivers/input/joystick/Kconfig"
0188
0189 source "drivers/input/tablet/Kconfig"
0190
0191 source "drivers/input/touchscreen/Kconfig"
0192
0193 source "drivers/input/misc/Kconfig"
0194
0195 source "drivers/input/rmi4/Kconfig"
0196
0197 endif
0198
0199 menu "Hardware I/O ports"
0200
0201 source "drivers/input/serio/Kconfig"
0202
0203 source "drivers/input/gameport/Kconfig"
0204
0205 endmenu
0206
0207 endmenu
0208