aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/sdl
diff options
context:
space:
mode:
Diffstat (limited to 'backends/platform/sdl')
-rw-r--r--backends/platform/sdl/psp2/psp2.cpp14
-rw-r--r--backends/platform/sdl/sdl.cpp20
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