xref: /linux/drivers/input/joystick/Kconfig (revision 17cfcb68af3bc7d5e8ae08779b1853310a2949f3)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Joystick driver configuration
4#
5menuconfig INPUT_JOYSTICK
6	bool "Joysticks/Gamepads"
7	help
8	  If you have a joystick, 6dof controller, gamepad, steering wheel,
9	  weapon control system or something like that you can say Y here
10	  and the list of supported devices will be displayed. This option
11	  doesn't affect the kernel.
12
13	  Please read the file <file:Documentation/input/joydev/joystick.rst> which
14	  contains more information.
15
16if INPUT_JOYSTICK
17
18config JOYSTICK_ANALOG
19	tristate "Classic PC analog joysticks and gamepads"
20	select GAMEPORT
21	---help---
22	  Say Y here if you have a joystick that connects to the PC
23	  gameport. In addition to the usual PC analog joystick, this driver
24	  supports many extensions, including joysticks with throttle control,
25	  with rudders, additional hats and buttons compatible with CH
26	  Flightstick Pro, ThrustMaster FCS, 6 and 8 button gamepads, or
27	  Saitek Cyborg joysticks.
28
29	  Please read the file <file:Documentation/input/joydev/joystick.rst> which
30	  contains more information.
31
32	  To compile this driver as a module, choose M here: the
33	  module will be called analog.
34
35config JOYSTICK_A3D
36	tristate "Assassin 3D and MadCatz Panther devices"
37	select GAMEPORT
38	help
39	  Say Y here if you have an FPGaming or MadCatz controller using the
40	  A3D protocol over the PC gameport.
41
42	  To compile this driver as a module, choose M here: the
43	  module will be called a3d.
44
45config JOYSTICK_ADI
46	tristate "Logitech ADI digital joysticks and gamepads"
47	select GAMEPORT
48	help
49	  Say Y here if you have a Logitech controller using the ADI
50	  protocol over the PC gameport.
51
52	  To compile this driver as a module, choose M here: the
53	  module will be called adi.
54
55config JOYSTICK_COBRA
56	tristate "Creative Labs Blaster Cobra gamepad"
57	select GAMEPORT
58	help
59	  Say Y here if you have a Creative Labs Blaster Cobra gamepad.
60
61	  To compile this driver as a module, choose M here: the
62	  module will be called cobra.
63
64config JOYSTICK_GF2K
65	tristate "Genius Flight2000 Digital joysticks and gamepads"
66	select GAMEPORT
67	help
68	  Say Y here if you have a Genius Flight2000 or MaxFighter digitally
69	  communicating joystick or gamepad.
70
71	  To compile this driver as a module, choose M here: the
72	  module will be called gf2k.
73
74config JOYSTICK_GRIP
75	tristate "Gravis GrIP joysticks and gamepads"
76	select GAMEPORT
77	help
78	  Say Y here if you have a Gravis controller using the GrIP protocol
79	  over the PC gameport.
80
81	  To compile this driver as a module, choose M here: the
82	  module will be called grip.
83
84config JOYSTICK_GRIP_MP
85	tristate "Gravis GrIP MultiPort"
86	select GAMEPORT
87	help
88	  Say Y here if you have the original Gravis GrIP MultiPort, a hub
89	  that connects to the gameport and you connect gamepads to it.
90
91	  To compile this driver as a module, choose M here: the
92	  module will be called grip_mp.
93
94config JOYSTICK_GUILLEMOT
95	tristate "Guillemot joysticks and gamepads"
96	select GAMEPORT
97	help
98	  Say Y here if you have a Guillemot joystick using a digital
99	  protocol over the PC gameport.
100
101	  To compile this driver as a module, choose M here: the
102	  module will be called guillemot.
103
104config JOYSTICK_INTERACT
105	tristate "InterAct digital joysticks and gamepads"
106	select GAMEPORT
107	help
108	  Say Y here if you have an InterAct gameport or joystick
109	  communicating digitally over the gameport.
110
111	  To compile this driver as a module, choose M here: the
112	  module will be called interact.
113
114config JOYSTICK_SIDEWINDER
115	tristate "Microsoft SideWinder digital joysticks and gamepads"
116	select GAMEPORT
117	help
118	  Say Y here if you have a Microsoft controller using the Digital
119	  Overdrive protocol over PC gameport.
120
121	  To compile this driver as a module, choose M here: the
122	  module will be called sidewinder.
123
124config JOYSTICK_TMDC
125	tristate "ThrustMaster DirectConnect joysticks and gamepads"
126	select GAMEPORT
127	help
128	  Say Y here if you have a ThrustMaster controller using the
129	  DirectConnect (BSP) protocol over the PC gameport.
130
131	  To compile this driver as a module, choose M here: the
132	  module will be called tmdc.
133
134source "drivers/input/joystick/iforce/Kconfig"
135
136config JOYSTICK_WARRIOR
137	tristate "Logitech WingMan Warrior joystick"
138	select SERIO
139	help
140	  Say Y here if you have a Logitech WingMan Warrior joystick connected
141	  to your computer's serial port.
142
143	  To compile this driver as a module, choose M here: the
144	  module will be called warrior.
145
146config JOYSTICK_MAGELLAN
147	tristate "LogiCad3d Magellan/SpaceMouse 6dof controllers"
148	select SERIO
149	help
150	  Say Y here if you have a Magellan or Space Mouse 6DOF controller
151	  connected to your computer's serial port.
152
153	  To compile this driver as a module, choose M here: the
154	  module will be called magellan.
155
156config JOYSTICK_SPACEORB
157	tristate "SpaceTec SpaceOrb/Avenger 6dof controllers"
158	select SERIO
159	help
160	  Say Y here if you have a SpaceOrb 360 or SpaceBall Avenger 6DOF
161	  controller connected to your computer's serial port.
162
163	  To compile this driver as a module, choose M here: the
164	  module will be called spaceorb.
165
166config JOYSTICK_SPACEBALL
167	tristate "SpaceTec SpaceBall 6dof controllers"
168	select SERIO
169	help
170	  Say Y here if you have a SpaceTec SpaceBall 2003/3003/4000 FLX
171	  controller connected to your computer's serial port. For the
172	  SpaceBall 4000 USB model, use the USB HID driver.
173
174	  To compile this driver as a module, choose M here: the
175	  module will be called spaceball.
176
177config JOYSTICK_STINGER
178	tristate "Gravis Stinger gamepad"
179	select SERIO
180	help
181	  Say Y here if you have a Gravis Stinger connected to one of your
182	  serial ports.
183
184	  To compile this driver as a module, choose M here: the
185	  module will be called stinger.
186
187config JOYSTICK_TWIDJOY
188	tristate "Twiddler as a joystick"
189	select SERIO
190	help
191	  Say Y here if you have a Handykey Twiddler connected to your
192	  computer's serial port and want to use it as a joystick.
193
194	  To compile this driver as a module, choose M here: the
195	  module will be called twidjoy.
196
197config JOYSTICK_ZHENHUA
198	tristate "5-byte Zhenhua RC transmitter"
199	select SERIO
200	select BITREVERSE
201	help
202	  Say Y here if you have a Zhen Hua PPM-4CH transmitter which is
203	  supplied with a ready to fly micro electric indoor helicopters
204	  such as EasyCopter, Lama, MiniCopter, DragonFly or Jabo and want
205	  to use it via serial cable as a joystick.
206
207	  To compile this driver as a module, choose M here: the
208	  module will be called zhenhua.
209
210config JOYSTICK_DB9
211	tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads"
212	depends on PARPORT
213	help
214	  Say Y here if you have a Sega Master System gamepad, Sega Genesis
215	  gamepad, Sega Saturn gamepad, or a Multisystem -- Atari, Amiga,
216	  Commodore, Amstrad CPC joystick connected to your parallel port.
217	  For more information on how to use the driver please read
218	  <file:Documentation/input/devices/joystick-parport.rst>.
219
220	  To compile this driver as a module, choose M here: the
221	  module will be called db9.
222
223config JOYSTICK_GAMECON
224	tristate "Multisystem, NES, SNES, N64, PSX joysticks and gamepads"
225	depends on PARPORT
226	select INPUT_FF_MEMLESS
227	---help---
228	  Say Y here if you have a Nintendo Entertainment System gamepad,
229	  Super Nintendo Entertainment System gamepad, Nintendo 64 gamepad,
230	  Sony PlayStation gamepad or a Multisystem -- Atari, Amiga,
231	  Commodore, Amstrad CPC joystick connected to your parallel port.
232	  For more information on how to use the driver please read
233	  <file:Documentation/input/devices/joystick-parport.rst>.
234
235	  To compile this driver as a module, choose M here: the
236	  module will be called gamecon.
237
238config JOYSTICK_TURBOGRAFX
239	tristate "Multisystem joysticks via TurboGraFX device"
240	depends on PARPORT
241	help
242	  Say Y here if you have the TurboGraFX interface by Steffen Schwenke,
243	  and want to use it with Multisystem -- Atari, Amiga, Commodore,
244	  Amstrad CPC joystick. For more information on how to use the driver
245	  please read <file:Documentation/input/devices/joystick-parport.rst>.
246
247	  To compile this driver as a module, choose M here: the
248	  module will be called turbografx.
249
250config JOYSTICK_AMIGA
251	tristate "Amiga joysticks"
252	depends on AMIGA
253	help
254	  Say Y here if you have an Amiga with a digital joystick connected
255	  to it.
256
257	  To compile this driver as a module, choose M here: the
258	  module will be called amijoy.
259
260config JOYSTICK_AS5011
261	tristate "Austria Microsystem AS5011 joystick"
262	depends on I2C
263	help
264	  Say Y here if you have an AS5011 digital joystick connected to your
265	  system.
266
267	  To compile this driver as a module, choose M here: the
268	  module will be called as5011.
269
270config JOYSTICK_JOYDUMP
271	tristate "Gameport data dumper"
272	select GAMEPORT
273	help
274	  Say Y here if you want to dump data from your joystick into the system
275	  log for debugging purposes. Say N if you are making a production
276	  configuration or aren't sure.
277
278	  To compile this driver as a module, choose M here: the
279	  module will be called joydump.
280
281config JOYSTICK_XPAD
282	tristate "X-Box gamepad support"
283	depends on USB_ARCH_HAS_HCD
284	select USB
285	help
286	  Say Y here if you want to use the X-Box pad with your computer.
287	  Make sure to say Y to "Joystick support" (CONFIG_INPUT_JOYDEV)
288	  and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well.
289
290	  For information about how to connect the X-Box pad to USB, see
291	  <file:Documentation/input/devices/xpad.rst>.
292
293	  To compile this driver as a module, choose M here: the
294	  module will be called xpad.
295
296config JOYSTICK_XPAD_FF
297	bool "X-Box gamepad rumble support"
298	depends on JOYSTICK_XPAD && INPUT
299	select INPUT_FF_MEMLESS
300	---help---
301	  Say Y here if you want to take advantage of xbox 360 rumble features.
302
303config JOYSTICK_XPAD_LEDS
304	bool "LED Support for Xbox360 controller 'BigX' LED"
305	depends on JOYSTICK_XPAD && (LEDS_CLASS=y || LEDS_CLASS=JOYSTICK_XPAD)
306	---help---
307	  This option enables support for the LED which surrounds the Big X on
308	  XBox 360 controller.
309
310config JOYSTICK_WALKERA0701
311	tristate "Walkera WK-0701 RC transmitter"
312	depends on HIGH_RES_TIMERS && PARPORT
313	help
314	  Say Y or M here if you have a Walkera WK-0701 transmitter which is
315	  supplied with a ready to fly Walkera helicopters such as HM36,
316	  HM37, HM60 and want to use it via parport as a joystick. More
317	  information is available: <file:Documentation/input/devices/walkera0701.rst>
318
319	  To compile this driver as a module, choose M here: the
320	  module will be called walkera0701.
321
322config JOYSTICK_MAPLE
323	tristate "Dreamcast control pad"
324	depends on MAPLE
325	help
326	  Say Y here if you have a SEGA Dreamcast and want to use your
327	  controller as a joystick.
328
329	  Most Dreamcast users will say Y.
330
331	  To compile this as a module choose M here: the module will be called
332	  maplecontrol.
333
334config JOYSTICK_PSXPAD_SPI
335	tristate "PlayStation 1/2 joypads via SPI interface"
336	depends on SPI
337	select INPUT_POLLDEV
338	help
339	  Say Y here if you wish to connect PlayStation 1/2 joypads
340	  via SPI interface.
341
342	  To compile this driver as a module, choose M here: the
343	  module will be called psxpad-spi.
344
345config JOYSTICK_PSXPAD_SPI_FF
346	bool "PlayStation 1/2 joypads force feedback (rumble) support"
347	depends on JOYSTICK_PSXPAD_SPI
348	select INPUT_FF_MEMLESS
349	help
350	  Say Y here if you want to take advantage of PlayStation 1/2
351	  joypads rumble features.
352
353	  To drive rumble motor a dedicated power supply is required.
354
355config JOYSTICK_PXRC
356	tristate "PhoenixRC Flight Controller Adapter"
357	depends on USB_ARCH_HAS_HCD
358	select USB
359	help
360	  Say Y here if you want to use the PhoenixRC Flight Controller Adapter.
361
362	  To compile this driver as a module, choose M here: the
363	  module will be called pxrc.
364
365config JOYSTICK_FSIA6B
366	tristate "FlySky FS-iA6B RC Receiver"
367	select SERIO
368	help
369	  Say Y here if you use a FlySky FS-i6 RC remote control along with the
370	  FS-iA6B RC receiver as a joystick input device.
371
372	  To compile this driver as a module, choose M here: the
373	  module will be called fsia6b.
374
375endif
376