1# SPDX-License-Identifier: GPL-2.0-only 2# 3# Mouse driver configuration 4# 5menuconfig 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 14if INPUT_MOUSE 15 16config 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 42config 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 52config 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 62config 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 72config 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 82config 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 94config 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 104config 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 114config 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 124config 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 137config 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 149config 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 158config 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 167config MOUSE_PS2_OLPC 168 bool "OLPC PS/2 mouse protocol extension" 169 depends on MOUSE_PS2 && OLPC 170 help 171 Say Y here if you have an OLPC XO-1 laptop (with built-in 172 PS/2 touchpad/tablet device). The manufacturer calls the 173 touchpad an HGPK. 174 175 If unsure, say N. 176 177config MOUSE_PS2_FOCALTECH 178 bool "FocalTech PS/2 mouse protocol extension" if EXPERT 179 default y 180 depends on MOUSE_PS2 181 help 182 Say Y here if you have a FocalTech PS/2 TouchPad connected to 183 your system. 184 185 If unsure, say Y. 186 187config MOUSE_PS2_VMMOUSE 188 bool "Virtual mouse (vmmouse)" 189 depends on MOUSE_PS2 && X86 && HYPERVISOR_GUEST 190 help 191 Say Y here if you are running under control of VMware hypervisor 192 (ESXi, Workstation or Fusion). Also make sure that when you enable 193 this option, you remove the xf86-input-vmmouse user-space driver 194 or upgrade it to at least xf86-input-vmmouse 13.1.0, which doesn't 195 load in the presence of an in-kernel vmmouse driver. 196 197 If unsure, say N. 198 199config MOUSE_PS2_SMBUS 200 bool 201 depends on MOUSE_PS2 202 203config MOUSE_SERIAL 204 tristate "Serial mouse" 205 select SERIO 206 help 207 Say Y here if you have a serial (RS-232, COM port) mouse connected 208 to your system. This includes Sun, MouseSystems, Microsoft, 209 Logitech and all other compatible serial mice. 210 211 If unsure, say N. 212 213 To compile this driver as a module, choose M here: the 214 module will be called sermouse. 215 216config MOUSE_APPLETOUCH 217 tristate "Apple USB Touchpad support" 218 depends on USB_ARCH_HAS_HCD 219 select USB 220 help 221 Say Y here if you want to use an Apple USB Touchpad. 222 223 These are the touchpads that can be found on post-February 2005 224 Apple Powerbooks (prior models have a Synaptics touchpad connected 225 to the ADB bus). 226 227 This driver provides a basic mouse driver but can be interfaced 228 with the synaptics X11 driver to provide acceleration and 229 scrolling in X11. 230 231 For further information, see 232 <file:Documentation/input/devices/appletouch.rst>. 233 234 To compile this driver as a module, choose M here: the 235 module will be called appletouch. 236 237config MOUSE_BCM5974 238 tristate "Apple USB BCM5974 Multitouch trackpad support" 239 depends on USB_ARCH_HAS_HCD 240 select USB 241 help 242 Say Y here if you have an Apple USB BCM5974 Multitouch 243 trackpad. 244 245 The BCM5974 is the multitouch trackpad found in the Macbook 246 Air (JAN2008) and Macbook Pro Penryn (FEB2008) laptops. 247 248 It is also found in the IPhone (2007) and Ipod Touch (2008). 249 250 This driver provides multitouch functionality together with 251 the synaptics X11 driver. 252 253 The interface is currently identical to the appletouch interface, 254 for further information, see 255 <file:Documentation/input/devices/appletouch.rst>. 256 257 To compile this driver as a module, choose M here: the 258 module will be called bcm5974. 259 260config MOUSE_CYAPA 261 tristate "Cypress APA I2C Trackpad support" 262 depends on I2C 263 select CRC_ITU_T 264 help 265 This driver adds support for Cypress All Points Addressable (APA) 266 I2C Trackpads, including the ones used in 2012 Samsung Chromebooks. 267 268 Say Y here if you have a Cypress APA I2C Trackpad. 269 270 To compile this driver as a module, choose M here: the module will be 271 called cyapa. 272 273config MOUSE_ELAN_I2C 274 tristate "ELAN I2C Touchpad support" 275 depends on I2C 276 help 277 This driver adds support for Elan I2C/SMbus Trackpads. 278 279 Say Y here if you have a ELAN I2C/SMbus Touchpad. 280 281 To compile this driver as a module, choose M here: the module will be 282 called elan_i2c. 283 284config MOUSE_ELAN_I2C_I2C 285 bool "Enable I2C support" 286 depends on MOUSE_ELAN_I2C 287 default y 288 help 289 Say Y here if Elan Touchpad in your system is connected to 290 a standard I2C controller. 291 292 If unsure, say Y. 293 294config MOUSE_ELAN_I2C_SMBUS 295 bool "Enable SMbus support" 296 depends on MOUSE_ELAN_I2C 297 help 298 Say Y here if Elan Touchpad in your system is connected to 299 a SMbus adapter. 300 301 If unsure, say Y. 302 303config MOUSE_INPORT 304 tristate "InPort/MS/ATIXL busmouse" 305 depends on ISA 306 help 307 Say Y here if you have an InPort, Microsoft or ATI XL busmouse. 308 They are rather rare these days. 309 310 To compile this driver as a module, choose M here: the 311 module will be called inport. 312 313config MOUSE_ATIXL 314 bool "ATI XL variant" 315 depends on MOUSE_INPORT 316 help 317 Say Y here if your mouse is of the ATI XL variety. 318 319config MOUSE_LOGIBM 320 tristate "Logitech busmouse" 321 depends on ISA 322 help 323 Say Y here if you have a Logitech busmouse. 324 They are rather rare these days. 325 326 To compile this driver as a module, choose M here: the 327 module will be called logibm. 328 329config MOUSE_PC110PAD 330 tristate "IBM PC110 touchpad" 331 depends on ISA 332 help 333 Say Y if you have the IBM PC-110 micro-notebook and want its 334 touchpad supported. 335 336 To compile this driver as a module, choose M here: the 337 module will be called pc110pad. 338 339config MOUSE_AMIGA 340 tristate "Amiga mouse" 341 depends on AMIGA 342 help 343 Say Y here if you have an Amiga and want its native mouse 344 supported by the kernel. 345 346 To compile this driver as a module, choose M here: the 347 module will be called amimouse. 348 349config MOUSE_ATARI 350 tristate "Atari mouse" 351 depends on ATARI 352 select ATARI_KBD_CORE 353 help 354 Say Y here if you have an Atari and want its native mouse 355 supported by the kernel. 356 357 To compile this driver as a module, choose M here: the 358 module will be called atarimouse. 359 360config MOUSE_RISCPC 361 tristate "Acorn RiscPC mouse" 362 depends on ARCH_ACORN 363 help 364 Say Y here if you have the Acorn RiscPC computer and want its 365 native mouse supported. 366 367 To compile this driver as a module, choose M here: the 368 module will be called rpcmouse. 369 370config MOUSE_VSXXXAA 371 tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet" 372 select SERIO 373 help 374 Say Y (or M) if you want to use a DEC VSXXX-AA (hockey 375 puck) or a VSXXX-GA (rectangular) mouse. Theses mice are 376 typically used on DECstations or VAXstations, but can also 377 be used on any box capable of RS232 (with some adaptor 378 described in the source file). This driver also works with the 379 digitizer (VSXXX-AB) DEC produced. 380 381config MOUSE_GPIO 382 tristate "GPIO mouse" 383 depends on GPIOLIB || COMPILE_TEST 384 help 385 This driver simulates a mouse on GPIO lines of various CPUs (and some 386 other chips). 387 388 Say Y here if your device has buttons or a simple joystick connected 389 directly to GPIO lines. Your board-specific setup logic must also 390 provide a platform device and platform data saying which GPIOs are 391 used. 392 393 To compile this driver as a module, choose M here: the 394 module will be called gpio_mouse. 395 396config MOUSE_PXA930_TRKBALL 397 tristate "PXA930 Trackball mouse" 398 depends on CPU_PXA930 || CPU_PXA935 399 help 400 Say Y here to support PXA930 Trackball mouse. 401 402config MOUSE_MAPLE 403 tristate "Maple mouse (for the Dreamcast)" 404 depends on MAPLE 405 help 406 This driver supports the Maple mouse on the SEGA Dreamcast. 407 408 Most Dreamcast users, who have a mouse, will say Y here. 409 410 To compile this driver as a module choose M here: the module will be 411 called maplemouse. 412 413config MOUSE_SYNAPTICS_I2C 414 tristate "Synaptics I2C Touchpad support" 415 depends on I2C 416 help 417 This driver supports Synaptics I2C touchpad controller on eXeda 418 mobile device. 419 The device will not work the synaptics X11 driver because 420 (i) it reports only relative coordinates and has no capabilities 421 to report absolute coordinates 422 (ii) the eXeda device itself uses Xfbdev as X Server and it does 423 not allow using xf86-input-* drivers. 424 425 Say y here if you have eXeda device and want to use a Synaptics 426 I2C Touchpad. 427 428 To compile this driver as a module, choose M here: the 429 module will be called synaptics_i2c. 430 431config MOUSE_SYNAPTICS_USB 432 tristate "Synaptics USB device support" 433 depends on USB_ARCH_HAS_HCD 434 select USB 435 help 436 Say Y here if you want to use a Synaptics USB touchpad or pointing 437 stick. 438 439 While these devices emulate an USB mouse by default and can be used 440 with standard usbhid driver, this driver, together with its X.Org 441 counterpart, allows you to fully utilize capabilities of the device. 442 More information can be found at: 443 <http://jan-steinhoff.de/linux/synaptics-usb.html> 444 445 To compile this driver as a module, choose M here: the 446 module will be called synaptics_usb. 447 448config MOUSE_NAVPOINT_PXA27x 449 tristate "Synaptics NavPoint (PXA27x SSP/SPI)" 450 depends on PXA27x && PXA_SSP 451 help 452 This driver adds support for the Synaptics NavPoint touchpad connected 453 to a PXA27x SSP port in SPI slave mode. The device emulates a mouse; 454 a tap or tap-and-a-half drag gesture emulates the left mouse button. 455 For example, use the xf86-input-evdev driver for an X pointing device. 456 457 To compile this driver as a module, choose M here: the 458 module will be called navpoint. 459 460endif 461