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