Macros | Enumerations
keycodes.h File Reference
#include "nvim/strings.h"

Go to the source code of this file.

Macros

#define K_NUL   (0xce)
 
#define K_SPECIAL   (0x80)
 
#define IS_SPECIAL(c)   ((c) < 0)
 
#define ABBR_OFF   0x100
 
#define KS_ZERO   255
 
#define KS_SPECIAL   254
 
#define KS_EXTRA   253
 
#define KS_MODIFIER   252
 
#define KS_MOUSE   251
 
#define KS_MENU   250
 
#define KS_VER_SCROLLBAR   249
 
#define KS_HOR_SCROLLBAR   248
 
#define KS_SELECT   245
 
#define K_SELECT_STRING   (char_u *)"\200\365X"
 
#define KS_KEY   242
 Used a termcap entry that produces a normal character. More...
 
#define KS_TABLINE   240
 Used for click in a tab pages label. More...
 
#define KS_TABMENU   239
 Used for menu in a tab pages line. More...
 
#define KE_FILLER   ('X')
 Filler used after KS_SPECIAL and others. More...
 
#define TERMCAP2KEY(a, b)   (-((a) + ((int)(b) << 8)))
 
#define KEY2TERMCAP0(x)   ((-(x)) & 0xff)
 
#define KEY2TERMCAP1(x)   (((unsigned)(-(x)) >> 8) & 0xff)
 
#define K_SECOND(c)
 
#define K_THIRD(c)
 
#define TO_SPECIAL(a, b)
 get single int code from second byte after K_SPECIAL More...
 
#define K_ZERO   TERMCAP2KEY(KS_ZERO, KE_FILLER)
 
#define K_UP   TERMCAP2KEY('k', 'u')
 
#define K_KUP   TERMCAP2KEY('K', 'u')
 
#define K_DOWN   TERMCAP2KEY('k', 'd')
 
#define K_KDOWN   TERMCAP2KEY('K', 'd')
 
#define K_LEFT   TERMCAP2KEY('k', 'l')
 
#define K_KLEFT   TERMCAP2KEY('K', 'l')
 
#define K_RIGHT   TERMCAP2KEY('k', 'r')
 
#define K_KRIGHT   TERMCAP2KEY('K', 'r')
 
#define K_S_UP   TERMCAP2KEY(KS_EXTRA, KE_S_UP)
 
#define K_S_DOWN   TERMCAP2KEY(KS_EXTRA, KE_S_DOWN)
 
#define K_S_LEFT   TERMCAP2KEY('#', '4')
 
#define K_C_LEFT   TERMCAP2KEY(KS_EXTRA, KE_C_LEFT)
 
#define K_S_RIGHT   TERMCAP2KEY('%', 'i')
 
#define K_C_RIGHT   TERMCAP2KEY(KS_EXTRA, KE_C_RIGHT)
 
#define K_S_HOME   TERMCAP2KEY('#', '2')
 
#define K_C_HOME   TERMCAP2KEY(KS_EXTRA, KE_C_HOME)
 
#define K_S_END   TERMCAP2KEY('*', '7')
 
#define K_C_END   TERMCAP2KEY(KS_EXTRA, KE_C_END)
 
#define K_TAB   TERMCAP2KEY(KS_EXTRA, KE_TAB)
 
#define K_S_TAB   TERMCAP2KEY('k', 'B')
 
#define K_XF1   TERMCAP2KEY(KS_EXTRA, KE_XF1)
 
#define K_XF2   TERMCAP2KEY(KS_EXTRA, KE_XF2)
 
#define K_XF3   TERMCAP2KEY(KS_EXTRA, KE_XF3)
 
#define K_XF4   TERMCAP2KEY(KS_EXTRA, KE_XF4)
 
#define K_XUP   TERMCAP2KEY(KS_EXTRA, KE_XUP)
 
#define K_XDOWN   TERMCAP2KEY(KS_EXTRA, KE_XDOWN)
 
#define K_XLEFT   TERMCAP2KEY(KS_EXTRA, KE_XLEFT)
 
#define K_XRIGHT   TERMCAP2KEY(KS_EXTRA, KE_XRIGHT)
 
#define K_F1   TERMCAP2KEY('k', '1')
 
#define K_F2   TERMCAP2KEY('k', '2')
 
#define K_F3   TERMCAP2KEY('k', '3')
 
#define K_F4   TERMCAP2KEY('k', '4')
 
#define K_F5   TERMCAP2KEY('k', '5')
 
#define K_F6   TERMCAP2KEY('k', '6')
 
#define K_F7   TERMCAP2KEY('k', '7')
 
#define K_F8   TERMCAP2KEY('k', '8')
 
#define K_F9   TERMCAP2KEY('k', '9')
 
#define K_F10   TERMCAP2KEY('k', ';')
 
#define K_F11   TERMCAP2KEY('F', '1')
 
#define K_F12   TERMCAP2KEY('F', '2')
 
#define K_F13   TERMCAP2KEY('F', '3')
 
#define K_F14   TERMCAP2KEY('F', '4')
 
#define K_F15   TERMCAP2KEY('F', '5')
 
#define K_F16   TERMCAP2KEY('F', '6')
 
#define K_F17   TERMCAP2KEY('F', '7')
 
#define K_F18   TERMCAP2KEY('F', '8')
 
#define K_F19   TERMCAP2KEY('F', '9')
 
#define K_F20   TERMCAP2KEY('F', 'A')
 
#define K_F21   TERMCAP2KEY('F', 'B')
 
#define K_F22   TERMCAP2KEY('F', 'C')
 
#define K_F23   TERMCAP2KEY('F', 'D')
 
#define K_F24   TERMCAP2KEY('F', 'E')
 
#define K_F25   TERMCAP2KEY('F', 'F')
 
#define K_F26   TERMCAP2KEY('F', 'G')
 
#define K_F27   TERMCAP2KEY('F', 'H')
 
#define K_F28   TERMCAP2KEY('F', 'I')
 
#define K_F29   TERMCAP2KEY('F', 'J')
 
#define K_F30   TERMCAP2KEY('F', 'K')
 
#define K_F31   TERMCAP2KEY('F', 'L')
 
#define K_F32   TERMCAP2KEY('F', 'M')
 
#define K_F33   TERMCAP2KEY('F', 'N')
 
#define K_F34   TERMCAP2KEY('F', 'O')
 
