[Scummvm-git-logs] scummvm master -> bba558770d8121a06d306c2685ab6c519a37cab6

sev- sev at scummvm.org
Sat Apr 17 17:42:10 UTC 2021


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
6778a80816 SYMBIAN: Do not compile unneeded stubs. Part of PR#2712
91832bf9d8 SYMBIAN: Remove old Keys Dialog, now the global KeyMapper is used. PR#2712
9bcffc97ee GUI: Fix regression in PictureWidget which led to double scaling
bba558770d GUI: Expose base GUI scaling to GUI. This bumps theme version.


Commit: 6778a80816e466a439c2bea0d9dee5f3dc1e0091
    https://github.com/scummvm/scummvm/commit/6778a80816e466a439c2bea0d9dee5f3dc1e0091
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2021-04-17T19:41:09+02:00

Commit Message:
SYMBIAN: Do not compile unneeded stubs. Part of PR#2712

Changed paths:
    backends/platform/symbian/S60v3/ScummVM_common.mmh


diff --git a/backends/platform/symbian/S60v3/ScummVM_common.mmh b/backends/platform/symbian/S60v3/ScummVM_common.mmh
index 2a75f019e4..c9942eeb02 100644
--- a/backends/platform/symbian/S60v3/ScummVM_common.mmh
+++ b/backends/platform/symbian/S60v3/ScummVM_common.mmh
@@ -117,5 +117,3 @@ LIBRARY  remconcoreapi.lib remconinterfacebase.lib apmime.lib drtaeabi.lib // li
 SOURCEPATH ..\..\sdl
 SOURCE sdl-window.cpp
 
-SOURCEPATH ..\libc_missed
-SOURCE vsscanf.c sscanf.c s_fmax.c __v_scanf.c s_round.c strtod.c


Commit: 91832bf9d839dc658570fb71f03b619fbcd98f30
    https://github.com/scummvm/scummvm/commit/91832bf9d839dc658570fb71f03b619fbcd98f30
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2021-04-17T19:41:09+02:00

Commit Message:
SYMBIAN: Remove old Keys Dialog, now the global KeyMapper is used. PR#2712

Changed paths:
  R backends/events/symbiansdl/symbiansdl-events.cpp
  R backends/events/symbiansdl/symbiansdl-events.h
  R backends/platform/symbian/src/SymbianActions.cpp
  R backends/platform/symbian/src/SymbianActions.h
  R gui/Actions.cpp
  R gui/Actions.h
  R gui/Key.cpp
  R gui/Key.h
  R gui/KeysDialog.cpp
  R gui/KeysDialog.h
    backends/platform/symbian/S60/ScummVM_S60.mmp.in
    backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in
    backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
    backends/platform/symbian/S60v3/ScummVM_common.mmh
    backends/platform/symbian/S60v3/scummvm_base.mmp
    backends/platform/symbian/S80/ScummVM_S80.mmp.in
    backends/platform/symbian/S90/Scummvm_S90.mmp.in
    backends/platform/symbian/UIQ2/ScummVM_UIQ2.mmp.in
    backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in
    backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
    backends/platform/symbian/src/SymbianOS.cpp
    backends/platform/symbian/src/SymbianOS.h
    backends/platform/symbian/symbian_builder/parse_base.py
    engines/dialogs.cpp
    engines/dialogs.h
    gui/options.cpp
    gui/options.h
    gui/themes/residualvm/residualvm_layout.stx
    gui/themes/residualvm/residualvm_layout_lowres.stx
    gui/themes/scummclassic/classic_layout.stx
    gui/themes/scummclassic/classic_layout_lowres.stx
    gui/themes/scummmodern/scummmodern_layout.stx
    gui/themes/scummmodern/scummmodern_layout_lowres.stx
    gui/themes/scummremastered/remastered_layout.stx
    gui/themes/scummremastered/remastered_layout_lowres.stx
    po/POTFILES


diff --git a/backends/events/symbiansdl/symbiansdl-events.cpp b/backends/events/symbiansdl/symbiansdl-events.cpp
deleted file mode 100644
index 7f4b6fe702..0000000000
--- a/backends/events/symbiansdl/symbiansdl-events.cpp
+++ /dev/null
@@ -1,238 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "common/scummsys.h"
-
-#if defined(__SYMBIAN32__) && defined(GUI_ENABLE_KEYSDIALOG)
-
-#include "backends/events/symbiansdl/symbiansdl-events.h"
-#include "backends/platform/symbian/src/SymbianActions.h"
-#include "gui/message.h"
-#include "common/translation.h"
-
-#include <bautils.h>
-
-#define JOY_DEADZONE 3200
-
-SymbianSdlEventSource::zoneDesc SymbianSdlEventSource::_zones[TOTAL_ZONES] = {
-	{ 0, 0, 320, 145 },
-	{ 0, 145, 150, 55 },
-	{ 150, 145, 170, 55 }
-};
-
-SymbianSdlEventSource::SymbianSdlEventSource()
-	: _currentZone(0) {
-	for (int i = 0; i < TOTAL_ZONES; i++) {
-		_mouseXZone[i] = (_zones[i].x + (_zones[i].width / 2));
-		_mouseYZone[i] = (_zones[i].y + (_zones[i].height / 2));
-	}
-}
-
-bool SymbianSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) {
-	if (GUI::Actions::Instance()->mappingActive() || ev.key.keysym.sym <= SDLK_UNKNOWN)
-		return false;
-
-	for (TInt loop = 0; loop < GUI::ACTION_LAST; loop++) {
-		if (GUI::Actions::Instance()->getMapping(loop) == (uint)ev.key.keysym.sym &&
-			GUI::Actions::Instance()->isEnabled(loop)) {
-			// Create proper event instead
-			switch (loop) {
-			case GUI::ACTION_UP:
-				if (ev.type == SDL_KEYDOWN) {
-					_km.y_vel = -1 * MULTIPLIER;
-					_km.y_down_count = 1;
-				} else {
-					_km.y_vel = 0 * MULTIPLIER;
-					_km.y_down_count = 0;
-				}
-				event.type = Common::EVENT_MOUSEMOVE;
-				processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
-
-				return true;
-
-			case GUI::ACTION_DOWN:
-				if (ev.type == SDL_KEYDOWN) {
-					_km.y_vel = 1 * MULTIPLIER;
-					_km.y_down_count = 1;
-				} else {
-					_km.y_vel = 0 * MULTIPLIER;
-					_km.y_down_count = 0;
-				}
-				event.type = Common::EVENT_MOUSEMOVE;
-				processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
-
-				return true;
-
-			case GUI::ACTION_LEFT:
-				if (ev.type == SDL_KEYDOWN) {
-					_km.x_vel = -1 * MULTIPLIER;
-					_km.x_down_count = 1;
-				} else {
-					_km.x_vel = 0 * MULTIPLIER;
-					_km.x_down_count = 0;
-				}
-				event.type = Common::EVENT_MOUSEMOVE;
-				processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
-
-				return true;
-
-			case GUI::ACTION_RIGHT:
-				if (ev.type == SDL_KEYDOWN) {
-					_km.x_vel = 1 * MULTIPLIER;
-					_km.x_down_count = 1;
-				} else {
-					_km.x_vel = 0 * MULTIPLIER;
-					_km.x_down_count = 0;
-				}
-				event.type = Common::EVENT_MOUSEMOVE;
-				processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
-
-				return true;
-
-			case GUI::ACTION_LEFTCLICK:
-				event.type = (ev.type == SDL_KEYDOWN ? Common::EVENT_LBUTTONDOWN : Common::EVENT_LBUTTONUP);
-				processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
-
-				return true;
-
-			case GUI::ACTION_RIGHTCLICK:
-				event.type = (ev.type == SDL_KEYDOWN ? Common::EVENT_RBUTTONDOWN : Common::EVENT_RBUTTONUP);
-				processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
-
-				return true;
-
-			case GUI::ACTION_ZONE:
-				if (ev.type == SDL_KEYDOWN) {
-					for (int i = 0; i < TOTAL_ZONES; i++)
-						if ( (_km.x / MULTIPLIER) >= _zones[i].x && (_km.y / MULTIPLIER) >= _zones[i].y &&
-							(_km.x / MULTIPLIER) <= _zones[i].x + _zones[i].width && (_km.y / MULTIPLIER <= _zones[i].y + _zones[i].height)
-							) {
-							_mouseXZone[i] = _km.x / MULTIPLIER;
-							_mouseYZone[i] = _km.y / MULTIPLIER;
-							break;
-						}
-						_currentZone++;
-						if (_currentZone >= TOTAL_ZONES)
-							_currentZone = 0;
-						event.type = Common::EVENT_MOUSEMOVE;
-						processMouseEvent(event, _mouseXZone[_currentZone], _mouseYZone[_currentZone]);
-						// update KbdMouse
-						_km.x = _mouseXZone[_currentZone] * MULTIPLIER;
-						_km.y = _mouseYZone[_currentZone] * MULTIPLIER;
-
-						if (_graphicsManager) {
-							_graphicsManager->getWindow()->warpMouseInWindow(event.mouse.x, event.mouse.y);
-						}
-				}
-
-				return true;
-			case GUI::ACTION_MULTI: {
-				GUI::Key &key = GUI::Actions::Instance()->getKeyAction(loop);
-				// if key code is pause, then change event to interactive or just fall through
-				if (key.keycode() == SDLK_PAUSE) {
-					event.type = Common::EVENT_PREDICTIVE_DIALOG;
-					return true;
-					}
-				}
-			case GUI::ACTION_SAVE:
-			case GUI::ACTION_SKIP:
-			case GUI::ACTION_SKIP_TEXT:
-			case GUI::ACTION_PAUSE:
-			case GUI::ACTION_SWAPCHAR:
-			case GUI::ACTION_FASTMODE:
-			case GUI::ACTION_DEBUGGER:
-			case GUI::ACTION_MAINMENU:
-			case GUI::ACTION_VKB:
-			case GUI::ACTION_KEYMAPPER:{
-					GUI::Key &key = GUI::Actions::Instance()->getKeyAction(loop);
-					ev.key.keysym.sym = (SDL_Keycode) key.keycode();
-					ev.key.keysym.scancode = 0;
-					ev.key.keysym.mod = (SDL_Keymod) key.flags();
-
-					// Translate from SDL keymod event to Scummvm Key Mod Common::Event.
-					// TODO: Make use of SdlEventSource::SDLModToOSystemKeyFlags?
-					if (key.flags() != 0) {
-						event.kbd.flags = 0;
-
-						if (ev.key.keysym.mod & KMOD_SHIFT)
-							event.kbd.flags |= Common::KBD_SHIFT;
-
-						if (ev.key.keysym.mod & KMOD_ALT)
-							event.kbd.flags |= Common::KBD_ALT;
-
-						if (ev.key.keysym.mod & KMOD_CTRL)
-							event.kbd.flags |= Common::KBD_CTRL;
-					}
-
-					return false;
-				}
-
-			case GUI::ACTION_QUIT:
-				{
-					GUI::MessageDialog alert(_("Do you want to quit ?"), _("Yes"), _("No"));
-					if (alert.runModal() == GUI::kMessageOK)
-						g_system->quit();
-
-					return true;
-				}
-			}
-		}
-	}
-
-	return false;
-}
-
-bool SymbianSdlEventSource::handleAxisToMouseMotion(int16 xAxis, int16 yAxis) {
-	// Symbian wants dialog joystick i.e cursor for movement/selection
-
-	if (xAxis > JOY_DEADZONE) {
-		xAxis -= JOY_DEADZONE;
-	} else if (xAxis < -JOY_DEADZONE) {
-		xAxis += JOY_DEADZONE;
-	} else
-		xAxis = 0;
-	if (yAxis > JOY_DEADZONE) {
-		yAxis -= JOY_DEADZONE;
-	} else if (yAxis < -JOY_DEADZONE) {
-		yAxis += JOY_DEADZONE;
-	} else
-		yAxis = 0;
-
-	if (xAxis != 0) {
-		_km.x_vel = (xAxis > 0) ? 1 * MULTIPLIER:-1 * MULTIPLIER;
-		_km.x_down_count = 1;
-	} else {
-		_km.x_vel = 0;
-		_km.x_down_count = 0;
-	}
-	if (yAxis != 0) {
-		_km.y_vel = (yAxis > 0) ? 1 * MULTIPLIER: -1 * MULTIPLIER;
-		_km.y_down_count = 1;
-	} else {
-		_km.y_vel = 0;
-		_km.y_down_count = 0;
-	}
-
-	return false;
-}
-
-#endif
diff --git a/backends/events/symbiansdl/symbiansdl-events.h b/backends/events/symbiansdl/symbiansdl-events.h
deleted file mode 100644
index d5276bc194..0000000000
--- a/backends/events/symbiansdl/symbiansdl-events.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#if !defined(BACKEND_EVENTS_SYMBIAN_SDL_H) && !defined(DISABLE_DEFAULT_EVENTMANAGER)
-#define BACKEND_EVENTS_SYMBIAN_SDL_H
-
-#include "backends/events/sdl/legacy-sdl-events.h"
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-
-#define TOTAL_ZONES 3
-
-/**
- * SDL events manager for Symbian
- */
-class SymbianSdlEventSource : public LegacySdlEventSource {
-public:
-	SymbianSdlEventSource();
-
-protected:
-	// Used to handle joystick navi zones
-	int _mouseXZone[TOTAL_ZONES];
-	int _mouseYZone[TOTAL_ZONES];
-	int _currentZone;
-
-	struct zoneDesc {
-		int x;
-		int y;
-		int width;
-		int height;
-	};
-
-	static zoneDesc _zones[TOTAL_ZONES];
-
-	virtual bool remapKey(SDL_Event &ev, Common::Event &event);
-
-	virtual bool handleAxisToMouseMotion(int16 xAxis, int16 yAxis);
-};
-
-#endif
-
-#endif
diff --git a/backends/platform/symbian/S60/ScummVM_S60.mmp.in b/backends/platform/symbian/S60/ScummVM_S60.mmp.in
index 9f47612f22..0992c361de 100644
--- a/backends/platform/symbian/S60/ScummVM_S60.mmp.in
+++ b/backends/platform/symbian/S60/ScummVM_S60.mmp.in
@@ -91,12 +91,8 @@ SOURCE backends\platform\sdl\graphics.cpp
 SOURCE backends\platform\sdl\sdl.cpp
 SOURCE backends\fs\symbian\symbian-fs.cpp
 SOURCE backends\platform\symbian\src\SymbianOS.cpp
