diff --git a/Config.in b/Config.in index 6be6945e84cf041d7b0c178de770771fa6ecf46a..cdfcfcbc07c0fcb9d2e057bf72b1b160f529792f 100644 --- a/Config.in +++ b/Config.in @@ -83,7 +83,8 @@ menu "Controllers" source "$BR2_EXTERNAL_RECALBOX_PATH/package/virtualgamepads/Config.in" source "$BR2_EXTERNAL_RECALBOX_PATH/package/xarcade2jstick/Config.in" source "$BR2_EXTERNAL_RECALBOX_PATH/package/xboxdrv/Config.in" - source "$BR2_EXTERNAL_RECALBOX_PATH/package/xow/Config.in" + source "$BR2_EXTERNAL_RECALBOX_PATH/package/xone/Config.in" + source "$BR2_EXTERNAL_RECALBOX_PATH/package/xpad-noone/Config.in" comment "Nintendo switch Joycons support" source "$BR2_EXTERNAL_RECALBOX_PATH/package/joycond/Config.in" source "$BR2_EXTERNAL_RECALBOX_PATH/package/hid-nintendo/Config.in" diff --git a/board/recalbox/anbernic/rg353x/kernel_patches/4.19/0003-add-input_device_enabled.patch b/board/recalbox/anbernic/rg353x/kernel_patches/4.19/0003-add-input_device_enabled.patch new file mode 100644 index 0000000000000000000000000000000000000000..d85a768ff30af23aad317263c972dac6d06e3dd7 --- /dev/null +++ b/board/recalbox/anbernic/rg353x/kernel_patches/4.19/0003-add-input_device_enabled.patch @@ -0,0 +1,45 @@ +From 13bb6c29d8423f4365ef4a08e2bc35aadf22b2a8 Mon Sep 17 00:00:00 2001 +From: David Barbion +Date: Wed, 18 Oct 2023 09:13:39 +0200 +Subject: [PATCH 3/3] add input_device_enabled + +--- + drivers/input/input.c | 8 ++++++++ + include/linux/input.h | 2 ++ + 2 files changed, 10 insertions(+) + +diff --git a/drivers/input/input.c b/drivers/input/input.c +index f96c40aed..5403f82d9 100644 +--- a/drivers/input/input.c ++++ b/drivers/input/input.c +@@ -2114,6 +2114,14 @@ void input_enable_softrepeat(struct input_dev *dev, int delay, int period) + } + EXPORT_SYMBOL(input_enable_softrepeat); + ++bool input_device_enabled(struct input_dev *dev) ++{ ++ lockdep_assert_held(&dev->mutex); ++ ++ return dev->users > 0; ++} ++EXPORT_SYMBOL_GPL(input_device_enabled); ++ + /** + * input_register_device - register device with input core + * @dev: device to be registered +diff --git a/include/linux/input.h b/include/linux/input.h +index dcf02073e..14ad49d06 100644 +--- a/include/linux/input.h ++++ b/include/linux/input.h +@@ -492,6 +492,8 @@ bool input_match_device_id(const struct input_dev *dev, + + void input_enable_softrepeat(struct input_dev *dev, int delay, int period); + ++bool input_device_enabled(struct input_dev *dev); ++ + extern struct class input_class; + + /** +-- +2.42.0 + diff --git a/configs/recalbox-odroidxu4_defconfig b/configs/recalbox-odroidxu4_defconfig index 397229a4d1dcc379e023ae384123d4040e6334fc..c2ac4972ec9efb684b4acd97177f3b55b510b98c 100644 --- a/configs/recalbox-odroidxu4_defconfig +++ b/configs/recalbox-odroidxu4_defconfig @@ -344,5 +344,6 @@ BR2_PACKAGE_RTL88X2BU=y BR2_PACKAGE_JOYCOND=y BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO=y BR2_PACKAGE_PAMIX=y -BR2_PACKAGE_XOW=y +BR2_PACKAGE_XONE=y +BR2_PACKAGE_XPAD_NOONE=y BR2_PACKAGE_KMSGRAB=y diff --git a/configs/recalbox-rg353x_defconfig b/configs/recalbox-rg353x_defconfig index 93f2a25bf86499e9f3e952c25eb81ab4d9e90441..424ac8cd3a114e216a3a87de994056c470ae1e6f 100644 --- a/configs/recalbox-rg353x_defconfig +++ b/configs/recalbox-rg353x_defconfig @@ -283,3 +283,5 @@ BR2_PACKAGE_PAMIX=y BR2_PACKAGE_KMSGRAB=y BR2_PACKAGE_RECALBOX_ROCKCHIP_MALI_BIFROST_G52=y BR2_PACKAGE_RECALBOX_ROCKCHIP_MALI_LIB_VERSION_G52_G2P0=y +BR2_PACKAGE_XONE=y +BR2_PACKAGE_XPAD_NOONE=y diff --git a/configs/recalbox-rpi1_defconfig b/configs/recalbox-rpi1_defconfig index 5e0cc7885d87b3410d181b87a3e42ef78fc94522..40d3e02337743d6fad8959f5b7f301d63884cd50 100644 --- a/configs/recalbox-rpi1_defconfig +++ b/configs/recalbox-rpi1_defconfig @@ -282,5 +282,6 @@ BR2_PACKAGE_JOYCOND=y BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO=y BR2_PACKAGE_PAMIX=y BR2_PACKAGE_RECALBOX_WPAF=y -BR2_PACKAGE_XOW=y +BR2_PACKAGE_XONE=y +BR2_PACKAGE_XPAD_NOONE=y BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/cmdline.txt" diff --git a/configs/recalbox-rpi3_defconfig b/configs/recalbox-rpi3_defconfig index 2bacf38dc7ec9c5b09df359dabd2c2388fe11f8d..62ec64abba4d0146f0ec2b8fa9ca483dd51dd869 100644 --- a/configs/recalbox-rpi3_defconfig +++ b/configs/recalbox-rpi3_defconfig @@ -355,7 +355,8 @@ BR2_PACKAGE_JOYCOND=y BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO=y BR2_PACKAGE_PAMIX=y BR2_PACKAGE_RECALBOX_WPAF=y -BR2_PACKAGE_XOW=y +BR2_PACKAGE_XONE=y +BR2_PACKAGE_XPAD_NOONE=y BR2_PACKAGE_RECALBOX_VOLUMED=y BR2_PACKAGE_KMSGRAB=y BR2_PACKAGE_SWITCHRES=y diff --git a/configs/recalbox-rpi4_64_defconfig b/configs/recalbox-rpi4_64_defconfig index 225fde45642ac433b305d4e5b1d2f46f74dfe78a..eef88d7a8cb56fb906ada5dbd4c1ab18954b718a 100644 --- a/configs/recalbox-rpi4_64_defconfig +++ b/configs/recalbox-rpi4_64_defconfig @@ -344,7 +344,8 @@ BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO=y BR2_PACKAGE_KODI_PULSEAUDIO=y BR2_PACKAGE_PAMIX=y BR2_PACKAGE_RECALBOX_WPAF=y -BR2_PACKAGE_XOW=y +BR2_PACKAGE_XONE=y +BR2_PACKAGE_XPAD_NOONE=y BR2_PACKAGE_RECALBOX_VOLUMED=y BR2_PACKAGE_KMSGRAB=y BR2_PACKAGE_SWITCHRES=y diff --git a/configs/recalbox-rpi4_defconfig b/configs/recalbox-rpi4_defconfig index 974dac6263ce510879ae72e0e3da2826bbc984db..a9e8e68bcebcbdc04d865aa61d1f03b12ef3d349 100644 --- a/configs/recalbox-rpi4_defconfig +++ b/configs/recalbox-rpi4_defconfig @@ -336,7 +336,8 @@ BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO=y BR2_PACKAGE_KODI_PULSEAUDIO=y BR2_PACKAGE_PAMIX=y BR2_PACKAGE_RECALBOX_WPAF=y -BR2_PACKAGE_XOW=y +BR2_PACKAGE_XONE=y +BR2_PACKAGE_XPAD_NOONE=y BR2_PACKAGE_RECALBOX_VOLUMED=y BR2_PACKAGE_KMSGRAB=y BR2_PACKAGE_SWITCHRES=y diff --git a/configs/recalbox-rpizero2_defconfig b/configs/recalbox-rpizero2_defconfig index 18284f28b3fb1de0710472d86435e97cd2362f35..c2978a3fa111aba43abee58cc73da0a8c76ab463 100644 --- a/configs/recalbox-rpizero2_defconfig +++ b/configs/recalbox-rpizero2_defconfig @@ -355,7 +355,8 @@ BR2_PACKAGE_JOYCOND=y BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO=y BR2_PACKAGE_PAMIX=y BR2_PACKAGE_RECALBOX_WPAF=y -BR2_PACKAGE_XOW=y +BR2_PACKAGE_XONE=y +BR2_PACKAGE_XPAD_NOONE=y BR2_PACKAGE_RECALBOX_VOLUMED=y BR2_PACKAGE_KMSGRAB=y BR2_PACKAGE_SWITCHRES=y diff --git a/configs/recalbox-x86_64_defconfig b/configs/recalbox-x86_64_defconfig index b8642f266a6c37447adaf1c275394a89553e0b24..0ee70358c4dc719856affa6070954eb7631a9db0 100644 --- a/configs/recalbox-x86_64_defconfig +++ b/configs/recalbox-x86_64_defconfig @@ -407,4 +407,5 @@ BR2_PACKAGE_JOYCOND=y BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO=y BR2_PACKAGE_KODI_PULSEAUDIO=y BR2_PACKAGE_PAMIX=y -BR2_PACKAGE_XOW=y +BR2_PACKAGE_XONE=y +BR2_PACKAGE_XPAD_NOONE=y diff --git a/package/xone/Config.in b/package/xone/Config.in new file mode 100644 index 0000000000000000000000000000000000000000..80d67ac6e3045561b8e3c4315cf3fd184b5c8fb0 --- /dev/null +++ b/package/xone/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_XONE + bool "xone" + depends on BR2_LINUX_KERNEL + help + Linux kernel driver for Xbox One and + Xbox Series X|S accessories diff --git a/package/xone/assets/FW_ACC_00U.bin b/package/xone/assets/FW_ACC_00U.bin new file mode 100644 index 0000000000000000000000000000000000000000..22624d59fa880037c248556c9a4ff94d170b99b1 Binary files /dev/null and b/package/xone/assets/FW_ACC_00U.bin differ diff --git a/package/xone/xone.mk b/package/xone/xone.mk new file mode 100644 index 0000000000000000000000000000000000000000..7c9e0ea142f5f5511bd2324d6862378cfde8bbc4 --- /dev/null +++ b/package/xone/xone.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# XONE +# +################################################################################ + +XONE_VERSION = bbf0dcc484c3f5611f4e375da43e0e0ef08f3d18 +XONE_SITE = $(call github,medusalix,xone,$(XONE_VERSION)) +XONE_LICENSE = GPL-2.0 + +define XONE_COPY_CMDS + $(INSTALL) -D -m 0644 $(@D)/install/modprobe.conf $(TARGET_DIR)/etc/modprobe.d/xone-blacklist.conf + $(INSTALL) -D -m 0644 $(XONE_PKGDIR)/assets/FW_ACC_00U.bin $(TARGET_DIR)/lib/firmware/xow_dongle.bin +endef + +XONE_INSTALL_TARGET_CMDS += $(XONE_COPY_CMDS) + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/xow/Config.in b/package/xow/Config.in deleted file mode 100644 index c4eed996b64870c6aa2413d08da19b38965d5464..0000000000000000000000000000000000000000 --- a/package/xow/Config.in +++ /dev/null @@ -1,6 +0,0 @@ -config BR2_PACKAGE_XOW - bool "xow" - depends on BR2_LINUX_KERNEL - depends on BR2_INSTALL_LIBSTDCPP - help - Xbox One wireless dongles support diff --git a/package/xow/xow-001-use-wget.patch b/package/xow/xow-001-use-wget.patch deleted file mode 100644 index f4b46bb278b7af9b128da272a2dc5beb565111ba..0000000000000000000000000000000000000000 --- a/package/xow/xow-001-use-wget.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile 2021-09-01 00:41:53.020173380 +0200 -+++ b/Makefile 2021-09-01 00:42:03.916002471 +0200 -@@ -35,7 +35,7 @@ - $(LD) -r -b binary -z noexecstack -o $@ $< - - firmware.bin: -- curl -o driver.cab $(DRIVER_URL) -+ wget -O driver.cab $(DRIVER_URL) - cabextract -F FW_ACC_00U.bin driver.cab - echo $(FIRMWARE_HASH) FW_ACC_00U.bin | sha256sum -c - mv FW_ACC_00U.bin firmware.bin diff --git a/package/xow/xow-002-fix-recent-controllers-disconnect.patch b/package/xow/xow-002-fix-recent-controllers-disconnect.patch deleted file mode 100644 index f36d98917c2f0e7321fe97f4b2be2308615d9672..0000000000000000000000000000000000000000 --- a/package/xow/xow-002-fix-recent-controllers-disconnect.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/dongle/dongle.cpp.orig 2021-09-18 23:26:11.165286869 +0200 -+++ b/dongle/dongle.cpp 2021-09-18 23:27:52.328034010 +0200 -@@ -269,7 +269,7 @@ - - case EVT_CLIENT_LOST: - // Packet is guaranteed not to be empty -- handleControllerDisconnect(packet[0]); -+ //handleControllerDisconnect(packet[0]); - break; - } - } diff --git a/package/xow/xow-003-no-systemd.patch b/package/xow/xow-003-no-systemd.patch deleted file mode 100644 index aa9865670f8264876ec6e0cc64dfe852476893db..0000000000000000000000000000000000000000 --- a/package/xow/xow-003-no-systemd.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- xow-700529b2517df7d17ad5a2fa0bd679143ac48666/Makefile.orig 2021-09-18 23:43:52.954208081 +0200 -+++ xow-700529b2517df7d17ad5a2fa0bd679143ac48666/Makefile 2021-09-18 23:44:49.581512871 +0200 -@@ -20,7 +20,6 @@ - UDEVDIR := /etc/udev/rules.d - MODLDIR := /etc/modules-load.d - MODPDIR := /etc/modprobe.d --SYSDDIR := /etc/systemd/system - - .PHONY: all - all: xow -@@ -43,13 +42,10 @@ - - .PHONY: install - install: xow -- sed 's|#BINDIR#|$(BINDIR)|' install/service.in > xow.service - install -D -m 755 xow $(DESTDIR)$(BINDIR)/xow - install -D -m 644 install/udev.rules $(DESTDIR)$(UDEVDIR)/50-xow.rules - install -D -m 644 install/modules.conf $(DESTDIR)$(MODLDIR)/xow-uinput.conf - install -D -m 644 install/modprobe.conf $(DESTDIR)$(MODPDIR)/xow-blacklist.conf -- install -D -m 644 xow.service $(DESTDIR)$(SYSDDIR)/xow.service -- $(RM) xow.service - - .PHONY: uninstall - uninstall: -@@ -57,7 +53,6 @@ - $(RM) $(DESTDIR)$(UDEVDIR)/50-xow.rules - $(RM) $(DESTDIR)$(MODLDIR)/xow-uinput.conf - $(RM) $(DESTDIR)$(MODPDIR)/xow-blacklist.conf -- $(RM) $(DESTDIR)$(SYSDDIR)/xow.service - - .PHONY: clean - clean: diff --git a/package/xow/xow-004-strip-executable.patch b/package/xow/xow-004-strip-executable.patch deleted file mode 100644 index 4852fc87209c61d82d85d487283337e628aba422..0000000000000000000000000000000000000000 --- a/package/xow/xow-004-strip-executable.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- xow-700529b2517df7d17ad5a2fa0bd679143ac48666/Makefile.orig 2021-09-19 00:33:28.812049626 +0200 -+++ xow-700529b2517df7d17ad5a2fa0bd679143ac48666/Makefile 2021-09-19 00:33:52.595649415 +0200 -@@ -42,6 +42,7 @@ - - .PHONY: install - install: xow -+ $(STRIP) xow - install -D -m 755 xow $(DESTDIR)$(BINDIR)/xow - install -D -m 644 install/udev.rules $(DESTDIR)$(UDEVDIR)/50-xow.rules - install -D -m 644 install/modules.conf $(DESTDIR)$(MODLDIR)/xow-uinput.conf diff --git a/package/xow/xow-005-no-modules-conf.patch b/package/xow/xow-005-no-modules-conf.patch deleted file mode 100644 index 2c1cfb910a1ad811f985210985e68d3c3f1aad38..0000000000000000000000000000000000000000 --- a/package/xow/xow-005-no-modules-conf.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- xow-700529b2517df7d17ad5a2fa0bd679143ac48666/Makefile.orig 2021-09-19 23:48:24.030263120 +0200 -+++ xow-700529b2517df7d17ad5a2fa0bd679143ac48666/Makefile 2021-09-19 23:48:45.505907742 +0200 -@@ -45,14 +45,12 @@ - $(STRIP) xow - install -D -m 755 xow $(DESTDIR)$(BINDIR)/xow - install -D -m 644 install/udev.rules $(DESTDIR)$(UDEVDIR)/50-xow.rules -- install -D -m 644 install/modules.conf $(DESTDIR)$(MODLDIR)/xow-uinput.conf - install -D -m 644 install/modprobe.conf $(DESTDIR)$(MODPDIR)/xow-blacklist.conf - - .PHONY: uninstall - uninstall: - $(RM) $(DESTDIR)$(BINDIR)/xow - $(RM) $(DESTDIR)$(UDEVDIR)/50-xow.rules -- $(RM) $(DESTDIR)$(MODLDIR)/xow-uinput.conf - $(RM) $(DESTDIR)$(MODPDIR)/xow-blacklist.conf - - .PHONY: clean diff --git a/package/xow/xow-init b/package/xow/xow-init deleted file mode 100644 index 763bf543672177a9d7eb7510a6e2d35f8d9a04ee..0000000000000000000000000000000000000000 --- a/package/xow/xow-init +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -# -# Start xow -# -# userspace driver for Xbox One wireless dongles -# -systemsetting="recalbox_settings" - -start() { - if [ "$($systemsetting -command load -key controllers.xow.enabled -default 1)" -eq 1 ]; then - echo -n "Starting xow: " - start-stop-daemon -b -S -q -m -p /var/run/xow.pid --exec /usr/bin/xow - echo "OK" - fi -} - -stop() { - echo -n "Stopping xow: " - start-stop-daemon -K -q -p /var/run/xow.pid - echo "OK" -} - -case "$1" in - start) start ;; - stop) stop ;; - restart|reload) - stop - start - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 -esac - -exit $? diff --git a/package/xow/xow.mk b/package/xow/xow.mk deleted file mode 100644 index bfcd5d3e68d30bf351592dff2f02b99fe13df7d5..0000000000000000000000000000000000000000 --- a/package/xow/xow.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# -# XOW -# -################################################################################ - -XOW_VERSION = 700529b2517df7d17ad5a2fa0bd679143ac48666 -XOW_SITE = $(call github,medusalix,xow,$(XOW_VERSION)) -XOW_LICENSE = GPL-2.0 -XOW_LICENSE_FILES = LICENSE - -XOW_DEPENDENCIES = libusb - -define XOW_BUILD_CMDS - CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" CXXFLAGS="$(TARGET_CXXFLAGS) -I$(STAGING_DIR)/usr/include" LD_FLAGS="$(TARGET_LDFLAGS)" \ - $(MAKE) CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" LD="$(TARGET_LD)" STRIP="$(TARGET_STRIP)" -C $(@D) PREFIX="/usr" -endef - -define XOW_INSTALL_TARGET_CMDS - CFLAGS="$(TARGET_CFLAGS)" CXXFLAGS="$(TARGET_CXXFLAGS)" \ - $(MAKE) CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" LD="$(TARGET_LD)" STRIP="$(TARGET_STRIP)" -C $(@D) install DESTDIR="$(TARGET_DIR)" PREFIX="/usr" -endef - -define XOW_INIT_INSTALL - $(INSTALL) -D -m 0755 $(XOW_PKGDIR)/xow-init $(TARGET_DIR)/etc/init.d/S17xow -endef - -XOW_POST_INSTALL_TARGET_HOOKS += XOW_INIT_INSTALL - -$(eval $(generic-package)) diff --git a/package/xpad-noone/0001-Added-device-IDs-for-8BitDo-Ultimate.patch b/package/xpad-noone/0001-Added-device-IDs-for-8BitDo-Ultimate.patch new file mode 100644 index 0000000000000000000000000000000000000000..be5bfad20fd7d7a3e1eaa7adc9eb3c9fade310e1 --- /dev/null +++ b/package/xpad-noone/0001-Added-device-IDs-for-8BitDo-Ultimate.patch @@ -0,0 +1,33 @@ +From e28bc1ee82e09bc55054ace04b42574771cd4618 Mon Sep 17 00:00:00 2001 +From: btegs <5166649+btegs@users.noreply.github.com> +Date: Sun, 18 Dec 2022 15:05:55 -0500 +Subject: [PATCH 1/2] Added device IDs for 8BitDo Ultimate + +Referenced from https://github.com/paroj/xpad/commit/1821d2822783e8c24733b05138e06d9a9f4d309d +--- + xpad.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/xpad.c b/xpad.c +index 3d1b969..15ea7f1 100644 +--- a/xpad.c ++++ b/xpad.c +@@ -308,6 +308,7 @@ static const struct xpad_device { + { 0x31e3, 0x1300, "Wooting 60HE (AVR)", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1310, "Wooting 60HE (ARM)", 0, XTYPE_XBOX360 }, + { 0x3285, 0x0607, "Nacon GC-100", 0, XTYPE_XBOX360 }, ++ { 0x2dc8, 0x3106, "8BitDo Ultimate Wireless Controller", 0, XTYPE_XBOX360 }, + { 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX }, + { 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX }, + { 0x0000, 0x0000, "Generic X-Box pad", 0, XTYPE_UNKNOWN } +@@ -413,6 +414,7 @@ static const struct usb_device_id xpad_table[] = { + XPAD_XBOX360_VENDOR(0x2f24), /* GameSir Controllers */ + XPAD_XBOX360_VENDOR(0x31e3), /* Wooting Keyboards */ + XPAD_XBOX360_VENDOR(0x3285), /* Nacon GC-100 */ ++ XPAD_XBOX360_VENDOR(0x2dc8), /* 8BitDo Ultimate Wireless Controller */ + { } + }; + +-- +2.42.0 + diff --git a/package/xpad-noone/0002-Add-support-for-8bitdo-Pro-2-wired.patch b/package/xpad-noone/0002-Add-support-for-8bitdo-Pro-2-wired.patch new file mode 100644 index 0000000000000000000000000000000000000000..45977a268beff5668b252c18f56026892f95de44 --- /dev/null +++ b/package/xpad-noone/0002-Add-support-for-8bitdo-Pro-2-wired.patch @@ -0,0 +1,32 @@ +From 46727b8c0c28d1d82e2459955384579d30e0466c Mon Sep 17 00:00:00 2001 +From: Benoit Goudreault-Emond +Date: Fri, 30 Dec 2022 13:36:10 -0500 +Subject: [PATCH 2/2] Add support for 8bitdo Pro 2 wired + +--- + xpad.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/xpad.c b/xpad.c +index 15ea7f1..40261e5 100644 +--- a/xpad.c ++++ b/xpad.c +@@ -301,6 +301,7 @@ static const struct xpad_device { + { 0x24c6, 0x5d04, "Razer Sabertooth", 0, XTYPE_XBOX360 }, + { 0x24c6, 0xfafe, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, + { 0x2563, 0x058d, "OneXPlayer Gamepad", 0, XTYPE_XBOX360 }, ++ { 0x2dc8, 0x3106, "8bitdo Pro 2 wired controller", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1100, "Wooting One", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1200, "Wooting Two", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1210, "Wooting Lekker", 0, XTYPE_XBOX360 }, +@@ -411,6 +412,7 @@ static const struct usb_device_id xpad_table[] = { + XPAD_XBOX360_VENDOR(0x24c6), /* PowerA Controllers */ + XPAD_XBOX360_VENDOR(0x2563), /* OneXPlayer Gamepad */ + XPAD_XBOX360_VENDOR(0x260d), /* Dareu H101 */ ++ XPAD_XBOX360_VENDOR(0x2dc8), /* 8bitdo Controllers */ + XPAD_XBOX360_VENDOR(0x2f24), /* GameSir Controllers */ + XPAD_XBOX360_VENDOR(0x31e3), /* Wooting Keyboards */ + XPAD_XBOX360_VENDOR(0x3285), /* Nacon GC-100 */ +-- +2.42.0 + diff --git a/package/xpad-noone/Config.in b/package/xpad-noone/Config.in new file mode 100644 index 0000000000000000000000000000000000000000..bac8a73680c80fdeab6dcf3246d9f2a65112a6d2 --- /dev/null +++ b/package/xpad-noone/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_XPAD_NOONE + bool "xpad-noone" + depends on BR2_LINUX_KERNEL + help + This is the original xpad kernel driver + with support for Xbox One controllers removed. + https://github.com/medusalix/xpad-noone diff --git a/package/xpad-noone/xpad-noone.mk b/package/xpad-noone/xpad-noone.mk new file mode 100644 index 0000000000000000000000000000000000000000..92c32ad46b9e56f650d9f6df51efccdff3440329 --- /dev/null +++ b/package/xpad-noone/xpad-noone.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# XPAD_NOONE +# +################################################################################ + +XPAD_NOONE_VERSION = d02737f7eab1e17a7748fbe550dd982e3808525d +XPAD_NOONE_SITE = $(call github,medusalix,xpad-noone,$(XPAD_NOONE_VERSION)) +XPAD_NOONE_LICENSE = GPL-2.0 + +$(eval $(kernel-module)) +$(eval $(generic-package))