[Scummvm-devel] RFC: Flexible keymapping via new EVENT_ (post 0.10) (Serhiy Batyuk)
Serhiy Batyuk
sbatyuk at gmail.com
Sat Jul 14 11:44:28 CEST 2007
Here are the code snippets for the key mapping implementation. There is also
a place for virtual keyboard.
#include "backends/common/virtual-keyboard.h"
#include "backends/common/key-mapper.h"
OSystem_Common : public OSystem {
public:
virtual bool pollMappedEvent(Common::Event &);
protected:
virtual std::list<Common::KeyCode> getAvailableKeys() const = 0;
private:
KeyMapper _keyMapper(getAvailableKeys());
VirtualKeyboard _virtualKeyboard;
};
bool OSystem_Common::pollMappedEvent(Common::Event &event) {
bool result = true;
if (pollEvent(event)) { // calling virtual superclass function
if (getFeatureState(kFeatureVirtualKeyboard) && (event.type ==
Common::EVENT_LBUTTONDOWN || event.type == Common::EVENT_LBUTTONUP)) { //
possible a virtual keyboard event
_virtualKeyboard->resolve(event); // try to resolve a virtual keyboard
event
}
_keyMapper->resolve(event);
} else {
result = false;
}
return result;
}
==================================================================================================
in
DefaultEventManager::pollEvent(Common::Event &event)
there will be
result = _boss->pollMappedEvent(event);
instead of
result = _boss->pollEvent(event);
--
Best regards,
Serhiy Batyuk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scummvm.org/pipermail/scummvm-devel/attachments/20070714/fff0bc82/attachment.html>
More information about the Scummvm-devel
mailing list