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_PIXART 73 bool "PixArt PS/2 touchpad protocol extension" if EXPERT 74 default y 75 depends on MOUSE_PS2 76 help 77 This driver supports the PixArt PS/2 touchpad found in some 78 laptops. 79 Say Y here if you have a PixArt PS/2 TouchPad connected to 80 your system. 81 82 If unsure, say Y. 83 84config MOUSE_PS2_SYNAPTICS 85 bool "Synaptics PS/2 mouse protocol extension" if EXPERT 86 default y 87 depends on MOUSE_PS2 88 help 89 Say Y here if you have a Synaptics PS/2 TouchPad connected to 90 your system. 91 92 If unsure, say Y. 93 94config MOUSE_PS2_SYNAPTICS_SMBUS 95 bool "Synaptics PS/2 SMbus companion" if EXPERT 96 default y 97 depends on MOUSE_PS2 98 depends on I2C=y || I2C=MOUSE_PS2 99 select MOUSE_PS2_SMBUS 100 help 101 Say Y here if you have a Synaptics RMI4 touchpad connected to 102 to an SMBus, but enumerated through PS/2. 103 104 If unsure, say Y. 105 106config MOUSE_PS2_CYPRESS 107 bool "Cypress PS/2 mouse protocol extension" if EXPERT 108 default y 109 depends on MOUSE_PS2 110 help 111 Say Y here if you have a Cypress PS/2 Trackpad connected to 112 your system. 113 114 If unsure, say Y. 115 116config MOUSE_PS2_LIFEBOOK 117 bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EXPERT 118 default y 119 depends on MOUSE_PS2 && X86 && DMI 120 help 121 Say Y here if you have a Fujitsu B-series Lifebook PS/2 122 TouchScreen connected to your system. 123 124 If unsure, say Y. 125 126config MOUSE_PS2_TRACKPOINT 127 bool "IBM Trackpoint PS/2 mouse protocol extension" if EXPERT 128 default y 129 depends on MOUSE_PS2 130 help 131 Say Y here if you have an IBM Trackpoint PS/2 mouse connected 132 to your system. 133 134 If unsure, say Y. 135 136config MOUSE_PS2_ELANTECH 137 bool "Elantech PS/2 protocol extension" 138 depends on MOUSE_PS2 139 help 140 Say Y here if you have an Elantech PS/2 touchpad connected 141 to your system. 142 143 This driver exposes some configuration registers via sysfs 144 entries. For further information, 145 see <file:Documentation/input/devices/elantech.rst>. 146 147 If unsure, say N. 148 149config MOUSE_PS2_ELANTECH_SMBUS 150 bool "Elantech PS/2 SMbus companion" if EXPERT 151 default y 152 depends on MOUSE_PS2 && MOUSE_PS2_ELANTECH 153 depends on I2C=y || I2C=MOUSE_PS2 154 select MOUSE_PS2_SMBUS 155 help 156 Say Y here if you have a Elantech touchpad connected to 157 to an SMBus, but enumerated through PS/2. 158 159 If unsure, say Y. 160 161config MOUSE_PS2_SENTELIC 162 bool "Sentelic Finger Sensing Pad PS/2 protocol extension" 163 depends on MOUSE_PS2 164 help 165 Say Y here if you have a laptop (such as MSI WIND Netbook) 166 with Sentelic Finger Sensing Pad touchpad. 167 168 If unsure, say N. 169 170config MOUSE_PS2_TOUCHKIT 171 bool "eGalax TouchKit PS/2 protocol extension" 172 depends on MOUSE_PS2 173 help 174 Say Y here if you have an eGalax TouchKit PS/2 touchscreen 175 connected to your system. 176 177 If unsure, say N. 178 179config MOUSE_PS2_OLPC 180 bool "OLPC PS/2 mouse protocol extension" 181 depends on MOUSE_PS2 && OLPC 182 help 183 Say Y here if you have an OLPC XO-1 laptop (with built-in 184 PS/2 touchpad/tablet device). The manufacturer calls the 185 touchpad an HGPK. 186 187 If unsure, say N. 188 189config MOUSE_PS2_FOCALTECH 190 bool "FocalTech PS/2 mouse protocol extension" if EXPERT 191 default y 192 depends on MOUSE_PS2 193 help 194 Say Y here if you have a FocalTech PS/2 TouchPad connected to 195 your system. 196 197 If unsure, say Y. 198 199config MOUSE_PS2_VMMOUSE 200 bool "Virtual mouse (vmmouse)" 201 depends on MOUSE_PS2 && X86 && HYPERVISOR_GUEST 202 help 203 Say Y here if you are running under control of VMware hypervisor 204 (ESXi, Workstation or Fusion). Also make sure that when you enable 205 this option, you remove the xf86-input-vmmouse user-space driver 206 or upgrade it to at least xf86-input-vmmouse 13.1.0, which doesn't 207 load in the presence of an in-kernel vmmouse driver. 208 209 If unsure, say N. 210 211config MOUSE_PS2_SMBUS 212 bool 213 depends on MOUSE_PS2 214 215config MOUSE_SERIAL 216 tristate "Serial mouse" 217 select SERIO 218 help 219 Say Y here if you have a serial (RS-232, COM port) mouse connected 220 to your system. This includes Sun, MouseSystems, Microsoft, 221 Logitech and all other compatible serial mice. 222 223 If unsure, say N. 224 225 To compile this driver as a module, choose M here: the 226 module will be called sermouse. 227 228config MOUSE_APPLETOUCH 229 tristate "Apple USB Touchpad support" 230 depends on USB_ARCH_HAS_HCD 231 select USB 232 help 233 Say Y here if you want to use an Apple USB Touchpad. 234 235 These are the touchpads that can be found on post-February 2005 236 Apple Powerbooks (prior models have a Synaptics touchpad connected 237 to the ADB bus). 238 239 This driver provides a basic mouse driver but can be interfaced 240 with the synaptics X11 driver to provide acceleration and 241 scrolling in X11. 242 243 For further information, see 244 <file:Documentation/input/devices/appletouch.rst>. 245 246 To compile this driver as a module, choose M here: the 247 module will be called appletouch. 248 249config MOUSE_BCM5974 250 tristate "Apple USB BCM5974 Multitouch trackpad support" 251 depends on USB_ARCH_HAS_HCD 252 select USB 253 help 254 Say Y here if you have an Apple USB BCM5974 Multitouch 255 trackpad. 256 257 The BCM5974 is the multitouch trackpad found in the Macbook 258 Air (JAN2008) and Macbook Pro Penryn (FEB2008) laptops. 259 260 It is also found in the IPhone (2007) and Ipod Touch (2008). 261 262 This driver provides multitouch functionality together with 263 the synaptics X11 driver. 264 265 The interface is currently identical to the appletouch interface, 266 for further information, see 267 <file:Documentation/input/devices/appletouch.rst>. 268 269 To compile this driver as a module, choose M here: the 270 module will be called bcm5974. 271 272config MOUSE_CYAPA 273 tristate "Cypress APA I2C Trackpad support" 274 depends on I2C 275 select CRC_ITU_T 276 help 277 This driver adds support for Cypress All Points Addressable (APA) 278 I2C Trackpads, including the ones used in 2012 Samsung Chromebooks. 279 280 Say Y here if you have a Cypress APA I2C Trackpad. 281 282 To compile this driver as a module, choose M here: the module will be 283 called cyapa. 284 285config MOUSE_ELAN_I2C 286 tristate "ELAN I2C Touchpad support" 287 depends on I2C 288 help 289 This driver adds support for Elan I2C/SMbus Trackpads. 290 291 Say Y here if you have a ELAN I2C/SMbus Touchpad. 292 293 To compile this driver as a module, choose M here: the module will be 294 called elan_i2c. 295 296config MOUSE_ELAN_I2C_I2C 297 bool "Enable I2C support" 298 depends on MOUSE_ELAN_I2C 299 default y 300 help 301 Say Y here if Elan Touchpad in your system is connected to 302 a standard I2C controller. 303 304 If unsure, say Y. 305 306config MOUSE_ELAN_I2C_SMBUS 307 bool "Enable SMbus support" 308 depends on MOUSE_ELAN_I2C 309 help 310 Say Y here if Elan Touchpad in your system is connected to 311 a SMbus adapter. 312 313 If unsure, say Y. 314 315config MOUSE_INPORT 316 tristate "InPort/MS/ATIXL busmouse" 317 depends on ISA 318 help 319 Say Y here if you have an InPort, Microsoft or ATI XL busmouse. 320 They are rather rare these days. 321 322 To compile this driver as a module, choose M here: the 323 module will be called inport. 324 325config MOUSE_ATIXL 326 bool "ATI XL variant" 327 depends on MOUSE_INPORT 328 help 329 Say Y here if your mouse is of the ATI XL variety. 330 331config MOUSE_LOGIBM 332 tristate "Logitech busmouse" 333 depends on ISA 334 help 335 Say Y here if you have a Logitech busmouse. 336 They are rather rare these days. 337 338 To compile this driver as a module, choose M here: the 339 module will be called logibm. 340 341config MOUSE_PC110PAD 342 tristate "IBM PC110 touchpad" 343 depends on ISA 344 help 345 Say Y if you have the IBM PC-110 micro-notebook and want its 346 touchpad supported. 347 348 To compile this driver as a module, choose M here: the 349 module will be called pc110pad. 350 351config MOUSE_AMIGA 352 tristate "Amiga mouse" 353 depends on AMIGA 354 help 355 Say Y here if you have an Amiga and want its native mouse 356 supported by the kernel. 357 358 To compile this driver as a module, choose M here: the 359 module will be called amimouse. 360 361config MOUSE_ATARI 362 tristate "Atari mouse" 363 depends on ATARI 364 select ATARI_KBD_CORE 365 help 366 Say Y here if you have an Atari and want its native mouse 367 supported by the kernel. 368 369 To compile this driver as a module, choose M here: the 370 module will be called atarimouse. 371 372config MOUSE_RISCPC 373 tristate "Acorn RiscPC mouse" 374 depends on ARCH_ACORN 375 help 376 Say Y here if you have the Acorn RiscPC computer and want its 377 native mouse supported. 378 379 To compile this driver as a module, choose M here: the 380 module will be called rpcmouse. 381 382config MOUSE_VSXXXAA 383 tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet" 384 select SERIO 385 help 386 Say Y (or M) if you want to use a DEC VSXXX-AA (hockey 387 puck) or a VSXXX-GA (rectangular) mouse. These mice are 388 typically used on DECstations or VAXstations, but can also 389 be used on any box capable of RS232 (with some adaptor 390 described in the source file). This driver also works with the 391 digitizer (VSXXX-AB) DEC produced. 392 393config MOUSE_GPIO 394 tristate "GPIO mouse" 395 depends on GPIOLIB || COMPILE_TEST 396 help 397 This driver simulates a mouse on GPIO lines of various CPUs (and some 398 other chips). 399 400 Say Y here if your device has buttons or a simple joystick connected 401 directly to GPIO lines. Your board-specific setup logic must also 402 provide a platform device and platform data saying which GPIOs are 403 used. 404 405 To compile this driver as a module, choose M here: the 406 module will be called gpio_mouse. 407 408config MOUSE_MAPLE 409 tristate "Maple mouse (for the Dreamcast)" 410 depends on MAPLE 411 help 412 This driver supports the Maple mouse on the SEGA Dreamcast. 413 414 Most Dreamcast users, who have a mouse, will say Y here. 415 416 To compile this driver as a module choose M here: the module will be 417 called maplemouse. 418 419config MOUSE_SYNAPTICS_I2C 420 tristate "Synaptics I2C Touchpad support" 421 depends on I2C 422 help 423 This driver supports Synaptics I2C touchpad controller on eXeda 424 mobile device. 425 The device will not work the synaptics X11 driver because 426 (i) it reports only relative coordinates and has no capabilities 427 to report absolute coordinates 428 (ii) the eXeda device itself uses Xfbdev as X Server and it does 429 not allow using xf86-input-* drivers. 430 431 Say y here if you have eXeda device and want to use a Synaptics 432 I2C Touchpad. 433 434 To compile this driver as a module, choose M here: the 435 module will be called synaptics_i2c. 436 437config MOUSE_SYNAPTICS_USB 438 tristate "Synaptics USB device support" 439 depends on USB_ARCH_HAS_HCD 440 select USB 441 help 442 Say Y here if you want to use a Synaptics USB touchpad or pointing 443 stick. 444 445 While these devices emulate an USB mouse by default and can be used 446 with standard usbhid driver, this driver, together with its X.Org 447 counterpart, allows you to fully utilize capabilities of the device. 448 More information can be found at: 449 <http://jan-steinhoff.de/linux/synaptics-usb.html> 450 451 To compile this driver as a module, choose M here: the 452 module will be called synaptics_usb. 453 454endif 455