From b1959ecf23e613719f5285719a9fd9bee6b2e3de Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Wed, 22 Oct 2025 10:44:08 -0700 Subject: [PATCH] Be more selective when blacklisting controller touchpads On Android, the PS4 controller is called "Wireless Controller Touchpad" Fixes https://github.com/libsdl-org/SDL/issues/14294 (cherry picked from commit 999f782ad3ef09d7db8ecc56bc6f1cf415bfea84) --- src/joystick/SDL_gamepad.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/joystick/SDL_gamepad.c b/src/joystick/SDL_gamepad.c index 3dafed789d..6bd99095fa 100644 --- a/src/joystick/SDL_gamepad.c +++ b/src/joystick/SDL_gamepad.c @@ -169,6 +169,7 @@ static const struct SDL_GamepadBlacklistWords SDL_gamepad_blacklist_words[] = { #ifdef SDL_PLATFORM_LINUX {" Motion Sensors", GAMEPAD_BLACKLIST_END}, // Don't treat the PS3 and PS4 motion controls as a separate gamepad {" IMU", GAMEPAD_BLACKLIST_END}, // Don't treat the Nintendo IMU as a separate gamepad + {" Touchpad", GAMEPAD_BLACKLIST_END}, // "Sony Interactive Entertainment DualSense Wireless Controller Touchpad" // Don't treat the Wii extension controls as a separate gamepad {" Accelerometer", GAMEPAD_BLACKLIST_END}, @@ -180,9 +181,7 @@ static const struct SDL_GamepadBlacklistWords SDL_gamepad_blacklist_words[] = { // The Google Pixel fingerprint sensor, as well as other fingerprint sensors, reports itself as a joystick {"uinput-", GAMEPAD_BLACKLIST_BEGIN}, - {" TouchPad", GAMEPAD_BLACKLIST_END}, // "SynPS/2 Synaptics TouchPad" - {" Touchpad", GAMEPAD_BLACKLIST_END}, // "Sony Interactive Entertainment DualSense Wireless Controller Touchpad" - {"Synaptics ", GAMEPAD_BLACKLIST_BEGIN}, // "Synaptics TM2768-001" + {"Synaptics ", GAMEPAD_BLACKLIST_ANYWHERE}, // "Synaptics TM2768-001", "SynPS/2 Synaptics TouchPad" {"Trackpad", GAMEPAD_BLACKLIST_ANYWHERE}, {"Clickpad", GAMEPAD_BLACKLIST_ANYWHERE}, // "PG-90215 Keyboard", "Usb Keyboard Usb Keyboard Consumer Control", "Framework Laptop 16 Keyboard Module - ISO System Control"