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