WIP FPC-III support
[linux/fpc-iii.git] / drivers / input / mouse / Kconfig
blob63c9cda555c3327be3a9f37a09957dfa5c5357f7
1 # SPDX-License-Identifier: GPL-2.0-only
3 # Mouse driver configuration
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.
12           If unsure, say Y.
14 if INPUT_MOUSE
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.
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.
37           If unsure, say Y.
39           To compile this driver as a module, choose M here: the
40           module will be called psmouse.
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.
50           If unsure, say Y.
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.
60           If unsure, say Y.
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.
70           If unsure, say Y.
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.
80           If unsure, say Y.
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.
92           If unsure, say Y.
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.
102           If unsure, say Y.
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.
112           If unsure, say Y.
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.
122           If unsure, say Y.
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.
131           This driver exposes some configuration registers via sysfs
132           entries. For further information,
133           see <file:Documentation/input/devices/elantech.rst>.
135           If unsure, say N.
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.
147           If unsure, say Y.
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.
156           If unsure, say N.
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.
165           If unsure, say N.
167 config 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.
175           If unsure, say N.
177 config 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.
185           If unsure, say Y.
187 config 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.
197           If unsure, say N.
199 config MOUSE_PS2_SMBUS
200         bool
201         depends on MOUSE_PS2
203 config 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.
211           If unsure, say N.
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
219         select USB
220         help
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
225           to the ADB bus).
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.
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.
237 config 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.
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.
260 config 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.
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
271           called cyapa.
273 config 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.
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
282           called elan_i2c.
284 config 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.
292            If unsure, say Y.
294 config 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.
301            If unsure, say Y.
303 config 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.
310           To compile this driver as a module, choose M here: the
311           module will be called inport.
313 config 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.
319 config 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.
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"
331         depends on ISA
332         help
333           Say Y if you have the IBM PC-110 micro-notebook and want its
334           touchpad supported.
336           To compile this driver as a module, choose M here: the
337           module will be called pc110pad.
339 config 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.
346           To compile this driver as a module, choose M here: the
347           module will be called amimouse.
349 config 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.
357           To compile this driver as a module, choose M here: the
358           module will be called atarimouse.
360 config 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.
367           To compile this driver as a module, choose M here: the
368           module will be called rpcmouse.
370 config 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. 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.
381 config 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).
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.
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
399         help
400           Say Y here to support PXA930 Trackball mouse.
402 config 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.
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
411           called maplemouse.
413 config 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.
425           Say y here if you have eXeda device and want to use a Synaptics
426           I2C Touchpad.
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
434         select USB
435         help
436           Say Y here if you want to use a Synaptics USB touchpad or pointing
437           stick.
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
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.
457           To compile this driver as a module, choose M here: the
458           module will be called navpoint.
460 endif