aboutsummaryrefslogtreecommitdiff
path: root/backends/keymapper/remap-dialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/keymapper/remap-dialog.cpp')
-rw-r--r--backends/keymapper/remap-dialog.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/backends/keymapper/remap-dialog.cpp b/backends/keymapper/remap-dialog.cpp
index 94b0cbf66b..0882c69080 100644
--- a/backends/keymapper/remap-dialog.cpp
+++ b/backends/keymapper/remap-dialog.cpp
@@ -345,6 +345,26 @@ void RemapDialog::loadKeymap() {
}
}
+ // get the mapping out of the global keymap
+ if (_keymapper->getGlobalKeymap()) {
+ List<const HardwareKey*>::iterator keyIt = freeKeys.begin();
+ Keymap *globalKeymap = _keymapper->getGlobalKeymap();
+ while (keyIt != freeKeys.end()) {
+ Action *act = globalKeymap->getMappedAction((*keyIt)->key);
+
+ if (act) {
+ ActionInfo info = {act, true, act->description + " (" + globalKeymap->getName() + ")"};
+ _currentActions.push_back(info);
+ freeKeys.erase(keyIt++);
+ } else {
+ ++keyIt;
+ }
+ if (freeKeys.empty())
+ break;
+ }
+
+ }
+
} else if (_kmPopUp->getSelected() != -1) {
Keymap *km = _keymapTable[_kmPopUp->getSelectedTag()];