xref: /openbmc/linux/drivers/input/mouse/Kconfig (revision 9a29ad52)
1#
2# Mouse driver configuration
3#
4menuconfig 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
13if INPUT_MOUSE
14
15config 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
41config 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
51config 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
61config 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
71config 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
81config 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
93config 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
103config 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
113config 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
123config 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
136config 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
148config 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
157config 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
166config 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
176config 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
186config 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
198config MOUSE_PS2_SMBUS
199	bool
200	depends on MOUSE_PS2
201
202config 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
215config 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
236config 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
259config 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
272config 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
283config 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
293config 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
302config 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
312config 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
318config 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
328config 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
338config 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
348config 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
359config 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
369config 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
380config 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
396config 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
402config 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
413config 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
431config 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
448config 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
460endif
461