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_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 177config 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 189config MOUSE_PS2_SMBUS 190 bool 191 depends on MOUSE_PS2 192 193config 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 206config 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 227config 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 250config 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 263config 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 274config 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 284config 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 293config MOUSE_INPORT 294 tristate "InPort/MS/ATIXL busmouse" 295 depends on ISA 296 help 297 Say Y here if you have an InPort, Microsoft or ATI XL busmouse. 298 They are rather rare these days. 299 300 To compile this driver as a module, choose M here: the 301 module will be called inport. 302 303config MOUSE_ATIXL 304 bool "ATI XL variant" 305 depends on MOUSE_INPORT 306 help 307 Say Y here if your mouse is of the ATI XL variety. 308 309config MOUSE_LOGIBM 310 tristate "Logitech busmouse" 311 depends on ISA 312 help 313 Say Y here if you have a Logitech busmouse. 314 They are rather rare these days. 315 316 To compile this driver as a module, choose M here: the 317 module will be called logibm. 318 319config MOUSE_PC110PAD 320 tristate "IBM PC110 touchpad" 321 depends on ISA 322 help 323 Say Y if you have the IBM PC-110 micro-notebook and want its 324 touchpad supported. 325 326 To compile this driver as a module, choose M here: the 327 module will be called pc110pad. 328 329config MOUSE_AMIGA 330 tristate "Amiga mouse" 331 depends on AMIGA 332 help 333 Say Y here if you have an Amiga and want its native mouse 334 supported by the kernel. 335 336 To compile this driver as a module, choose M here: the 337 module will be called amimouse. 338 339config MOUSE_ATARI 340 tristate "Atari mouse" 341 depends on ATARI 342 select ATARI_KBD_CORE 343 help 344 Say Y here if you have an Atari and want its native mouse 345 supported by the kernel. 346 347 To compile this driver as a module, choose M here: the 348 module will be called atarimouse. 349 350config MOUSE_RISCPC 351 tristate "Acorn RiscPC mouse" 352 depends on ARCH_ACORN 353 help 354 Say Y here if you have the Acorn RiscPC computer and want its 355 native mouse supported. 356 357 To compile this driver as a module, choose M here: the 358 module will be called rpcmouse. 359 360config MOUSE_VSXXXAA 361 tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet" 362 select SERIO 363 help 364 Say Y (or M) if you want to use a DEC VSXXX-AA (hockey 365 puck) or a VSXXX-GA (rectangular) mouse. These mice are 366 typically used on DECstations or VAXstations, but can also 367 be used on any box capable of RS232 (with some adaptor 368 described in the source file). This driver also works with the 369 digitizer (VSXXX-AB) DEC produced. 370 371config MOUSE_GPIO 372 tristate "GPIO mouse" 373 depends on GPIOLIB || COMPILE_TEST 374 help 375 This driver simulates a mouse on GPIO lines of various CPUs (and some 376 other chips). 377 378 Say Y here if your device has buttons or a simple joystick connected 379 directly to GPIO lines. Your board-specific setup logic must also 380 provide a platform device and platform data saying which GPIOs are 381 used. 382 383 To compile this driver as a module, choose M here: the 384 module will be called gpio_mouse. 385 386config MOUSE_MAPLE 387 tristate "Maple mouse (for the Dreamcast)" 388 depends on MAPLE 389 help 390 This driver supports the Maple mouse on the SEGA Dreamcast. 391 392 Most Dreamcast users, who have a mouse, will say Y here. 393 394 To compile this driver as a module choose M here: the module will be 395 called maplemouse. 396 397config MOUSE_SYNAPTICS_I2C 398 tristate "Synaptics I2C Touchpad support" 399 depends on I2C 400 help 401 This driver supports Synaptics I2C touchpad controller on eXeda 402 mobile device. 403 The device will not work the synaptics X11 driver because 404 (i) it reports only relative coordinates and has no capabilities 405 to report absolute coordinates 406 (ii) the eXeda device itself uses Xfbdev as X Server and it does 407 not allow using xf86-input-* drivers. 408 409 Say y here if you have eXeda device and want to use a Synaptics 410 I2C Touchpad. 411 412 To compile this driver as a module, choose M here: the 413 module will be called synaptics_i2c. 414 415config MOUSE_SYNAPTICS_USB 416 tristate "Synaptics USB device support" 417 depends on USB_ARCH_HAS_HCD 418 select USB 419 help 420 Say Y here if you want to use a Synaptics USB touchpad or pointing 421 stick. 422 423 While these devices emulate an USB mouse by default and can be used 424 with standard usbhid driver, this driver, together with its X.Org 425 counterpart, allows you to fully utilize capabilities of the device. 426 More information can be found at: 427 <http://jan-steinhoff.de/linux/synaptics-usb.html> 428 429 To compile this driver as a module, choose M here: the 430 module will be called synaptics_usb. 431 432endif 433