diff --git a/kitty/config.py b/kitty/config.py index 25f443fee..bc8fb36e1 100644 --- a/kitty/config.py +++ b/kitty/config.py @@ -159,8 +159,11 @@ def load_config(path: str) -> Options: actions = frozenset(defaults.keymap.values()) with f: vals = parse_config(f) + remove_keys = {k for k, v in vals.get('keymap', {}).items() if v in ('noop', 'no-op', 'no_op')} vals['keymap'] = {k: v for k, v in vals.get('keymap', {}).items() if v in actions} ans = merge_dicts(vals, ans) + for k in remove_keys: + ans['keymap'].pop(k, None) return Options(**ans) diff --git a/kitty/kitty.conf b/kitty/kitty.conf index 17958cd29..6fe382c0a 100644 --- a/kitty/kitty.conf +++ b/kitty/kitty.conf @@ -122,6 +122,8 @@ color15 #ffffff # Key mapping # For a list of key names, see: http://www.glfw.org/docs/latest/group__keys.html # For a list of modifier names, see: http://www.glfw.org/docs/latest/group__mods.html +# You can use the special action no_op to unmap a keyboard shortcut that is +# assigned in the default configuration. # Clipboard map ctrl+shift+v paste_from_clipboard