Commit 94f18bb1 authored by Ryan McClelland's avatar Ryan McClelland Committed by Jiri Kosina
Browse files

HID: nintendo: add support for nso controllers



This adds support for the nintendo switch online controllers which
include the SNES, Genesis, and N64 Controllers.

As each nso controller only implements a subset of what a pro
controller can do. Each of these 'features' were broken up in to
seperate functions which include right stick, left stick, imu, and
dpad and depending on the controller type that it is, it will call
the supported functions appropriately.

Each controller now has a struct which maps the bit within the hid
in report to a button.

The name given to the device now comes directly from the hid
device name rather than looking up a predefined string.

Signed-off-by: default avatarRyan McClelland <rymcclel@gmail.com>
Reviewed-by: default avatarDaniel J. Ogorchock <djogorchock@gmail.com>
Tested-by: default avatarDaniel J. Ogorchock <djogorchock@gmail.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.com>
parent 1f342790
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -761,14 +761,15 @@ config HID_MULTITOUCH
	  module will be called hid-multitouch.

config HID_NINTENDO
	tristate "Nintendo Joy-Con and Pro Controller support"
	tristate "Nintendo Joy-Con, NSO, and Pro Controller support"
	depends on NEW_LEDS
	depends on LEDS_CLASS
	select POWER_SUPPLY
	help
	Adds support for the Nintendo Switch Joy-Cons and Pro Controller.
	Adds support for the Nintendo Switch Joy-Cons, NSO, Pro Controller.
	All controllers support bluetooth, and the Pro Controller also supports
	its USB mode.
	its USB mode. This also includes support for the Nintendo Switch Online
	Controllers which include the Genesis, SNES, and N64 controllers.

	To compile this driver as a module, choose M here: the
	module will be called hid-nintendo.
@@ -779,9 +780,9 @@ config NINTENDO_FF
	select INPUT_FF_MEMLESS
	help
	Say Y here if you have a Nintendo Switch controller and want to enable
	force feedback support for it. This works for both joy-cons and the pro
	controller. For the pro controller, both rumble motors can be controlled
	individually.
	force feedback support for it. This works for both joy-cons, the pro
	controller, and the NSO N64 controller. For the pro controller, both
	rumble motors can be controlled individually.

config HID_NTI
	tristate "NTI keyboard adapters"
+4 −1
Original line number Diff line number Diff line
@@ -986,7 +986,10 @@
#define USB_DEVICE_ID_NINTENDO_JOYCONL	0x2006
#define USB_DEVICE_ID_NINTENDO_JOYCONR	0x2007
#define USB_DEVICE_ID_NINTENDO_PROCON	0x2009
#define USB_DEVICE_ID_NINTENDO_CHRGGRIP	0x200E
#define USB_DEVICE_ID_NINTENDO_CHRGGRIP	0x200e
#define USB_DEVICE_ID_NINTENDO_SNESCON	0x2017
#define USB_DEVICE_ID_NINTENDO_GENCON	0x201e
#define USB_DEVICE_ID_NINTENDO_N64CON	0x2019

#define USB_VENDOR_ID_NOVATEK		0x0603
#define USB_DEVICE_ID_NOVATEK_PCT	0x0600
+638 −259

File changed.

Preview size limit exceeded, changes collapsed.