Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
#
# Joystick driver configuration
#
menuconfig CONFIG_INPUT_JOYSTICK
	bool "Joysticks/Gamepads"
	help
	  If you have a joystick, 6dof controller, gamepad, steering wheel,
	  weapon control system or something like that you can say Y here
	  and the list of supported devices will be displayed. This option
	  doesn't affect the kernel.

	  Please read the file <file:Documentation/input/joydev/joystick.rst> which
	  contains more information.

if CONFIG_INPUT_JOYSTICK

config CONFIG_JOYSTICK_ANALOG
	tristate "Classic PC analog joysticks and gamepads"
	select CONFIG_GAMEPORT
	---help---
	  Say Y here if you have a joystick that connects to the PC
	  gameport. In addition to the usual PC analog joystick, this driver
	  supports many extensions, including joysticks with throttle control,
	  with rudders, additional hats and buttons compatible with CH
	  Flightstick Pro, ThrustMaster FCS, 6 and 8 button gamepads, or
	  Saitek Cyborg joysticks.

	  Please read the file <file:Documentation/input/joydev/joystick.rst> which
	  contains more information.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called analog.

config CONFIG_JOYSTICK_A3D
	tristate "Assassin 3D and MadCatz Panther devices"
	select CONFIG_GAMEPORT
	help
	  Say Y here if you have an FPGaming or MadCatz controller using the
	  A3D protocol over the PC gameport.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called a3d.

config CONFIG_JOYSTICK_ADI
	tristate "Logitech ADI digital joysticks and gamepads"
	select CONFIG_GAMEPORT
	help
	  Say Y here if you have a Logitech controller using the CONFIG_ADI
	  protocol over the PC gameport.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called adi.

config CONFIG_JOYSTICK_COBRA
	tristate "Creative Labs Blaster Cobra gamepad"
	select CONFIG_GAMEPORT
	help
	  Say Y here if you have a Creative Labs Blaster Cobra gamepad.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called cobra.

config CONFIG_JOYSTICK_GF2K
	tristate "Genius Flight2000 Digital joysticks and gamepads"
	select CONFIG_GAMEPORT
	help
	  Say Y here if you have a Genius Flight2000 or MaxFighter digitally
	  communicating joystick or gamepad.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called gf2k.

config CONFIG_JOYSTICK_GRIP
	tristate "Gravis GrIP joysticks and gamepads"
	select CONFIG_GAMEPORT
	help
	  Say Y here if you have a Gravis controller using the GrIP protocol
	  over the PC gameport.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called grip.

config CONFIG_JOYSTICK_GRIP_MP
	tristate "Gravis GrIP MultiPort"
	select CONFIG_GAMEPORT
	help
	  Say Y here if you have the original Gravis GrIP MultiPort, a hub
	  that connects to the gameport and you connect gamepads to it.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called grip_mp.

config CONFIG_JOYSTICK_GUILLEMOT
	tristate "Guillemot joysticks and gamepads"
	select CONFIG_GAMEPORT
	help
	  Say Y here if you have a Guillemot joystick using a digital
	  protocol over the PC gameport.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called guillemot.

config CONFIG_JOYSTICK_INTERACT
	tristate "InterAct digital joysticks and gamepads"
	select CONFIG_GAMEPORT
	help
	  Say Y here if you have an InterAct gameport or joystick
	  communicating digitally over the gameport.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called interact.

config CONFIG_JOYSTICK_SIDEWINDER
	tristate "Microsoft SideWinder digital joysticks and gamepads"
	select CONFIG_GAMEPORT
	help
	  Say Y here if you have a Microsoft controller using the Digital
	  Overdrive protocol over PC gameport.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called sidewinder.

config CONFIG_JOYSTICK_TMDC
	tristate "ThrustMaster DirectConnect joysticks and gamepads"
	select CONFIG_GAMEPORT
	help
	  Say Y here if you have a ThrustMaster controller using the
	  DirectConnect (BSP) protocol over the PC gameport.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called tmdc.

source "drivers/input/joystick/iforce/Kconfig"