#define K_F35   TERMCAP2KEY('F', 'P')
 
#define K_F36   TERMCAP2KEY('F', 'Q')
 
#define K_F37   TERMCAP2KEY('F', 'R')
 
#define K_F38   TERMCAP2KEY('F', 'S')
 
#define K_F39   TERMCAP2KEY('F', 'T')
 
#define K_F40   TERMCAP2KEY('F', 'U')
 
#define K_F41   TERMCAP2KEY('F', 'V')
 
#define K_F42   TERMCAP2KEY('F', 'W')
 
#define K_F43   TERMCAP2KEY('F', 'X')
 
#define K_F44   TERMCAP2KEY('F', 'Y')
 
#define K_F45   TERMCAP2KEY('F', 'Z')
 
#define K_F46   TERMCAP2KEY('F', 'a')
 
#define K_F47   TERMCAP2KEY('F', 'b')
 
#define K_F48   TERMCAP2KEY('F', 'c')
 
#define K_F49   TERMCAP2KEY('F', 'd')
 
#define K_F50   TERMCAP2KEY('F', 'e')
 
#define K_F51   TERMCAP2KEY('F', 'f')
 
#define K_F52   TERMCAP2KEY('F', 'g')
 
#define K_F53   TERMCAP2KEY('F', 'h')
 
#define K_F54   TERMCAP2KEY('F', 'i')
 
#define K_F55   TERMCAP2KEY('F', 'j')
 
#define K_F56   TERMCAP2KEY('F', 'k')
 
#define K_F57   TERMCAP2KEY('F', 'l')
 
#define K_F58   TERMCAP2KEY('F', 'm')
 
#define K_F59   TERMCAP2KEY('F', 'n')
 
#define K_F60   TERMCAP2KEY('F', 'o')
 
#define K_F61   TERMCAP2KEY('F', 'p')
 
#define K_F62   TERMCAP2KEY('F', 'q')
 
#define K_F63   TERMCAP2KEY('F', 'r')
 
#define K_S_XF1   TERMCAP2KEY(KS_EXTRA, KE_S_XF1)
 
#define K_S_XF2   TERMCAP2KEY(KS_EXTRA, KE_S_XF2)
 
#define K_S_XF3   TERMCAP2KEY(KS_EXTRA, KE_S_XF3)
 
#define K_S_XF4   TERMCAP2KEY(KS_EXTRA, KE_S_XF4)
 
#define K_S_F1   TERMCAP2KEY(KS_EXTRA, KE_S_F1)
 
#define K_S_F2   TERMCAP2KEY(KS_EXTRA, KE_S_F2)
 
#define K_S_F3   TERMCAP2KEY(KS_EXTRA, KE_S_F3)
 
#define K_S_F4   TERMCAP2KEY(KS_EXTRA, KE_S_F4)
 
#define K_S_F5   TERMCAP2KEY(KS_EXTRA, KE_S_F5)
 
#define K_S_F6   TERMCAP2KEY(KS_EXTRA, KE_S_F6)
 
#define K_S_F7   TERMCAP2KEY(KS_EXTRA, KE_S_F7)
 
#define K_S_F8   TERMCAP2KEY(KS_EXTRA, KE_S_F8)
 
#define K_S_F9   TERMCAP2KEY(KS_EXTRA, KE_S_F9)
 
#define K_S_F10   TERMCAP2KEY(KS_EXTRA, KE_S_F10)
 
#define K_S_F11   TERMCAP2KEY(KS_EXTRA, KE_S_F11)
 
#define K_S_F12   TERMCAP2KEY(KS_EXTRA, KE_S_F12)
 
#define K_HELP   TERMCAP2KEY('%', '1')
 
#define K_UNDO   TERMCAP2KEY('&', '8')
 
#define K_BS   TERMCAP2KEY('k', 'b')
 
#define K_INS   TERMCAP2KEY('k', 'I')
 
#define K_KINS   TERMCAP2KEY(KS_EXTRA, KE_KINS)
 
#define K_DEL   TERMCAP2KEY('k', 'D')
 
#define K_KDEL   TERMCAP2KEY(KS_EXTRA, KE_KDEL)
 
#define K_HOME   TERMCAP2KEY('k', 'h')
 
#define K_KHOME   TERMCAP2KEY('K', '1')
 
#define K_XHOME   TERMCAP2KEY(KS_EXTRA, KE_XHOME)
 
#define K_ZHOME   TERMCAP2KEY(KS_EXTRA, KE_ZHOME)
 
#define K_END   TERMCAP2KEY('@', '7')
 
#define K_KEND   TERMCAP2KEY('K', '4')
 
#define K_XEND   TERMCAP2KEY(KS_EXTRA, KE_XEND)
 
#define K_ZEND   TERMCAP2KEY(KS_EXTRA, KE_ZEND)
 
#define K_PAGEUP   TERMCAP2KEY('k', 'P')
 
#define K_PAGEDOWN   TERMCAP2KEY('k', 'N')
 
#define K_KPAGEUP   TERMCAP2KEY('K', '3')
 
#define K_KPAGEDOWN   TERMCAP2KEY('K', '5')
 
#define K_KORIGIN   TERMCAP2KEY('K', '2')
 
#define K_KPLUS   TERMCAP2KEY('K', '6')
 
#define K_KMINUS   TERMCAP2KEY('K', '7')
 
#define K_KDIVIDE   TERMCAP2KEY('K', '8')
 
#define K_KMULTIPLY   TERMCAP2KEY('K', '9')
 
#define K_KENTER   TERMCAP2KEY('K', 'A')
 
#define K_KPOINT   TERMCAP2KEY('K', 'B')
 
#define K_K0   TERMCAP2KEY('K', 'C')
 
#define K_K1   TERMCAP2KEY('K', 'D')
 
#define K_K2   TERMCAP2KEY('K', 'E')
 
#define K_K3   TERMCAP2KEY('K', 'F')
 
#define K_K4   TERMCAP2KEY('K', 'G')
 
#define K_K5   TERMCAP2KEY('K', 'H')
 
#define K_K6   TERMCAP2KEY('K', 'I')
 
#define K_K7   TERMCAP2KEY('K', 'J')
 
#define K_K8   TERMCAP2KEY('K', 'K')
 
#define K_K9   TERMCAP2KEY('K', 'L')
 
