From 98f999f8e01c4752a771f1a8c6aec77b6efe3fb5 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Mon, 7 Jul 2008 14:30:11 +0000 Subject: WIP: VirtualKeyboard updates: - got keyboard bitmap displaying (no transparency as yet) - simple event loop for VK to capture mouse clicks done (and untested code to process the clicks) - pollEvent() method to deliver the virtual key press events to EventManager svn-id: r32939 --- backends/events/default/default-events.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index 98dcd4b3de..db054b4d26 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -28,6 +28,7 @@ #include "common/events.h" #include "common/savefile.h" +#include "gui/virtualKeyboard.h" /* At some point we will remove pollEvent from OSystem and change @@ -44,6 +45,8 @@ use a subclass of EventProvider. class DefaultEventManager : public Common::EventManager { OSystem *_boss; + GUI::VirtualKeyboard *_vk; + Common::Point _mousePos; int _buttonState; int _modifierState; -- cgit v1.2.3 From 7e3639e68b054c2259124d86bcd3bde0edc72d9e Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Mon, 7 Jul 2008 14:52:30 +0000 Subject: - moved VirtualKeyboard files into backends/common directory svn-id: r32941 --- backends/events/default/default-events.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index db054b4d26..c52535adfc 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -28,7 +28,7 @@ #include "common/events.h" #include "common/savefile.h" -#include "gui/virtualKeyboard.h" +#include "backends/common/virtualKeyboard.h" /* At some point we will remove pollEvent from OSystem and change -- cgit v1.2.3 From 5840c2480f2ca97a565d22c79a937615b5da3d25 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Mon, 7 Jul 2008 15:06:43 +0000 Subject: - renaming of files svn-id: r32942 --- backends/events/default/default-events.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index c52535adfc..c21fb41b16 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -28,7 +28,7 @@ #include "common/events.h" #include "common/savefile.h" -#include "backends/common/virtualKeyboard.h" +#include "backends/common/virtual-keyboard.h" /* At some point we will remove pollEvent from OSystem and change -- cgit v1.2.3 From 275ffece2f2e2d39eef3409090b6be28827e0de3 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Mon, 7 Jul 2008 15:42:26 +0000 Subject: - changed VirtualKeyboard classes to Common namespace - updated XMLParser from Tanoku's branch svn-id: r32943 --- backends/events/default/default-events.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index c21fb41b16..4472b1115f 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -45,7 +45,7 @@ use a subclass of EventProvider. class DefaultEventManager : public Common::EventManager { OSystem *_boss; - GUI::VirtualKeyboard *_vk; + Common::VirtualKeyboard *_vk; Common::Point _mousePos; int _buttonState; -- cgit v1.2.3 From 1f0b3ceb3633c75cd40f1eaacddeb73b5b8ec555 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Wed, 9 Jul 2008 13:33:36 +0000 Subject: Added pushEvent to EventManager (from cpage88's branch) and changed VirtualKeyboard so that it uses this method to feed key presses its resulting key press events. svn-id: r32977 --- backends/events/default/default-events.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index 4472b1115f..e836160188 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -27,6 +27,7 @@ #define BACKEND_EVENTS_DEFAULT_H #include "common/events.h" +#include "common/queue.h" #include "common/savefile.h" #include "backends/common/virtual-keyboard.h" @@ -47,6 +48,8 @@ class DefaultEventManager : public Common::EventManager { Common::VirtualKeyboard *_vk; + Common::Queue _artificialEventQueue; + Common::Point _mousePos; int _buttonState; int _modifierState; @@ -110,6 +113,7 @@ public: ~DefaultEventManager(); virtual bool pollEvent(Common::Event &event); + virtual void pushEvent(Common::Event event); virtual void registerRandomSource(Common::RandomSource &rnd, const char *name); virtual void processMillis(uint32 &millis); -- cgit v1.2.3 From 28cb417fb1343b599d5dbc31199c750365bc6f9a Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Sat, 12 Jul 2008 12:40:57 +0000 Subject: Added comments in virtual-keyboard-parser.h describing the file format. Added a delay functionality to the delivery of artificial events in DefaultEventManager, to get round events being ignored when delivered consecutively. svn-id: r33012 --- backends/events/default/default-events.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index e836160188..1a968cad0a 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -49,6 +49,10 @@ class DefaultEventManager : public Common::EventManager { Common::VirtualKeyboard *_vk; Common::Queue _artificialEventQueue; + int _artificialEventCounter; + enum { + kArtificialEventDelay = 10 + }; Common::Point _mousePos; int _buttonState; -- cgit v1.2.3 From a58080bd58bbcc9f7c710fade55620049bae14e4 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Mon, 21 Jul 2008 18:53:55 +0000 Subject: Changed pushEvent to use a const& argument svn-id: r33175 --- backends/events/default/default-events.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index 1a968cad0a..891ee3e744 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -117,7 +117,7 @@ public: ~DefaultEventManager(); virtual bool pollEvent(Common::Event &event); - virtual void pushEvent(Common::Event event); + virtual void pushEvent(const Common::Event &event); virtual void registerRandomSource(Common::RandomSource &rnd, const char *name); virtual void processMillis(uint32 &millis); -- cgit v1.2.3 From 2f064da1021344f28c9106285475c72930638390 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Wed, 23 Jul 2008 08:45:12 +0000 Subject: Most of Keymapper class complete DefaultEventManager now initialises Keymapper and passes key press events to it svn-id: r33227 --- backends/events/default/default-events.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index 891ee3e744..e018657977 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -29,6 +29,7 @@ #include "common/events.h" #include "common/queue.h" #include "common/savefile.h" +#include "backends/common/keymapper.h" #include "backends/common/virtual-keyboard.h" /* @@ -47,11 +48,12 @@ class DefaultEventManager : public Common::EventManager { OSystem *_boss; Common::VirtualKeyboard *_vk; + Common::Keymapper *_keyMapper; Common::Queue _artificialEventQueue; int _artificialEventCounter; enum { - kArtificialEventDelay = 10 + kArtificialEventDelay = 5 }; Common::Point _mousePos; -- cgit v1.2.3 From dfcdbb0d335128c99d13ba017a4e36f2338f7736 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Thu, 24 Jul 2008 10:00:56 +0000 Subject: KeymapManager - implemented loading/saving of keymaps - Refactoring of code to map a key to a UserAction - now we call a method on UserAction to do it (and it then tells the Keymap class) - General cleanup of code svn-id: r33262 --- backends/events/default/default-events.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index e018657977..2dd3ccc6e2 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -29,8 +29,11 @@ #include "common/events.h" #include "common/queue.h" #include "common/savefile.h" -#include "backends/common/keymapper.h" -#include "backends/common/virtual-keyboard.h" + +namespace Common { + class VirtualKeyboard; + class Keymapper; +} /* At some point we will remove pollEvent from OSystem and change -- cgit v1.2.3 From 57b13141af10c5e0773c2e1606daca8e08410ed5 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Wed, 6 Aug 2008 14:21:05 +0000 Subject: Keymapper WIP: * Implemented stack-based active map in Keymapper * Started proper testing by adding code to OSystem_SDL to set up simple HardwareKeySet and Keymap svn-id: r33660 --- backends/events/default/default-events.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index 2dd3ccc6e2..8e24120ad0 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -32,7 +32,6 @@ namespace Common { class VirtualKeyboard; - class Keymapper; } /* @@ -51,7 +50,7 @@ class DefaultEventManager : public Common::EventManager { OSystem *_boss; Common::VirtualKeyboard *_vk; - Common::Keymapper *_keyMapper; + Common::Keymapper *_keymapper; Common::Queue _artificialEventQueue; int _artificialEventCounter; @@ -130,6 +129,7 @@ public: virtual int getButtonState() const { return _buttonState; } virtual int getModifierState() const { return _modifierState; } virtual int shouldQuit() const { return _shouldQuit; } + virtual Common::Keymapper *getKeymapper() { return _keymapper; } }; #endif -- cgit v1.2.3 From 70dde2d8bdfeb0e86a76d196193339f9ec9e17ab Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Wed, 13 Aug 2008 19:24:52 +0000 Subject: RemapDialog now properly uses reflowLayout() and open(), so that the same instance can be reopened svn-id: r33843 --- backends/events/default/default-events.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index 8e24120ad0..81387d8d98 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -31,6 +31,7 @@ #include "common/savefile.h" namespace Common { + class Keymapper; class VirtualKeyboard; } @@ -51,6 +52,7 @@ class DefaultEventManager : public Common::EventManager { Common::VirtualKeyboard *_vk; Common::Keymapper *_keymapper; + bool _remap; Common::Queue _artificialEventQueue; int _artificialEventCounter; -- cgit v1.2.3 From d92909203b56d9b3fa6c4989bdeb83dbed5b94d5 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Mon, 18 Aug 2008 10:07:11 +0000 Subject: - proper init of virtual keyboard now implemented (involved added EventManager::init() which is called after screen has been initialised) - changed HardwareKey / Action id field to an array of 4 chars instead of int32. Means that the keymap key/value pairs in config file are more readable. svn-id: r33986 --- backends/events/default/default-events.h | 1 + 1 file changed, 1 insertion(+) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index 81387d8d98..ba30cb2383 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -122,6 +122,7 @@ public: DefaultEventManager(OSystem *boss); ~DefaultEventManager(); + virtual void init(); virtual bool pollEvent(Common::Event &event); virtual void pushEvent(const Common::Event &event); virtual void registerRandomSource(Common::RandomSource &rnd, const char *name); -- cgit v1.2.3 From baae044e388bca79a593ce083037c5da777818ea Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Sat, 23 Aug 2008 17:04:40 +0000 Subject: Proper fix for key repeat bug - r34094 caused different problems due to repeated key up events svn-id: r34115 --- backends/events/default/default-events.h | 4 ---- 1 file changed, 4 deletions(-) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index ba30cb2383..0087265e2a 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -55,10 +55,6 @@ class DefaultEventManager : public Common::EventManager { bool _remap; Common::Queue _artificialEventQueue; - int _artificialEventCounter; - enum { - kArtificialEventDelay = 5 - }; Common::Point _mousePos; int _buttonState; -- cgit v1.2.3 From df3b8fd14c9ce97fe81976e30086af95000bb2f1 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Tue, 30 Sep 2008 13:51:01 +0000 Subject: Added preprocessor flags 'ENABLE_VKEYBD' and 'ENABLE_KEYMAPPER' to control inclusion of vkeybd and keymapper in build.\n\nAlso added corresponding --enable-vkeybd and --enable-keymapper flags to configure scripts. svn-id: r34706 --- backends/events/default/default-events.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index 7bd316475a..54cdf0f8ee 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -31,8 +31,12 @@ #include "common/savefile.h" namespace Common { +#ifdef ENABLE_KEYMAPPER class Keymapper; +#endif +#ifdef ENABLE_VKEYBD class VirtualKeyboard; +#endif } /* @@ -50,9 +54,14 @@ use a subclass of EventProvider. class DefaultEventManager : public Common::EventManager { OSystem *_boss; +#ifdef ENABLE_VKEYBD Common::VirtualKeyboard *_vk; +#endif + +#ifdef ENABLE_KEYMAPPER Common::Keymapper *_keymapper; bool _remap; +#endif Common::Queue _artificialEventQueue; @@ -132,7 +141,9 @@ public: virtual int shouldRTL() const { return _shouldRTL; } virtual void resetRTL() { _shouldRTL = false; } +#ifdef ENABLE_KEYMAPPER virtual Common::Keymapper *getKeymapper() { return _keymapper; } +#endif }; #endif -- cgit v1.2.3