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