xref: /linux/drivers/input/joystick/Kconfig (revision 132db93572821ec2fdf81e354cc40f558faf7e4f)
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	depends on ADI!=m # avoid module name conflict
49	help
50	  Say Y here if you have a Logitech controller using the ADI
51	  protocol over the PC gameport.
52
53	  To compile this driver as a module, choose M here: the
54	  module will be called adi.
55
56config JOYSTICK_COBRA
57	tristate "Creative Labs Blaster Cobra gamepad"
58	select GAMEPORT
59	help
60	  Say Y here if you have a Creative Labs Blaster Cobra gamepad.
61
62	  To compile this driver as a module, choose M here: the
63	  module will be called cobra.
64
65config JOYSTICK_GF2K
66	tristate "Genius Flight2000 Digital joysticks and gamepads"
67	select GAMEPORT
68	help
69	  Say Y here if you have a Genius Flight2000 or MaxFighter digitally
70	  communicating joystick or gamepad.
71
72	  To compile this driver as a module, choose M here: the
73	  module will be called gf2k.
74
75config JOYSTICK_GRIP
76	tristate "Gravis GrIP joysticks and gamepads"
77	select GAMEPORT
78	help
79	  Say Y here if you have a Gravis controller using the GrIP protocol
80	  over the PC gameport.
81
82	  To compile this driver as a module, choose M here: the
83	  module will be called grip.
84
85config JOYSTICK_GRIP_MP
86	tristate "Gravis GrIP MultiPort"
87	select GAMEPORT
88	help
89	  Say Y here if you have the original Gravis GrIP MultiPort, a hub
90	  that connects to the gameport and you connect gamepads to it.
91
92	  To compile this driver as a module, choose M here: the
93	  module will be called grip_mp.
94
95config JOYSTICK_GUILLEMOT
96	tristate "Guillemot joysticks and gamepads"
97	select GAMEPORT
98	help
99	  Say Y here if you have a Guillemot joystick using a digital
100	  protocol over the PC gameport.
101
102	  To compile this driver as a module, choose M here: the
103	  module will be called guillemot.
104
105config JOYSTICK_INTERACT
106	tristate "InterAct digital joysticks and gamepads"
107	select GAMEPORT
108	help
109	  Say Y here if you have an InterAct gameport or joystick
110	  communicating digitally over the gameport.
111
112	  To compile this driver as a module, choose M here: the
113	  module will be called interact.
114
115config JOYSTICK_SIDEWINDER
116	tristate "Microsoft SideWinder digital joysticks and gamepads"
117	select GAMEPORT
118	help
119	  Say Y here if you have a Microsoft controller using the Digital
120	  Overdrive protocol over PC gameport.
121
122	  To compile this driver as a module, choose M here: the
123	  module will be called sidewinder.
124
125config JOYSTICK_TMDC
126	tristate "ThrustMaster DirectConnect joysticks and gamepads"
127	select GAMEPORT
128	help
129	  Say Y here if you have a ThrustMaster controller using the
130	  DirectConnect (BSP) protocol over the PC gameport.
131
132	  To compile this driver as a module, choose M here: the
133	  module will be called tmdc.
134
135source "drivers/input/joystick/iforce/Kconfig"
136
137config JOYSTICK_WARRIOR
138	tristate "Logitech WingMan Warrior joystick"
139	select SERIO
140	help
141	  Say Y here if you have a Logitech WingMan Warrior joystick connected
142	  to your computer's serial port.
143
144	  To compile this driver as a module, choose M here: the
145	  module will be called warrior.
146
147config JOYSTICK_MAGELLAN
148	tristate "LogiCad3d Magellan/SpaceMouse 6dof controllers"
149	select SERIO
150	help
151	  Say Y here if you have a Magellan or Space Mouse 6DOF controller
152	  connected to your computer's serial port.
153
154	  To compile this driver as a module, choose M here: the
155	  module will be called magellan.
156
157config JOYSTICK_SPACEORB
158	tristate "SpaceTec SpaceOrb/Avenger 6dof controllers"
159	select SERIO
160	help
161	  Say Y here if you have a SpaceOrb 360 or SpaceBall Avenger 6DOF
162	  controller connected to your computer's serial port.
163
164	  To compile this driver as a module, choose M here: the
165	  module will be called spaceorb.
166
167config JOYSTICK_SPACEBALL
168	tristate "SpaceTec SpaceBall 6dof controllers"
169	select SERIO
170	help
171	  Say Y here if you have a SpaceTec SpaceBall 2003/3003/4000 FLX
172	  controller connected to your computer's serial port. For the
173	  SpaceBall 4000 USB model, use the USB HID driver.
174
175	  To compile this driver as a module, choose M here: the
176	  module will be called spaceball.
177
178config JOYSTICK_STINGER
179	tristate "Gravis Stinger gamepad"
180	select SERIO
181	help
182	  Say Y here if you have a Gravis Stinger connected to one of your
183	  serial ports.
184
185	  To compile this driver as a module, choose M here: the
186	  module will be called stinger.
187
188config JOYSTICK_TWIDJOY
189	tristate "Twiddler as a joystick"
190	select SERIO
191	help
192	  Say Y here if you have a Handykey Twiddler connected to your
193	  computer's serial port and want to use it as a joystick.
194
195	  To compile this driver as a module, choose M here: the
196	  module will be called twidjoy.
197
198config JOYSTICK_ZHENHUA
199	tristate "5-byte Zhenhua RC transmitter"
200	select SERIO
201	select BITREVERSE
202	help
203	  Say Y here if you have a Zhen Hua PPM-4CH transmitter which is
204	  supplied with a ready to fly micro electric indoor helicopters
205	  such as EasyCopter, Lama, MiniCopter, DragonFly or Jabo and want
206	  to use it via serial cable as a joystick.
207
208	  To compile this driver as a module, choose M here: the
209	  module will be called zhenhua.
210
211config JOYSTICK_DB9
212	tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads"
213	depends on PARPORT
214	help
215	  Say Y here if you have a Sega Master System gamepad, Sega Genesis
216	  gamepad, Sega Saturn gamepad, or a Multisystem -- Atari, Amiga,
217	  Commodore, Amstrad CPC joystick connected to your parallel port.
218	  For more information on how to use the driver please read
219	  <file:Documentation/input/devices/joystick-parport.rst>.
220
221	  To compile this driver as a module, choose M here: the
222	  module will be called db9.
223
224config JOYSTICK_GAMECON
225	tristate "Multisystem, NES, SNES, N64, PSX joysticks and gamepads"
226	depends on PARPORT
227	select INPUT_FF_MEMLESS
228	help
229	  Say Y here if you have a Nintendo Entertainment System gamepad,
230	  Super Nintendo Entertainment System gamepad, Nintendo 64 gamepad,
231	  Sony PlayStation gamepad or a Multisystem -- Atari, Amiga,
232	  Commodore, Amstrad CPC joystick connected to your parallel port.
233	  For more information on how to use the driver please read
234	  <file:Documentation/input/devices/joystick-parport.rst>.
235
236	  To compile this driver as a module, choose M here: the
237	  module will be called gamecon.
238
239config JOYSTICK_TURBOGRAFX
240	tristate "Multisystem joysticks via TurboGraFX device"
241	depends on PARPORT
242	help
243	  Say Y here if you have the TurboGraFX interface by Steffen Schwenke,
244	  and want to use it with Multisystem -- Atari, Amiga, Commodore,
245	  Amstrad CPC joystick. For more information on how to use the driver
246	  please read <file:Documentation/input/devices/joystick-parport.rst>.
247
248	  To compile this driver as a module, choose M here: the
249	  module will be called turbografx.
250
251config JOYSTICK_AMIGA
252	tristate "Amiga joysticks"
253	depends on AMIGA
254	help
255	  Say Y here if you have an Amiga with a digital joystick connected
256	  to it.
257
258	  To compile this driver as a module, choose M here: the
259	  module will be called amijoy.
260
261config JOYSTICK_AS5011
262	tristate "Austria Microsystem AS5011 joystick"
263	depends on I2C
264	help
265	  Say Y here if you have an AS5011 digital joystick connected to your
266	  system.
267
268	  To compile this driver as a module, choose M here: the
269	  module will be called as5011.
270
271config JOYSTICK_JOYDUMP
272	tristate "Gameport data dumper"
273	select GAMEPORT
274	help
275	  Say Y here if you want to dump data from your joystick into the system
276	  log for debugging purposes. Say N if you are making a production
277	  configuration or aren't sure.
278
279	  To compile this driver as a module, choose M here: the
280	  module will be called joydump.
281
282config JOYSTICK_XPAD
283	tristate "X-Box gamepad support"
284	depends on USB_ARCH_HAS_HCD
285	select USB
286	help
287	  Say Y here if you want to use the X-Box pad with your computer.
288	  Make sure to say Y to "Joystick support" (CONFIG_INPUT_JOYDEV)
289	  and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well.
290
291	  For information about how to connect the X-Box pad to USB, see
292	  <file:Documentation/input/devices/xpad.rst>.
293
294	  To compile this driver as a module, choose M here: the
295	  module will be called xpad.
296
297config JOYSTICK_XPAD_FF
298	bool "X-Box gamepad rumble support"
299	depends on JOYSTICK_XPAD && INPUT
300	select INPUT_FF_MEMLESS
301	help
302	  Say Y here if you want to take advantage of xbox 360 rumble features.
303
304config JOYSTICK_XPAD_LEDS
305	bool "LED Support for Xbox360 controller 'BigX' LED"
306	depends on JOYSTICK_XPAD && (LEDS_CLASS=y || LEDS_CLASS=JOYSTICK_XPAD)
307	help
308	  This option enables support for the LED which surrounds the Big X on
309	  XBox 360 controller.
310
311config JOYSTICK_WALKERA0701
312	tristate "Walkera WK-0701 RC transmitter"
313	depends on HIGH_RES_TIMERS && PARPORT
314	help
315	  Say Y or M here if you have a Walkera WK-0701 transmitter which is
316	  supplied with a ready to fly Walkera helicopters such as HM36,
317	  HM37, HM60 and want to use it via parport as a joystick. More
318	  information is available: <file:Documentation/input/devices/walkera0701.rst>
319
320	  To compile this driver as a module, choose M here: the
321	  module will be called walkera0701.
322
323config JOYSTICK_MAPLE
324	tristate "Dreamcast control pad"
325	depends on MAPLE
326	help
327	  Say Y here if you have a SEGA Dreamcast and want to use your
328	  controller as a joystick.
329
330	  Most Dreamcast users will say Y.
331
332	  To compile this as a module choose M here: the module will be called
333	  maplecontrol.
334
335config JOYSTICK_PSXPAD_SPI
336	tristate "PlayStation 1/2 joypads via SPI interface"
337	depends on SPI
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