aboutsummaryrefslogtreecommitdiff
path: root/backends/common/keymapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/common/keymapper.cpp')
-rw-r--r--backends/common/keymapper.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/backends/common/keymapper.cpp b/backends/common/keymapper.cpp
new file mode 100644
index 0000000000..4edd64aa44
--- /dev/null
+++ b/backends/common/keymapper.cpp
@@ -0,0 +1,31 @@
+#include "backends/common/keymapper.h"
+#include "backends/common/keymap-manager.h"
+
+namespace Common {
+
+Keymapper::Keymapper(EventManager *evtMgr) {
+ _eventMan = evtMgr;
+ _keymapMan = new KeymapManager();
+ _currentMap = 0;
+ _hardwareKeys = 0;
+}
+
+void Keymapper::registerHardwareKeySet(HardwareKeySet *keys) {
+ if (_hardwareKeys)
+ error("Hardware key set already registered!\n");
+ _hardwareKeys = keys;
+}
+
+const HardwareKeySet *Keymapper::getHardwareKeySet() {
+ return _hardwareKeys;
+}
+
+void Keymapper::addGlobalKeyMap(const String& name, Keymap& keymap) {
+ _keymapMan->registerGlobalKeymap(name, keymap);
+}
+
+void Keymapper::addGameKeyMap(const String& gameid, const String& name, Keymap& keymap) {
+ _keymapMan->registerKeymap(name, gameid, keymap);
+}
+
+} // end of namespace Common