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