PS3 OEM Shanwan PS3 controller disconnect when using bluetooth while absent of pressure sensitive.Blueooth connection drop as SDL keep on disable when enable bluetooth.
It's working well with bluetooth on v1.7.3730 but on next build v1.7.3731 it doesn't work.
https://github.com/PCSX2/pcsx2/compare/v....v1.7.3731
It may cause by auto enable HIDAPI , I can't find a way to disable it.
As enabling with bluetooth getting connection drop on v1.7.3731.At v1.7.3730 was fine.
The Default-enabled a hints for HIDAPI PS3 controllers on Linux https://github.com/PCSX2/pcsx2/pull/7476 changes made the bluetooth connection to drop.There is no log generated as it's not show at pcsx2.Only systemctl and monitor bluetoothctl will show bluetooth drop the connection once Pcsx2 launch.
I expect it's a bug where SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS3, "1"); fail on pressure sensitive button on Linux and thus return error and disconnect the bluetooth connection.
Some OEM controller doesn't have pressure sensitive so it would be best to have an option to disable it.It may also cause by some linux lib but I tested with Ubuntu 24.04 on VM and problem still persist.
Without SDL raw input , Xinput source , Dinput source , I can't compare and see any log differences.
Every button and bluetooth mapping was working with v1.7.3730.Just a newer pull version for v1.7.3731 updated all mapping fail on bluetooth.Wire was working well but not in bluetooth wireless mode.
Tested with latest v2.1.138 still doesn't work.
Can there be a build removing or a setting to disable SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS3, "1") to false "0" in v2.1.138 on the .ini [InputSources] ?
It's working well with bluetooth on v1.7.3730 but on next build v1.7.3731 it doesn't work.
https://github.com/PCSX2/pcsx2/compare/v....v1.7.3731
It may cause by auto enable HIDAPI , I can't find a way to disable it.
As enabling with bluetooth getting connection drop on v1.7.3731.At v1.7.3730 was fine.
Code:
AppInit.cpp
#ifdef SDL_BUILD
// MacOS Game Controller framework requires a few runs of the main event loop after interest in game controllers is first indicated to connect controllers
// Since OnePad doesn't currently handle connection/disconnection events and requires controllers to be connected on start, we need to initialize SDL before OnePad looks at the controller list
SDL_SetHint(SDL_HINT_NO_SIGNAL_HANDLERS, "1");
SDLInputSource.cpp
m_sdl_hints = si.GetKeyValueList("SDLHints");
// Enable Wii U Pro Controller support
// New as of SDL 2.26, so use string
SDL_SetHint("SDL_JOYSTICK_HIDAPI_WII", "1");
#ifndef _WIN32
// Gets us pressure sensitive button support on Linux
// Apparently doesn't work on Windows, so leave it off there
// New as of SDL 2.26, so use string
SDL_SetHint("SDL_JOYSTICK_HIDAPI_PS3", "1");
#endif
for (const std::pair<std::string, std::string>& hint : m_sdl_hints)
SDL_SetHint(hint.first.c_str(), hint.second.c_str());
The Default-enabled a hints for HIDAPI PS3 controllers on Linux https://github.com/PCSX2/pcsx2/pull/7476 changes made the bluetooth connection to drop.There is no log generated as it's not show at pcsx2.Only systemctl and monitor bluetoothctl will show bluetooth drop the connection once Pcsx2 launch.
I expect it's a bug where SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS3, "1"); fail on pressure sensitive button on Linux and thus return error and disconnect the bluetooth connection.
Some OEM controller doesn't have pressure sensitive so it would be best to have an option to disable it.It may also cause by some linux lib but I tested with Ubuntu 24.04 on VM and problem still persist.
Without SDL raw input , Xinput source , Dinput source , I can't compare and see any log differences.
Every button and bluetooth mapping was working with v1.7.3730.Just a newer pull version for v1.7.3731 updated all mapping fail on bluetooth.Wire was working well but not in bluetooth wireless mode.
Tested with latest v2.1.138 still doesn't work.
Can there be a build removing or a setting to disable SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS3, "1") to false "0" in v2.1.138 on the .ini [InputSources] ?