-SOURCE backends\platform\symbian\src\SymbianActions.cpp
 SOURCE backends\platform\symbian\src\ScummApp.cpp
 
-SOURCE gui\Key.cpp
-SOURCE gui\KeysDialog.cpp
-SOURCE gui\Actions.cpp
 SOURCE gui\Dialog.cpp
 
 // Special for graphics
diff --git a/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in b/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in
index 0c0811c718..e5e0b56e32 100644
--- a/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in
+++ b/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in
@@ -128,13 +128,9 @@ SOURCE backends\audiocd\default\default-audiocd.cpp
 SOURCE backends\fs\symbian\symbian-fs.cpp
 SOURCE backends\fs\symbian\symbian-fs-factory.cpp
 SOURCE backends\platform\symbian\src\SymbianOS.cpp
-SOURCE backends\platform\symbian\src\SymbianActions.cpp
 SOURCE backends\platform\symbian\src\ScummApp.cpp
 SOURCE backends\platform\symbian\src\SymbianMain.cpp
 
-SOURCE gui\Key.cpp
-SOURCE gui\KeysDialog.cpp
-SOURCE gui\Actions.cpp
 SOURCE gui\Dialog.cpp
 
 // Common error
diff --git a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
index 91c5428d56..ac0e2216ed 100644
--- a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
+++ b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
@@ -129,13 +129,9 @@ SOURCE backends\audiocd\default\default-audiocd.cpp
 SOURCE backends\fs\symbian\symbian-fs.cpp
 SOURCE backends\fs\symbian\symbian-fs-factory.cpp
 SOURCE backends\platform\symbian\src\SymbianOS.cpp
-SOURCE backends\platform\symbian\src\SymbianActions.cpp
 SOURCE backends\platform\symbian\src\ScummApp.cpp
 SOURCE backends\platform\symbian\src\SymbianMain.cpp
 
-SOURCE gui\Key.cpp
-SOURCE gui\KeysDialog.cpp
-SOURCE gui\Actions.cpp
 SOURCE gui\Dialog.cpp
 
 // Common error
diff --git a/backends/platform/symbian/S60v3/ScummVM_common.mmh b/backends/platform/symbian/S60v3/ScummVM_common.mmh
index c9942eeb02..c85656830d 100644
--- a/backends/platform/symbian/S60v3/ScummVM_common.mmh
+++ b/backends/platform/symbian/S60v3/ScummVM_common.mmh
@@ -91,12 +91,8 @@ SOURCE backends\audiocd\default\default-audiocd.cpp
 SOURCE backends\fs\symbian\symbian-fs.cpp
 SOURCE backends\fs\symbian\symbian-fs-factory.cpp
 SOURCE backends\platform\symbian\src\SymbianOS.cpp
-SOURCE backends\platform\symbian\src\SymbianActions.cpp
 SOURCE backends\platform\symbian\src\ScummApp.cpp
 SOURCE backends\platform\symbian\src\SymbianMain.cpp
-SOURCE gui\Key.cpp
-SOURCE gui\KeysDialog.cpp
-SOURCE gui\Actions.cpp
 SOURCE gui\Dialog.cpp
 
 // Common error
diff --git a/backends/platform/symbian/S60v3/scummvm_base.mmp b/backends/platform/symbian/S60v3/scummvm_base.mmp
index aad76d2a1b..fd6451699f 100644
--- a/backends/platform/symbian/S60v3/scummvm_base.mmp
+++ b/backends/platform/symbian/S60v3/scummvm_base.mmp
@@ -210,11 +210,6 @@ SOURCE widgets\popup.cpp
 SOURCE widgets\scrollbar.cpp
 SOURCE widgets\tab.cpp
 //STOP_AUTO_OBJECTS_GUI_//
-// these next three will go into gui\modules.mk and will end up in START_AUTO_OBJECTS_GUI
-// for now they are in the phone platform specific MMP files because of library dependency probs during linking
-//SOURCE Key.cpp
-//SOURCE KeysDialog.cpp
-//SOURCE Actions.cpp
 
 SOURCEPATH ..\..\..\..\audio
 //START_AUTO_OBJECTS_AUDIO_// Updated @ Thu Dec 10 22:42:12 2015
@@ -333,7 +328,6 @@ SOURCE	   backends\modular-backend.cpp
 SOURCE     backends\audiocd\default\default-audiocd.cpp
 SOURCE     backends\audiocd\sdl\sdl-audiocd.cpp
 SOURCE     backends\events\sdl\sdl-events.cpp
-SOURCE     backends\events\symbiansdl\symbiansdl-events.cpp
 SOURCE	   backends\fs\abstract-fs.cpp
 SOURCE	   backends\fs\symbian\symbianstream.cpp
 SOURCE     backends\graphics\sdl\sdl-graphics.cpp
diff --git a/backends/platform/symbian/S80/ScummVM_S80.mmp.in b/backends/platform/symbian/S80/ScummVM_S80.mmp.in
index 304423e671..9be30cb4dc 100644
--- a/backends/platform/symbian/S80/ScummVM_S80.mmp.in
+++ b/backends/platform/symbian/S80/ScummVM_S80.mmp.in
@@ -89,12 +89,8 @@ SOURCE backends\platform\sdl\graphics.cpp
 SOURCE backends\platform\sdl\sdl.cpp
 SOURCE backends\fs\symbian\symbian-fs.cpp
 SOURCE backends\platform\symbian\src\SymbianOS.cpp
-SOURCE backends\platform\symbian\src\SymbianActions.cpp
 SOURCE backends\platform\symbian\src\ScummApp.cpp
 
-SOURCE gui\Key.cpp
-SOURCE gui\KeysDialog.cpp
-SOURCE gui\Actions.cpp
 SOURCE gui\Dialog.cpp
 
 // Special for graphics
diff --git a/backends/platform/symbian/S90/Scummvm_S90.mmp.in b/backends/platform/symbian/S90/Scummvm_S90.mmp.in
index 3f44b3ac26..9be1119b4c 100644
--- a/backends/platform/symbian/S90/Scummvm_S90.mmp.in
+++ b/backends/platform/symbian/S90/Scummvm_S90.mmp.in
@@ -89,12 +89,9 @@ SOURCE backends\platform\sdl\graphics.cpp
 SOURCE backends\platform\sdl\sdl.cpp
 SOURCE backends\fs\symbian\symbian-fs.cpp
 SOURCE backends\platform\symbian\src\SymbianOS.cpp
-SOURCE backends\platform\symbian\src\SymbianActions.cpp
+
 SOURCE backends\platform\symbian\src\ScummApp.cpp
 
-SOURCE gui\Key.cpp
-SOURCE gui\KeysDialog.cpp
-SOURCE gui\Actions.cpp
 SOURCE gui\Dialog.cpp
 
 // Special for graphics
diff --git a/backends/platform/symbian/UIQ2/ScummVM_UIQ2.mmp.in b/backends/platform/symbian/UIQ2/ScummVM_UIQ2.mmp.in
index 68f5bd0cab..934463dbf2 100644
--- a/backends/platform/symbian/UIQ2/ScummVM_UIQ2.mmp.in
+++ b/backends/platform/symbian/UIQ2/ScummVM_UIQ2.mmp.in
@@ -83,12 +83,8 @@ SOURCE backends\platform\sdl\graphics.cpp
 SOURCE backends\platform\sdl\sdl.cpp
 SOURCE backends\fs\symbian\symbian-fs.cpp
 SOURCE backends\platform\symbian\src\SymbianOS.cpp
-SOURCE backends\platform\symbian\src\SymbianActions.cpp
 SOURCE backends\platform\symbian\src\ScummApp.cpp
 
-SOURCE gui\Key.cpp
-SOURCE gui\KeysDialog.cpp
-SOURCE gui\Actions.cpp
 SOURCE gui\Dialog.cpp
 
 // Special for graphics
diff --git a/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in b/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in
index 707f41673c..40b08572a5 100644
--- a/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in
+++ b/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in
@@ -125,13 +125,9 @@ SOURCE backends\audiocd\default\default-audiocd.cpp
 SOURCE backends\fs\symbian\symbian-fs.cpp
 SOURCE backends\fs\symbian\symbian-fs-factory.cpp
 SOURCE backends\platform\symbian\src\SymbianOS.cpp
-SOURCE backends\platform\symbian\src\SymbianActions.cpp
 SOURCE backends\platform\symbian\src\ScummApp.cpp
 SOURCE backends\platform\symbian\src\SymbianMain.cpp
 
-SOURCE gui\Key.cpp
-SOURCE gui\KeysDialog.cpp
-SOURCE gui\Actions.cpp
 SOURCE gui\Dialog.cpp
 
 // Common error
diff --git a/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
index 7350f5bd1f..ab360628c4 100644
--- a/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
+++ b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
@@ -125,13 +125,9 @@ SOURCE backends\audiocd\default\default-audiocd.cpp
 SOURCE backends\fs\symbian\symbian-fs.cpp
 SOURCE backends\fs\symbian\symbian-fs-factory.cpp
 SOURCE backends\platform\symbian\src\SymbianOS.cpp
-SOURCE backends\platform\symbian\src\SymbianActions.cpp
 SOURCE backends\platform\symbian\src\ScummApp.cpp
 SOURCE backends\platform\symbian\src\SymbianMain.cpp
 
-SOURCE gui\Key.cpp
-SOURCE gui\KeysDialog.cpp
-SOURCE gui\Actions.cpp
 SOURCE gui\Dialog.cpp
 
 // Common error
