comparison src/edit.c @ 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 8687845c326c
children a66a01e2094a
comparison
equal deleted inserted replaced
34218:b383c7665d4d 34219:a0a4a774117b
2021 * inserted with ins_str(), so as not to replace characters in replace 2021 * inserted with ins_str(), so as not to replace characters in replace
2022 * mode. 2022 * mode.
2023 * Only use mod_mask for special keys, to avoid things like <S-Space>, 2023 * Only use mod_mask for special keys, to avoid things like <S-Space>,
2024 * unless 'allow_modmask' is TRUE. 2024 * unless 'allow_modmask' is TRUE.
2025 */ 2025 */
2026 #ifdef MACOS_X 2026 #if defined(MACOS_X) || defined(FEAT_GUI_GTK)
2027 // Command-key never produces a normal key 2027 // Command-key never produces a normal key
2028 if (mod_mask & MOD_MASK_CMD) 2028 if (mod_mask & MOD_MASK_CMD)
2029 allow_modmask = TRUE; 2029 allow_modmask = TRUE;
2030 #endif 2030 #endif
2031 if (IS_SPECIAL(c) || (mod_mask && allow_modmask)) 2031 if (IS_SPECIAL(c) || (mod_mask && allow_modmask))