diff options
Diffstat (limited to 'backends/platform/sdl')
-rw-r--r-- | backends/platform/sdl/psp2/psp2.cpp | 14 | ||||
-rw-r--r-- | backends/platform/sdl/sdl.cpp | 20 |
2 files changed, 14 insertions, 20 deletions
diff --git a/backends/platform/sdl/psp2/psp2.cpp b/backends/platform/sdl/psp2/psp2.cpp index 94b06e6d23..12154ba7d0 100644 --- a/backends/platform/sdl/psp2/psp2.cpp +++ b/backends/platform/sdl/psp2/psp2.cpp @@ -94,12 +94,6 @@ void OSystem_PSP2::initBackend() { if (!ConfMan.hasKey("filtering")) { ConfMan.setBool("filtering", true); } - if (!ConfMan.hasKey("kbdmouse_speed")) { - ConfMan.setInt("kbdmouse_speed", 3); - } - if (!ConfMan.hasKey("joystick_deadzone")) { - ConfMan.setInt("joystick_deadzone", 2); - } if (!ConfMan.hasKey("shader")) { ConfMan.setInt("shader", 2); } @@ -108,6 +102,14 @@ void OSystem_PSP2::initBackend() { if (_savefileManager == 0) _savefileManager = new DefaultSaveFileManager("ux0:data/scummvm/saves"); + // Controller mappings for Vita, various names have been used in various SDL versions + SDL_GameControllerAddMapping("50535669746120436f6e74726f6c6c65,PSVita Controller,y:b0,b:b1,a:b2,x:b3,leftshoulder:b4,rightshoulder:b5,dpdown:b6,dpleft:b7,dpup:b8,dpright:b9,back:b10,start:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,"); + SDL_GameControllerAddMapping("50535669746120636f6e74726f6c6c65,PSVita controller,y:b0,b:b1,a:b2,x:b3,leftshoulder:b4,rightshoulder:b5,dpdown:b6,dpleft:b7,dpup:b8,dpright:b9,back:b10,start:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,"); + SDL_GameControllerAddMapping("50535669746120636f6e74726f6c6c65,PSVita controller 2,y:b0,b:b1,a:b2,x:b3,leftshoulder:b4,rightshoulder:b5,dpdown:b6,dpleft:b7,dpup:b8,dpright:b9,back:b10,start:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,"); + SDL_GameControllerAddMapping("50535669746120636f6e74726f6c6c65,PSVita controller 3,y:b0,b:b1,a:b2,x:b3,leftshoulder:b4,rightshoulder:b5,dpdown:b6,dpleft:b7,dpup:b8,dpright:b9,back:b10,start:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,"); + SDL_GameControllerAddMapping("50535669746120636f6e74726f6c6c65,PSVita controller 4,y:b0,b:b1,a:b2,x:b3,leftshoulder:b4,rightshoulder:b5,dpdown:b6,dpleft:b7,dpup:b8,dpright:b9,back:b10,start:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,"); + SDL_GameControllerAddMapping("505356697461206275696c74696e206a,PSVita builtin joypad,y:b0,b:b1,a:b2,x:b3,leftshoulder:b4,rightshoulder:b5,dpdown:b6,dpleft:b7,dpup:b8,dpright:b9,back:b10,start:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,"); + // Event source if (_eventSource == 0) _eventSource = new PSP2EventSource(); diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp index f6ab180897..3082a69ebf 100644 --- a/backends/platform/sdl/sdl.cpp +++ b/backends/platform/sdl/sdl.cpp @@ -90,6 +90,8 @@ OSystem_SDL::OSystem_SDL() _eventSource(0), _window(0) { + ConfMan.registerDefault("kbdmouse_speed", 3); + ConfMan.registerDefault("joystick_deadzone", 3); } OSystem_SDL::~OSystem_SDL() { @@ -180,10 +182,10 @@ bool OSystem_SDL::hasFeature(Feature f) { #if SDL_VERSION_ATLEAST(2, 0, 0) if (f == kFeatureClipboardSupport) return true; #endif -#ifdef JOY_ANALOG - if (f == kFeatureJoystickDeadzone) return true; -#endif - if (f == kFeatureKbdMouseSpeed) return true; + if (f == kFeatureJoystickDeadzone || f == kFeatureKbdMouseSpeed) { + bool joystickSupportEnabled = ConfMan.getInt("joystick_num") >= 0; + return joystickSupportEnabled; + } return ModularBackend::hasFeature(f); } @@ -289,16 +291,6 @@ void OSystem_SDL::initBackend() { _inited = true; - if (!ConfMan.hasKey("kbdmouse_speed")) { - ConfMan.registerDefault("kbdmouse_speed", 3); - ConfMan.setInt("kbdmouse_speed", 3); - } -#ifdef JOY_ANALOG - if (!ConfMan.hasKey("joystick_deadzone")) { - ConfMan.registerDefault("joystick_deadzone", 3); - ConfMan.setInt("joystick_deadzone", 3); - } -#endif ModularBackend::initBackend(); // We have to initialize the graphics manager before the event manager |