diff --git a/Makefile.common b/Makefile.common
index 96444261803..e365ce79c43 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -28,11 +28,11 @@ MODULES += \
common \
engines \
backends \
- common \
- graphics # HACK/FIXME: this extra 'common' was added because of a circular dependency between
- # backends and common (the newly added Virtual Keyboard stuff depends on things
- # from common). This should be resolved in one way or another, perhaps by moving
- # the VK code out of backends?
+ graphics \
+ common # HACK/FIXME: the extra 'common' and 'graphics' were added because of circular
+ # dependencies (the newly added Virtual Keyboard stuff depends on things from
+ # common and graphics). This should be resolved in one way or another, perhaps
+ # by moving the VK code out of backends?
ifdef USE_MT32EMU
MODULES += sound/softsynth/mt32
diff --git a/backends/events/default/default-events.cpp b/backends/events/default/default-events.cpp
index 9bafdd9e4f3..026892a0500 100644
--- a/backends/events/default/default-events.cpp
+++ b/backends/events/default/default-events.cpp
@@ -28,8 +28,8 @@
#include "common/system.h"
#include "common/config-manager.h"
#include "backends/events/default/default-events.h"
-#include "backends/common/keymapper.h"
-#include "backends/common/virtual-keyboard.h"
+#include "backends/keymapper/keymapper.h"
+#include "backends/vkeybd/virtual-keyboard.h"
#include "engines/engine.h"
#include "gui/message.h"
diff --git a/backends/common/action.cpp b/backends/keymapper/action.cpp
similarity index 95%
rename from backends/common/action.cpp
rename to backends/keymapper/action.cpp
index 49d63fafd40..eefd482de74 100644
--- a/backends/common/action.cpp
+++ b/backends/keymapper/action.cpp
@@ -23,8 +23,8 @@
*
*/
-#include "backends/common/action.h"
-#include "backends/common/keymap.h"
+#include "backends/keymapper/action.h"
+#include "backends/keymapper/keymap.h"
namespace Common {
diff --git a/backends/common/action.h b/backends/keymapper/action.h
similarity index 100%
rename from backends/common/action.h
rename to backends/keymapper/action.h
diff --git a/backends/common/hardware-key.h b/backends/keymapper/hardware-key.h
similarity index 98%
rename from backends/common/hardware-key.h
rename to backends/keymapper/hardware-key.h
index 1442dbd728a..40fb2a0cbd6 100644
--- a/backends/common/hardware-key.h
+++ b/backends/keymapper/hardware-key.h
@@ -26,7 +26,7 @@
#ifndef COMMON_HARDWAREKEY
#define COMMON_HARDWAREKEY
-#include "backends/common/action.h"
+#include "backends/keymapper/action.h"
namespace Common {
diff --git a/backends/common/keymap-manager.cpp b/backends/keymapper/keymap-manager.cpp
similarity index 99%
rename from backends/common/keymap-manager.cpp
rename to backends/keymapper/keymap-manager.cpp
index 39ad6d061e2..c8b44202899 100644
--- a/backends/common/keymap-manager.cpp
+++ b/backends/keymapper/keymap-manager.cpp
@@ -23,7 +23,7 @@
*
*/
-#include "backends/common/keymap-manager.h"
+#include "backends/keymapper/keymap-manager.h"
#include "common/algorithm.h"
namespace Common {
diff --git a/backends/common/keymap-manager.h b/backends/keymapper/keymap-manager.h
similarity index 96%
rename from backends/common/keymap-manager.h
rename to backends/keymapper/keymap-manager.h
index c4db61da02f..171da3ac5eb 100644
--- a/backends/common/keymap-manager.h
+++ b/backends/keymapper/keymap-manager.h
@@ -26,8 +26,8 @@
#ifndef COMMON_KEYMAP_MANAGER
#define COMMON_KEYMAP_MANAGER
-#include "backends/common/hardware-key.h"
-#include "backends/common/keymap.h"
+#include "backends/keymapper/hardware-key.h"
+#include "backends/keymapper/keymap.h"
#include "common/hash-str.h"
#include "common/hashmap.h"
diff --git a/backends/common/keymap.cpp b/backends/keymapper/keymap.cpp
similarity index 98%
rename from backends/common/keymap.cpp
rename to backends/keymapper/keymap.cpp
index ba6f758caad..3f190dcd481 100644
--- a/backends/common/keymap.cpp
+++ b/backends/keymapper/keymap.cpp
@@ -23,8 +23,8 @@
*
*/
-#include "backends/common/keymap.h"
-#include "backends/common/hardware-key.h"
+#include "backends/keymapper/keymap.h"
+#include "backends/keymapper/hardware-key.h"
namespace Common {
diff --git a/backends/common/keymap.h b/backends/keymapper/keymap.h
similarity index 98%
rename from backends/common/keymap.h
rename to backends/keymapper/keymap.h
index d9d928ace9c..21904397a15 100644
--- a/backends/common/keymap.h
+++ b/backends/keymapper/keymap.h
@@ -31,7 +31,7 @@
#include "common/hashmap.h"
#include "common/keyboard.h"
#include "common/list.h"
-#include "backends/common/action.h"
+#include "backends/keymapper/action.h"
namespace Common {
diff --git a/backends/common/keymapper.cpp b/backends/keymapper/keymapper.cpp
similarity index 98%
rename from backends/common/keymapper.cpp
rename to backends/keymapper/keymapper.cpp
index 59fb7961874..fb1f72e84ed 100644
--- a/backends/common/keymapper.cpp
+++ b/backends/keymapper/keymapper.cpp
@@ -23,7 +23,7 @@
*
*/
-#include "backends/common/keymapper.h"
+#include "backends/keymapper/keymapper.h"
#include "common/config-manager.h"
namespace Common {
diff --git a/backends/common/keymapper.h b/backends/keymapper/keymapper.h
similarity index 96%
rename from backends/common/keymapper.h
rename to backends/keymapper/keymapper.h
index c2113d5ca44..1052903b771 100644
--- a/backends/common/keymapper.h
+++ b/backends/keymapper/keymapper.h
@@ -29,9 +29,9 @@
#include "common/events.h"
#include "common/list.h"
#include "common/stack.h"
-#include "backends/common/hardware-key.h"
-#include "backends/common/keymap.h"
-#include "backends/common/keymap-manager.h"
+#include "backends/keymapper/hardware-key.h"
+#include "backends/keymapper/keymap.h"
+#include "backends/keymapper/keymap-manager.h"
namespace Common {
diff --git a/backends/module.mk b/backends/module.mk
index 758dff13b25..49ef78326c9 100644
--- a/backends/module.mk
+++ b/backends/module.mk
@@ -28,13 +28,15 @@ MODULE_OBJS := \
saves/default/default-saves.o \
saves/compressed/compressed-saves.o \
timer/default/default-timer.o \
- common/virtual-keyboard.o \
- common/virtual-keyboard-gui.o \
- common/virtual-keyboard-parser.o \
- common/keymap.o \
- common/keymap-manager.o \
- common/keymapper.o \
- common/action.o \
+ keymapper/action.o \
+ keymapper/keymap.o \
+ keymapper/keymap-manager.o \
+ keymapper/keymapper.o \
+ vkeybd/image-map.o \
+ vkeybd/polygon.o \
+ vkeybd/virtual-keyboard.o \
+ vkeybd/virtual-keyboard-gui.o \
+ vkeybd/virtual-keyboard-parser.o
# Include common rules
include $(srcdir)/rules.mk
diff --git a/backends/platform/sdl/events.cpp b/backends/platform/sdl/events.cpp
index 830555e5143..3b2baf6aa01 100644
--- a/backends/platform/sdl/events.cpp
+++ b/backends/platform/sdl/events.cpp
@@ -24,7 +24,7 @@
*/
#include "backends/platform/sdl/sdl.h"
-#include "backends/common/keymapper.h"
+#include "backends/keymapper/keymapper.h"
#include "common/util.h"
#include "common/events.h"
diff --git a/common/image-map.cpp b/backends/vkeybd/image-map.cpp
similarity index 97%
rename from common/image-map.cpp
rename to backends/vkeybd/image-map.cpp
index 84b22b4f1ff..d97b662c7d2 100644
--- a/common/image-map.cpp
+++ b/backends/vkeybd/image-map.cpp
@@ -23,7 +23,7 @@
*
*/
-#include "common/image-map.h"
+#include "backends/vkeybd/image-map.h"
namespace Common {
diff --git a/common/image-map.h b/backends/vkeybd/image-map.h
similarity index 97%
rename from common/image-map.h
rename to backends/vkeybd/image-map.h
index ee64d96ba18..ed6feaa26ea 100644
--- a/common/image-map.h
+++ b/backends/vkeybd/image-map.h
@@ -28,7 +28,7 @@
#include "common/hashmap.h"
#include "common/hash-str.h"
-#include "common/polygon.h"
+#include "backends/vkeybd/polygon.h"
namespace Common {
diff --git a/common/polygon.cpp b/backends/vkeybd/polygon.cpp
similarity index 97%
rename from common/polygon.cpp
rename to backends/vkeybd/polygon.cpp
index c1332b0bc4e..77ef3f0f447 100644
--- a/common/polygon.cpp
+++ b/backends/vkeybd/polygon.cpp
@@ -23,7 +23,7 @@
*
*/
-#include "common/polygon.h"
+#include "backends/vkeybd/polygon.h"
namespace Common {
diff --git a/common/polygon.h b/backends/vkeybd/polygon.h
similarity index 100%
rename from common/polygon.h
rename to backends/vkeybd/polygon.h
diff --git a/backends/common/virtual-keyboard-gui.cpp b/backends/vkeybd/virtual-keyboard-gui.cpp
similarity index 98%
rename from backends/common/virtual-keyboard-gui.cpp
rename to backends/vkeybd/virtual-keyboard-gui.cpp
index ca246a17a1f..0dcea702926 100644
--- a/backends/common/virtual-keyboard-gui.cpp
+++ b/backends/vkeybd/virtual-keyboard-gui.cpp
@@ -23,7 +23,7 @@
*
*/
-#include "backends/common/virtual-keyboard-gui.h"
+#include "backends/vkeybd/virtual-keyboard-gui.h"
#include "graphics/cursorman.h"
#include "gui/newgui.h"
@@ -39,11 +39,9 @@ VirtualKeyboardGUI::VirtualKeyboardGUI(VirtualKeyboard *kbd) {
memset(_cursor, 0xFF, sizeof(_cursor));
- _displaying = _needRedraw = _drag = false;
+ _displaying = _needRedraw = _drag = _drawCaret = _displayEnabled = false;
_firstRun = true;
- _displayEnabled = false;
-
_cursorAnimateTimer = 0;
}
diff --git a/backends/common/virtual-keyboard-gui.h b/backends/vkeybd/virtual-keyboard-gui.h
similarity index 98%
rename from backends/common/virtual-keyboard-gui.h
rename to backends/vkeybd/virtual-keyboard-gui.h
index 10b16f17f7f..5836859262f 100644
--- a/backends/common/virtual-keyboard-gui.h
+++ b/backends/vkeybd/virtual-keyboard-gui.h
@@ -26,7 +26,7 @@
#ifndef COMMON_VIRTUAL_KEYBOARD_GUI
#define COMMON_VIRTUAL_KEYBOARD_GUI
-#include "backends/common/virtual-keyboard.h"
+#include "backends/vkeybd/virtual-keyboard.h"
#include "common/rect.h"
#include "common/system.h"
#include "graphics/fontman.h"
diff --git a/backends/common/virtual-keyboard-parser.cpp b/backends/vkeybd/virtual-keyboard-parser.cpp
similarity index 99%
rename from backends/common/virtual-keyboard-parser.cpp
rename to backends/vkeybd/virtual-keyboard-parser.cpp
index 83f5c6f293e..f3d71057b74 100644
--- a/backends/common/virtual-keyboard-parser.cpp
+++ b/backends/vkeybd/virtual-keyboard-parser.cpp
@@ -23,7 +23,7 @@
*
*/
-#include "backends/common/virtual-keyboard-parser.h"
+#include "backends/vkeybd/virtual-keyboard-parser.h"
#include "common/keyboard.h"
#include "graphics/imageman.h"
diff --git a/backends/common/virtual-keyboard-parser.h b/backends/vkeybd/virtual-keyboard-parser.h
similarity index 99%
rename from backends/common/virtual-keyboard-parser.h
rename to backends/vkeybd/virtual-keyboard-parser.h
index ec6dd6dcec3..59a770bdce8 100644
--- a/backends/common/virtual-keyboard-parser.h
+++ b/backends/vkeybd/virtual-keyboard-parser.h
@@ -27,7 +27,7 @@
#define COMMON_VIRTUAL_KEYBOARD_PARSER
#include "common/xmlparser.h"
-#include "backends/common/virtual-keyboard.h"
+#include "backends/vkeybd/virtual-keyboard.h"
/**
TODO - information about optional attributes and their default values
diff --git a/backends/common/virtual-keyboard.cpp b/backends/vkeybd/virtual-keyboard.cpp
similarity index 98%
rename from backends/common/virtual-keyboard.cpp
rename to backends/vkeybd/virtual-keyboard.cpp
index 4a125bb7277..ae0fd86ee5a 100644
--- a/backends/common/virtual-keyboard.cpp
+++ b/backends/vkeybd/virtual-keyboard.cpp
@@ -23,9 +23,9 @@
*
*/
-#include "backends/common/virtual-keyboard.h"
-#include "backends/common/virtual-keyboard-gui.h"
-#include "backends/common/virtual-keyboard-parser.h"
+#include "backends/vkeybd/virtual-keyboard.h"
+#include "backends/vkeybd/virtual-keyboard-gui.h"
+#include "backends/vkeybd/virtual-keyboard-parser.h"
#include "graphics/imageman.h"
namespace Common {
diff --git a/backends/common/virtual-keyboard.h b/backends/vkeybd/virtual-keyboard.h
similarity index 99%
rename from backends/common/virtual-keyboard.h
rename to backends/vkeybd/virtual-keyboard.h
index c5b77aac0f9..f15eb4aecea 100644
--- a/backends/common/virtual-keyboard.h
+++ b/backends/vkeybd/virtual-keyboard.h
@@ -31,7 +31,7 @@ class OSystem;
#include "common/events.h"
#include "common/hashmap.h"
#include "common/hash-str.h"
-#include "common/image-map.h"
+#include "backends/vkeybd/image-map.h"
#include "common/keyboard.h"
#include "common/list.h"
#include "common/str.h"
diff --git a/common/module.mk b/common/module.mk
index e947b7ddd91..ed15bf75ead 100644
--- a/common/module.mk
+++ b/common/module.mk
@@ -6,12 +6,10 @@ MODULE_OBJS := \
config-manager.o \
file.o \
fs.o \
- image-map.o \
hashmap.o \
memorypool.o \
md5.o \
mutex.o \
- polygon.o \
str.o \
stream.o \
util.o \
diff --git a/dists/msvc8/scummvm.vcproj b/dists/msvc8/scummvm.vcproj
index 0697ec3a86b..560ac7a35bb 100644
--- a/dists/msvc8/scummvm.vcproj
+++ b/dists/msvc8/scummvm.vcproj
@@ -334,14 +334,6 @@
RelativePath="..\..\common\iff_container.h"
>
-
-
-
-
@@ -386,14 +378,6 @@
RelativePath="..\..\common\pack-start.h"
>
-
-
-
-
@@ -1050,66 +1034,86 @@
+
+
+
+
+
+
+
+
+
+