#define K_KCOMMA   TERMCAP2KEY('K', 'M')
 
#define K_KEQUAL   TERMCAP2KEY('K', 'N')
 
#define K_MOUSE   TERMCAP2KEY(KS_MOUSE, KE_FILLER)
 
#define K_MENU   TERMCAP2KEY(KS_MENU, KE_FILLER)
 
#define K_VER_SCROLLBAR   TERMCAP2KEY(KS_VER_SCROLLBAR, KE_FILLER)
 
#define K_HOR_SCROLLBAR   TERMCAP2KEY(KS_HOR_SCROLLBAR, KE_FILLER)
 
#define K_SELECT   TERMCAP2KEY(KS_SELECT, KE_FILLER)
 
#define K_TABLINE   TERMCAP2KEY(KS_TABLINE, KE_FILLER)
 
#define K_TABMENU   TERMCAP2KEY(KS_TABMENU, KE_FILLER)
 
#define K_LEFTMOUSE   TERMCAP2KEY(KS_EXTRA, KE_LEFTMOUSE)
 
#define K_LEFTMOUSE_NM   TERMCAP2KEY(KS_EXTRA, KE_LEFTMOUSE_NM)
 
#define K_LEFTDRAG   TERMCAP2KEY(KS_EXTRA, KE_LEFTDRAG)
 
#define K_LEFTRELEASE   TERMCAP2KEY(KS_EXTRA, KE_LEFTRELEASE)
 
#define K_LEFTRELEASE_NM   TERMCAP2KEY(KS_EXTRA, KE_LEFTRELEASE_NM)
 
#define K_MOUSEMOVE   TERMCAP2KEY(KS_EXTRA, KE_MOUSEMOVE)
 
#define K_MIDDLEMOUSE   TERMCAP2KEY(KS_EXTRA, KE_MIDDLEMOUSE)
 
#define K_MIDDLEDRAG   TERMCAP2KEY(KS_EXTRA, KE_MIDDLEDRAG)
 
#define K_MIDDLERELEASE   TERMCAP2KEY(KS_EXTRA, KE_MIDDLERELEASE)
 
#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_X1DRAG   TERMCAP2KEY(KS_EXTRA, KE_X1DRAG)
 
#define K_X1RELEASE   TERMCAP2KEY(KS_EXTRA, KE_X1RELEASE)
 
#define K_X2MOUSE   TERMCAP2KEY(KS_EXTRA, KE_X2MOUSE)
 
#define K_X2DRAG   TERMCAP2KEY(KS_EXTRA, KE_X2DRAG)
 
#define K_X2RELEASE   TERMCAP2KEY(KS_EXTRA, KE_X2RELEASE)
 
#define K_IGNORE   TERMCAP2KEY(KS_EXTRA, KE_IGNORE)
 
#define K_NOP   TERMCAP2KEY(KS_EXTRA, KE_NOP)
 
#define K_MOUSEDOWN   TERMCAP2KEY(KS_EXTRA, KE_MOUSEDOWN)
 
#define K_MOUSEUP   TERMCAP2KEY(KS_EXTRA, KE_MOUSEUP)
 
#define K_MOUSELEFT   TERMCAP2KEY(KS_EXTRA, KE_MOUSELEFT)
 
#define K_MOUSERIGHT   TERMCAP2KEY(KS_EXTRA, KE_MOUSERIGHT)
 
#define K_SNR   TERMCAP2KEY(KS_EXTRA, KE_SNR)
 
#define K_PLUG   TERMCAP2KEY(KS_EXTRA, KE_PLUG)
 
#define K_CMDWIN   TERMCAP2KEY(KS_EXTRA, KE_CMDWIN)
 
#define K_DROP   TERMCAP2KEY(KS_EXTRA, KE_DROP)
 
#define K_EVENT   TERMCAP2KEY(KS_EXTRA, KE_EVENT)
 
#define K_COMMAND   TERMCAP2KEY(KS_EXTRA, KE_COMMAND)
 
#define K_LUA   TERMCAP2KEY(KS_EXTRA, KE_LUA)
 
#define MOD_MASK_SHIFT   0x02
 
#define MOD_MASK_CTRL   0x04
 
#define MOD_MASK_ALT   0x08
 
#define MOD_MASK_META   0x10
 
#define MOD_MASK_2CLICK   0x20
 
#define MOD_MASK_3CLICK   0x40
 
#define MOD_MASK_4CLICK   0x60
 
#define MOD_MASK_CMD   0x80
 
#define MOD_MASK_MULTI_CLICK
 
#define MAX_KEY_NAME_LEN   32
 
#define MAX_KEY_CODE_LEN   6
 
#define FLAG_CPO_BSLASH   0x01
 
#define CPO_TO_CPO_FLAGS
 

Enumerations

enum  key_extra {
  KE_S_UP = 4, KE_S_DOWN = 5, KE_S_F1 = 6, KE_S_F2 = 7,
  KE_S_F3 = 8, KE_S_F4 = 9, KE_S_F5 = 10, KE_S_F6 = 11,
  KE_S_F7 = 12, KE_S_F8 = 13, KE_S_F9 = 14, KE_S_F10 = 15,
  KE_S_F11 = 16, KE_S_F12 = 17, KE_S_F13 = 18, KE_S_F14 = 19,
  KE_S_F15 = 20, KE_S_F16 = 21, KE_S_F17 = 22, KE_S_F18 = 23,
  KE_S_F19 = 24, KE_S_F20 = 25, KE_S_F21 = 26, KE_S_F22 = 27,
  KE_S_F23 = 28, KE_S_F24 = 29, KE_S_F25 = 30, KE_S_F26 = 31,
  KE_S_F27 = 32, KE_S_F28 = 33, KE_S_F29 = 34, KE_S_F30 = 35,
  KE_S_F31 = 36, KE_S_F32 = 37, KE_S_F33 = 38, KE_S_F34 = 39,
  KE_S_F35 = 40, KE_S_F36 = 41, KE_S_F37 = 42, KE_MOUSE = 43,
  KE_LEFTMOUSE = 44, KE_LEFTDRAG = 45, KE_LEFTRELEASE = 46, KE_MIDDLEMOUSE = 47,
  KE_MIDDLEDRAG = 48, KE_MIDDLERELEASE = 49, KE_RIGHTMOUSE = 50, KE_RIGHTDRAG = 51,
  KE_RIGHTRELEASE = 52, KE_IGNORE = 53, KE_TAB = 54, KE_S_TAB_OLD = 55,
  KE_XF1 = 57, KE_XF2 = 58, KE_XF3 = 59, KE_XF4 = 60,
  KE_XEND = 61, KE_ZEND = 62, KE_XHOME = 63, KE_ZHOME = 64,
  KE_XUP = 65, KE_XDOWN = 66, KE_XLEFT = 67, KE_XRIGHT = 68,
  KE_LEFTMOUSE_NM = 69, KE_LEFTRELEASE_NM = 70, KE_S_XF1 = 71, KE_S_XF2 = 72,
  KE_S_XF3 = 73, KE_S_XF4 = 74, KE_MOUSEDOWN = 75, KE_MOUSEUP = 76,
  KE_MOUSELEFT = 77, KE_MOUSERIGHT = 78, KE_KINS = 79, KE_KDEL = 80,
  KE_SNR = 82, KE_PLUG = 83, KE_CMDWIN = 84, KE_C_LEFT = 85,
  KE_C_RIGHT = 86, KE_C_HOME = 87, KE_C_END = 88, KE_X1MOUSE = 89,
  KE_X1DRAG = 90, KE_X1RELEASE = 91, KE_X2MOUSE = 92, KE_X2DRAG = 93,
  KE_X2RELEASE = 94, KE_DROP = 95, KE_NOP = 97, KE_MOUSEMOVE = 100,
  KE_EVENT = 102, KE_LUA = 103, KE_COMMAND = 104
}
 