diff --git a/backends/platform/symbian/src/SymbianActions.cpp b/backends/platform/symbian/src/SymbianActions.cpp
deleted file mode 100644
index 3f5eab2b97..0000000000
--- a/backends/platform/symbian/src/SymbianActions.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "backends/platform/symbian/src/SymbianActions.h"
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-
-#include "gui/message.h"
-#include "scumm/scumm.h"
-#include "common/config-manager.h"
-#include "common/translation.h"
-
-#include <sdl.h>
-
-namespace GUI {
-
-// SumthinWicked says: we either split our Actions like WinCE did with Pocket/Smartphone
-// or we put them in this file separated by #ifdefs, this one is up to you, AnotherGuest :)
-
-const Common::String actionNames[] = {
-	_s("Up"),
-	_s("Down"),
-	_s("Left"),
-	_s("Right"),
-	_s("Left Click"),
-	_s("Right Click"),
-	_s("Save"),
-	_s("Skip"),
-	_s("Zone"),
-	_s("Multi Function"),
-	_s("Swap character"),
-	_s("Skip text"),
-	_s("Pause"),
-	_s("Fast mode"),
-	_s("Quit"),
-	_s("Debugger"),
-	_s("Global menu"),
-	_s("Virtual keyboard"),
-	_s("Key mapper")
-};
-
-#ifdef UIQ
-static const int ACTIONS_DEFAULT[ACTION_LAST] = { SDLK_UP, SDLK_DOWN, SDLK_LEFT, SDLK_RIGHT, SDLK_F1, SDLK_F2, SDLK_F5, SDLK_PAGEDOWN, '9', 0, 0, SDLK_PAGEUP, 0, 0, 0, 0, 0, 0, 0};
-#elif defined(S60)
-const int ACTIONS_DEFAULT[ACTION_LAST] = { 0, 0, 0, 0, 0, 0, '*', '#', '9', 0, 0, 0, 0, 0, 0, 0, '0', 0, 0};
-#elif defined(S90)
-const int ACTIONS_DEFAULT[ACTION_LAST] = { SDLK_UP, SDLK_DOWN, SDLK_LEFT, SDLK_RIGHT, 0, 0, SDLK_MENU, SDLK_ESCAPE, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0 ,0};
-#else
-const int ACTIONS_DEFAULT[ACTION_LAST] = { SDLK_UP, SDLK_DOWN, SDLK_LEFT, SDLK_RIGHT, SDLK_F1, SDLK_F2, SDLK_MENU, SDLK_ESCAPE, 0, 0, 0, 0, 0, 0, 0, 0, '1', 0 ,0};
-#endif
-
-// creator function according to Factory Pattern
-void SymbianActions::init() {
-	_instance = new SymbianActions();
-}
-
-
-Common::String SymbianActions::actionName(ActionType action) {
-	return _(actionNames[action]);
-}
-
-int SymbianActions::size() {
-	return ACTION_LAST;
-}
-
-Common::String SymbianActions::domain() {
-	return Common::ConfigManager::kApplicationDomain;
-}
-
-int SymbianActions::version() {
-	return ACTION_VERSION;
-}
-
-SymbianActions::SymbianActions()
- : Actions() {
-	int i;
-
-	for (i = 0; i < ACTION_LAST; i++) {
-		_action_mapping[i] = ACTIONS_DEFAULT[i];
-		_action_enabled[i] = false;
-	}
-
-}
-
-void SymbianActions::initInstanceMain(OSystem *mainSystem) {
-	int i;
-
-	// Need to do this since all old mappings are reset after engineDone
-	_initialized = false;
-	Actions::initInstanceMain(mainSystem);
-
-	// Disable all mappings before setting main mappings again
-	for (i = 0; i < ACTION_LAST; i++) {
-		_action_enabled[i] = false;
-	}
-
-	// Mouse Up
-	_action_enabled[ACTION_UP] = true;
-
-	// Mouse Down
-	_action_enabled[ACTION_DOWN] = true;
-
-	// Mouse Left
-	_action_enabled[ACTION_LEFT] = true;
-
-	// Mouse Right
-	_action_enabled[ACTION_RIGHT] = true;
-
-	// Left Click
-	_action_enabled[ACTION_LEFTCLICK] = true;
-
-	// Right Click
-	_action_enabled[ACTION_RIGHTCLICK] = true;
-
-	// Skip
-	_action_enabled[ACTION_SKIP] = true;
-	_key_action[ACTION_SKIP].setKey(SDLK_ESCAPE);
-
-	// Enable keymappings
-	_action_enabled[ACTION_KEYMAPPER] = true;
-	_key_action[ACTION_KEYMAPPER].setKey(Common::ASCII_F8, Common::KEYCODE_F8);
-
-	// Enable VKB
-	_action_enabled[ACTION_VKB] = true;
-	_key_action[ACTION_VKB].setKey(Common::ASCII_F7, Common::KEYCODE_F7);
-}
-
-void SymbianActions::initInstanceGame() {
-	Common::String gameid(ConfMan.get("gameid"));
-	bool is_simon = (strncmp(gameid.c_str(), "simon", 5) == 0);
-	bool is_sword1 = (gameid == "sword1");
-	bool is_sword2 = (strcmp(gameid.c_str(), "sword2") == 0);
-	bool is_queen = (gameid == "queen");
-	bool is_sky = (gameid == "sky");
-	bool is_comi = (strncmp(gameid.c_str(), "comi", 4) == 0);
-	bool is_gob = (strncmp(gameid.c_str(), "gob", 3) == 0);
-	bool is_saga = (gameid == "saga");
-	bool is_kyra = (strncmp(gameid.c_str(), "kyra",4) == 0);
-	bool is_samnmax = (gameid == "samnmax");
-	bool is_cine = (gameid == "cine");
-	bool is_touche = (gameid == "touche");
-	bool is_agi = (gameid == "agi");
-	bool is_parallaction = (gameid == "parallaction");
-	bool is_lure = (gameid == "lure");
-	bool is_feeble = (gameid == "feeble");
-	bool is_drascula = (strncmp(gameid.c_str(), "drascula",8) == 0);
-	bool is_tucker = (gameid == "tucker");
-	bool is_groovie = (gameid == "groovie");
-	bool is_tinsel = (gameid == "tinsel");
-	bool is_cruise = (gameid == "cruise");
-	bool is_made = (gameid == "made");
-
-	Actions::initInstanceGame();
-
-	// Initialize keys for different actions
-	// Pause
-	if(is_cruise) {
-		_key_action[ACTION_PAUSE].setKey('P');
-	}
-	else {
-		_key_action[ACTION_PAUSE].setKey(' ');
-	}
-	_action_enabled[ACTION_PAUSE] = true;
-
-
-	// Save
-	if (is_simon || is_sword2 || is_gob || is_kyra || is_feeble || is_tucker || is_groovie)
-		_action_enabled[ACTION_SAVE] = false;
-	else {
-		_action_enabled[ACTION_SAVE] = true;
-
-		if (is_queen) {
-			_key_action[ACTION_SAVE].setKey(Common::ASCII_F1, Common::KEYCODE_F1); // F1 key for FOTAQ
-		} else if (is_sky) {
-			_key_action[ACTION_SAVE].setKey(Common::ASCII_F5, Common::KEYCODE_F5);
-		} else if (is_cine || is_drascula || is_cruise) {
-			_key_action[ACTION_SAVE].setKey(Common::ASCII_F10, Common::KEYCODE_F10); // F10
-		} else if (is_agi) {
-			_key_action[ACTION_SAVE].setKey(Common::ASCII_ESCAPE, Common::KEYCODE_ESCAPE);
-		} else if (is_parallaction) {
-			_key_action[ACTION_SAVE].setKey('s', Common::KEYCODE_s);
-		} else if (is_tinsel) {
-			_key_action[ACTION_SAVE].setKey(Common::ASCII_F1, SDLK_F1);
-		} else {
-			_key_action[ACTION_SAVE].setKey(Common::ASCII_F5, Common::KEYCODE_F5); // F5 key
-		}
-	}
-	// Quit
-	_action_enabled[ACTION_QUIT] = true;
-
-	// Skip text
-	if (!is_cine && !is_parallaction && !is_groovie && !is_cruise && !is_made)
-		_action_enabled[ACTION_SKIP_TEXT] = true;
-	if (is_simon || is_sky || is_sword2 || is_queen || is_sword1 || is_gob || is_tinsel ||
-			is_saga || is_kyra || is_touche || is_lure || is_feeble || is_drascula || is_tucker)
-		_key_action[ACTION_SKIP_TEXT].setKey(Common::KEYCODE_ESCAPE, Common::KEYCODE_ESCAPE); // Escape key
-	else {
-		_key_action[ACTION_SKIP_TEXT].setKey(SDLK_PERIOD);
-	}
-
-	// Enable fast mode
-	_action_enabled[ACTION_FASTMODE] = true;
-	_key_action[ACTION_FASTMODE].setKey('f', Common::KEYCODE_f, KMOD_CTRL);
-
-	// Swap character
-	_action_enabled[ACTION_SWAPCHAR] = true;
-	_key_action[ACTION_SWAPCHAR].setKey('b'); // b
-
-	// Zone
-	_action_enabled[ACTION_ZONE] = true;
-
-	// Multi function key
-	_action_enabled[ACTION_MULTI] = true;
-	if (is_agi)
-		_key_action[ACTION_MULTI].setKey(SDLK_PAUSE); // agi: show predictive dialog
-	else if (is_gob)
-		_key_action[ACTION_MULTI].setKey(Common::ASCII_F1, Common::KEYCODE_F1); // bargon : F1 to start
-	else if (gameid == "atlantis")
-		_key_action[ACTION_MULTI].setKey('0', Common::KEYCODE_KP0); // fate of atlantis : Ins to sucker-punch
-	else
-		_key_action[ACTION_MULTI].setKey('V', SDLK_v, KMOD_SHIFT); // FT cheat : shift-V
-
-	// Enable debugger
-	_action_enabled[ACTION_DEBUGGER] = true;
-	_key_action[ACTION_DEBUGGER].setKey('d', Common::KEYCODE_d, KMOD_CTRL);
-
-	// Enable global menu
-	_action_enabled[ACTION_MAINMENU] = true;
-	_key_action[ACTION_MAINMENU].setKey(Common::ASCII_F5, Common::KEYCODE_F5, KMOD_CTRL);
-
-}
-
-
-SymbianActions::~SymbianActions() {
-}
-
-bool SymbianActions::perform(ActionType /*action*/, bool /*pushed*/) {
-
-	return false;
-}
-
-} // namespace GUI
-
-#endif
diff --git a/backends/platform/symbian/src/SymbianActions.h b/backends/platform/symbian/src/SymbianActions.h
deleted file mode 100644
index 592f1ce6b0..0000000000
--- a/backends/platform/symbian/src/SymbianActions.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef SYMBIANACTIONS_H
-#define SYMBIANACTIONS_H
-
-#include "common/scummsys.h"
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-
-#include "common/system.h"
-#include "common/ustr.h"
-#include "gui/Key.h"
-#include "gui/Actions.h"
-
-namespace GUI {
-
-#define ACTION_VERSION 7
-
-enum actionType {
-		ACTION_UP = 0,
-		ACTION_DOWN,
-		ACTION_LEFT,
-		ACTION_RIGHT,
-		ACTION_LEFTCLICK,
-		ACTION_RIGHTCLICK,
-		ACTION_SAVE,
-		ACTION_SKIP,
-		ACTION_ZONE,
-		ACTION_MULTI,
-		ACTION_SWAPCHAR,
-		ACTION_SKIP_TEXT,
-		ACTION_PAUSE,
-		ACTION_FASTMODE,
-		ACTION_QUIT,
-		ACTION_DEBUGGER,
-		ACTION_MAINMENU,
-		ACTION_VKB,
-		ACTION_KEYMAPPER,
-		ACTION_LAST
-};
-
-class SymbianActions : public Actions {
-public:
-	// Actions
-	bool perform(ActionType action, bool pushed = true);
-	Common::String actionName(ActionType action) override;
-	int size();
-	static void init();
-	void initInstanceMain(OSystem *mainSystem);
-	void initInstanceGame();
-
-	// Action domain
-	Common::String domain();
-	int version();
-
-	~SymbianActions();
-
-private:
-	SymbianActions();
-};
-
-} // namespace GUI
-
-#endif
-
-#endif
diff --git a/backends/platform/symbian/src/SymbianOS.cpp b/backends/platform/symbian/src/SymbianOS.cpp
index b0231687ae..1f40419bc3 100644
--- a/backends/platform/symbian/src/SymbianOS.cpp
+++ b/backends/platform/symbian/src/SymbianOS.cpp
@@ -51,11 +51,6 @@
 #include "backends/keymapper/keymapper.h"
 #include "backends/keymapper/keymapper-defaults.h"
 
-#ifdef GUI_ENABLE_KEYSDIALOG
-#include "backends/platform/symbian/src/SymbianActions.h"
-#include "backends/events/symbiansdl/symbiansdl-events.h"
-#endif
-
 #define DEFAULT_CONFIG_FILE "scummvm.ini"
 #define DEFAULT_SAVE_PATH "Savegames"
 
