Merge tag 'for-4.18-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
[sfrench/cifs-2.6.git] / drivers / input / mouse / Kconfig
1 #
2 # Mouse driver configuration
3 #
4 menuconfig INPUT_MOUSE
5         bool "Mice"
6         default y
7         help
8           Say Y here, and a list of supported mice will be displayed.
9           This option doesn't affect the kernel.
10
11           If unsure, say Y.
12
13 if INPUT_MOUSE
14
15 config MOUSE_PS2
16         tristate "PS/2 mouse"
17         default y
18         select SERIO
19         select SERIO_LIBPS2
20         select SERIO_I8042 if ARCH_MIGHT_HAVE_PC_SERIO
21         select SERIO_GSCPS2 if GSC
22         help
23           Say Y here if you have a PS/2 mouse connected to your system. This
24           includes the standard 2 or 3-button PS/2 mouse, as well as PS/2
25           mice with wheels and extra buttons, Microsoft, Logitech or Genius
26           compatible.
27
28           Synaptics, ALPS or Elantech TouchPad users might be interested
29           in a specialized Xorg/XFree86 driver at:
30                 <http://w1.894.telia.com/~u89404340/touchpad/index.html>
31           and a new version of GPM at:
32                 <http://www.geocities.com/dt_or/gpm/gpm.html>
33                 <http://xorg.freedesktop.org/archive/individual/driver/>
34           to take advantage of the advanced features of the touchpad.
35
36           If unsure, say Y.
37
38           To compile this driver as a module, choose M here: the
39           module will be called psmouse.
40
41 config MOUSE_PS2_ALPS
42         bool "ALPS PS/2 mouse protocol extension" if EXPERT
43         default y
44         depends on MOUSE_PS2
45         help
46           Say Y here if you have an ALPS PS/2 touchpad connected to
47           your system.
48
49           If unsure, say Y.
50
51 config MOUSE_PS2_BYD
52         bool "BYD PS/2 mouse protocol extension" if EXPERT
53         default y
54         depends on MOUSE_PS2
55         help
56           Say Y here if you have a BYD PS/2 touchpad connected to
57           your system.
58
59           If unsure, say Y.
60
61 config MOUSE_PS2_LOGIPS2PP
62         bool "Logitech PS/2++ mouse protocol extension" if EXPERT
63         default y
64         depends on MOUSE_PS2
65         help
66           Say Y here if you have a Logitech PS/2++ mouse connected to
67           your system.
68
69           If unsure, say Y.
70
71 config MOUSE_PS2_SYNAPTICS
72         bool "Synaptics PS/2 mouse protocol extension" if EXPERT
73         default y
74         depends on MOUSE_PS2
75         help
76           Say Y here if you have a Synaptics PS/2 TouchPad connected to
77           your system.
78
79           If unsure, say Y.
80
81 config MOUSE_PS2_SYNAPTICS_SMBUS
82         bool "Synaptics PS/2 SMbus companion" if EXPERT
83         default y
84         depends on MOUSE_PS2
85         depends on I2C=y || I2C=MOUSE_PS2
86         select MOUSE_PS2_SMBUS
87         help
88           Say Y here if you have a Synaptics RMI4 touchpad connected to
89           to an SMBus, but enumerated through PS/2.
90
91           If unsure, say Y.
92
93 config MOUSE_PS2_CYPRESS
94        bool "Cypress PS/2 mouse protocol extension" if EXPERT
95        default y
96        depends on MOUSE_PS2
97        help
98          Say Y here if you have a Cypress PS/2 Trackpad connected to
99          your system.
100
101          If unsure, say Y.
102
103 config MOUSE_PS2_LIFEBOOK
104         bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EXPERT
105         default y
106         depends on MOUSE_PS2 && X86 && DMI
107         help
108           Say Y here if you have a Fujitsu B-series Lifebook PS/2
109           TouchScreen connected to your system.
110
111           If unsure, say Y.
112
113 config MOUSE_PS2_TRACKPOINT
114         bool "IBM Trackpoint PS/2 mouse protocol extension" if EXPERT
115         default y
116         depends on MOUSE_PS2
117         help
118           Say Y here if you have an IBM Trackpoint PS/2 mouse connected
119           to your system.
120
121           If unsure, say Y.
122
123 config MOUSE_PS2_ELANTECH
124         bool "Elantech PS/2 protocol extension"
125         depends on MOUSE_PS2
126         help
127           Say Y here if you have an Elantech PS/2 touchpad connected
128           to your system.
129
130           This driver exposes some configuration registers via sysfs
131           entries. For further information,
132           see <file:Documentation/input/devices/elantech.rst>.
133
134           If unsure, say N.
135
136 config MOUSE_PS2_ELANTECH_SMBUS
137         bool "Elantech PS/2 SMbus companion" if EXPERT
138         default y
139         depends on MOUSE_PS2 && MOUSE_PS2_ELANTECH
140         depends on I2C=y || I2C=MOUSE_PS2
141         select MOUSE_PS2_SMBUS
142         help
143           Say Y here if you have a Elantech touchpad connected to
144           to an SMBus, but enumerated through PS/2.
145
146           If unsure, say Y.
147
148 config MOUSE_PS2_SENTELIC
149         bool "Sentelic Finger Sensing Pad PS/2 protocol extension"
150         depends on MOUSE_PS2
151         help
152           Say Y here if you have a laptop (such as MSI WIND Netbook)
153           with Sentelic Finger Sensing Pad touchpad.
154
155           If unsure, say N.
156
157 config MOUSE_PS2_TOUCHKIT
158         bool "eGalax TouchKit PS/2 protocol extension"
159         depends on MOUSE_PS2
160         help
161           Say Y here if you have an eGalax TouchKit PS/2 touchscreen
162           connected to your system.
163
164           If unsure, say N.
165
166 config MOUSE_PS2_OLPC
167         bool "OLPC PS/2 mouse protocol extension"
168         depends on MOUSE_PS2 && OLPC
169         help
170           Say Y here if you have an OLPC XO-1 laptop (with built-in
171           PS/2 touchpad/tablet device).  The manufacturer calls the
172           touchpad an HGPK.
173
174           If unsure, say N.
175
176 config MOUSE_PS2_FOCALTECH
177         bool "FocalTech PS/2 mouse protocol extension" if EXPERT
178         default y
179         depends on MOUSE_PS2
180         help
181           Say Y here if you have a FocalTech PS/2 TouchPad connected to
182           your system.
183
184           If unsure, say Y.
185
186 config MOUSE_PS2_VMMOUSE
187         bool "Virtual mouse (vmmouse)"
188         depends on MOUSE_PS2 && X86 && HYPERVISOR_GUEST
189         help
190           Say Y here if you are running under control of VMware hypervisor
191           (ESXi, Workstation or Fusion). Also make sure that when you enable
192           this option, you remove the xf86-input-vmmouse user-space driver
193           or upgrade it to at least xf86-input-vmmouse 13.1.0, which doesn't
194           load in the presence of an in-kernel vmmouse driver.
195
196           If unsure, say N.
197
198 config MOUSE_PS2_SMBUS
199         bool
200         depends on MOUSE_PS2
201
202 config MOUSE_SERIAL
203         tristate "Serial mouse"
204         select SERIO
205         help
206           Say Y here if you have a serial (RS-232, COM port) mouse connected
207           to your system. This includes Sun, MouseSystems, Microsoft,
208           Logitech and all other compatible serial mice.
209
210           If unsure, say N.
211
212           To compile this driver as a module, choose M here: the
213           module will be called sermouse.
214
215 config MOUSE_APPLETOUCH
216         tristate "Apple USB Touchpad support"
217         depends on USB_ARCH_HAS_HCD
218         select USB
219         help
220           Say Y here if you want to use an Apple USB Touchpad.
221
222           These are the touchpads that can be found on post-February 2005
223           Apple Powerbooks (prior models have a Synaptics touchpad connected
224           to the ADB bus).
225
226           This driver provides a basic mouse driver but can be interfaced
227           with the synaptics X11 driver to provide acceleration and
228           scrolling in X11.
229
230           For further information, see
231           <file:Documentation/input/devices/appletouch.rst>.
232
233           To compile this driver as a module, choose M here: the
234           module will be called appletouch.
235
236 config MOUSE_BCM5974
237         tristate "Apple USB BCM5974 Multitouch trackpad support"
238         depends on USB_ARCH_HAS_HCD
239         select USB
240         help
241           Say Y here if you have an Apple USB BCM5974 Multitouch
242           trackpad.
243
244           The BCM5974 is the multitouch trackpad found in the Macbook
245           Air (JAN2008) and Macbook Pro Penryn (FEB2008) laptops.
246
247           It is also found in the IPhone (2007) and Ipod Touch (2008).
248
249           This driver provides multitouch functionality together with
250           the synaptics X11 driver.
251
252           The interface is currently identical to the appletouch interface,
253           for further information, see
254           <file:Documentation/input/devices/appletouch.rst>.
255
256           To compile this driver as a module, choose M here: the
257           module will be called bcm5974.
258
259 config MOUSE_CYAPA
260         tristate "Cypress APA I2C Trackpad support"
261         depends on I2C
262         select CRC_ITU_T
263         help
264           This driver adds support for Cypress All Points Addressable (APA)
265           I2C Trackpads, including the ones used in 2012 Samsung Chromebooks.
266
267           Say Y here if you have a Cypress APA I2C Trackpad.
268
269           To compile this driver as a module, choose M here: the module will be
270           called cyapa.
271
272 config MOUSE_ELAN_I2C
273         tristate "ELAN I2C Touchpad support"
274         depends on I2C
275         help
276           This driver adds support for Elan I2C/SMbus Trackpads.
277
278           Say Y here if you have a ELAN I2C/SMbus Touchpad.
279
280           To compile this driver as a module, choose M here: the module will be
281           called elan_i2c.
282
283 config MOUSE_ELAN_I2C_I2C
284         bool "Enable I2C support"
285         depends on MOUSE_ELAN_I2C
286         default y
287         help
288            Say Y here if Elan Touchpad in your system is connected to
289            a standard I2C controller.
290
291            If unsure, say Y.
292
293 config MOUSE_ELAN_I2C_SMBUS
294         bool "Enable SMbus support"
295         depends on MOUSE_ELAN_I2C
296         help
297            Say Y here if Elan Touchpad in your system is connected to
298            a SMbus adapter.
299
300            If unsure, say Y.
301
302 config MOUSE_INPORT
303         tristate "InPort/MS/ATIXL busmouse"
304         depends on ISA
305         help
306           Say Y here if you have an InPort, Microsoft or ATI XL busmouse.
307           They are rather rare these days.
308
309           To compile this driver as a module, choose M here: the
310           module will be called inport.
311
312 config MOUSE_ATIXL
313         bool "ATI XL variant"
314         depends on MOUSE_INPORT
315         help
316           Say Y here if your mouse is of the ATI XL variety.
317
318 config MOUSE_LOGIBM
319         tristate "Logitech busmouse"
320         depends on ISA
321         help
322           Say Y here if you have a Logitech busmouse.
323           They are rather rare these days.
324
325           To compile this driver as a module, choose M here: the
326           module will be called logibm.
327
328 config MOUSE_PC110PAD
329         tristate "IBM PC110 touchpad"
330         depends on ISA
331         help
332           Say Y if you have the IBM PC-110 micro-notebook and want its
333           touchpad supported.
334
335           To compile this driver as a module, choose M here: the
336           module will be called pc110pad.
337
338 config MOUSE_AMIGA
339         tristate "Amiga mouse"
340         depends on AMIGA
341         help
342           Say Y here if you have an Amiga and want its native mouse
343           supported by the kernel.
344
345           To compile this driver as a module, choose M here: the
346           module will be called amimouse.
347
348 config MOUSE_ATARI
349         tristate "Atari mouse"
350         depends on ATARI
351         select ATARI_KBD_CORE
352         help
353           Say Y here if you have an Atari and want its native mouse
354           supported by the kernel.
355
356           To compile this driver as a module, choose M here: the
357           module will be called atarimouse.
358
359 config MOUSE_RISCPC
360         tristate "Acorn RiscPC mouse"
361         depends on ARCH_ACORN
362         help
363           Say Y here if you have the Acorn RiscPC computer and want its
364           native mouse supported.
365
366           To compile this driver as a module, choose M here: the
367           module will be called rpcmouse.
368
369 config MOUSE_VSXXXAA
370         tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet"
371         select SERIO
372         help
373           Say Y (or M) if you want to use a DEC VSXXX-AA (hockey
374           puck) or a VSXXX-GA (rectangular) mouse. Theses mice are
375           typically used on DECstations or VAXstations, but can also
376           be used on any box capable of RS232 (with some adaptor
377           described in the source file). This driver also works with the
378           digitizer (VSXXX-AB) DEC produced.
379
380 config MOUSE_GPIO
381         tristate "GPIO mouse"
382         depends on GPIOLIB || COMPILE_TEST
383         select INPUT_POLLDEV
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
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.
401
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.
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
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.
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
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.
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
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.
456
457           To compile this driver as a module, choose M here: the
458           module will be called navpoint.
459
460 endif