config CONFIG_JOYSTICK_WARRIOR
	tristate "Logitech WingMan Warrior joystick"
	select CONFIG_SERIO
	help
	  Say Y here if you have a Logitech WingMan Warrior joystick connected
	  to your computer's serial port.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called warrior.

config CONFIG_JOYSTICK_MAGELLAN
	tristate "LogiCad3d Magellan/SpaceMouse 6dof controllers"
	select CONFIG_SERIO
	help
	  Say Y here if you have a Magellan or Space Mouse 6DOF controller
	  connected to your computer's serial port.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called magellan.

config CONFIG_JOYSTICK_SPACEORB
	tristate "SpaceTec SpaceOrb/Avenger 6dof controllers"
	select CONFIG_SERIO
	help
	  Say Y here if you have a SpaceOrb 360 or SpaceBall Avenger 6DOF
	  controller connected to your computer's serial port.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called spaceorb.

config CONFIG_JOYSTICK_SPACEBALL
	tristate "SpaceTec SpaceBall 6dof controllers"
	select CONFIG_SERIO
	help
	  Say Y here if you have a SpaceTec SpaceBall 2003/3003/4000 FLX
	  controller connected to your computer's serial port. For the
	  SpaceBall 4000 CONFIG_USB model, use the CONFIG_USB CONFIG_HID driver.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called spaceball.

config CONFIG_JOYSTICK_STINGER
	tristate "Gravis Stinger gamepad"
	select CONFIG_SERIO
	help
	  Say Y here if you have a Gravis Stinger connected to one of your
	  serial ports.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called stinger.

config CONFIG_JOYSTICK_TWIDJOY
	tristate "Twiddler as a joystick"
	select CONFIG_SERIO
	help
	  Say Y here if you have a Handykey Twiddler connected to your
	  computer's serial port and want to use it as a joystick.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called twidjoy.

config CONFIG_JOYSTICK_ZHENHUA
	tristate "5-byte Zhenhua RC transmitter"
	select CONFIG_SERIO
	select CONFIG_BITREVERSE
	help
	  Say Y here if you have a Zhen Hua PPM-4CH transmitter which is
	  supplied with a ready to fly micro electric indoor helicopters
	  such as EasyCopter, Lama, MiniCopter, DragonFly or Jabo and want
	  to use it via serial cable as a joystick.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called zhenhua.

config CONFIG_JOYSTICK_DB9
	tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads"
	depends on CONFIG_PARPORT
	help
	  Say Y here if you have a Sega Master System gamepad, Sega Genesis
	  gamepad, Sega Saturn gamepad, or a Multisystem -- Atari, Amiga,
	  Commodore, Amstrad CPC joystick connected to your parallel port.
	  For more information on how to use the driver please read
	  <file:Documentation/input/devices/joystick-parport.rst>.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called db9.

config CONFIG_JOYSTICK_GAMECON
	tristate "Multisystem, NES, SNES, N64, PSX joysticks and gamepads"
	depends on CONFIG_PARPORT
	select CONFIG_INPUT_FF_MEMLESS
	---help---
	  Say Y here if you have a Nintendo Entertainment System gamepad,
	  Super Nintendo Entertainment System gamepad, Nintendo 64 gamepad,
	  Sony PlayStation gamepad or a Multisystem -- Atari, Amiga,
	  Commodore, Amstrad CPC joystick connected to your parallel port.
	  For more information on how to use the driver please read
	  <file:Documentation/input/devices/joystick-parport.rst>.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called gamecon.

config CONFIG_JOYSTICK_TURBOGRAFX
	tristate "Multisystem joysticks via TurboGraFX device"
	depends on CONFIG_PARPORT
	help
	  Say Y here if you have the TurboGraFX interface by Steffen Schwenke,
	  and want to use it with Multisystem -- Atari, Amiga, Commodore,
	  Amstrad CPC joystick. For more information on how to use the driver
	  please read <file:Documentation/input/devices/joystick-parport.rst>.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called turbografx.

config CONFIG_JOYSTICK_AMIGA
	tristate "Amiga joysticks"
	depends on CONFIG_AMIGA
	help
	  Say Y here if you have an Amiga with a digital joystick connected
	  to it.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called amijoy.

