Mercurial > vim
view src/if_ole.idl @ 34219:a0a4a774117b v9.1.0058
patch 9.1.0058: Cannot map Super Keys in GTK UI
Commit: https://github.com/vim/vim/commit/92e90a1e102825aa9149262cacfc991264db05df
Author: Casey Tucker <dctucker@hotmail.com>
Date: Thu Jan 25 22:44:00 2024 +0100
patch 9.1.0058: Cannot map Super Keys in GTK UI
Problem: Cannot map Super Keys in GTK UI
(Casey Tucker)
Solution: Enable Super Key mappings in GTK using <D-Key>
(Casey Tucker)
As a developer who works in both Mac and Linux using the same keyboard,
it can be frustrating having to remember different key combinations or
having to rely on system utilities to remap keys.
This change allows `<D-z>` `<D-x>` `<D-c>` `<D-v>` etc. to be recognized
by the `map` commands, along with the `<D-S-...>` shifted variants.
```vimrc
if has('gui_gtk')
nnoremap <D-z> u
nnoremap <D-S-Z> <C-r>
vnoremap <D-x> "+d
vnoremap <D-c> "+y
cnoremap <D-v> <C-R>+
inoremap <D-v> <C-o>"+gP
nnoremap <D-v> "+P
vnoremap <D-v> "-d"+P
nnoremap <D-s> :w<CR>
inoremap <D-s> <C-o>:w<CR>
nnoremap <D-w> :q<CR>
nnoremap <D-q> :qa<CR>
nnoremap <D-t> :tabe<CR>
nnoremap <D-S-T> :vs#<CR><C-w>T
nnoremap <D-a> ggVG
vnoremap <D-a> <ESC>ggVG
inoremap <D-a> <ESC>ggVG
nnoremap <D-f> /
nnoremap <D-g> n
nnoremap <D-S-G> N
vnoremap <D-x> "+x
endif
```
closes: #12698
Signed-off-by: Casey Tucker <dctucker@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 25 Jan 2024 23:00:03 +0100 |
parents | 9fbb40a1228a |
children |
line wrap: on
line source
// if_ole.idl - IDL source for the Vim OLE Automation interface // // Processed by the IDL compiler (MIDL) to generate the type library // (Vim.tlb). // // Command line: // MIDL /proxy nul /iid iid_ole.c /h if_ole.h /tlb vim.tlb if_ole.idl [ object, uuid(0F0BFAE2-4C90-11d1-82D7-0004AC368519), // IID_IVim helpstring("IVim"), pointer_default(unique), dual, oleautomation ] interface IVim : IDispatch { import "oaidl.idl"; HRESULT SendKeys([in]BSTR keys); HRESULT Eval([in]BSTR expr, [out, retval]BSTR* result); HRESULT SetForeground(void); HRESULT GetHwnd([out, retval]UINT_PTR* result); }; // Component and type library definitions [ uuid(0F0BFAE0-4C90-11d1-82D7-0004AC368519), // LIBID_Vim helpstring("Vim OLE Interface 1.1 Type Library"), version(1.1) ] library Vim { importlib("stdole32.tlb"); // Component [ uuid(0F0BFAE1-4C90-11d1-82D7-0004AC368519), // CLSID_Vim helpstring("Vim OLE Interface") ] coclass Vim { [default] interface IVim; }; };