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