enum  { REPTERM_FROM_PART = 1, REPTERM_DO_LT = 2, REPTERM_NO_SPECIAL = 4, REPTERM_NO_SIMPLIFY = 8 }
 Flags for replace_termcodes() More...
 
enum  { FSK_KEYCODE = 0x01, FSK_KEEP_X_KEY = 0x02, FSK_IN_STRING = 0x04, FSK_SIMPLIFY = 0x08 }
 Flags for find_special_key() More...
 

Macro Definition Documentation

◆ ABBR_OFF

#define ABBR_OFF   0x100

Characters 0x0100 - 0x01ff have a special meaning for abbreviations. Multi-byte characters also have ABBR_OFF added, thus are above 0x0200.

◆ CPO_TO_CPO_FLAGS

#define CPO_TO_CPO_FLAGS
Value:
((vim_strchr((char *)p_cpo, CPO_BSLASH) == NULL) \
? 0 \

◆ FLAG_CPO_BSLASH

#define FLAG_CPO_BSLASH   0x01

◆ IS_SPECIAL

#define IS_SPECIAL (   c)    ((c) < 0)

Positive characters are "normal" characters. Negative characters are special key codes. Only characters below -0x200 are used to so that the absolute value can't be mistaken for a single-byte character.

◆ K_BS

#define K_BS   TERMCAP2KEY('k', 'b')

◆ K_C_END

#define K_C_END   TERMCAP2KEY(KS_EXTRA, KE_C_END)

◆ K_C_HOME

#define K_C_HOME   TERMCAP2KEY(KS_EXTRA, KE_C_HOME)

◆ K_C_LEFT

#define K_C_LEFT   TERMCAP2KEY(KS_EXTRA, KE_C_LEFT)

◆ K_C_RIGHT

#define K_C_RIGHT   TERMCAP2KEY(KS_EXTRA, KE_C_RIGHT)

◆ K_CMDWIN

#define K_CMDWIN   TERMCAP2KEY(KS_EXTRA, KE_CMDWIN)

◆ K_COMMAND

#define K_COMMAND   TERMCAP2KEY(KS_EXTRA, KE_COMMAND)

◆ K_DEL

#define K_DEL   TERMCAP2KEY('k', 'D')

◆ K_DOWN

#define K_DOWN   TERMCAP2KEY('k', 'd')

◆ K_DROP

#define K_DROP   TERMCAP2KEY(KS_EXTRA, KE_DROP)

◆ K_END

#define K_END   TERMCAP2KEY('@', '7')

◆ K_EVENT

#define K_EVENT   TERMCAP2KEY(KS_EXTRA, KE_EVENT)

◆ K_F1

#define K_F1   TERMCAP2KEY('k', '1')

◆ K_F10

#define K_F10   TERMCAP2KEY('k', ';')

◆ K_F11

#define K_F11   TERMCAP2KEY('F', '1')

◆ K_F12

#define K_F12   TERMCAP2KEY('F', '2')

◆ K_F13

#define K_F13   TERMCAP2KEY('F', '3')

◆ K_F14

#define K_F14   TERMCAP2KEY('F', '4')

◆ K_F15

#define K_F15   TERMCAP2KEY('F', '5')

◆ K_F16

#define K_F16   TERMCAP2KEY('F', '6')

◆ K_F17

#define K_F17   TERMCAP2KEY('F', '7')

◆ K_F18

#define K_F18   TERMCAP2KEY('F', '8')

◆ K_F19

#define K_F19   TERMCAP2KEY('F', '9')

◆ K_F2

#define K_F2   TERMCAP2KEY('k', '2')

◆ K_F20

#define K_F20   TERMCAP2KEY('F', 'A')

◆ K_F21

#define K_F21   TERMCAP2KEY('F', 'B')

◆ K_F22

#define K_F22   TERMCAP2KEY('F', 'C')

◆ K_F23

#define K_F23   TERMCAP2KEY('F', 'D')

◆ K_F24

#define K_F24   TERMCAP2KEY('F', 'E')

◆ K_F25

#define K_F25   TERMCAP2KEY('F', 'F')

◆ K_F26

#define K_F26   TERMCAP2KEY('F', 'G')

◆ K_F27

#define K_F27   TERMCAP2KEY('F', 'H')

◆ K_F28

#define K_F28   TERMCAP2KEY('F', 'I')

◆ K_F29

#define K_F29   TERMCAP2KEY('F', 'J')

◆ K_F3

#define K_F3   TERMCAP2KEY('k', '3')

◆ K_F30

#define K_F30   TERMCAP2KEY('F', 'K')

◆ K_F31

#define K_F31   TERMCAP2KEY('F', 'L')

◆ K_F32

#define K_F32   TERMCAP2KEY('F', 'M')

◆ K_F33

#define K_F33   TERMCAP2KEY('F', 'N')

◆ K_F34

#define K_F34   TERMCAP2KEY('F', 'O')

◆ K_F35

#define K_F35   TERMCAP2KEY('F', 'P')

◆ K_F36

#define K_F36   TERMCAP2KEY('F', 'Q')

◆ K_F37

#define K_F37   TERMCAP2KEY('F', 'R')

◆ K_F38

#define K_F38   TERMCAP2KEY('F', 'S')

◆ K_F39

#define K_F39   TERMCAP2KEY('F', 'T')

◆ K_F4

#define K_F4   TERMCAP2KEY('k', '4')

◆ K_F40

#define K_F40   TERMCAP2KEY('F', 'U')

◆ K_F41

#define K_F41   TERMCAP2KEY('F', 'V')

◆ K_F42

#define K_F42   TERMCAP2KEY('F', 'W')

◆ K_F43

#define K_F43   TERMCAP2KEY('F', 'X')

◆ K_F44

#define K_F44   TERMCAP2KEY('F', 'Y')

◆ K_F45

#define K_F45   TERMCAP2KEY('F', 'Z')

◆ K_F46

#define K_F46   TERMCAP2KEY('F', 'a')

◆ K_F47

#define K_F47   TERMCAP2KEY('F', 'b')

◆ K_F48

#define K_F48   TERMCAP2KEY('F', 'c')

◆ K_F49

#define K_F49   TERMCAP2KEY('F', 'd')

◆ K_F5

#define K_F5   TERMCAP2KEY('k', '5')

◆ K_F50

#define K_F50   TERMCAP2KEY('F', 'e')

◆ K_F51

#define K_F51   TERMCAP2KEY('F', 'f')

◆ K_F52

#define K_F52   TERMCAP2KEY('F', 'g')

◆ K_F53

#define K_F53   TERMCAP2KEY('F', 'h')

◆ K_F54

#define K_F54   TERMCAP2KEY('F', 'i')

◆ K_F55

#define K_F55   TERMCAP2KEY('F', 'j')

◆ K_F56

#define K_F56   TERMCAP2KEY('F', 'k')

◆ K_F57

#define K_F57   TERMCAP2KEY('F', 'l')

◆ K_F58

#define K_F58   TERMCAP2KEY('F', 'm')

◆ K_F59

#define K_F59   TERMCAP2KEY('F', 'n')

◆ K_F6

#define K_F6   TERMCAP2KEY('k', '6')

◆ K_F60

#define K_F60   TERMCAP2KEY('F', 'o')

◆ K_F61

#define K_F61   TERMCAP2KEY('F', 'p')

◆ K_F62

#define K_F62   TERMCAP2KEY('F', 'q')

◆ K_F63

#define K_F63   TERMCAP2KEY('F', 'r')

◆ K_F7

#define K_F7   TERMCAP2KEY('k', '7')

◆ K_F8

#define K_F8   TERMCAP2KEY('k', '8')

◆ K_F9

#define K_F9   TERMCAP2KEY('k', '9')

◆ K_HELP

#define K_HELP   TERMCAP2KEY('%', '1')

◆ K_HOME

#define K_HOME   TERMCAP2KEY('k', 'h')

◆ K_HOR_SCROLLBAR

#define K_HOR_SCROLLBAR   TERMCAP2KEY(KS_HOR_SCROLLBAR, KE_FILLER)

◆ K_IGNORE

#define K_IGNORE   TERMCAP2KEY(KS_EXTRA, KE_IGNORE)

◆ K_INS

#define K_INS   TERMCAP2KEY('k', 'I')

◆ K_K0

#define K_K0   TERMCAP2KEY('K', 'C')

◆ K_K1

#define K_K1   TERMCAP2KEY('K', 'D')

◆ K_K2

#define K_K2   TERMCAP2KEY('K', 'E')

◆ K_K3

#define K_K3   TERMCAP2KEY('K', 'F')

◆ K_K4

#define K_K4   TERMCAP2KEY('K', 'G')

◆ K_K5

#define K_K5   TERMCAP2KEY('K', 'H')

◆ K_K6

#define K_K6   TERMCAP2KEY('K', 'I')

◆ K_K7

#define K_K7   TERMCAP2KEY('K', 'J')

◆ K_K8

#define K_K8   TERMCAP2KEY('K', 'K')

◆ K_K9

#define K_K9   TERMCAP2KEY('K', 'L')

◆ K_KCOMMA

#define K_KCOMMA   TERMCAP2KEY('K', 'M')

◆ K_KDEL

#define K_KDEL   TERMCAP2KEY(KS_EXTRA, KE_KDEL)

◆ K_KDIVIDE

#define K_KDIVIDE   TERMCAP2KEY('K', '8')

◆ K_KDOWN

#define K_KDOWN   TERMCAP2KEY('K', 'd')

◆ K_KEND

#define K_KEND   TERMCAP2KEY('K', '4')

◆ K_KENTER

#define K_KENTER   TERMCAP2KEY('K', 'A')

◆ K_KEQUAL

#define K_KEQUAL   TERMCAP2KEY('K', 'N')

◆ K_KHOME

#define K_KHOME   TERMCAP2KEY('K', '1')

◆ K_KINS

#define K_KINS   TERMCAP2KEY(KS_EXTRA, KE_KINS)

◆ K_KLEFT

#define K_KLEFT   TERMCAP2KEY('K', 'l')

◆ K_KMINUS

#define K_KMINUS   TERMCAP2KEY('K', '7')

◆ K_KMULTIPLY

#define K_KMULTIPLY   TERMCAP2KEY('K', '9')

◆ K_KORIGIN

#define K_KORIGIN   TERMCAP2KEY('K', '2')

◆ K_KPAGEDOWN

#define K_KPAGEDOWN   TERMCAP2KEY('K', '5')

◆ K_KPAGEUP

#define K_KPAGEUP   TERMCAP2KEY('K', '3')

◆ K_KPLUS

#define K_KPLUS   TERMCAP2KEY('K', '6')

◆ K_KPOINT

#define K_KPOINT   TERMCAP2KEY('K', 'B')

◆ K_KRIGHT

#define K_KRIGHT   TERMCAP2KEY('K', 'r')

◆ K_KUP

#define K_KUP   TERMCAP2KEY('K', 'u')

◆ K_LEFT

#define K_LEFT   TERMCAP2KEY('k', 'l')

◆ K_LEFTDRAG

#define K_LEFTDRAG   TERMCAP2KEY(KS_EXTRA, KE_LEFTDRAG)

◆ K_LEFTMOUSE

#define K_LEFTMOUSE   TERMCAP2KEY(KS_EXTRA, KE_LEFTMOUSE)

◆ K_LEFTMOUSE_NM

#define K_LEFTMOUSE_NM   TERMCAP2KEY(KS_EXTRA, KE_LEFTMOUSE_NM)

◆ K_LEFTRELEASE

#define K_LEFTRELEASE   TERMCAP2KEY(KS_EXTRA, KE_LEFTRELEASE)

◆ K_LEFTRELEASE_NM

#define K_LEFTRELEASE_NM   TERMCAP2KEY(KS_EXTRA, KE_LEFTRELEASE_NM)

◆ K_LUA

#define K_LUA   TERMCAP2KEY(KS_EXTRA, KE_LUA)

◆ K_MENU

#define K_MENU   TERMCAP2KEY(KS_MENU, KE_FILLER)

◆ K_MIDDLEDRAG

#define K_MIDDLEDRAG   TERMCAP2KEY(KS_EXTRA, KE_MIDDLEDRAG)

◆ K_MIDDLEMOUSE

#define K_MIDDLEMOUSE   TERMCAP2KEY(KS_EXTRA, KE_MIDDLEMOUSE)

◆ K_MIDDLERELEASE

#define K_MIDDLERELEASE   TERMCAP2KEY(KS_EXTRA, KE_MIDDLERELEASE)

◆ K_MOUSE

#define K_MOUSE   TERMCAP2KEY(KS_MOUSE, KE_FILLER)

◆ K_MOUSEDOWN

#define K_MOUSEDOWN   TERMCAP2KEY(KS_EXTRA, KE_MOUSEDOWN)

◆ K_MOUSELEFT

#define K_MOUSELEFT   TERMCAP2KEY(KS_EXTRA, KE_MOUSELEFT)

◆ K_MOUSEMOVE

#define K_MOUSEMOVE   TERMCAP2KEY(KS_EXTRA, KE_MOUSEMOVE)

◆ K_MOUSERIGHT

#define K_MOUSERIGHT   TERMCAP2KEY(KS_EXTRA, KE_MOUSERIGHT)

◆ K_MOUSEUP

#define K_MOUSEUP   TERMCAP2KEY(KS_EXTRA, KE_MOUSEUP)

◆ K_NOP

#define K_NOP   TERMCAP2KEY(KS_EXTRA, KE_NOP)

◆ K_NUL

#define K_NUL   (0xce)

For MS-DOS some keys produce codes larger than 0xff. They are split into two chars, the first one is K_NUL.

◆ K_PAGEDOWN

#define K_PAGEDOWN   TERMCAP2KEY('k', 'N')

◆ K_PAGEUP

#define K_PAGEUP   TERMCAP2KEY('k', 'P')

◆ K_PLUG

#define K_PLUG   TERMCAP2KEY(KS_EXTRA, KE_PLUG)

◆ K_RIGHT

#define K_RIGHT   TERMCAP2KEY('k', 'r')

◆ K_RIGHTDRAG

#define K_RIGHTDRAG   TERMCAP2KEY(KS_EXTRA, KE_RIGHTDRAG)

◆ K_RIGHTMOUSE

#define K_RIGHTMOUSE   TERMCAP2KEY(KS_EXTRA, KE_RIGHTMOUSE)

◆ K_RIGHTRELEASE

#define K_RIGHTRELEASE   TERMCAP2KEY(KS_EXTRA, KE_RIGHTRELEASE)

◆ K_S_DOWN

#define K_S_DOWN   TERMCAP2KEY(KS_EXTRA, KE_S_DOWN)

◆ K_S_END

#define K_S_END   TERMCAP2KEY('*', '7')

◆ K_S_F1

#define K_S_F1   TERMCAP2KEY(KS_EXTRA, KE_S_F1)

◆ K_S_F10

#define K_S_F10   TERMCAP2KEY(KS_EXTRA, KE_S_F10)

◆ K_S_F11

#define K_S_F11   TERMCAP2KEY(KS_EXTRA, KE_S_F11)

◆ K_S_F12

#define K_S_F12   TERMCAP2KEY(KS_EXTRA, KE_S_F12)

◆ K_S_F2

#define K_S_F2   TERMCAP2KEY(KS_EXTRA, KE_S_F2)

◆ K_S_F3

#define K_S_F3   TERMCAP2KEY(KS_EXTRA, KE_S_F3)

◆ K_S_F4

#define K_S_F4   TERMCAP2KEY(KS_EXTRA, KE_S_F4)

◆ K_S_F5

#define K_S_F5   TERMCAP2KEY(KS_EXTRA, KE_S_F5)

◆ K_S_F6

#define K_S_F6   TERMCAP2KEY(KS_EXTRA, KE_S_F6)

◆ K_S_F7

#define K_S_F7   TERMCAP2KEY(KS_EXTRA, KE_S_F7)

◆ K_S_F8

#define K_S_F8   TERMCAP2KEY(KS_EXTRA, KE_S_F8)

◆ K_S_F9

#define K_S_F9   TERMCAP2KEY(KS_EXTRA, KE_S_F9)

◆ K_S_HOME

#define K_S_HOME   TERMCAP2KEY('#', '2')

◆ K_S_LEFT

#define K_S_LEFT   TERMCAP2KEY('#', '4')

◆ K_S_RIGHT

#define K_S_RIGHT   TERMCAP2KEY('%', 'i')

◆ K_S_TAB

#define K_S_TAB   TERMCAP2KEY('k', 'B')

◆ K_S_UP

#define K_S_UP   TERMCAP2KEY(KS_EXTRA, KE_S_UP)

◆ K_S_XF1

#define K_S_XF1   TERMCAP2KEY(KS_EXTRA, KE_S_XF1)

◆ K_S_XF2

#define K_S_XF2   TERMCAP2KEY(KS_EXTRA, KE_S_XF2)

◆ K_S_XF3

#define K_S_XF3   TERMCAP2KEY(KS_EXTRA, KE_S_XF3)

◆ K_S_XF4

#define K_S_XF4   TERMCAP2KEY(KS_EXTRA, KE_S_XF4)

◆ K_SECOND

#define K_SECOND (   c)
Value:
((c) == K_SPECIAL ? KS_SPECIAL : (c) == \
NUL ? KS_ZERO : KEY2TERMCAP0(c))

◆ K_SELECT

#define K_SELECT   TERMCAP2KEY(KS_SELECT, KE_FILLER)

◆ K_SELECT_STRING

#define K_SELECT_STRING   (char_u *)"\200\365X"

◆ K_SNR

#define K_SNR   TERMCAP2KEY(KS_EXTRA, KE_SNR)

◆ K_SPECIAL

#define K_SPECIAL   (0x80)

K_SPECIAL is the first byte of a special key code and is always followed by two bytes. The second byte can have any value. ASCII is used for normal termcap entries, 0x80 and higher for special keys, see below. The third byte is guaranteed to be between 0x02 and 0x7f.

◆ K_TAB

#define K_TAB   TERMCAP2KEY(KS_EXTRA, KE_TAB)

◆ K_TABLINE

#define K_TABLINE   TERMCAP2KEY(KS_TABLINE, KE_FILLER)

◆ K_TABMENU

#define K_TABMENU   TERMCAP2KEY(KS_TABMENU, KE_FILLER)

◆ K_THIRD

#define K_THIRD (   c)
Value:
(((c) == K_SPECIAL || (c) == \
NUL) ? KE_FILLER : KEY2TERMCAP1(c))

◆ K_UNDO

#define K_UNDO   TERMCAP2KEY('&', '8')

◆ K_UP

#define K_UP   TERMCAP2KEY('k', 'u')

◆ K_VER_SCROLLBAR

#define K_VER_SCROLLBAR   TERMCAP2KEY(KS_VER_SCROLLBAR, KE_FILLER)

◆ K_X1DRAG

#define K_X1DRAG   TERMCAP2KEY(KS_EXTRA, KE_X1DRAG)

◆ K_X1MOUSE [1/2]

#define K_X1MOUSE   TERMCAP2KEY(KS_EXTRA, KE_X1MOUSE)

◆ K_X1MOUSE [2/2]

#define K_X1MOUSE   TERMCAP2KEY(KS_EXTRA, KE_X1MOUSE)

◆ K_X1RELEASE

#define K_X1RELEASE   TERMCAP2KEY(KS_EXTRA, KE_X1RELEASE)

◆ K_X2DRAG

#define K_X2DRAG   TERMCAP2KEY(KS_EXTRA, KE_X2DRAG)

◆ K_X2MOUSE

#define K_X2MOUSE   TERMCAP2KEY(KS_EXTRA, KE_X2MOUSE)

◆ K_X2RELEASE

#define K_X2RELEASE   TERMCAP2KEY(KS_EXTRA, KE_X2RELEASE)

◆ K_XDOWN

#define K_XDOWN   TERMCAP2KEY(KS_EXTRA, KE_XDOWN)

◆ K_XEND

#define K_XEND   TERMCAP2KEY(KS_EXTRA, KE_XEND)

◆ K_XF1

#define K_XF1   TERMCAP2KEY(KS_EXTRA, KE_XF1)

◆ K_XF2

#define K_XF2   TERMCAP2KEY(KS_EXTRA, KE_XF2)

◆ K_XF3

#define K_XF3   TERMCAP2KEY(KS_EXTRA, KE_XF3)

◆ K_XF4

#define K_XF4   TERMCAP2KEY(KS_EXTRA, KE_XF4)

◆ K_XHOME

#define K_XHOME   TERMCAP2KEY(KS_EXTRA, KE_XHOME)

◆ K_XLEFT

#define K_XLEFT   TERMCAP2KEY(KS_EXTRA, KE_XLEFT)

◆ K_XRIGHT

#define K_XRIGHT   TERMCAP2KEY(KS_EXTRA, KE_XRIGHT)

◆ K_XUP

#define K_XUP   TERMCAP2KEY(KS_EXTRA, KE_XUP)

◆ K_ZEND

#define K_ZEND   TERMCAP2KEY(KS_EXTRA, KE_ZEND)

◆ K_ZERO

#define K_ZERO   TERMCAP2KEY(KS_ZERO, KE_FILLER)

◆ K_ZHOME

#define K_ZHOME   TERMCAP2KEY(KS_EXTRA, KE_ZHOME)

◆ KE_FILLER

#define KE_FILLER   ('X')

Filler used after KS_SPECIAL and others.

◆ KEY2TERMCAP0

#define KEY2TERMCAP0 (   x)    ((-(x)) & 0xff)

◆ KEY2TERMCAP1

#define KEY2TERMCAP1 (   x)    (((unsigned)(-(x)) >> 8) & 0xff)

◆ KS_EXTRA

#define KS_EXTRA   253

KS_EXTRA is used for keys that have no termcap name K_SPECIAL KS_EXTRA KE_xxx

◆ KS_HOR_SCROLLBAR

#define KS_HOR_SCROLLBAR   248

◆ KS_KEY

#define KS_KEY   242

Used a termcap entry that produces a normal character.

◆ KS_MENU

#define KS_MENU   250

◆ KS_MODIFIER

#define KS_MODIFIER   252

KS_MODIFIER is used when a modifier is given for a (special) key K_SPECIAL KS_MODIFIER bitmask

◆ KS_MOUSE

#define KS_MOUSE   251

◆ KS_SELECT

#define KS_SELECT   245

◆ KS_SPECIAL

#define KS_SPECIAL   254

K_SPECIAL cannot be in the input string, therefore it is replaced by K_SPECIAL KS_SPECIAL KE_FILLER

◆ KS_TABLINE

#define KS_TABLINE   240

Used for click in a tab pages label.

◆ KS_TABMENU

#define KS_TABMENU   239

Used for menu in a tab pages line.

◆ KS_VER_SCROLLBAR

#define KS_VER_SCROLLBAR   249

◆ KS_ZERO

#define KS_ZERO   255

NUL cannot be in the input string, therefore it is replaced by K_SPECIAL KS_ZERO KE_FILLER

◆ MAX_KEY_CODE_LEN

#define MAX_KEY_CODE_LEN   6

Maximum length of a special key event as tokens. This includes modifiers. The longest event is something like <M-C-S-T-4-LeftDrag> which would be the following string of tokens:

<K_SPECIAL> <KS_MODIFIER> bitmask <K_SPECIAL> <KS_EXTRA> <KE_LEFTDRAG>.

This is a total of 6 tokens, and is currently the longest one possible.

◆ MAX_KEY_NAME_LEN

#define MAX_KEY_NAME_LEN   32

The length of the longest special key name, including modifiers. Current longest is <M-C-S-T-D-A-4-ScrollWheelRight> (length includes '<' and '>').

◆ MOD_MASK_2CLICK

#define MOD_MASK_2CLICK   0x20

◆ MOD_MASK_3CLICK

#define MOD_MASK_3CLICK   0x40

◆ MOD_MASK_4CLICK

#define MOD_MASK_4CLICK   0x60

◆ MOD_MASK_ALT

#define MOD_MASK_ALT   0x08

◆ MOD_MASK_CMD

#define MOD_MASK_CMD   0x80

◆ MOD_MASK_CTRL

#define MOD_MASK_CTRL   0x04

◆ MOD_MASK_META

#define MOD_MASK_META   0x10

◆ MOD_MASK_MULTI_CLICK

#define MOD_MASK_MULTI_CLICK
Value:
MOD_MASK_4CLICK)

