mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
keymap: Support <D-...> (super/command key).
Adds support for:
- api:vim_input("<D-a>")
- ":nnoremap <C-D-S-...>" and permutations thereof
UIs must capture the modifier and send it as "<D-...>" to vim_input().
Note: Before this commit, any arbitrary ":nnoremap <{foo}-{bar}>"
mapping could already be invoked with feedkeys("\<{foo}-{bar}>"). This
commit supports "D-" as a modifier that can be combined with "C-", "A-",
"S-" in any order.
For non-GUI (terminal) support, user must:
:set <D-a>={CSI sequence}
then send the {CSI sequence} from their terminal. But this does not work
yet (regression #2204).
Closes #2190
This commit is contained in:
@@ -25,6 +25,9 @@ describe('mappings', function()
|
||||
add_mapping('<s-up>', '<s-up>')
|
||||
add_mapping('<c-s-up>', '<c-s-up>')
|
||||
add_mapping('<c-s-a-up>', '<c-s-a-up>')
|
||||
add_mapping('<c-s-a-d-up>', '<c-s-a-d-up>')
|
||||
add_mapping('<c-d-a>', '<c-d-a>')
|
||||
add_mapping('<d-1>', '<d-1>')
|
||||
end)
|
||||
|
||||
it('ok', function()
|
||||
@@ -37,6 +40,12 @@ describe('mappings', function()
|
||||
check_mapping('<s-a-c-up>', '<c-s-a-up>')
|
||||
check_mapping('<a-c-s-up>', '<c-s-a-up>')
|
||||
check_mapping('<a-s-c-up>', '<c-s-a-up>')
|
||||
check_mapping('<c-s-a-d-up>', '<c-s-a-d-up>')
|
||||
check_mapping('<s-a-d-c-up>', '<c-s-a-d-up>')
|
||||
check_mapping('<d-s-a-c-up>', '<c-s-a-d-up>')
|
||||
check_mapping('<c-d-a>', '<c-d-a>')
|
||||
check_mapping('<d-c-a>', '<c-d-a>')
|
||||
check_mapping('<d-1>', '<d-1>')
|
||||
end)
|
||||
end)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user