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