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