1 # SPDX-License-Identifier: GPL-2.0-only
3 # Mouse driver configuration
9 Say Y here, and a list of supported mice will be displayed.
10 This option doesn't affect the kernel.
21 select SERIO_I8042 if ARCH_MIGHT_HAVE_PC_SERIO
22 select SERIO_GSCPS2 if GSC
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
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.
39 To compile this driver as a module, choose M here: the
40 module will be called psmouse.
43 bool "ALPS PS/2 mouse protocol extension" if EXPERT
47 Say Y here if you have an ALPS PS/2 touchpad connected to
53 bool "BYD PS/2 mouse protocol extension" if EXPERT
57 Say Y here if you have a BYD PS/2 touchpad connected to
62 config MOUSE_PS2_LOGIPS2PP
63 bool "Logitech PS/2++ mouse protocol extension" if EXPERT
67 Say Y here if you have a Logitech PS/2++ mouse connected to
72 config MOUSE_PS2_SYNAPTICS
73 bool "Synaptics PS/2 mouse protocol extension" if EXPERT
77 Say Y here if you have a Synaptics PS/2 TouchPad connected to
82 config MOUSE_PS2_SYNAPTICS_SMBUS
83 bool "Synaptics PS/2 SMbus companion" if EXPERT
86 depends on I2C=y || I2C=MOUSE_PS2
87 select MOUSE_PS2_SMBUS
89 Say Y here if you have a Synaptics RMI4 touchpad connected to
90 to an SMBus, but enumerated through PS/2.
94 config MOUSE_PS2_CYPRESS
95 bool "Cypress PS/2 mouse protocol extension" if EXPERT
99 Say Y here if you have a Cypress PS/2 Trackpad connected to
104 config MOUSE_PS2_LIFEBOOK
105 bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EXPERT
107 depends on MOUSE_PS2 && X86 && DMI
109 Say Y here if you have a Fujitsu B-series Lifebook PS/2
110 TouchScreen connected to your system.
114 config MOUSE_PS2_TRACKPOINT
115 bool "IBM Trackpoint PS/2 mouse protocol extension" if EXPERT
119 Say Y here if you have an IBM Trackpoint PS/2 mouse connected
124 config MOUSE_PS2_ELANTECH
125 bool "Elantech PS/2 protocol extension"
128 Say Y here if you have an Elantech PS/2 touchpad connected
131 This driver exposes some configuration registers via sysfs
132 entries. For further information,
133 see <file:Documentation/input/devices/elantech.rst>.
137 config MOUSE_PS2_ELANTECH_SMBUS
138 bool "Elantech PS/2 SMbus companion" if EXPERT
140 depends on MOUSE_PS2 && MOUSE_PS2_ELANTECH
141 depends on I2C=y || I2C=MOUSE_PS2
142 select MOUSE_PS2_SMBUS
144 Say Y here if you have a Elantech touchpad connected to
145 to an SMBus, but enumerated through PS/2.
149 config MOUSE_PS2_SENTELIC
150 bool "Sentelic Finger Sensing Pad PS/2 protocol extension"
153 Say Y here if you have a laptop (such as MSI WIND Netbook)
154 with Sentelic Finger Sensing Pad touchpad.
158 config MOUSE_PS2_TOUCHKIT
159 bool "eGalax TouchKit PS/2 protocol extension"
162 Say Y here if you have an eGalax TouchKit PS/2 touchscreen
163 connected to your system.
167 config MOUSE_PS2_OLPC
168 bool "OLPC PS/2 mouse protocol extension"
169 depends on MOUSE_PS2 && OLPC
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
177 config MOUSE_PS2_FOCALTECH
178 bool "FocalTech PS/2 mouse protocol extension" if EXPERT
182 Say Y here if you have a FocalTech PS/2 TouchPad connected to
187 config MOUSE_PS2_VMMOUSE
188 bool "Virtual mouse (vmmouse)"
189 depends on MOUSE_PS2 && X86 && HYPERVISOR_GUEST
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.
199 config MOUSE_PS2_SMBUS
204 tristate "Serial mouse"
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.
213 To compile this driver as a module, choose M here: the
214 module will be called sermouse.
216 config MOUSE_APPLETOUCH
217 tristate "Apple USB Touchpad support"
218 depends on USB_ARCH_HAS_HCD
221 Say Y here if you want to use an Apple USB Touchpad.
223 These are the touchpads that can be found on post-February 2005
224 Apple Powerbooks (prior models have a Synaptics touchpad connected
227 This driver provides a basic mouse driver but can be interfaced
228 with the synaptics X11 driver to provide acceleration and
231 For further information, see
232 <file:Documentation/input/devices/appletouch.rst>.
234 To compile this driver as a module, choose M here: the
235 module will be called appletouch.
238 tristate "Apple USB BCM5974 Multitouch trackpad support"
239 depends on USB_ARCH_HAS_HCD
242 Say Y here if you have an Apple USB BCM5974 Multitouch
245 The BCM5974 is the multitouch trackpad found in the Macbook
246 Air (JAN2008) and Macbook Pro Penryn (FEB2008) laptops.
248 It is also found in the IPhone (2007) and Ipod Touch (2008).
250 This driver provides multitouch functionality together with
251 the synaptics X11 driver.
253 The interface is currently identical to the appletouch interface,
254 for further information, see
255 <file:Documentation/input/devices/appletouch.rst>.
257 To compile this driver as a module, choose M here: the
258 module will be called bcm5974.
261 tristate "Cypress APA I2C Trackpad support"
265 This driver adds support for Cypress All Points Addressable (APA)
266 I2C Trackpads, including the ones used in 2012 Samsung Chromebooks.
268 Say Y here if you have a Cypress APA I2C Trackpad.
270 To compile this driver as a module, choose M here: the module will be
273 config MOUSE_ELAN_I2C
274 tristate "ELAN I2C Touchpad support"
277 This driver adds support for Elan I2C/SMbus Trackpads.
279 Say Y here if you have a ELAN I2C/SMbus Touchpad.
281 To compile this driver as a module, choose M here: the module will be
284 config MOUSE_ELAN_I2C_I2C
285 bool "Enable I2C support"
286 depends on MOUSE_ELAN_I2C
289 Say Y here if Elan Touchpad in your system is connected to
290 a standard I2C controller.
294 config MOUSE_ELAN_I2C_SMBUS
295 bool "Enable SMbus support"
296 depends on MOUSE_ELAN_I2C
298 Say Y here if Elan Touchpad in your system is connected to
304 tristate "InPort/MS/ATIXL busmouse"
307 Say Y here if you have an InPort, Microsoft or ATI XL busmouse.
308 They are rather rare these days.
310 To compile this driver as a module, choose M here: the
311 module will be called inport.
314 bool "ATI XL variant"
315 depends on MOUSE_INPORT
317 Say Y here if your mouse is of the ATI XL variety.
320 tristate "Logitech busmouse"
323 Say Y here if you have a Logitech busmouse.
324 They are rather rare these days.
326 To compile this driver as a module, choose M here: the
327 module will be called logibm.
329 config MOUSE_PC110PAD
330 tristate "IBM PC110 touchpad"
333 Say Y if you have the IBM PC-110 micro-notebook and want its
336 To compile this driver as a module, choose M here: the
337 module will be called pc110pad.
340 tristate "Amiga mouse"
343 Say Y here if you have an Amiga and want its native mouse
344 supported by the kernel.
346 To compile this driver as a module, choose M here: the
347 module will be called amimouse.
350 tristate "Atari mouse"
352 select ATARI_KBD_CORE
354 Say Y here if you have an Atari and want its native mouse
355 supported by the kernel.
357 To compile this driver as a module, choose M here: the
358 module will be called atarimouse.
361 tristate "Acorn RiscPC mouse"
362 depends on ARCH_ACORN
364 Say Y here if you have the Acorn RiscPC computer and want its
365 native mouse supported.
367 To compile this driver as a module, choose M here: the
368 module will be called rpcmouse.
371 tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet"
374 Say Y (or M) if you want to use a DEC VSXXX-AA (hockey
375 puck) or a VSXXX-GA (rectangular) mouse. These 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.
382 tristate "GPIO mouse"
383 depends on GPIOLIB || COMPILE_TEST
385 This driver simulates a mouse on GPIO lines of various CPUs (and some
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
393 To compile this driver as a module, choose M here: the
394 module will be called gpio_mouse.
396 config MOUSE_PXA930_TRKBALL
397 tristate "PXA930 Trackball mouse"
398 depends on CPU_PXA930 || CPU_PXA935
400 Say Y here to support PXA930 Trackball mouse.
403 tristate "Maple mouse (for the Dreamcast)"
406 This driver supports the Maple mouse on the SEGA Dreamcast.
408 Most Dreamcast users, who have a mouse, will say Y here.
410 To compile this driver as a module choose M here: the module will be
413 config MOUSE_SYNAPTICS_I2C
414 tristate "Synaptics I2C Touchpad support"
417 This driver supports Synaptics I2C touchpad controller on eXeda
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.
425 Say y here if you have eXeda device and want to use a Synaptics
428 To compile this driver as a module, choose M here: the
429 module will be called synaptics_i2c.
431 config MOUSE_SYNAPTICS_USB
432 tristate "Synaptics USB device support"
433 depends on USB_ARCH_HAS_HCD
436 Say Y here if you want to use a Synaptics USB touchpad or pointing
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>
445 To compile this driver as a module, choose M here: the
446 module will be called synaptics_usb.
448 config MOUSE_NAVPOINT_PXA27x
449 tristate "Synaptics NavPoint (PXA27x SSP/SPI)"
450 depends on PXA27x && PXA_SSP
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.
457 To compile this driver as a module, choose M here: the
458 module will be called navpoint.