diff src/keymap.h @ 22862:6d50182e7e24 v8.2.1978

patch 8.2.1978: making a mapping work in all modes is complicated Commit: https://github.com/vim/vim/commit/957cf67d50516ba98716f59c9e1cb6412ec1535d Author: Bram Moolenaar <Bram@vim.org> Date: Thu Nov 12 14:21:06 2020 +0100 patch 8.2.1978: making a mapping work in all modes is complicated Problem: Making a mapping work in all modes is complicated. Solution: Add the <Cmd> special key. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/7282, closes 4784, based on patch by Bjorn Linse)
author Bram Moolenaar <Bram@vim.org>
date Thu, 12 Nov 2020 14:30:04 +0100
parents 6e3dc2d630c2
children f8906bd5b277
line wrap: on
line diff
--- a/src/keymap.h
+++ b/src/keymap.h
@@ -274,6 +274,7 @@ enum key_extra
     , KE_FOCUSLOST = 99		// focus lost
     , KE_MOUSEMOVE = 100	// mouse moved with no button down
     , KE_CANCEL = 101		// return from vgetc()
+    , KE_COMMAND = 102		// <Cmd> special key
 };
 
 /*
@@ -449,11 +450,11 @@ enum key_extra
 #define K_RIGHTMOUSE	TERMCAP2KEY(KS_EXTRA, KE_RIGHTMOUSE)
 #define K_RIGHTDRAG	TERMCAP2KEY(KS_EXTRA, KE_RIGHTDRAG)
 #define K_RIGHTRELEASE	TERMCAP2KEY(KS_EXTRA, KE_RIGHTRELEASE)
-#define K_X1MOUSE       TERMCAP2KEY(KS_EXTRA, KE_X1MOUSE)
-#define K_X1MOUSE       TERMCAP2KEY(KS_EXTRA, KE_X1MOUSE)
+#define K_X1MOUSE	TERMCAP2KEY(KS_EXTRA, KE_X1MOUSE)
+#define K_X1MOUSE	TERMCAP2KEY(KS_EXTRA, KE_X1MOUSE)
 #define K_X1DRAG	TERMCAP2KEY(KS_EXTRA, KE_X1DRAG)
 #define K_X1RELEASE     TERMCAP2KEY(KS_EXTRA, KE_X1RELEASE)
-#define K_X2MOUSE       TERMCAP2KEY(KS_EXTRA, KE_X2MOUSE)
+#define K_X2MOUSE	TERMCAP2KEY(KS_EXTRA, KE_X2MOUSE)
 #define K_X2DRAG	TERMCAP2KEY(KS_EXTRA, KE_X2DRAG)
 #define K_X2RELEASE     TERMCAP2KEY(KS_EXTRA, KE_X2RELEASE)
 
@@ -477,6 +478,8 @@ enum key_extra
 
 #define K_CURSORHOLD	TERMCAP2KEY(KS_EXTRA, KE_CURSORHOLD)
 
+#define K_COMMAND	TERMCAP2KEY(KS_EXTRA, KE_COMMAND)
+
 // Bits for modifier mask
 // 0x01 cannot be used, because the modifier must be 0x02 or higher
 #define MOD_MASK_SHIFT	    0x02