config CONFIG_JOYSTICK_AS5011
	tristate "Austria Microsystem AS5011 joystick"
	depends on CONFIG_I2C
	help
	  Say Y here if you have an AS5011 digital joystick connected to your
	  system.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called as5011.

config CONFIG_JOYSTICK_JOYDUMP
	tristate "Gameport data dumper"
	select CONFIG_GAMEPORT
	help
	  Say Y here if you want to dump data from your joystick into the system
	  log for debugging purposes. Say N if you are making a production
	  configuration or aren't sure.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called joydump.

config CONFIG_JOYSTICK_XPAD
	tristate "X-Box gamepad support"
	depends on CONFIG_USB_ARCH_HAS_HCD
	select CONFIG_USB
	help
	  Say Y here if you want to use the X-Box pad with your computer.
	  Make sure to say Y to "Joystick support" (CONFIG_INPUT_JOYDEV)
	  and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well.

	  For information about how to connect the X-Box pad to CONFIG_USB, see
	  <file:Documentation/input/devices/xpad.rst>.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called xpad.

config CONFIG_JOYSTICK_XPAD_FF
	bool "X-Box gamepad rumble support"
	depends on CONFIG_JOYSTICK_XPAD && CONFIG_INPUT
	select CONFIG_INPUT_FF_MEMLESS
	---help---
	  Say Y here if you want to take advantage of xbox 360 rumble features.

config CONFIG_JOYSTICK_XPAD_LEDS
	bool "LED Support for Xbox360 controller 'BigX' LED"
	depends on CONFIG_JOYSTICK_XPAD && (CONFIG_LEDS_CLASS=y || CONFIG_LEDS_CLASS=CONFIG_JOYSTICK_XPAD)
	---help---
	  This option enables support for the LED which surrounds the Big X on
	  XBox 360 controller.

config CONFIG_JOYSTICK_WALKERA0701
	tristate "Walkera WK-0701 RC transmitter"
	depends on CONFIG_HIGH_RES_TIMERS && CONFIG_PARPORT
	help
	  Say Y or CONFIG_M here if you have a Walkera WK-0701 transmitter which is
	  supplied with a ready to fly Walkera helicopters such as HM36,
	  HM37, HM60 and want to use it via parport as a joystick. More
	  information is available: <file:Documentation/input/devices/walkera0701.rst>

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called walkera0701.

config CONFIG_JOYSTICK_MAPLE
	tristate "Dreamcast control pad"
	depends on CONFIG_MAPLE
	help
	  Say Y here if you have a SEGA Dreamcast and want to use your
	  controller as a joystick.

	  Most Dreamcast users will say Y.

	  To compile this as a module choose CONFIG_M here: the module will be called
	  maplecontrol.

config CONFIG_JOYSTICK_PSXPAD_SPI
	tristate "PlayStation 1/2 joypads via SPI interface"
	depends on CONFIG_SPI
	select CONFIG_INPUT_POLLDEV
	help
	  Say Y here if you wish to connect PlayStation 1/2 joypads
	  via CONFIG_SPI interface.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called psxpad-spi.

config CONFIG_JOYSTICK_PSXPAD_SPI_FF
	bool "PlayStation 1/2 joypads force feedback (rumble) support"
	depends on CONFIG_JOYSTICK_PSXPAD_SPI
	select CONFIG_INPUT_FF_MEMLESS
	help
	  Say Y here if you want to take advantage of PlayStation 1/2
	  joypads rumble features.

	  To drive rumble motor a dedicated power supply is required.

config CONFIG_JOYSTICK_PXRC
	tristate "PhoenixRC Flight Controller Adapter"
	depends on CONFIG_USB_ARCH_HAS_HCD
	select CONFIG_USB
	help
	  Say Y here if you want to use the PhoenixRC Flight Controller Adapter.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called pxrc.

config CONFIG_JOYSTICK_FSIA6B
	tristate "FlySky FS-iA6B RC Receiver"
	select CONFIG_SERIO
	help
	  Say Y here if you use a FlySky FS-i6 RC remote control along with the
	  FS-iA6B RC receiver as a joystick input device.

	  To compile this driver as a module, choose CONFIG_M here: the
	  module will be called fsia6b.

endif