Mercurial > vim
view src/gui_xmebwp.h @ 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 | 6e3dc2d630c2 |
children |
line wrap: on
line source
/* vi:set ts=8 sts=4 sw=4 noet: * * VIM - Vi IMproved by Bram Moolenaar * * Do ":help uganda" in Vim to read copying and usage conditions. * Do ":help credits" in Vim to see a list of people who contributed. * See README.txt for an overview of the Vim source code. */ /* * * (C) 2002,2005 by Marcin Dalecki <martin@dalecki.de> * * MARCIN DALECKI ASSUMES NO RESPONSIBILITY FOR THE USE OR INABILITY TO USE ANY * OF THIS SOFTWARE . THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY * KIND, AND MARCIN DALECKI EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES, * INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE. */ #ifndef EnhancedBP_H #define EnhancedBP_H #include <Xm/PushBP.h> #include "gui_xmebw.h" /* * EnhancedButton class structure. */ typedef struct _XmEnhancedButtonClassPart { Pixmap stipple_bitmap; } XmEnhancedButtonClassPart; /* * Full class record declaration for EnhancedButton class. */ typedef struct { CoreClassPart core_class; XmPrimitiveClassPart primitive_class; XmLabelClassPart label_class; XmPushButtonClassPart pushbutton_class; XmEnhancedButtonClassPart enhancedbutton_class; } XmEnhancedButtonClassRec; extern XmEnhancedButtonClassRec xmEnhancedButtonClassRec; /* * EnhancedButton instance record. */ typedef struct _XmEnhancedButtonPart { // public resources String pixmap_data; String pixmap_file; Dimension spacing; int label_location; // private resources int pixmap_depth; Dimension pixmap_width; Dimension pixmap_height; Pixmap normal_pixmap; Pixmap armed_pixmap; Pixmap insensitive_pixmap; Pixmap highlight_pixmap; int doing_setvalues; int doing_destroy; } XmEnhancedButtonPart; /* * Full instance record declaration. */ typedef struct _XmEnhancedButtonRec { CorePart core; XmPrimitivePart primitive; XmLabelPart label; XmPushButtonPart pushbutton; XmEnhancedButtonPart enhancedbutton; } XmEnhancedButtonRec; #endif