From 0cf437e3759262db77d9d86acafe66b7990a6eb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Kelemen=20=28vudiq=29?= Date: Wed, 17 Nov 2021 21:59:37 +0100 Subject: [PATCH] Lakka/Nintendo Switch: disable rumble gain Rumble gain breaks controlls on Nintendo Switch port of Lakka, probably due to issue in the driver). Upstream of patch used by Lakka at build time https://github.com/libretro/Lakka-LibreELEC/blob/1943ad296eaf7c01040f02aa8f5dff3d2f37309f/packages/libretro/retroarch/patches/retroarch-06-switch_disable_rumble_gain.patch --- input/drivers_joypad/udev_joypad.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/input/drivers_joypad/udev_joypad.c b/input/drivers_joypad/udev_joypad.c index 833b0861ea..0743de226e 100644 --- a/input/drivers_joypad/udev_joypad.c +++ b/input/drivers_joypad/udev_joypad.c @@ -151,6 +151,7 @@ error: return -1; } +#ifndef HAVE_LAKKA_SWITCH static bool udev_set_rumble_gain(unsigned i, unsigned gain) { struct input_event ie; @@ -179,6 +180,7 @@ static bool udev_set_rumble_gain(unsigned i, unsigned gain) return true; } +#endif static int udev_add_pad(struct udev_device *dev, unsigned p, int fd, const char *path) { @@ -299,6 +301,7 @@ static int udev_add_pad(struct udev_device *dev, unsigned p, int fd, const char p, path, pad->num_effects); } +#ifndef HAVE_LAKKA_SWITCH /* Set rumble gain here, if supported */ if (test_bit(FF_RUMBLE, ffbit)) { @@ -307,6 +310,7 @@ static int udev_add_pad(struct udev_device *dev, unsigned p, int fd, const char : DEFAULT_RUMBLE_GAIN; udev_set_rumble_gain(p, rumble_gain); } +#endif return ret; } @@ -790,7 +794,11 @@ input_device_driver_t udev_joypad = { udev_joypad_axis, udev_joypad_poll, udev_set_rumble, +#ifndef HAVE_LAKKA_SWITCH udev_set_rumble_gain, +#else + NULL, +#endif udev_joypad_name, "udev", };