diff --git a/src/KeyMap.cpp b/src/KeyMap.cpp index 5bafed5a9b..f779cbbf4c 100644 --- a/src/KeyMap.cpp +++ b/src/KeyMap.cpp @@ -559,11 +559,11 @@ void KeyMap::listBindings(BindingList & list, // a LFUN_COMMAND_PREFIX if (key.prefixes) { KeySequence seq = prefix; - seq.addkey(key.code, key.mod.first); + seq.addkey(key.code, key.mod.first, key.mod.second); key.prefixes->listBindings(list, seq, tag); } else { KeySequence seq = prefix; - seq.addkey(key.code, key.mod.first); + seq.addkey(key.code, key.mod.first, key.mod.second); list.push_back(Binding(key.func, seq, tag)); } } diff --git a/src/KeySequence.cpp b/src/KeySequence.cpp index c0985b78b9..80cd6dae0e 100644 --- a/src/KeySequence.cpp +++ b/src/KeySequence.cpp @@ -147,16 +147,27 @@ docstring const KeySequence::print(outputFormat format, bool const untranslated) break; case BindFile: KeyModifier mod = modifiers[i].first; + KeyModifier nmod = modifiers[i].second; if (mod & ControlModifier) buf += "C-"; + else if (nmod & ControlModifier) + buf += "~C-"; if (mod & AltModifier) #if defined(USE_MACOSX_PACKAGING) || defined(USE_META_KEYBINDING) buf += "A-"; + else if (nmod & AltModifier) + buf += "~A-"; if (mod & MetaModifier) #endif buf += "M-"; +#if defined(USE_MACOSX_PACKAGING) || defined(USE_META_KEYBINDING) + else if (nmod & MetaModifier) + buf += "~M-"; +#endif if (mod & ShiftModifier) buf += "S-"; + else if (nmod & ShiftModifier) + buf += "~S-"; buf += from_utf8(sequence[i].getSymbolName()); break;