@@ -123,14 +118,6 @@ void OSystem_SDL_Symbian::initBackend() {
 	ConfMan.setBool("fullscreen", true);
 	ConfMan.flushToDisk();
 
-#ifdef GUI_ENABLE_KEYSDIALOG
-	GUI::Actions::init();
-
-	// Creates the backend managers
-	if (_eventSource == 0)
-		_eventSource = new SymbianSdlEventSource();
-#endif
-
 	if (_mixerManager == 0) {
 		_mixerManager = new SymbianSdlMixerManager();
 
@@ -140,14 +127,6 @@ void OSystem_SDL_Symbian::initBackend() {
 
 	// Call parent implementation of this method
 	OSystem_SDL::initBackend();
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-	// Initialize global key mapping for Smartphones
-	GUI::Actions* actions = GUI::Actions::Instance();
-
-	actions->initInstanceMain(this);
-	actions->loadMapping();
-#endif
 }
 
 void OSystem_SDL_Symbian::addSysArchivesToSearchSet(Common::SearchSet &s, int priority) {
@@ -164,32 +143,6 @@ void OSystem_SDL_Symbian::quitWithErrorMsg(const char * /*aMsg*/) {
 		g_system->quit();
 }
 
-#ifdef GUI_ENABLE_KEYSDIALOG
-void OSystem_SDL_Symbian::quit() {
-	delete GUI_Actions::Instance();
-
-	// Call parent implementation of this method
-	OSystem_SDL::quit();
-}
-
-void OSystem_SDL_Symbian::engineInit() {
-	// Check mappings for the engine just started
-	checkMappings();
-}
-
-void OSystem_SDL_Symbian::engineDone() {
-	// Need to reset engine to basic state after an engine has been running
-	GUI::Actions::Instance()->initInstanceMain(this);
-}
-
-void OSystem_SDL_Symbian::checkMappings() {
-	if (ConfMan.get("gameid").empty() || GUI::Actions::Instance()->initialized())
-		return;
-
-	GUI::Actions::Instance()->initInstanceGame();
-}
-#endif
-
 Common::String OSystem_SDL_Symbian::getDefaultConfigFileName() {
 	char configFile[MAXPATHLEN];
 	strcpy(configFile, Symbian::GetExecutablePath());
@@ -198,10 +151,6 @@ Common::String OSystem_SDL_Symbian::getDefaultConfigFileName() {
 }
 
 bool OSystem_SDL_Symbian::hasFeature(Feature f) {
-#ifdef GUI_ENABLE_KEYSDIALOG
-	if (f == kFeatureJoystickDeadzone)
-		return false;
-#endif
 	if (f == kFeatureFullscreenMode)
 		return false;
 
@@ -213,6 +162,12 @@ RFs& OSystem_SDL_Symbian::FsSession() {
 	return *_RFs;
 }
 
+Common::KeymapperDefaultBindings *OSystem_SDL_Symbian::getKeymapperDefaultBindings(){
+	Common::KeymapperDefaultBindings *keymapperDefaultBindings = new Common::KeymapperDefaultBindings();
+	keymapperDefaultBindings->setDefaultBinding(Common::kGlobalKeymapName, "MENU", "ASTERISK");
+	return keymapperDefaultBindings;
+}
+
 
 Common::KeymapperDefaultBindings *OSystem_SDL_Symbian::getKeymapperDefaultBindings(){
 	Common::KeymapperDefaultBindings *keymapperDefaultBindings = new Common::KeymapperDefaultBindings();
diff --git a/backends/platform/symbian/src/SymbianOS.h b/backends/platform/symbian/src/SymbianOS.h
index ef28c71aaa..eac5889f26 100644
--- a/backends/platform/symbian/src/SymbianOS.h
+++ b/backends/platform/symbian/src/SymbianOS.h
@@ -32,15 +32,10 @@ public:
 	OSystem_SDL_Symbian();
 
 	// Override from OSystem_SDL
-	virtual void init();
-	virtual void initBackend();
-#ifdef GUI_ENABLE_KEYSDIALOG
-	virtual void quit();
-	virtual void engineInit();
-	virtual void engineDone();
-#endif
-	virtual Common::String getDefaultConfigFileName();
-	virtual bool hasFeature(Feature f);
+	virtual void init() override;
+	virtual void initBackend() override;
+	virtual Common::String getDefaultConfigFileName() override;
+	virtual bool hasFeature(Feature f) override;
 
 	/**
 	 * Returns reference to File session
@@ -51,14 +46,9 @@ public:
 
 	void addSysArchivesToSearchSet(Common::SearchSet &s, int priority = 0);
 
-protected:
-#ifdef GUI_ENABLE_KEYSDIALOG
-	/**
-	 * Used to intialized special game mappings
-	 */
-	void checkMappings();
-#endif
+	Common::KeymapperDefaultBindings *getKeymapperDefaultBindings() override;
 
+protected:
 	RFs* _RFs;
 public:
 	Common::KeymapperDefaultBindings *getKeymapperDefaultBindings() override;
diff --git a/backends/platform/symbian/symbian_builder/parse_base.py b/backends/platform/symbian/symbian_builder/parse_base.py
index 04a0a62bb0..7b86b9860d 100644
--- a/backends/platform/symbian/symbian_builder/parse_base.py
+++ b/backends/platform/symbian/symbian_builder/parse_base.py
@@ -47,7 +47,6 @@ OPTION			GCCE -I'/Symbian/S60_5th_Edition_SDK_v1.0/epoc32/include/png'
 // added and managed by porter
 SOURCEPATH  ..\..\..\..\\backends
 SOURCE     audiocd\sdl\sdl-audiocd.cpp
-SOURCE     events\symbiansdl\symbiansdl-events.cpp
 SOURCE     fs\symbian\symbianstream.cpp
 SOURCE     mixer\symbiansdl\symbiansdl-mixer.cpp
 // end porter job\n
diff --git a/engines/dialogs.cpp b/engines/dialogs.cpp
index b73b361e38..9ffca1f2e3 100644
--- a/engines/dialogs.cpp
+++ b/engines/dialogs.cpp
@@ -44,10 +44,6 @@
 #include "engines/engine.h"
 #include "engines/metaengine.h"
 
-#ifdef GUI_ENABLE_KEYSDIALOG
-#include "gui/KeysDialog.h"
-#endif
-
 MainMenuDialog::MainMenuDialog(Engine *engine)
 	: GUI::Dialog("GlobalMenu"), _engine(engine) {
 	_backgroundType = GUI::ThemeEngine::kDialogBackgroundSpecial;
@@ -234,12 +230,6 @@ void MainMenuDialog::load() {
 		close();
 }
 
-#ifdef GUI_ENABLE_KEYSDIALOG
-enum {
-	kKeysCmd = 'KEYS'
-};
-#endif
-
 namespace GUI {
 
 // FIXME: We use the empty string as domain name here. This tells the
@@ -358,17 +348,9 @@ ConfigDialog::ConfigDialog() :
 
 	new GUI::ButtonWidget(this, "GlobalConfig.Ok", _("~O~K"), Common::U32String(), GUI::kOKCmd);
 	new GUI::ButtonWidget(this, "GlobalConfig.Cancel", _("~C~ancel"), Common::U32String(), GUI::kCloseCmd);
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-	new GUI::ButtonWidget(this, "GlobalConfig.Keys", _("~K~eys"), Common::U32String(), kKeysCmd);
-	_keysDialog = NULL;
-#endif
 }
 
 ConfigDialog::~ConfigDialog() {
-#ifdef GUI_ENABLE_KEYSDIALOG
-	delete _keysDialog;
-#endif
 }
 
 void ConfigDialog::build() {
@@ -388,24 +370,6 @@ void ConfigDialog::apply() {
 	OptionsDialog::apply();
 }
 
-#ifdef GUI_ENABLE_KEYSDIALOG
-void ConfigDialog::handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) {
-	switch (cmd) {
-	case kKeysCmd:
-		//
-		// Create the sub dialog(s)
-		//
-		_keysDialog = new GUI::KeysDialog();
-		_keysDialog->runModal();
-		delete _keysDialog;
-		_keysDialog = NULL;
-		break;
-	default:
-		GUI::OptionsDialog::handleCommand (sender, cmd, data);
-	}
-}
-#endif
-
 ExtraGuiOptionsWidget::ExtraGuiOptionsWidget(GuiObject *containerBoss, const Common::String &name, const Common::String &domain, const ExtraGuiOptions &options) :
 		OptionsContainerWidget(containerBoss, name, dialogLayout(domain), true, domain),
 		_options(options) {
diff --git a/engines/dialogs.h b/engines/dialogs.h
index 7ce5ec5a4a..fe7190bc09 100644
--- a/engines/dialogs.h
+++ b/engines/dialogs.h
@@ -91,14 +91,6 @@ public:
 
 private:
 	OptionsContainerWidget *_engineOptions;
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-public:
-	void handleCommand(CommandSender *sender, uint32 cmd, uint32 data) override;
-
-private:
-	Dialog *_keysDialog;
-#endif
 };
 
 class ExtraGuiOptionsWidget : public OptionsContainerWidget {
diff --git a/gui/Actions.cpp b/gui/Actions.cpp
deleted file mode 100644
index 4ea2940ecd..0000000000
--- a/gui/Actions.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "gui/Actions.h"
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-
-#include "gui/message.h"
-#include "common/config-manager.h"
-
-#ifdef __SYMBIAN32__
-	#include "backends/platform/symbian/src/SymbianActions.h"
-#endif
-
-#warning The actions system is deprecated. Please use the keymapper instead.
-
-namespace GUI {
-
-Actions* Actions::Instance() {
-	return _instance;
-}
-
-Actions::Actions() :
-	_mapping_active(false), _initialized(false) {
-}
-
-
-Actions::~Actions() {
-}
-
-// call the correct object creator function according to the Factory Pattern
-void Actions::init() {
-#if defined(__SYMBIAN32__)
-	SymbianActions::init();
-#endif
-}
-
-void Actions::initInstanceMain(OSystem *mainSystem) {
-	_mainSystem = mainSystem;
-}
-
-void Actions::initInstanceGame() {
-	_instance->_initialized = true;
-}
-
-
-bool Actions::initialized() {
-	return _initialized;
-}
-
-bool Actions::isActive(ActionType action) {
-	return false;
-}
-
-bool Actions::isEnabled(ActionType action) {
-	return _action_enabled[action];
-}
-
-void Actions::beginMapping(bool start) {
-	_mapping_active = start;
-}
-
-bool Actions::mappingActive() {
-	return _mapping_active;
-}
-
-bool Actions::performMapped(unsigned int keyCode, bool pushed) {
-	int i;
-
-	for (i = 0; i < size(); ++i) {
-		if (_action_mapping[i] == keyCode && _action_enabled[i])
-				return perform((ActionType)i, pushed);
-	}
-
-	return false;
-}
-
-bool Actions::loadMapping() {
-	const char *tempo;
-	int current_version;
-	int i;
-	current_version = ConfMan.getInt("action_mapping_version", domain());
-	if (current_version != version())
-		return false;
-	tempo = ConfMan.get("action_mapping", domain()).c_str();
-	if (tempo && strlen(tempo)) {
-		for (i = 0; i < size(); ++i) {
-			char x[7];
-			int j;
-			memset(x, 0, sizeof(x));
-			memcpy(x, tempo + 5 * i, 4);
-			sscanf(x, "%x", &j);
-			_action_mapping[i] = j;
-		}
-		return true;
-	} else
-		return false;
-}
-
-bool Actions::saveMapping() {
-	char tempo[200];
-	int i;
-	tempo[0] = '\0';
-	ConfMan.setInt("action_mapping_version", version(), domain());
-	for (i = 0; i < size(); ++i) {
-		char x[10];
-		sprintf(x, "%.4x ", _action_mapping[i]);
-		strcat(tempo, x);
-	}
-	ConfMan.set("action_mapping", tempo, domain());
-	ConfMan.flushToDisk();
-	return true;
-}
-
-unsigned int Actions::getMapping(ActionType action) {
-	return _action_mapping[action];
-}
-
-
-void Actions::setMapping(ActionType action, unsigned int keyCode) {
-	int i;
-
-	for (i = 0; i < size(); ++i) {
-		if (_action_mapping[i] == keyCode)
-			_action_mapping[i] = 0;
-	}
-
-	_action_mapping[action] = keyCode;
-}
-
-Key& Actions::getKeyAction(ActionType action) {
-	return _key_action[action];
-}
-
-Actions *Actions::_instance = NULL;
-
-
-} // namespace GUI
-
-#endif
diff --git a/gui/Actions.h b/gui/Actions.h
deleted file mode 100644
index 967f7c4a28..0000000000
--- a/gui/Actions.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef GUI_ACTIONS_H
-#define GUI_ACTIONS_H
-
-#include "common/scummsys.h"
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-
-#include "common/system.h"
-#include "gui/Key.h"
-
-namespace GUI {
-
-typedef int ActionType;
-
-class Actions {
-
-public:
-	static Actions* Instance();
-	static void init();
-	virtual void initInstanceMain(OSystem *mainSystem);
-	virtual void initInstanceGame();
-	bool initialized();
-
-	// Actions
-	virtual bool perform(ActionType action, bool pushed = true) = 0;
-	bool isActive(ActionType action);
-	bool isEnabled(ActionType action);
-	virtual Common::String actionName(ActionType action) = 0;
-	virtual int size() = 0;
-
-	// Mapping
-	void beginMapping(bool start);
-	bool mappingActive();
-	bool performMapped(unsigned int keyCode, bool pushed);
-	bool loadMapping();
-	bool saveMapping();
-	unsigned int getMapping(ActionType action);
-	void setMapping(ActionType action, unsigned int keyCode);
-	Key& getKeyAction(ActionType action);
-
-	// Action domain
-	virtual Common::String domain() = 0;
-	virtual int version() = 0;
-
-	virtual ~Actions();
-
-protected:
-	Actions();
-
-protected:
-	enum {
-		MAX_ACTIONS = 20
-	};
-
-	static Actions* _instance;
-	OSystem *_mainSystem;
-	Key _key_action[MAX_ACTIONS + 1];
-	bool _action_enabled[MAX_ACTIONS + 1];
-	unsigned int _action_mapping[MAX_ACTIONS + 1];
-	bool _mapping_active;
-	bool _initialized;
-};
-
-} // namespace GUI
-typedef GUI::Actions GUI_Actions;
-
-#endif
-
-#endif
diff --git a/gui/Key.cpp b/gui/Key.cpp
deleted file mode 100644
index 80baeca3c7..0000000000
--- a/gui/Key.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "gui/Key.h"
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-
-#warning The actions system is deprecated. Please use the keymapper instead.
-
-namespace GUI {
-
-Key::Key() :
-_ascii(0), _keycode(0), _flags(0) {
-}
-
-Key::Key(int ascii) :
-_ascii(ascii), _keycode(ascii), _flags(0) {
-}
-
-Key::Key(int ascii, int keycode, int flags) :
-_ascii(ascii), _keycode(keycode), _flags(flags) {
-}
-
-void Key::setKey(int ascii) {
-	_ascii = ascii;
-	_keycode = ascii;
-}
-
-void Key::setKey(int ascii, int keycode) {
-	_ascii = ascii;
-	_keycode = keycode;
-}
-
-void Key::setKey(int ascii, int keycode, int flags) {
-	_ascii = ascii;
-	_keycode = keycode;
-	_flags = flags;
-}
-
-int Key::ascii() {
-	return _ascii;
-}
-
-int Key::keycode() {
-	return _keycode;
-}
-
-int Key::flags() {
-	return _flags;
-}
-
-} // namespace GUI
-
-#endif
diff --git a/gui/Key.h b/gui/Key.h
deleted file mode 100644
index 6052a6f892..0000000000
--- a/gui/Key.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef GUI_KEY_H
-#define GUI_KEY_H
-
-#include "common/scummsys.h"
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-
-#include "common/system.h"
-
-namespace GUI {
-
-// TODO/FIXME: Make use of Common::KeyState from common/keyboard.h,
-// or even better, just completely replace this by it.
-// To be able to do that, though, the code using GUI::Key would need to
-// be adopted -- right now it uses SDL keycodes, and uses SDL_PushEvent
-// to generated fake events.
-
-class Key {
-public:
-	Key(int ascii);
-	Key(int ascii, int keycode, int flags = 0);
-	Key();
-
-	void setKey(int ascii);
-	void setKey(int ascii, int keycode);
-	void setKey(int ascii, int keycode, int flags);
-
-	int ascii();
-	int keycode();
-	int flags();
-private:
-	int _ascii;
-	int _keycode;
-	int _flags;
-};
-
-} // namespace GUI
-
-#endif
-
-#endif
diff --git a/gui/KeysDialog.cpp b/gui/KeysDialog.cpp
deleted file mode 100644
index ed16dcb55c..0000000000
--- a/gui/KeysDialog.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "gui/KeysDialog.h"
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-
-#warning The actions system is deprecated. Please use the keymapper instead.
-
-#include "gui/Actions.h"
-#include "common/translation.h"
-#include <SDL_keyboard.h>
-
-namespace GUI {
-
-enum {
-	kMapCmd	= 'map '
-};
-
-KeysDialog::KeysDialog(const Common::U32String &title)
-	: GUI::Dialog("KeysDialog") {
-
-	new ButtonWidget(this, "KeysDialog.Map", _("Map"), Common::U32String(), kMapCmd);
-	new ButtonWidget(this, "KeysDialog.Ok", _("OK"), Common::U32String(), kOKCmd);
-	new ButtonWidget(this, "KeysDialog.Cancel", _("Cancel"), Common::U32String(), kCloseCmd);
-
-	_actionsList = new ListWidget(this, "KeysDialog.List");
-	_actionsList->setNumberingMode(kListNumberingZero);
-
-	_actionTitle = new StaticTextWidget(this, "KeysDialog.Action", title);
-	_keyMapping = new StaticTextWidget(this, "KeysDialog.Mapping", _("Select an action and click 'Map'"));
-
-	_actionTitle->setFlags(WIDGET_CLEARBG);
-	_keyMapping->setFlags(WIDGET_CLEARBG);
-
-	// Get actions names
-	ListWidget::StringArray l;
-
-	for (int i = 0; i < Actions::Instance()->size(); i++)
-		l.push_back(Actions::Instance()->actionName((ActionType)i));
-
-	_actionsList->setList(l);
-
-	_actionSelected = -1;
-	Actions::Instance()->beginMapping(false);
-}
-
-void KeysDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
-	switch (cmd) {
-
-	case kListSelectionChangedCmd:
-		if (_actionsList->getSelected() >= 0) {
-			Common::U32String selection;
-
-			uint16 key = Actions::Instance()->getMapping(_actionsList->getSelected());
-#ifdef __SYMBIAN32__
-			// ScummVM mappings for F1-F9 are different from SDL so remap back to sdl
-			if (key >= Common::ASCII_F1 && key <= Common::ASCII_F9)
-				key = key - Common::ASCII_F1 + SDLK_F1;
-#endif
-			if (key != 0)
-				selection = Common::U32String::format(_("Associated key : %s"), SDL_GetKeyName((SDLKey)key));
-			else
-				selection = Common::U32String::format(_("Associated key : none"));
-
-			_keyMapping->setLabel(selection);
-			_keyMapping->markAsDirty();
-		}
-		break;
-	case kMapCmd:
-		if (_actionsList->getSelected() < 0) {
-			_actionTitle->setLabel(_("Please select an action"));
-		} else {
-			Common::U32String selection;
-
-			_actionSelected = _actionsList->getSelected();
-			uint16 key = Actions::Instance()->getMapping(_actionSelected);
-#ifdef __SYMBIAN32__
-			// ScummVM mappings for F1-F9 are different from SDL so remap back to sdl
-			if (key >= Common::ASCII_F1 && key <= Common::ASCII_F9)
-				key = key - Common::ASCII_F1 + SDLK_F1;
-#endif
-			if (key != 0)
-				selection = Common::U32String::format(_("Associated key : %s"), SDL_GetKeyName((SDLKey)key));
-			else
-				selection = Common::U32String::format(_("Associated key : none"));
-
-			_actionTitle->setLabel(_("Press the key to associate"));
-			_keyMapping->setLabel(selection);
-			_keyMapping->markAsDirty();
-			Actions::Instance()->beginMapping(true);
-			_actionsList->setEnabled(false);
-		}
-		_actionTitle->markAsDirty();
-		break;
-	case kOKCmd:
-		Actions::Instance()->saveMapping();
-		close();
-		break;
-	case kCloseCmd:
-		Actions::Instance()->loadMapping();
-		close();
-		break;
-	}
-}
-
-void KeysDialog::handleKeyDown(Common::KeyState state){
-	if (!Actions::Instance()->mappingActive())
-		Dialog::handleKeyDown(state);
-}
-
-void KeysDialog::handleKeyUp(Common::KeyState state) {
-	if (Actions::Instance()->mappingActive()) {
-		Common::U32String selection;
-
-		Actions::Instance()->setMapping((ActionType)_actionSelected, state.ascii);
-
-		if (state.ascii != 0)
-			selection = Common::U32String::format(_("Associated key : %s"), SDL_GetKeyName((SDLKey) state.keycode));
-		else
-			selection = Common::U32String::format(_("Associated key : none"));
-
-		_actionTitle->setLabel(_("Choose an action to map"));
-		_keyMapping->setLabel(selection);
-		_keyMapping->markAsDirty();
-		_actionTitle->markAsDirty();
-		_actionSelected = -1;
-		_actionsList->setEnabled(true);
-		Actions::Instance()->beginMapping(false);
-	} else
-		Dialog::handleKeyUp(state);
-}
-
-} // namespace GUI
-
-#endif
diff --git a/gui/KeysDialog.h b/gui/KeysDialog.h
deleted file mode 100644
index 4f4487d1c8..0000000000
--- a/gui/KeysDialog.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef KEYSDIALOG_H
-#define KEYSDIALOG_H
-
-#include "common/scummsys.h"
-
-#ifdef GUI_ENABLE_KEYSDIALOG
-
-#include "gui/gui-manager.h"
-#include "gui/dialog.h"
-#include "gui/widgets/list.h"
-#include "common/str.h"
-#include "common/ustr.h"
-#include "common/translation.h"
-
-namespace GUI {
-
-class KeysDialog : public GUI::Dialog {
-public:
-	KeysDialog(const Common::U32String &title = _("Choose an action to map"));
-
-	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
-	void handleKeyUp(Common::KeyState state) override;
-	void handleKeyDown(Common::KeyState state) override;
-
-protected:
-
-	GUI::ListWidget		 *_actionsList;
-	GUI::StaticTextWidget *_actionTitle;
-	GUI::StaticTextWidget *_keyMapping;
-	int				 _actionSelected;
-};
-
-} // namespace GUI
-
-#endif
-
-#endif
diff --git a/gui/options.cpp b/gui/options.cpp
index 4c10220365..b7b20c4f86 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -99,12 +99,6 @@ enum {
 	kSubtitlesBoth
 };
 
-#ifdef GUI_ENABLE_KEYSDIALOG
-enum {
-	kChooseKeyMappingCmd    = 'chma'
-};
-#endif
-
 #ifdef USE_FLUIDSYNTH
 enum {
 	kFluidSynthSettingsCmd  = 'flst'
@@ -1696,9 +1690,6 @@ void OptionsDialog::setupGraphicsTab() {
 
 GlobalOptionsDialog::GlobalOptionsDialog(LauncherDialog *launcher)
 	: OptionsDialog(Common::ConfigManager::kApplicationDomain, "GlobalOptions"), CommandSender(nullptr), _launcher(launcher) {
-#ifdef GUI_ENABLE_KEYSDIALOG
-	_keysDialog = nullptr;
-#endif
 #ifdef USE_FLUIDSYNTH
 	_fluidSynthSettingsDialog = nullptr;
 #endif
@@ -1780,10 +1771,6 @@ GlobalOptionsDialog::GlobalOptionsDialog(LauncherDialog *launcher)
 }
 
 GlobalOptionsDialog::~GlobalOptionsDialog() {
-#ifdef GUI_ENABLE_KEYSDIALOG
-	delete _keysDialog;
-#endif
-
 #ifdef USE_FLUIDSYNTH
 	delete _fluidSynthSettingsDialog;
 #endif
@@ -1954,10 +1941,6 @@ void GlobalOptionsDialog::build() {
 	new ButtonWidget(this, "GlobalOptions.Apply", _("Apply"), Common::U32String(), kApplyCmd);
 	new ButtonWidget(this, "GlobalOptions.Ok", _("OK"), Common::U32String(), kOKCmd);
 
-#ifdef GUI_ENABLE_KEYSDIALOG
-	_keysDialog = new KeysDialog();
-#endif
-
 #ifdef USE_FLUIDSYNTH
 	_fluidSynthSettingsDialog = new FluidSynthSettingsDialog();
 #endif
@@ -2024,11 +2007,6 @@ void GlobalOptionsDialog::build() {
 }
 
 void GlobalOptionsDialog::clean() {
-#ifdef GUI_ENABLE_KEYSDIALOG
-	delete _keysDialog;
-	_keysDialog = nullptr;
-#endif
-
 #ifdef USE_FLUIDSYNTH
 	delete _fluidSynthSettingsDialog;
 	_fluidSynthSettingsDialog = nullptr;
@@ -2134,10 +2112,6 @@ void GlobalOptionsDialog::addMiscControls(GuiObject *boss, const Common::String
 
 	_guiConfirmExit->setState(ConfMan.getBool("confirm_exit", _domain));
 
-#ifdef GUI_ENABLE_KEYSDIALOG
-	new ButtonWidget(boss, prefix + "KeysButton", _("Keys"), Common::U32String(), kChooseKeyMappingCmd);
-#endif
-
 	// TODO: joystick setting
 
 #ifdef USE_TRANSLATION
@@ -2821,11 +2795,6 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3
 	}
 #endif // USE_SDL_NET
 #endif // USE_CLOUD
-#ifdef GUI_ENABLE_KEYSDIALOG
-	case kChooseKeyMappingCmd:
-		_keysDialog->runModal();
-		break;
-#endif
 #ifdef USE_FLUIDSYNTH
 	case kFluidSynthSettingsCmd:
 		_fluidSynthSettingsDialog->runModal();
diff --git a/gui/options.h b/gui/options.h
index 4743e2288d..d6acb81a5d 100644
--- a/gui/options.h
+++ b/gui/options.h
@@ -29,10 +29,6 @@
 #include "common/str.h"
 #include "audio/mididrv.h"
 
-#ifdef GUI_ENABLE_KEYSDIALOG
-#include "gui/KeysDialog.h"
-#endif
-
 #ifdef USE_FLUIDSYNTH
 #include "gui/fluidsynth-dialog.h"
 #endif
@@ -273,9 +269,6 @@ protected:
 
 	Common::String _newTheme;
 	LauncherDialog *_launcher;
-#ifdef GUI_ENABLE_KEYSDIALOG
-	KeysDialog *_keysDialog;
-#endif
 #ifdef USE_FLUIDSYNTH
 	FluidSynthSettingsDialog *_fluidSynthSettingsDialog;
 #endif
diff --git a/gui/themes/residualvm/residualvm_layout.stx b/gui/themes/residualvm/residualvm_layout.stx
index c718217553..3a634c3e54 100644
--- a/gui/themes/residualvm/residualvm_layout.stx
+++ b/gui/themes/residualvm/residualvm_layout.stx
@@ -675,9 +675,6 @@
 						type = 'Button'
 				/>
 			</layout>
-			<widget name='KeysButton'
- 				     type='Button'
-			/>
 		</layout>
 	</dialog>
 
@@ -1004,30 +1001,6 @@
 			/>
 		</layout>
 	</dialog>
-	<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>
-		<layout type='vertical' padding='8,8,8,8' align = 'center'>
-			<widget name='Action'
-					height='Globals.Line.Height'
-			/>
-			<widget name='List'/>
-			<widget name='Mapping'
-					height='Globals.Line.Height'
-			/>
-			<space size='Globals.Line.Height'/>
-			<layout type='horizontal'>
-				<widget name='Map'
-						type='Button'
-				/>
-				<space/>
-				<widget name='Cancel'
-						type='Button'
-				/>
-				<widget name='Ok'
-						type='Button'
-				/>
-			</layout>
-		</layout>
-	</dialog>
 
 	<dialog name = 'GameOptions' overlays = 'Dialog.Launcher.GameList' shading = 'dim'>
 		<layout type = 'vertical' padding = '0, 0, 0, 0'>
@@ -1257,10 +1230,6 @@
 			<widget name = 'TabWidget' type = 'TabWidget'
 			/>
 			<layout type = 'horizontal' padding = '16, 16, 16, 16'>
-				<space />
-				<widget name='Keys'
-						type='Button'
-				/>
 				<space />
 				<widget name = 'Cancel'
 						type = 'Button'
diff --git a/gui/themes/residualvm/residualvm_layout_lowres.stx b/gui/themes/residualvm/residualvm_layout_lowres.stx
index b73ea2b95d..a081b9bc5e 100644
--- a/gui/themes/residualvm/residualvm_layout_lowres.stx
+++ b/gui/themes/residualvm/residualvm_layout_lowres.stx
@@ -664,9 +664,6 @@
 						type = 'Button'
 				/>
 			</layout>
-			<widget name='KeysButton'
- 				     type='Button'
-			/>
 		</layout>
 	</dialog>
 
@@ -992,31 +989,6 @@
 		</layout>
 	</dialog>
 
-	<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>
-		<layout type='vertical' padding='8,8,8,8' align = 'center'>
-			<widget name='Action'
-					height='Globals.Line.Height'
-			/>
-			<widget name='List'/>
-			<widget name='Mapping'
-					height='Globals.Line.Height'
-			/>
-			<space size='Globals.Line.Height'/>
-			<layout type='horizontal'>
-				<widget name='Map'
-						type='Button'
-				/>
-				<space/>
-				<widget name='Cancel'
-						type='Button'
-				/>
-				<widget name='Ok'
-						type='Button'
-				/>
-			</layout>
-		</layout>
-	</dialog>
-
 	<dialog name = 'GameOptions' overlays = 'screen' inset = '16' shading = 'dim'>
 		<layout type = 'vertical' padding = '0, 0, 0, 0'>
 			<widget name = 'TabWidget' type = 'TabWidget'/>
@@ -1254,10 +1226,6 @@
 			<widget name = 'TabWidget' type = 'TabWidget'
 			/>
 			<layout type = 'horizontal' padding = '8, 8, 8, 8'>
-				<space />
-				<widget name='Keys'
-						type='Button'
-				/>
 				<space />
 				<widget name = 'Cancel'
 						type = 'Button'
diff --git a/gui/themes/scummclassic/classic_layout.stx b/gui/themes/scummclassic/classic_layout.stx
index fe2d93a1d5..60e3b2f4e1 100644
--- a/gui/themes/scummclassic/classic_layout.stx
+++ b/gui/themes/scummclassic/classic_layout.stx
@@ -661,9 +661,6 @@
 						type = 'Button'
 				/>
 			</layout>
-			<widget name='KeysButton'
- 				     type='Button'
-			/>
 		</layout>
 	</dialog>
 
@@ -991,31 +988,6 @@
 			</layout>
 		</dialog>
 
-	<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>
-		<layout type='vertical' padding='8,8,8,8' align = 'center'>
-			<widget name='Action'
-					height='Globals.Line.Height'
-			/>
-			<widget name='List'/>
-			<widget name='Mapping'
-					height='Globals.Line.Height'
-			/>
-			<space size='Globals.Line.Height'/>
-			<layout type='horizontal'>
-				<widget name='Map'
-						type='Button'
-				/>
-				<space/>
-				<widget name='Cancel'
-						type='Button'
-				/>
-				<widget name='Ok'
-						type='Button'
-				/>
-			</layout>
-		</layout>
-	</dialog>
-
 	<dialog name = 'GameOptions' overlays = 'Dialog.Launcher.GameList' shading = 'dim'>
 		<layout type = 'vertical' padding = '0, 0, 0, 0'>
 			<widget name = 'TabWidget' type = 'TabWidget'/>
@@ -1244,10 +1216,6 @@
 			<widget name = 'TabWidget' type = 'TabWidget'
 			/>
 			<layout type = 'horizontal' padding = '16, 16, 16, 16'>
-				<space />
-				<widget name='Keys'
-						type='Button'
-				/>
 				<space />
 				<widget name = 'Cancel'
 						type = 'Button'
diff --git a/gui/themes/scummclassic/classic_layout_lowres.stx b/gui/themes/scummclassic/classic_layout_lowres.stx
index 981e50fdee..d20e3fb378 100644
--- a/gui/themes/scummclassic/classic_layout_lowres.stx
+++ b/gui/themes/scummclassic/classic_layout_lowres.stx
@@ -664,9 +664,6 @@
 						type = 'Button'
 				/>
 			</layout>
-			<widget name='KeysButton'
- 				     type='Button'
-			/>
 		</layout>
 	</dialog>
 
@@ -991,31 +988,6 @@
 		</layout>
 	</dialog>
 
-	<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>
-		<layout type='vertical' padding='8,8,8,8' align = 'center'>
-			<widget name='Action'
-					height='Globals.Line.Height'
-			/>
-			<widget name='List'/>
-			<widget name='Mapping'
-					height='Globals.Line.Height'
-			/>
-			<space size='Globals.Line.Height'/>
-			<layout type='horizontal'>
-				<widget name='Map'
-						type='Button'
-				/>
-				<space/>
-				<widget name='Cancel'
-						type='Button'
-				/>
-				<widget name='Ok'
-						type='Button'
-				/>
-			</layout>
-		</layout>
-	</dialog>
-
 	<dialog name = 'GameOptions' overlays = 'screen' inset = '16' shading = 'dim'>
 		<layout type = 'vertical' padding = '0, 0, 0, 0' spacing = '16'>
 			<widget name = 'TabWidget' type = 'TabWidget'/>
@@ -1254,10 +1226,6 @@
 			<widget name = 'TabWidget' type = 'TabWidget'
 			/>
 			<layout type = 'horizontal' padding = '8, 8, 0, 8'>
-				<space />
-				<widget name='Keys'
-						type='Button'
-				/>
 				<space />
 				<widget name = 'Cancel'
 						type = 'Button'
diff --git a/gui/themes/scummmodern/scummmodern_layout.stx b/gui/themes/scummmodern/scummmodern_layout.stx
index c718217553..3a634c3e54 100644
--- a/gui/themes/scummmodern/scummmodern_layout.stx
+++ b/gui/themes/scummmodern/scummmodern_layout.stx
@@ -675,9 +675,6 @@
 						type = 'Button'
 				/>
 			</layout>
-			<widget name='KeysButton'
- 				     type='Button'
-			/>
 		</layout>
 	</dialog>
 
@@ -1004,30 +1001,6 @@
 			/>
 		</layout>
 	</dialog>
-	<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>
-		<layout type='vertical' padding='8,8,8,8' align = 'center'>
-			<widget name='Action'
-					height='Globals.Line.Height'
-			/>
-			<widget name='List'/>
-			<widget name='Mapping'
-					height='Globals.Line.Height'
-			/>
-			<space size='Globals.Line.Height'/>
-			<layout type='horizontal'>
-				<widget name='Map'
-						type='Button'
-				/>
-				<space/>
-				<widget name='Cancel'
-						type='Button'
-				/>
-				<widget name='Ok'
-						type='Button'
-				/>
-			</layout>
-		</layout>
-	</dialog>
 
 	<dialog name = 'GameOptions' overlays = 'Dialog.Launcher.GameList' shading = 'dim'>
 		<layout type = 'vertical' padding = '0, 0, 0, 0'>
@@ -1257,10 +1230,6 @@
 			<widget name = 'TabWidget' type = 'TabWidget'
 			/>
 			<layout type = 'horizontal' padding = '16, 16, 16, 16'>
-				<space />
-				<widget name='Keys'
-						type='Button'
-				/>
 				<space />
 				<widget name = 'Cancel'
 						type = 'Button'
diff --git a/gui/themes/scummmodern/scummmodern_layout_lowres.stx b/gui/themes/scummmodern/scummmodern_layout_lowres.stx
index b73ea2b95d..a081b9bc5e 100644
--- a/gui/themes/scummmodern/scummmodern_layout_lowres.stx
+++ b/gui/themes/scummmodern/scummmodern_layout_lowres.stx
@@ -664,9 +664,6 @@
 						type = 'Button'
 				/>
 			</layout>
-			<widget name='KeysButton'
- 				     type='Button'
-			/>
 		</layout>
 	</dialog>
 
@@ -992,31 +989,6 @@
 		</layout>
 	</dialog>
 
-	<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>
-		<layout type='vertical' padding='8,8,8,8' align = 'center'>
-			<widget name='Action'
-					height='Globals.Line.Height'
-			/>
-			<widget name='List'/>
-			<widget name='Mapping'
-					height='Globals.Line.Height'
-			/>
-			<space size='Globals.Line.Height'/>
-			<layout type='horizontal'>
-				<widget name='Map'
-						type='Button'
-				/>
-				<space/>
-				<widget name='Cancel'
-						type='Button'
-				/>
-				<widget name='Ok'
-						type='Button'
-				/>
-			</layout>
-		</layout>
-	</dialog>
-
 	<dialog name = 'GameOptions' overlays = 'screen' inset = '16' shading = 'dim'>
 		<layout type = 'vertical' padding = '0, 0, 0, 0'>
 			<widget name = 'TabWidget' type = 'TabWidget'/>
@@ -1254,10 +1226,6 @@
 			<widget name = 'TabWidget' type = 'TabWidget'
 			/>
 			<layout type = 'horizontal' padding = '8, 8, 8, 8'>
-				<space />
-				<widget name='Keys'
-						type='Button'
-				/>
 				<space />
 				<widget name = 'Cancel'
 						type = 'Button'
diff --git a/gui/themes/scummremastered/remastered_layout.stx b/gui/themes/scummremastered/remastered_layout.stx
index c718217553..3a634c3e54 100644
--- a/gui/themes/scummremastered/remastered_layout.stx
+++ b/gui/themes/scummremastered/remastered_layout.stx
@@ -675,9 +675,6 @@
 						type = 'Button'
 				/>
 			</layout>
-			<widget name='KeysButton'
- 				     type='Button'
-			/>
 		</layout>
 	</dialog>
 
@@ -1004,30 +1001,6 @@
 			/>
 		</layout>
 	</dialog>
-	<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>
-		<layout type='vertical' padding='8,8,8,8' align = 'center'>
-			<widget name='Action'
-					height='Globals.Line.Height'
-			/>
-			<widget name='List'/>
-			<widget name='Mapping'
-					height='Globals.Line.Height'
-			/>
-			<space size='Globals.Line.Height'/>
-			<layout type='horizontal'>
-				<widget name='Map'
-						type='Button'
-				/>
-				<space/>
-				<widget name='Cancel'
-						type='Button'
-				/>
-				<widget name='Ok'
-						type='Button'
-				/>
-			</layout>
-		</layout>
-	</dialog>
 
 	<dialog name = 'GameOptions' overlays = 'Dialog.Launcher.GameList' shading = 'dim'>
 		<layout type = 'vertical' padding = '0, 0, 0, 0'>
@@ -1257,10 +1230,6 @@
 			<widget name = 'TabWidget' type = 'TabWidget'
 			/>
 			<layout type = 'horizontal' padding = '16, 16, 16, 16'>
-				<space />
-				<widget name='Keys'
-						type='Button'
-				/>
 				<space />
 				<widget name = 'Cancel'
 						type = 'Button'
diff --git a/gui/themes/scummremastered/remastered_layout_lowres.stx b/gui/themes/scummremastered/remastered_layout_lowres.stx
index 7a7f5dc688..fddc15f80f 100644
--- a/gui/themes/scummremastered/remastered_layout_lowres.stx
+++ b/gui/themes/scummremastered/remastered_layout_lowres.stx
@@ -664,9 +664,6 @@
 						type = 'Button'
 				/>
 			</layout>
-			<widget name='KeysButton'
- 				     type='Button'
-			/>
 		</layout>
 	</dialog>
 
@@ -992,31 +989,6 @@
 		</layout>
 	</dialog>
 
-	<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>
-		<layout type='vertical' padding='8,8,8,8' align = 'center'>
-			<widget name='Action'
-					height='Globals.Line.Height'
-			/>
-			<widget name='List'/>
-			<widget name='Mapping'
-					height='Globals.Line.Height'
-			/>
-			<space size='Globals.Line.Height'/>
-			<layout type='horizontal'>
-				<widget name='Map'
-						type='Button'
-				/>
-				<space/>
-				<widget name='Cancel'
-						type='Button'
-				/>
-				<widget name='Ok'
-						type='Button'
-				/>
-			</layout>
-		</layout>
-	</dialog>
-
 	<dialog name = 'GameOptions' overlays = 'screen' inset = '16' shading = 'dim'>
 		<layout type = 'vertical' padding = '0, 0, 0, 0'>
 			<widget name = 'TabWidget' type = 'TabWidget'/>
@@ -1254,10 +1226,6 @@
 			<widget name = 'TabWidget' type = 'TabWidget'
 			/>
 			<layout type = 'horizontal' padding = '8, 8, 8, 8'>
-				<space />
-				<widget name='Keys'
-						type='Button'
-				/>
 				<space />
 				<widget name = 'Cancel'
 						type = 'Button'
diff --git a/po/POTFILES b/po/POTFILES
index eb8c421813..890a5fb585 100644
--- a/po/POTFILES
+++ b/po/POTFILES
@@ -9,8 +9,6 @@ gui/editrecorddialog.cpp
 gui/filebrowser-dialog.cpp
 gui/fluidsynth-dialog.cpp
 gui/gui-manager.cpp
-gui/KeysDialog.cpp
-gui/KeysDialog.h
 gui/launcher.cpp
 gui/massadd.cpp
 gui/message.cpp
@@ -65,7 +63,6 @@ backends/events/default/default-events.cpp
 backends/events/gph/gph-events.cpp
 backends/events/maemosdl/maemosdl-events.cpp
 backends/events/openpandora/op-events.cpp
-backends/events/symbiansdl/symbiansdl-events.cpp
 backends/graphics/opengl/opengl-graphics.cpp
 backends/graphics/openglsdl/openglsdl-graphics.cpp
 backends/graphics/surfacesdl/surfacesdl-graphics.cpp
@@ -97,7 +94,6 @@ backends/platform/sdl/macosx/appmenu_osx.mm
 backends/platform/sdl/ps3/ps3.cpp
 backends/platform/sdl/psp2/psp2.cpp
 backends/platform/sdl/switch/switch.cpp
-backends/platform/symbian/src/SymbianActions.cpp
 backends/platform/wii/options.cpp
 backends/presence/discord/discord.cpp
 backends/updates/macosx/macosx-updates.mm


Commit: 9bcffc97eef31087725453e70626c90239ca9f95
    https://github.com/scummvm/scummvm/commit/9bcffc97eef31087725453e70626c90239ca9f95
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2021-04-17T19:41:09+02:00

Commit Message:
GUI: Fix regression in PictureWidget which led to double scaling

Changed paths:
    gui/widget.cpp


diff --git a/gui/widget.cpp b/gui/widget.cpp
index 7f37e8f3da..0ca365864d 100644
--- a/gui/widget.cpp
+++ b/gui/widget.cpp
@@ -881,8 +881,13 @@ void GraphicsWidget::setGfx(const Graphics::ManagedSurface *gfx, bool scale) {
 	}
 
 	float sf = g_gui.getScaleFactor();
-	if ((scale && sf != 1.0) || ((_w != gfx->w || _h != gfx->h) && _w && _h)) {
-		Graphics::Surface *tmp2 = gfx->rawSurface().scale(gfx->w * sf, gfx->h * sf, false);
+	if (scale && sf != 1.0) {
+		_w = gfx->w * sf;
+		_h = gfx->h * sf;
+	}
+
+	if ((_w != gfx->w || _h != gfx->h) && _w && _h) {
+		Graphics::Surface *tmp2 = gfx->rawSurface().scale(_w, _h, false);
 		_gfx.copyFrom(*tmp2);
 		tmp2->free();
 		delete tmp2;


Commit: bba558770d8121a06d306c2685ab6c519a37cab6
    https://github.com/scummvm/scummvm/commit/bba558770d8121a06d306c2685ab6c519a37cab6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2021-04-17T19:41:09+02:00

Commit Message:
GUI: Expose base GUI scaling to GUI. This bumps theme version.

Changed paths:
    gui/ThemeEngine.h
    gui/gui-manager.cpp
    gui/gui-manager.h
    gui/options.cpp
    gui/options.h
    gui/themes/default.inc
    gui/themes/residualvm.zip
    gui/themes/residualvm/THEMERC
    gui/themes/residualvm/residualvm_layout.stx
    gui/themes/residualvm/residualvm_layout_lowres.stx
    gui/themes/scummclassic.zip
    gui/themes/scummclassic/THEMERC
    gui/themes/scummclassic/classic_layout.stx
    gui/themes/scummclassic/classic_layout_lowres.stx
    gui/themes/scummmodern.zip
    gui/themes/scummmodern/THEMERC
    gui/themes/scummmodern/scummmodern_layout_lowres.stx
    gui/themes/scummremastered.zip
    gui/themes/scummremastered/THEMERC
    gui/themes/scummremastered/remastered_layout.stx
    gui/themes/scummremastered/remastered_layout_lowres.stx


diff --git a/gui/ThemeEngine.h b/gui/ThemeEngine.h
index fce473b96b..2db54cb9b5 100644
--- a/gui/ThemeEngine.h
+++ b/gui/ThemeEngine.h
@@ -37,7 +37,7 @@
 #include "graphics/pixelformat.h"
 
 
-#define SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.8.45"
+#define SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.8.46"
 
 class OSystem;
 
diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp
index 67f301c06d..105aa25948 100644
--- a/gui/gui-manager.cpp
+++ b/gui/gui-manager.cpp
@@ -112,17 +112,27 @@ void GuiManager::computeScaleFactor() {
 	uint16 h = g_system->getOverlayHeight();
 	uint scale = g_system->getFeatureState(OSystem::kFeatureHiDPI) ? 2 : 1;
 
-	// Hardcoding for now
-	if (h < 240 * scale) {	// 320 x 200
-		_baseHeight = MIN<int16>(200, h);
-	} else if (h < 400 * scale) {	// 320 x 240
-		_baseHeight = 240;
-	} else if (h < 480 * scale) {	// 640 x 400
-		_baseHeight = 400;
-	} else if (h < 720 * scale) {	// 640 x 480
-		_baseHeight = 480;
-	} else {				// 960 x 720
-		_baseHeight = 720;
+	_baseHeight = 0;	// Clean up from previous iteration
+
+	if (ConfMan.hasKey("gui_base")) {
+		_baseHeight = ConfMan.getInt("gui_base");
+
+		if (h < _baseHeight)
+			_baseHeight = 0; // Switch to auto for lower resolutions
+	}
+
+	if (_baseHeight == 0) {	// auto
+		if (h < 240 * scale) {	// 320 x 200
+			_baseHeight = MIN<int16>(200, h);
+		} else if (h < 400 * scale) {	// 320 x 240
+			_baseHeight = 240;
+		} else if (h < 480 * scale) {	// 640 x 400
+			_baseHeight = 400;
+		} else if (h < 720 * scale) {	// 640 x 480
+			_baseHeight = 480;
+		} else {				// 960 x 720
+			_baseHeight = 720;
+		}
 	}
 
 	_scaleFactor = (float)h / (float)_baseHeight;
diff --git a/gui/gui-manager.h b/gui/gui-manager.h
index f4cc7747f5..a2f0efabe9 100644
--- a/gui/gui-manager.h
+++ b/gui/gui-manager.h
@@ -94,6 +94,7 @@ public:
 	int16 getGUIWidth() const { return _baseWidth; }
 	int16 getGUIHeight() const { return _baseHeight; }
 	float getScaleFactor() const { return _scaleFactor; }
+	void computeScaleFactor();
 
 	bool useRTL() const { return _useRTL; }
 	void setLanguageRTL();
@@ -177,8 +178,6 @@ protected:
 	};
 	Common::List<GuiObjectTrashItem> _guiObjectTrash;
 
-	void computeScaleFactor();
-
 	void initKeymap();
 	void enableKeymap(bool enabled);
 
diff --git a/gui/options.cpp b/gui/options.cpp
index b7b20c4f86..8030b28d21 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -129,6 +129,10 @@ enum {
 
 static const char *savePeriodLabels[] = { _s("Never"), _s("Every 5 mins"), _s("Every 10 mins"), _s("Every 15 mins"), _s("Every 30 mins"), nullptr };
 static const int savePeriodValues[] = { 0, 5 * 60, 10 * 60, 15 * 60, 30 * 60, -1 };
+
+static const char *guiBaseLabels[] = { _s("Auto"), _s("Large"), _s("Medium"), _s("Small"), nullptr };
+static const int guiBaseValues[] = { 0, 240, 480, 720, -1 };
+
 // The keyboard mouse speed values range from 0 to 7 and correspond to speeds shown in the label
 // "10" (value 3) is the default speed corresponding to the speed before introduction of this control
 static const char *kbdMouseSpeedLabels[] = { "3", "5", "8", "10", "13", "15", "18", "20", nullptr };
@@ -1704,6 +1708,8 @@ GlobalOptionsDialog::GlobalOptionsDialog(LauncherDialog *launcher)
 	_pluginsPathClearButton = nullptr;
 #endif
 	_curTheme = nullptr;
+	_guiBasePopUpDesc = nullptr;
+	_guiBasePopUp = nullptr;
 	_rendererPopUpDesc = nullptr;
 	_rendererPopUp = nullptr;
 	_autosavePeriodPopUpDesc = nullptr;
@@ -1982,8 +1988,15 @@ void GlobalOptionsDialog::build() {
 #endif
 
 	// Misc Tab
+	_guiBasePopUp->setSelected(1);
+	int value = ConfMan.getInt("gui_base");
+	for (int i = 0; guiBaseLabels[i]; i++) {
+		if (value == guiBaseValues[i])
+			_guiBasePopUp->setSelected(i);
+	}
+
 	_autosavePeriodPopUp->setSelected(1);
-	int value = ConfMan.getInt("autosave_period");
+	value = ConfMan.getInt("autosave_period");
 	for (int i = 0; savePeriodLabels[i]; i++) {
 		if (value == savePeriodValues[i])
 			_autosavePeriodPopUp->setSelected(i);
@@ -2075,6 +2088,13 @@ void GlobalOptionsDialog::addMiscControls(GuiObject *boss, const Common::String
 	_curTheme = new StaticTextWidget(boss, prefix + "CurTheme", g_gui.theme()->getThemeName());
 
 
+	_guiBasePopUpDesc = new StaticTextWidget(boss, prefix + "GUIBasePopupDesc", _("GUI scale:"));
+	_guiBasePopUp = new PopUpWidget(boss, prefix + "GUIBasePopup");
+
+	for (int i = 0; guiBaseLabels[i]; i++) {
+		_guiBasePopUp->appendEntry(_(guiBaseLabels[i]), guiBaseValues[i]);
+	}
+
 	_rendererPopUpDesc = new StaticTextWidget(boss, prefix + "RendererPopupDesc", _("GUI renderer:"));
 	_rendererPopUp = new PopUpWidget(boss, prefix + "RendererPopup");
 
@@ -2343,6 +2363,11 @@ void GlobalOptionsDialog::apply() {
 #endif // USE_SDL_NET
 #endif // USE_CLOUD
 
+	int oldGuiBase = ConfMan.getInt("gui_base");
+	ConfMan.setInt("gui_base", _guiBasePopUp->getSelectedTag(), _domain);
+	if (oldGuiBase != _guiBasePopUp->getSelectedTag())
+		g_gui.computeScaleFactor();
+
 	ConfMan.setInt("autosave_period", _autosavePeriodPopUp->getSelectedTag(), _domain);
 
 #ifdef USE_UPDATES
diff --git a/gui/options.h b/gui/options.h
index d6acb81a5d..2a65f0dea7 100644
--- a/gui/options.h
+++ b/gui/options.h
@@ -292,6 +292,8 @@ protected:
 	// Misc controls
 	//
 	StaticTextWidget *_curTheme;
+	StaticTextWidget *_guiBasePopUpDesc;
+	PopUpWidget *_guiBasePopUp;
 	StaticTextWidget *_rendererPopUpDesc;
 	PopUpWidget *_rendererPopUp;
 	StaticTextWidget *_autosavePeriodPopUpDesc;
diff --git a/gui/themes/default.inc b/gui/themes/default.inc
index 77777e503d..0d46436afe 100644
--- a/gui/themes/default.inc
+++ b/gui/themes/default.inc
@@ -1969,6 +1969,14 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
 "/>"
 "</layout>"
 "<layout type='horizontal' padding='0,0,0,0' spacing='10' align='center'>"
+"<widget name='GUIBasePopupDesc' "
+"type='OptionsLabel' "
+"/>"
+"<widget name='GUIBasePopup' "
+"type='PopUp' "
+"/>"
+"</layout>"
+"<layout type='horizontal' padding='0,0,0,0' spacing='10' align='center'>"
 "<widget name='RendererPopupDesc' "
 "type='OptionsLabel' "
 "/>"
@@ -2023,9 +2031,6 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
 "type='Button' "
 "/>"
 "</layout>"
-"<widget name='KeysButton' "
-"type='Button' "
-"/>"
 "</layout>"
 "</dialog>"
 "<dialog name='GlobalOptions_Cloud' overlays='Dialog.GlobalOptions.TabWidget'>"
@@ -2343,30 +2348,6 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
 "/>"
 "</layout>"
 "</dialog>"
-"<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>"
-"<layout type='vertical' padding='8,8,8,8' align='center'>"
-"<widget name='Action' "
-"height='Globals.Line.Height' "
-"/>"
-"<widget name='List'/>"
-"<widget name='Mapping' "
-"height='Globals.Line.Height' "
-"/>"
-"<space size='Globals.Line.Height'/>"
-"<layout type='horizontal'>"
-"<widget name='Map' "
-"type='Button' "
-"/>"
-"<space/>"
-"<widget name='Cancel' "
-"type='Button' "
-"/>"
-"<widget name='Ok' "
-"type='Button' "
-"/>"
-"</layout>"
-"</layout>"
-"</dialog>"
 "<dialog name='GameOptions' overlays='Dialog.Launcher.GameList' shading='dim'>"
 "<layout type='vertical' padding='0,0,0,0'>"
 "<widget name='TabWidget' type='TabWidget'/>"
@@ -2582,10 +2563,6 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
 "/>"
 "<layout type='horizontal' padding='16,16,16,16'>"
 "<space />"
-"<widget name='Keys' "
-"type='Button' "
-"/>"
-"<space />"
 "<widget name='Cancel' "
 "type='Button' "
 "/>"
@@ -3820,6 +3797,16 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
 "/>"
 "</layout>"
 "<layout type='horizontal' padding='0,0,0,0' spacing='6' align='center'>"
+"<widget name='GUIBasePopupDesc' "
+"width='80' "
+"height='Globals.Line.Height' "
+"textalign='end' "
+"/>"
+"<widget name='GUIBasePopup' "
+"type='PopUp' "
+"/>"
+"</layout>"
+"<layout type='horizontal' padding='0,0,0,0' spacing='6' align='center'>"
 "<widget name='RendererPopupDesc' "
 "width='80' "
 "height='Globals.Line.Height' "
@@ -3882,9 +3869,6 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
 "type='Button' "
 "/>"
 "</layout>"
-"<widget name='KeysButton' "
-"type='Button' "
-"/>"
 "</layout>"
 "</dialog>"
 "<dialog name='GlobalOptions_Cloud' overlays='Dialog.GlobalOptions.TabWidget'>"
@@ -4200,30 +4184,6 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
 "/>"
 "</layout>"
 "</dialog>"
-"<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>"
-"<layout type='vertical' padding='8,8,8,8' align='center'>"
-"<widget name='Action' "
-"height='Globals.Line.Height' "
-"/>"
-"<widget name='List'/>"
-"<widget name='Mapping' "
-"height='Globals.Line.Height' "
-"/>"
-"<space size='Globals.Line.Height'/>"
-"<layout type='horizontal'>"
-"<widget name='Map' "
-"type='Button' "
-"/>"
-"<space/>"
-"<widget name='Cancel' "
-"type='Button' "
-"/>"
-"<widget name='Ok' "
-"type='Button' "
-"/>"
-"</layout>"
-"</layout>"
-"</dialog>"
 "<dialog name='GameOptions' overlays='screen' inset='16' shading='dim'>"
 "<layout type='vertical' padding='0,0,0,0' spacing='16'>"
 "<widget name='TabWidget' type='TabWidget'/>"
@@ -4449,10 +4409,6 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
 "/>"
 "<layout type='horizontal' padding='8,8,0,8'>"
 "<space />"
-"<widget name='Keys' "
-"type='Button' "
-"/>"
-"<space />"
 "<widget name='Cancel' "
 "type='Button' "
 "/>"
diff --git a/gui/themes/residualvm.zip b/gui/themes/residualvm.zip
index 52ddb46adc..764edbe514 100644
Binary files a/gui/themes/residualvm.zip and b/gui/themes/residualvm.zip differ
diff --git a/gui/themes/residualvm/THEMERC b/gui/themes/residualvm/THEMERC
index ab20c7ad26..4a7b14f50c 100644
--- a/gui/themes/residualvm/THEMERC
+++ b/gui/themes/residualvm/THEMERC
@@ -1 +1 @@
-[SCUMMVM_STX0.8.45:ResidualVM Modern Theme:No Author]
+[SCUMMVM_STX0.8.46:ResidualVM Modern Theme:No Author]
diff --git a/gui/themes/residualvm/residualvm_layout.stx b/gui/themes/residualvm/residualvm_layout.stx
index 3a634c3e54..3e95a6a7ff 100644
--- a/gui/themes/residualvm/residualvm_layout.stx
+++ b/gui/themes/residualvm/residualvm_layout.stx
@@ -620,6 +620,14 @@
 						height = 'Globals.Line.Height'
 				/>
 			</layout>
+			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' align = 'center'>
+				<widget name = 'GUIBasePopupDesc'
+						type = 'OptionsLabel'
+				/>
+				<widget name = 'GUIBasePopup'
+						type = 'PopUp'
+				/>
+			</layout>
 			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' align = 'center'>
 				<widget name = 'RendererPopupDesc'
 						type = 'OptionsLabel'
diff --git a/gui/themes/residualvm/residualvm_layout_lowres.stx b/gui/themes/residualvm/residualvm_layout_lowres.stx
index a081b9bc5e..672ca184a1 100644
--- a/gui/themes/residualvm/residualvm_layout_lowres.stx
+++ b/gui/themes/residualvm/residualvm_layout_lowres.stx
@@ -601,6 +601,16 @@
 						height = 'Globals.Line.Height'
 				/>
 			</layout>
+			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' align = 'center'>
+				<widget name = 'GUIBasePopupDesc'
+						width = '80'
+						height = 'Globals.Line.Height'
+						textalign = 'end'
+				/>
+				<widget name = 'GUIBasePopup'
+						type = 'PopUp'
+				/>
+			</layout>
 			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' align = 'center'>
 				<widget name = 'RendererPopupDesc'
 						width = '80'
diff --git a/gui/themes/scummclassic.zip b/gui/themes/scummclassic.zip
index f82bf7a807..cad5a7f8dd 100644
Binary files a/gui/themes/scummclassic.zip and b/gui/themes/scummclassic.zip differ
diff --git a/gui/themes/scummclassic/THEMERC b/gui/themes/scummclassic/THEMERC
index 7b611cfa12..effd352ba9 100644
--- a/gui/themes/scummclassic/THEMERC
+++ b/gui/themes/scummclassic/THEMERC
@@ -1 +1 @@
-[SCUMMVM_STX0.8.45:ScummVM Classic Theme:No Author]
+[SCUMMVM_STX0.8.46:ScummVM Classic Theme:No Author]
diff --git a/gui/themes/scummclassic/classic_layout.stx b/gui/themes/scummclassic/classic_layout.stx
index 60e3b2f4e1..95dad76956 100644
--- a/gui/themes/scummclassic/classic_layout.stx
+++ b/gui/themes/scummclassic/classic_layout.stx
@@ -606,6 +606,14 @@
 						height = 'Globals.Line.Height'
 				/>
 			</layout>
+			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' align = 'center'>
+				<widget name = 'GUIBasePopupDesc'
+						type = 'OptionsLabel'
+				/>
+				<widget name = 'GUIBasePopup'
+						type = 'PopUp'
+				/>
+			</layout>
 			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' align = 'center'>
 				<widget name = 'RendererPopupDesc'
 						type = 'OptionsLabel'
diff --git a/gui/themes/scummclassic/classic_layout_lowres.stx b/gui/themes/scummclassic/classic_layout_lowres.stx
index d20e3fb378..beb7e3ef41 100644
--- a/gui/themes/scummclassic/classic_layout_lowres.stx
+++ b/gui/themes/scummclassic/classic_layout_lowres.stx
@@ -601,6 +601,16 @@
 						height = 'Globals.Line.Height'
 				/>
 			</layout>
+			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' align = 'center'>
+				<widget name = 'GUIBasePopupDesc'
+						width = '80'
+						height = 'Globals.Line.Height'
+						textalign = 'end'
+				/>
+				<widget name = 'GUIBasePopup'
+						type = 'PopUp'
+				/>
+			</layout>
 			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' align = 'center'>
 				<widget name = 'RendererPopupDesc'
 						width = '80'
diff --git a/gui/themes/scummmodern.zip b/gui/themes/scummmodern.zip
index 903fcb8f8a..c6633a7efb 100644
Binary files a/gui/themes/scummmodern.zip and b/gui/themes/scummmodern.zip differ
diff --git a/gui/themes/scummmodern/THEMERC b/gui/themes/scummmodern/THEMERC
index 4626ea79cf..cca3a45e7b 100644
--- a/gui/themes/scummmodern/THEMERC
+++ b/gui/themes/scummmodern/THEMERC
@@ -1 +1 @@
-[SCUMMVM_STX0.8.45:ScummVM Modern Theme:No Author]
+[SCUMMVM_STX0.8.46:ScummVM Modern Theme:No Author]
diff --git a/gui/themes/scummmodern/scummmodern_layout_lowres.stx b/gui/themes/scummmodern/scummmodern_layout_lowres.stx
index a081b9bc5e..672ca184a1 100644
--- a/gui/themes/scummmodern/scummmodern_layout_lowres.stx
+++ b/gui/themes/scummmodern/scummmodern_layout_lowres.stx
@@ -601,6 +601,16 @@
 						height = 'Globals.Line.Height'
 				/>
 			</layout>
+			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' align = 'center'>
+				<widget name = 'GUIBasePopupDesc'
+						width = '80'
+						height = 'Globals.Line.Height'
+						textalign = 'end'
+				/>
+				<widget name = 'GUIBasePopup'
+						type = 'PopUp'
+				/>
+			</layout>
 			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' align = 'center'>
 				<widget name = 'RendererPopupDesc'
 						width = '80'
diff --git a/gui/themes/scummremastered.zip b/gui/themes/scummremastered.zip
index 5ca2e30713..46d82e3515 100644
Binary files a/gui/themes/scummremastered.zip and b/gui/themes/scummremastered.zip differ
diff --git a/gui/themes/scummremastered/THEMERC b/gui/themes/scummremastered/THEMERC
index 36af1f3be7..c3e5b418a4 100644
--- a/gui/themes/scummremastered/THEMERC
+++ b/gui/themes/scummremastered/THEMERC
@@ -1 +1 @@
-[SCUMMVM_STX0.8.45:ScummVM Modern Theme Remastered:No Author]
+[SCUMMVM_STX0.8.46:ScummVM Modern Theme Remastered:No Author]
diff --git a/gui/themes/scummremastered/remastered_layout.stx b/gui/themes/scummremastered/remastered_layout.stx
index 3a634c3e54..3e95a6a7ff 100644
--- a/gui/themes/scummremastered/remastered_layout.stx
+++ b/gui/themes/scummremastered/remastered_layout.stx
@@ -620,6 +620,14 @@
 						height = 'Globals.Line.Height'
 				/>
 			</layout>
+			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' align = 'center'>
+				<widget name = 'GUIBasePopupDesc'
+						type = 'OptionsLabel'
+				/>
+				<widget name = 'GUIBasePopup'
+						type = 'PopUp'
+				/>
+			</layout>
 			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' align = 'center'>
 				<widget name = 'RendererPopupDesc'
 						type = 'OptionsLabel'
diff --git a/gui/themes/scummremastered/remastered_layout_lowres.stx b/gui/themes/scummremastered/remastered_layout_lowres.stx
index fddc15f80f..acc170e9b7 100644
--- a/gui/themes/scummremastered/remastered_layout_lowres.stx
+++ b/gui/themes/scummremastered/remastered_layout_lowres.stx
@@ -601,6 +601,16 @@
 						height = 'Globals.Line.Height'
 				/>
 			</layout>
+			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' align = 'center'>
+				<widget name = 'GUIBasePopupDesc'
+						width = '80'
+						height = 'Globals.Line.Height'
+						textalign = 'end'
+				/>
+				<widget name = 'GUIBasePopup'
+						type = 'PopUp'
+				/>
+			</layout>
 			<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' align = 'center'>
 				<widget name = 'RendererPopupDesc'
 						width = '80'




More information about the Scummvm-git-logs mailing list