◆ MOD_MASK_SHIFT

#define MOD_MASK_SHIFT   0x02

◆ TERMCAP2KEY

#define TERMCAP2KEY (   a,
 
)    (-((a) + ((int)(b) << 8)))

◆ TO_SPECIAL

#define TO_SPECIAL (   a,
 
)
Value:
((a) == KS_SPECIAL ? K_SPECIAL : (a) == \
KS_ZERO ? K_ZERO : TERMCAP2KEY(a, b))

get single int code from second byte after K_SPECIAL

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Flags for replace_termcodes()

Enumerator
REPTERM_FROM_PART 
REPTERM_DO_LT 
REPTERM_NO_SPECIAL 
REPTERM_NO_SIMPLIFY 

◆ anonymous enum

anonymous enum

Flags for find_special_key()

Enumerator
FSK_KEYCODE 

prefer key code, e.g. K_DEL in place of DEL

FSK_KEEP_X_KEY 

don’t translate xHome to Home key

FSK_IN_STRING 

in string, double quote is escaped

FSK_SIMPLIFY 

simplify <C-H>, etc.

◆ key_extra

enum key_extra

Codes for keys that do not have a termcap name. The numbers are fixed to make sure that recorded key sequences remain valid. Add new entries at the end, not halfway.

K_SPECIAL KS_EXTRA KE_xxx

