aboutsummaryrefslogtreecommitdiff
path: root/backends/keymapper/keymapper.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2009-05-10 22:05:04 +0000
committerEugene Sandulenko2009-05-10 22:05:04 +0000
commit665e472ef0bf9cd38c92ebe58975cbda74241a07 (patch)
tree38fb4c993d827b9250441b315ae2940e73298eeb /backends/keymapper/keymapper.cpp
parent7604301c30553828cae69ea69acf8fde057ac5c2 (diff)
downloadscummvm-rg350-665e472ef0bf9cd38c92ebe58975cbda74241a07.tar.gz
scummvm-rg350-665e472ef0bf9cd38c92ebe58975cbda74241a07.tar.bz2
scummvm-rg350-665e472ef0bf9cd38c92ebe58975cbda74241a07.zip
Keymapper:
- Introduced new OSystem method getHardwareKeySet() with default implementation - Moved global keymap creation to base/main.cpp - Moved GUI keymap creation to gui/GuiManager.cpp - Added various safeguard checks to various keymapper methods Now it is really possible to add keymapper to all backends. svn-id: r40439
Diffstat (limited to 'backends/keymapper/keymapper.cpp')
-rw-r--r--backends/keymapper/keymapper.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/backends/keymapper/keymapper.cpp b/backends/keymapper/keymapper.cpp
index 25a8a64301..4668d34421 100644
--- a/backends/keymapper/keymapper.cpp
+++ b/backends/keymapper/keymapper.cpp
@@ -71,6 +71,11 @@ void Keymapper::registerHardwareKeySet(HardwareKeySet *keys) {
if (_hardwareKeys)
error("Hardware key set already registered!");
+ if (!keys) {
+ warning("No hardware keys are supplied");
+ return;
+ }
+
_hardwareKeys = keys;
}
@@ -93,6 +98,11 @@ void Keymapper::addGameKeymap(Keymap *keymap) {
}
void Keymapper::initKeymap(Domain &domain, Keymap *map) {
+ if (!_hardwareKeys) {
+ warning("No hardware keys were registered yet (%s)", map->getName().c_str());
+ return;
+ }
+
map->setConfigDomain(domain.getConfigDomain());
map->loadMappings(_hardwareKeys);