mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 17:12:06 +00:00
Merge branch 'for-5.16/nintendo' into for-linus
- support for Nintendo Switch Pro Controllers and Joy-Cons (Daniel J. Ogorchock)
This commit is contained in:
commit
0cc82d617a
@ -13253,6 +13253,12 @@ W: http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/
|
||||
F: Documentation/scsi/NinjaSCSI.rst
|
||||
F: drivers/scsi/nsp32*
|
||||
|
||||
NINTENDO HID DRIVER
|
||||
M: Daniel J. Ogorchock <djogorchock@gmail.com>
|
||||
L: linux-input@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/hid/hid-nintendo*
|
||||
|
||||
NIOS2 ARCHITECTURE
|
||||
M: Dinh Nguyen <dinguyen@kernel.org>
|
||||
S: Maintained
|
||||
|
@ -731,6 +731,30 @@ config HID_MULTITOUCH
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called hid-multitouch.
|
||||
|
||||
config HID_NINTENDO
|
||||
tristate "Nintendo Joy-Con and Pro Controller support"
|
||||
depends on HID
|
||||
depends on NEW_LEDS
|
||||
depends on LEDS_CLASS
|
||||
select POWER_SUPPLY
|
||||
help
|
||||
Adds support for the Nintendo Switch Joy-Cons and Pro Controller.
|
||||
All controllers support bluetooth, and the Pro Controller also supports
|
||||
its USB mode.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called hid-nintendo.
|
||||
|
||||
config NINTENDO_FF
|
||||
bool "Nintendo Switch controller force feedback support"
|
||||
depends on HID_NINTENDO
|
||||
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.
|
||||
|
||||
config HID_NTI
|
||||
tristate "NTI keyboard adapters"
|
||||
help
|
||||
|
@ -78,6 +78,7 @@ obj-$(CONFIG_HID_MAYFLASH) += hid-mf.o
|
||||
obj-$(CONFIG_HID_MICROSOFT) += hid-microsoft.o
|
||||
obj-$(CONFIG_HID_MONTEREY) += hid-monterey.o
|
||||
obj-$(CONFIG_HID_MULTITOUCH) += hid-multitouch.o
|
||||
obj-$(CONFIG_HID_NINTENDO) += hid-nintendo.o
|
||||
obj-$(CONFIG_HID_NTI) += hid-nti.o
|
||||
obj-$(CONFIG_HID_NTRIG) += hid-ntrig.o
|
||||
obj-$(CONFIG_HID_ORTEK) += hid-ortek.o
|
||||
|
@ -918,6 +918,10 @@
|
||||
#define USB_VENDOR_ID_NINTENDO 0x057e
|
||||
#define USB_DEVICE_ID_NINTENDO_WIIMOTE 0x0306
|
||||
#define USB_DEVICE_ID_NINTENDO_WIIMOTE2 0x0330
|
||||
#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_VENDOR_ID_NOVATEK 0x0603
|
||||
#define USB_DEVICE_ID_NOVATEK_PCT 0x0600
|
||||
|
2319
drivers/hid/hid-nintendo.c
Normal file
2319
drivers/hid/hid-nintendo.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -758,6 +758,12 @@ static void joydev_cleanup(struct joydev *joydev)
|
||||
#define USB_VENDOR_ID_THQ 0x20d6
|
||||
#define USB_DEVICE_ID_THQ_PS3_UDRAW 0xcb17
|
||||
|
||||
#define USB_VENDOR_ID_NINTENDO 0x057e
|
||||
#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 ACCEL_DEV(vnd, prd) \
|
||||
{ \
|
||||
.flags = INPUT_DEVICE_ID_MATCH_VENDOR | \
|
||||
@ -789,6 +795,10 @@ static const struct input_device_id joydev_blacklist[] = {
|
||||
ACCEL_DEV(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_2),
|
||||
ACCEL_DEV(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_DONGLE),
|
||||
ACCEL_DEV(USB_VENDOR_ID_THQ, USB_DEVICE_ID_THQ_PS3_UDRAW),
|
||||
ACCEL_DEV(USB_VENDOR_ID_NINTENDO, USB_DEVICE_ID_NINTENDO_PROCON),
|
||||
ACCEL_DEV(USB_VENDOR_ID_NINTENDO, USB_DEVICE_ID_NINTENDO_CHRGGRIP),
|
||||
ACCEL_DEV(USB_VENDOR_ID_NINTENDO, USB_DEVICE_ID_NINTENDO_JOYCONL),
|
||||
ACCEL_DEV(USB_VENDOR_ID_NINTENDO, USB_DEVICE_ID_NINTENDO_JOYCONR),
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user