Entries must be in the range 0x02-0x7f (see comment at K_SPECIAL).

Enumerator
KE_S_UP 
KE_S_DOWN 
KE_S_F1 
KE_S_F2 
KE_S_F3 
KE_S_F4 
KE_S_F5 
KE_S_F6 
KE_S_F7 
KE_S_F8 
KE_S_F9 
KE_S_F10 
KE_S_F11 
KE_S_F12 
KE_S_F13 
KE_S_F14 
KE_S_F15 
KE_S_F16 
KE_S_F17 
KE_S_F18 
KE_S_F19 
KE_S_F20 
KE_S_F21 
KE_S_F22 
KE_S_F23 
KE_S_F24 
KE_S_F25 
KE_S_F26 
KE_S_F27 
KE_S_F28 
KE_S_F29 
KE_S_F30 
KE_S_F31 
KE_S_F32 
KE_S_F33 
KE_S_F34 
KE_S_F35 
KE_S_F36 
KE_S_F37 
KE_MOUSE 
KE_LEFTMOUSE 
KE_LEFTDRAG 
KE_LEFTRELEASE 
KE_MIDDLEMOUSE 
KE_MIDDLEDRAG 
KE_MIDDLERELEASE 
KE_RIGHTMOUSE 
KE_RIGHTDRAG 
KE_RIGHTRELEASE 
KE_IGNORE 
KE_TAB 
KE_S_TAB_OLD 
KE_XF1 
KE_XF2 
KE_XF3 
KE_XF4 
KE_XEND 
KE_ZEND 
KE_XHOME 
KE_ZHOME 
KE_XUP 
KE_XDOWN 
KE_XLEFT 
KE_XRIGHT 
KE_LEFTMOUSE_NM 
KE_LEFTRELEASE_NM 
KE_S_XF1 
KE_S_XF2 
KE_S_XF3 
KE_S_XF4 
KE_MOUSEDOWN 
KE_MOUSEUP 
KE_MOUSELEFT 
KE_MOUSERIGHT 
KE_KINS 
KE_KDEL 
KE_SNR 
KE_PLUG 
KE_CMDWIN 
KE_C_LEFT 
KE_C_RIGHT 
KE_C_HOME 
KE_C_END 
KE_X1MOUSE 
KE_X1DRAG 
KE_X1RELEASE 
KE_X2MOUSE 
KE_X2DRAG 
KE_X2RELEASE 
KE_DROP 
KE_NOP 
KE_MOUSEMOVE 
KE_EVENT 
KE_LUA 
KE_COMMAND 
p_cpo
p_cpo
Definition: funcs.c:7769
KEY2TERMCAP1
#define KEY2TERMCAP1(x)
Definition: keycodes.h:76
KS_ZERO
#define KS_ZERO
Definition: keycodes.h:33
KEY2TERMCAP0
#define KEY2TERMCAP0(x)
Definition: keycodes.h:75
K_SPECIAL
#define K_SPECIAL
Definition: keycodes.h:19
KS_SPECIAL
#define KS_SPECIAL
Definition: keycodes.h:37
CPO_BSLASH
#define CPO_BSLASH
Definition: option_defs.h:94
vim_strchr
char * vim_strchr(const char *const string, const int c) FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT
Definition: strings.c:476
FLAG_CPO_BSLASH
#define FLAG_CPO_BSLASH
Definition: keycodes.h:475
MOD_MASK_3CLICK
#define MOD_MASK_3CLICK
Definition: keycodes.h:455
K_ZERO
#define K_ZERO
Definition: keycodes.h:226
MOD_MASK_2CLICK
#define MOD_MASK_2CLICK
Definition: keycodes.h:454
KE_FILLER
#define KE_FILLER
Filler used after KS_SPECIAL and others.
Definition: keycodes.h:70
TERMCAP2KEY
#define TERMCAP2KEY(a, b)
Definition: keycodes.h:74
NULL
return NULL
Definition: eval.c:8059