mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07:00
feat(keymap): add F38-F63 keys (#17893)
This commit is contained in:
parent
b2cb05b53e
commit
9da0023a66
@ -221,6 +221,35 @@ static const struct key_name_entry {
|
||||
{ K_F35, "F35" },
|
||||
{ K_F36, "F36" },
|
||||
{ K_F37, "F37" },
|
||||
{ K_F38, "F38" },
|
||||
{ K_F39, "F39" },
|
||||
{ K_F40, "F40" },
|
||||
|
||||
{ K_F41, "F41" },
|
||||
{ K_F42, "F42" },
|
||||
{ K_F43, "F43" },
|
||||
{ K_F44, "F44" },
|
||||
{ K_F45, "F45" },
|
||||
{ K_F46, "F46" },
|
||||
{ K_F47, "F47" },
|
||||
{ K_F48, "F48" },
|
||||
{ K_F49, "F49" },
|
||||
{ K_F50, "F50" },
|
||||
|
||||
{ K_F51, "F51" },
|
||||
{ K_F52, "F52" },
|
||||
{ K_F53, "F53" },
|
||||
{ K_F54, "F54" },
|
||||
{ K_F55, "F55" },
|
||||
{ K_F56, "F56" },
|
||||
{ K_F57, "F57" },
|
||||
{ K_F58, "F58" },
|
||||
{ K_F59, "F59" },
|
||||
{ K_F60, "F60" },
|
||||
|
||||
{ K_F61, "F61" },
|
||||
{ K_F62, "F62" },
|
||||
{ K_F63, "F63" },
|
||||
|
||||
{ K_XF1, "xF1" },
|
||||
{ K_XF2, "xF2" },
|
||||
|
@ -325,6 +325,35 @@ enum key_extra {
|
||||
#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')
|
||||
|
||||
// extra set of shifted function keys F1-F4, for vt100 compatible xterm
|
||||
#define K_S_XF1 TERMCAP2KEY(KS_EXTRA, KE_S_XF1)
|
||||
|
@ -1205,6 +1205,58 @@ static VTermKey convert_key(int key, VTermModifier *statep)
|
||||
return VTERM_KEY_FUNCTION(36);
|
||||
case K_F37:
|
||||
return VTERM_KEY_FUNCTION(37);
|
||||
case K_F38:
|
||||
return VTERM_KEY_FUNCTION(38);
|
||||
case K_F39:
|
||||
return VTERM_KEY_FUNCTION(39);
|
||||
case K_F40:
|
||||
return VTERM_KEY_FUNCTION(40);
|
||||
case K_F41:
|
||||
return VTERM_KEY_FUNCTION(41);
|
||||
case K_F42:
|
||||
return VTERM_KEY_FUNCTION(42);
|
||||
case K_F43:
|
||||
return VTERM_KEY_FUNCTION(43);
|
||||
case K_F44:
|
||||
return VTERM_KEY_FUNCTION(44);
|
||||
case K_F45:
|
||||
return VTERM_KEY_FUNCTION(45);
|
||||
case K_F46:
|
||||
return VTERM_KEY_FUNCTION(46);
|
||||
case K_F47:
|
||||
return VTERM_KEY_FUNCTION(47);
|
||||
case K_F48:
|
||||
return VTERM_KEY_FUNCTION(48);
|
||||
case K_F49:
|
||||
return VTERM_KEY_FUNCTION(49);
|
||||
case K_F50:
|
||||
return VTERM_KEY_FUNCTION(50);
|
||||
case K_F51:
|
||||
return VTERM_KEY_FUNCTION(51);
|
||||
case K_F52:
|
||||
return VTERM_KEY_FUNCTION(52);
|
||||
case K_F53:
|
||||
return VTERM_KEY_FUNCTION(53);
|
||||
case K_F54:
|
||||
return VTERM_KEY_FUNCTION(54);
|
||||
case K_F55:
|
||||
return VTERM_KEY_FUNCTION(55);
|
||||
case K_F56:
|
||||
return VTERM_KEY_FUNCTION(56);
|
||||
case K_F57:
|
||||
return VTERM_KEY_FUNCTION(57);
|
||||
case K_F58:
|
||||
return VTERM_KEY_FUNCTION(58);
|
||||
case K_F59:
|
||||
return VTERM_KEY_FUNCTION(59);
|
||||
case K_F60:
|
||||
return VTERM_KEY_FUNCTION(60);
|
||||
case K_F61:
|
||||
return VTERM_KEY_FUNCTION(61);
|
||||
case K_F62:
|
||||
return VTERM_KEY_FUNCTION(62);
|
||||
case K_F63:
|
||||
return VTERM_KEY_FUNCTION(63);
|
||||
|
||||
default:
|
||||
return VTERM_KEY_NONE;
|
||||
|
@ -52,6 +52,8 @@ describe('mappings', function()
|
||||
add_mapping('<kenter>','<kenter>')
|
||||
add_mapping('<kcomma>','<kcomma>')
|
||||
add_mapping('<kequal>','<kequal>')
|
||||
add_mapping('<f38>','<f38>')
|
||||
add_mapping('<f63>','<f63>')
|
||||
end)
|
||||
|
||||
it('ok', function()
|
||||
@ -108,6 +110,8 @@ describe('mappings', function()
|
||||
check_mapping('<KPComma>','<kcomma>')
|
||||
check_mapping('<kequal>','<kequal>')
|
||||
check_mapping('<KPEquals>','<kequal>')
|
||||
check_mapping('<f38>','<f38>')
|
||||
check_mapping('<f63>','<f63>')
|
||||
end)
|
||||
|
||||
it('support meta + multibyte char mapping', function()
|
||||
|
Loading…
Reference in New Issue
Block a user