diff options
Diffstat (limited to 'backends/keymapper/remap-dialog.cpp')
-rw-r--r-- | backends/keymapper/remap-dialog.cpp | 20 |
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()]; |