aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrsn88872018-01-24 19:57:00 -0600
committerrsn88872018-01-24 20:06:46 -0600
commit5de0a8b3a072e7ea09bc566ba33f0c08e3a5eff1 (patch)
tree04e6e82984b47ca6244365bdc6199d90e10903b9
parent690d39cc293c6a981bb9bc29fc08fd28a93f3197 (diff)
downloadscummvm-rg350-5de0a8b3a072e7ea09bc566ba33f0c08e3a5eff1.tar.gz
scummvm-rg350-5de0a8b3a072e7ea09bc566ba33f0c08e3a5eff1.tar.bz2
scummvm-rg350-5de0a8b3a072e7ea09bc566ba33f0c08e3a5eff1.zip
PSP2: Enable rear touch only when Touchpad Mouse Mode is on
-rw-r--r--backends/events/psp2sdl/psp2sdl-events.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/backends/events/psp2sdl/psp2sdl-events.cpp b/backends/events/psp2sdl/psp2sdl-events.cpp
index cc72b01ac0..b2b9df7f09 100644
--- a/backends/events/psp2sdl/psp2sdl-events.cpp
+++ b/backends/events/psp2sdl/psp2sdl-events.cpp
@@ -59,16 +59,21 @@ void PSP2EventSource::preprocessEvents(SDL_Event *event) {
// front (0) or back (1) panel
SDL_TouchID port = event->tfinger.touchId;
if (port < SCE_TOUCH_PORT_MAX_NUM && port >= 0) {
- switch (event->type) {
- case SDL_FINGERDOWN:
- preprocessFingerDown(event);
- break;
- case SDL_FINGERUP:
- preprocessFingerUp(event);
- break;
- case SDL_FINGERMOTION:
- preprocessFingerMotion(event);
- break;
+ // touchpad_mouse_mode off: use only front panel for direct touch control of pointer
+ // touchpad_mouse_mode on: use both front and rear for indirect touch control
+ // where the finger can be somewhere else than the pointer and still move it
+ if (port == 0 || ConfMan.getBool("touchpad_mouse_mode")) {
+ switch (event->type) {
+ case SDL_FINGERDOWN:
+ preprocessFingerDown(event);
+ break;
+ case SDL_FINGERUP:
+ preprocessFingerUp(event);
+ break;
+ case SDL_FINGERMOTION:
+ preprocessFingerMotion(event);
+ break;
+ }
}
}
}