| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | # |
| 3 | # Mouse driver configuration |
| 4 | # |
| 5 | menuconfig INPUT_MOUSE |
| 6 | bool "Mice" |
| 7 | default y |
| 8 | help |
| 9 | Say Y here, and a list of supported mice will be displayed. |
| 10 | This option doesn't affect the kernel. |
| 11 | |
| 12 | If unsure, say Y. |
| 13 | |
| 14 | if INPUT_MOUSE |
| 15 | |
| 16 | config MOUSE_PS2 |
| 17 | tristate "PS/2 mouse" |
| 18 | default y |
| 19 | select SERIO |
| 20 | select SERIO_LIBPS2 |
| 21 | select SERIO_I8042 if ARCH_MIGHT_HAVE_PC_SERIO |
| 22 | select SERIO_GSCPS2 if GSC |
| 23 | help |
| 24 | Say Y here if you have a PS/2 mouse connected to your system. This |
| 25 | includes the standard 2 or 3-button PS/2 mouse, as well as PS/2 |
| 26 | mice with wheels and extra buttons, Microsoft, Logitech or Genius |
| 27 | compatible. |
| 28 | |
| 29 | Synaptics, ALPS or Elantech TouchPad users might be interested |
| 30 | in a specialized Xorg/XFree86 driver at: |
| 31 | <http://w1.894.telia.com/~u89404340/touchpad/index.html> |
| 32 | and a new version of GPM at: |
| 33 | <http://www.geocities.com/dt_or/gpm/gpm.html> |
| 34 | <http://xorg.freedesktop.org/archive/individual/driver/> |
| 35 | to take advantage of the advanced features of the touchpad. |
| 36 | |
| 37 | If unsure, say Y. |
| 38 | |
| 39 | To compile this driver as a module, choose M here: the |
| 40 | module will be called psmouse. |
| 41 | |
| 42 | config MOUSE_PS2_ALPS |
| 43 | bool "ALPS PS/2 mouse protocol extension" if EXPERT |
| 44 | default y |
| 45 | depends on MOUSE_PS2 |
| 46 | help |
| 47 | Say Y here if you have an ALPS PS/2 touchpad connected to |
| 48 | your system. |
| 49 | |
| 50 | If unsure, say Y. |
| 51 | |
| 52 | config MOUSE_PS2_BYD |
| 53 | bool "BYD PS/2 mouse protocol extension" if EXPERT |
| 54 | default y |
| 55 | depends on MOUSE_PS2 |
| 56 | help |
| 57 | Say Y here if you have a BYD PS/2 touchpad connected to |
| 58 | your system. |
| 59 | |
| 60 | If unsure, say Y. |
| 61 | |
| 62 | config MOUSE_PS2_LOGIPS2PP |
| 63 | bool "Logitech PS/2++ mouse protocol extension" if EXPERT |
| 64 | default y |
| 65 | depends on MOUSE_PS2 |
| 66 | help |
| 67 | Say Y here if you have a Logitech PS/2++ mouse connected to |
| 68 | your system. |
| 69 | |
| 70 | If unsure, say Y. |
| 71 | |
| 72 | config MOUSE_PS2_SYNAPTICS |
| 73 | bool "Synaptics PS/2 mouse protocol extension" if EXPERT |
| 74 | default y |
| 75 | depends on MOUSE_PS2 |
| 76 | help |
| 77 | Say Y here if you have a Synaptics PS/2 TouchPad connected to |
| 78 | your system. |
| 79 | |
| 80 | If unsure, say Y. |
| 81 | |
| 82 | config MOUSE_PS2_SYNAPTICS_SMBUS |
| 83 | bool "Synaptics PS/2 SMbus companion" if EXPERT |
| 84 | default y |
| 85 | depends on MOUSE_PS2 |
| 86 | depends on I2C=y || I2C=MOUSE_PS2 |
| 87 | select MOUSE_PS2_SMBUS |
| 88 | help |
| 89 | Say Y here if you have a Synaptics RMI4 touchpad connected to |
| 90 | to an SMBus, but enumerated through PS/2. |
| 91 | |
| 92 | If unsure, say Y. |
| 93 | |
| 94 | config MOUSE_PS2_CYPRESS |
| 95 | bool "Cypress PS/2 mouse protocol extension" if EXPERT |
| 96 | default y |
| 97 | depends on MOUSE_PS2 |
| 98 | help |
| 99 | Say Y here if you have a Cypress PS/2 Trackpad connected to |
| 100 | your system. |
| 101 | |
| 102 | If unsure, say Y. |
| 103 | |
| 104 | config MOUSE_PS2_LIFEBOOK |
| 105 | bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EXPERT |
| 106 | default y |
| 107 | depends on MOUSE_PS2 && X86 && DMI |
| 108 | help |
| 109 | Say Y here if you have a Fujitsu B-series Lifebook PS/2 |
| 110 | TouchScreen connected to your system. |
| 111 | |
| 112 | If unsure, say Y. |
| 113 | |
| 114 | config MOUSE_PS2_TRACKPOINT |
| 115 | bool "IBM Trackpoint PS/2 mouse protocol extension" if EXPERT |
| 116 | default y |
| 117 | depends on MOUSE_PS2 |
| 118 | help |
| 119 | Say Y here if you have an IBM Trackpoint PS/2 mouse connected |
| 120 | to your system. |
| 121 | |
| 122 | If unsure, say Y. |
| 123 | |
| 124 | config MOUSE_PS2_ELANTECH |
| 125 | bool "Elantech PS/2 protocol extension" |
| 126 | depends on MOUSE_PS2 |
| 127 | help |
| 128 | Say Y here if you have an Elantech PS/2 touchpad connected |
| 129 | to your system. |
| 130 | |
| 131 | This driver exposes some configuration registers via sysfs |
| 132 | entries. For further information, |
| 133 | see <file:Documentation/input/devices/elantech.rst>. |
| 134 | |
| 135 | If unsure, say N. |
| 136 | |
| 137 | config MOUSE_PS2_ELANTECH_SMBUS |
| 138 | bool "Elantech PS/2 SMbus companion" if EXPERT |
| 139 | default y |
| 140 | depends on MOUSE_PS2 && MOUSE_PS2_ELANTECH |
| 141 | depends on I2C=y || I2C=MOUSE_PS2 |
| 142 | select MOUSE_PS2_SMBUS |
| 143 | help |
| 144 | Say Y here if you have a Elantech touchpad connected to |
| 145 | to an SMBus, but enumerated through PS/2. |
| 146 | |
| 147 | If unsure, say Y. |
| 148 | |
| 149 | config MOUSE_PS2_SENTELIC |
| 150 | bool "Sentelic Finger Sensing Pad PS/2 protocol extension" |
| 151 | depends on MOUSE_PS2 |
| 152 | help |
| 153 | Say Y here if you have a laptop (such as MSI WIND Netbook) |
| 154 | with Sentelic Finger Sensing Pad touchpad. |
| 155 | |
| 156 | If unsure, say N. |
| 157 | |
| 158 | config MOUSE_PS2_TOUCHKIT |
| 159 | bool "eGalax TouchKit PS/2 protocol extension" |
| 160 | depends on MOUSE_PS2 |
| 161 | help |
| 162 | Say Y here if you have an eGalax TouchKit PS/2 touchscreen |
| 163 | connected to your system. |
| 164 | |
| 165 | If unsure, say N. |
| 166 | |
| 167 | config MOUSE_PS2_FOCALTECH |
| 168 | bool "FocalTech PS/2 mouse protocol extension" if EXPERT |
| 169 | default y |
| 170 | depends on MOUSE_PS2 |
| 171 | help |
| 172 | Say Y here if you have a FocalTech PS/2 TouchPad connected to |
| 173 | your system. |
| 174 | |
| 175 | If unsure, say Y. |
| 176 | |
| 177 | config MOUSE_PS2_VMMOUSE |
| 178 | bool "Virtual mouse (vmmouse)" |
| 179 | depends on MOUSE_PS2 && X86 && HYPERVISOR_GUEST |
| 180 | help |
| 181 | Say Y here if you are running under control of VMware hypervisor |
| 182 | (ESXi, Workstation or Fusion). Also make sure that when you enable |
| 183 | this option, you remove the xf86-input-vmmouse user-space driver |
| 184 | or upgrade it to at least xf86-input-vmmouse 13.1.0, which doesn't |
| 185 | load in the presence of an in-kernel vmmouse driver. |
| 186 | |
| 187 | If unsure, say N. |
| 188 | |
| 189 | config MOUSE_PS2_SMBUS |
| 190 | bool |
| 191 | depends on MOUSE_PS2 |
| 192 | |
| 193 | config MOUSE_SERIAL |
| 194 | tristate "Serial mouse" |
| 195 | select SERIO |
| 196 | help |
| 197 | Say Y here if you have a serial (RS-232, COM port) mouse connected |
| 198 | to your system. This includes Sun, MouseSystems, Microsoft, |
| 199 | Logitech and all other compatible serial mice. |
| 200 | |
| 201 | If unsure, say N. |
| 202 | |
| 203 | To compile this driver as a module, choose M here: the |
| 204 | module will be called sermouse. |
| 205 | |
| 206 | config MOUSE_APPLETOUCH |
| 207 | tristate "Apple USB Touchpad support" |
| 208 | depends on USB_ARCH_HAS_HCD |
| 209 | select USB |
| 210 | help |
| 211 | Say Y here if you want to use an Apple USB Touchpad. |
| 212 | |
| 213 | These are the touchpads that can be found on post-February 2005 |
| 214 | Apple Powerbooks (prior models have a Synaptics touchpad connected |
| 215 | to the ADB bus). |
| 216 | |
| 217 | This driver provides a basic mouse driver but can be interfaced |
| 218 | with the synaptics X11 driver to provide acceleration and |
| 219 | scrolling in X11. |
| 220 | |
| 221 | For further information, see |
| 222 | <file:Documentation/input/devices/appletouch.rst>. |
| 223 | |
| 224 | To compile this driver as a module, choose M here: the |
| 225 | module will be called appletouch. |
| 226 | |
| 227 | config MOUSE_BCM5974 |
| 228 | tristate "Apple USB BCM5974 Multitouch trackpad support" |
| 229 | depends on USB_ARCH_HAS_HCD |
| 230 | select USB |
| 231 | help |
| 232 | Say Y here if you have an Apple USB BCM5974 Multitouch |
| 233 | trackpad. |
| 234 | |
| 235 | The BCM5974 is the multitouch trackpad found in the Macbook |
| 236 | Air (JAN2008) and Macbook Pro Penryn (FEB2008) laptops. |
| 237 | |
| 238 | It is also found in the IPhone (2007) and Ipod Touch (2008). |
| 239 | |
| 240 | This driver provides multitouch functionality together with |
| 241 | the synaptics X11 driver. |
| 242 | |
| 243 | The interface is currently identical to the appletouch interface, |
| 244 | for further information, see |
| 245 | <file:Documentation/input/devices/appletouch.rst>. |
| 246 | |
| 247 | To compile this driver as a module, choose M here: the |
| 248 | module will be called bcm5974. |
| 249 | |
| 250 | config MOUSE_CYAPA |
| 251 | tristate "Cypress APA I2C Trackpad support" |
| 252 | depends on I2C |
| 253 | select CRC_ITU_T |
| 254 | help |
| 255 | This driver adds support for Cypress All Points Addressable (APA) |
| 256 | I2C Trackpads, including the ones used in 2012 Samsung Chromebooks. |
| 257 | |
| 258 | Say Y here if you have a Cypress APA I2C Trackpad. |
| 259 | |
| 260 | To compile this driver as a module, choose M here: the module will be |
| 261 | called cyapa. |
| 262 | |
| 263 | config MOUSE_ELAN_I2C |
| 264 | tristate "ELAN I2C Touchpad support" |
| 265 | depends on I2C |
| 266 | help |
| 267 | This driver adds support for Elan I2C/SMbus Trackpads. |
| 268 | |
| 269 | Say Y here if you have a ELAN I2C/SMbus Touchpad. |
| 270 | |
| 271 | To compile this driver as a module, choose M here: the module will be |
| 272 | called elan_i2c. |
| 273 | |
| 274 | config MOUSE_ELAN_I2C_I2C |
| 275 | bool "Enable I2C support" |
| 276 | depends on MOUSE_ELAN_I2C |
| 277 | default y |
| 278 | help |
| 279 | Say Y here if Elan Touchpad in your system is connected to |
| 280 | a standard I2C controller. |
| 281 | |
| 282 | If unsure, say Y. |
| 283 | |
| 284 | config MOUSE_ELAN_I2C_SMBUS |
| 285 | bool "Enable SMbus support" |
| 286 | depends on MOUSE_ELAN_I2C |
| 287 | help |
| 288 | Say Y here if Elan Touchpad in your system is connected to |
| 289 | a SMbus adapter. |
| 290 | |
| 291 | If unsure, say Y. |
| 292 | |
| 293 | config MOUSE_AMIGA |
| 294 | tristate "Amiga mouse" |
| 295 | depends on AMIGA |
| 296 | help |
| 297 | Say Y here if you have an Amiga and want its native mouse |
| 298 | supported by the kernel. |
| 299 | |
| 300 | To compile this driver as a module, choose M here: the |
| 301 | module will be called amimouse. |
| 302 | |
| 303 | config MOUSE_ATARI |
| 304 | tristate "Atari mouse" |
| 305 | depends on ATARI |
| 306 | select ATARI_KBD_CORE |
| 307 | help |
| 308 | Say Y here if you have an Atari and want its native mouse |
| 309 | supported by the kernel. |
| 310 | |
| 311 | To compile this driver as a module, choose M here: the |
| 312 | module will be called atarimouse. |
| 313 | |
| 314 | config MOUSE_RISCPC |
| 315 | tristate "Acorn RiscPC mouse" |
| 316 | depends on ARCH_ACORN |
| 317 | help |
| 318 | Say Y here if you have the Acorn RiscPC computer and want its |
| 319 | native mouse supported. |
| 320 | |
| 321 | To compile this driver as a module, choose M here: the |
| 322 | module will be called rpcmouse. |
| 323 | |
| 324 | config MOUSE_VSXXXAA |
| 325 | tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet" |
| 326 | select SERIO |
| 327 | help |
| 328 | Say Y (or M) if you want to use a DEC VSXXX-AA (hockey |
| 329 | puck) or a VSXXX-GA (rectangular) mouse. These mice are |
| 330 | typically used on DECstations or VAXstations, but can also |
| 331 | be used on any box capable of RS232 (with some adaptor |
| 332 | described in the source file). This driver also works with the |
| 333 | digitizer (VSXXX-AB) DEC produced. |
| 334 | |
| 335 | config MOUSE_GPIO |
| 336 | tristate "GPIO mouse" |
| 337 | depends on GPIOLIB || COMPILE_TEST |
| 338 | help |
| 339 | This driver simulates a mouse on GPIO lines of various CPUs (and some |
| 340 | other chips). |
| 341 | |
| 342 | Say Y here if your device has buttons or a simple joystick connected |
| 343 | directly to GPIO lines. Your board-specific setup logic must also |
| 344 | provide a platform device and platform data saying which GPIOs are |
| 345 | used. |
| 346 | |
| 347 | To compile this driver as a module, choose M here: the |
| 348 | module will be called gpio_mouse. |
| 349 | |
| 350 | config MOUSE_MAPLE |
| 351 | tristate "Maple mouse (for the Dreamcast)" |
| 352 | depends on MAPLE |
| 353 | help |
| 354 | This driver supports the Maple mouse on the SEGA Dreamcast. |
| 355 | |
| 356 | Most Dreamcast users, who have a mouse, will say Y here. |
| 357 | |
| 358 | To compile this driver as a module choose M here: the module will be |
| 359 | called maplemouse. |
| 360 | |
| 361 | config MOUSE_SYNAPTICS_I2C |
| 362 | tristate "Synaptics I2C Touchpad support" |
| 363 | depends on I2C |
| 364 | help |
| 365 | This driver supports Synaptics I2C touchpad controller on eXeda |
| 366 | mobile device. |
| 367 | The device will not work the synaptics X11 driver because |
| 368 | (i) it reports only relative coordinates and has no capabilities |
| 369 | to report absolute coordinates |
| 370 | (ii) the eXeda device itself uses Xfbdev as X Server and it does |
| 371 | not allow using xf86-input-* drivers. |
| 372 | |
| 373 | Say y here if you have eXeda device and want to use a Synaptics |
| 374 | I2C Touchpad. |
| 375 | |
| 376 | To compile this driver as a module, choose M here: the |
| 377 | module will be called synaptics_i2c. |
| 378 | |
| 379 | config MOUSE_SYNAPTICS_USB |
| 380 | tristate "Synaptics USB device support" |
| 381 | depends on USB_ARCH_HAS_HCD |
| 382 | select USB |
| 383 | help |
| 384 | Say Y here if you want to use a Synaptics USB touchpad or pointing |
| 385 | stick. |
| 386 | |
| 387 | While these devices emulate an USB mouse by default and can be used |
| 388 | with standard usbhid driver, this driver, together with its X.Org |
| 389 | counterpart, allows you to fully utilize capabilities of the device. |
| 390 | More information can be found at: |
| 391 | <http://jan-steinhoff.de/linux/synaptics-usb.html> |
| 392 | |
| 393 | To compile this driver as a module, choose M here: the |
| 394 | module will be called synaptics_usb. |
| 395 | |
| 396 | endif |