diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/getchar.c | 2 | ||||
| -rw-r--r-- | src/nvim/keymap.c | 6 | ||||
| -rw-r--r-- | src/nvim/keymap.h | 61 | ||||
| -rw-r--r-- | src/nvim/main.c | 2 | ||||
| -rw-r--r-- | src/nvim/terminal.c | 15 | 
5 files changed, 50 insertions, 36 deletions
| diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c index 87a8d9b53e..c29ef9f822 100644 --- a/src/nvim/getchar.c +++ b/src/nvim/getchar.c @@ -1431,6 +1431,8 @@ int vgetc(void)          case K_KMULTIPLY:   c = '*'; break;          case K_KENTER:      c = CAR; break;          case K_KPOINT:      c = '.'; break; +        case K_KCOMMA:      c = ','; break; +        case K_KEQUAL:      c = '='; break;          case K_K0:          c = '0'; break;          case K_K1:          c = '1'; break;          case K_K2:          c = '2'; break; diff --git a/src/nvim/keymap.c b/src/nvim/keymap.c index ea04f1251e..9145813525 100644 --- a/src/nvim/keymap.c +++ b/src/nvim/keymap.c @@ -263,6 +263,10 @@ static const struct key_name_entry {    { K_KENTER,          "kEnter" },    { K_KENTER,          "KPEnter" },    { K_KPOINT,          "kPoint" }, +  { K_KCOMMA,          "kComma" }, +  { K_KCOMMA,          "KPComma" }, +  { K_KEQUAL,          "kEqual" }, +  { K_KEQUAL,          "KPEquals" },    { K_K0,              "k0" },    { K_K1,              "k1" }, @@ -684,7 +688,7 @@ int find_special_key(const char_u **srcp, const size_t src_len, int *const modp,          *modp = modifiers;          *srcp = end_of_name;          return key; -      } +      }  // else { ELOG("unknown key: '%s'", src); }      }    }    return 0; diff --git a/src/nvim/keymap.h b/src/nvim/keymap.h index 92d8777382..7f0483826d 100644 --- a/src/nvim/keymap.h +++ b/src/nvim/keymap.h @@ -256,13 +256,13 @@ enum key_extra {  #define K_ZERO          TERMCAP2KEY(KS_ZERO, KE_FILLER)  #define K_UP            TERMCAP2KEY('k', 'u') -#define K_KUP           TERMCAP2KEY('K', 'u')   /* keypad up */ +#define K_KUP           TERMCAP2KEY('K', 'u')   // keypad up  #define K_DOWN          TERMCAP2KEY('k', 'd') -#define K_KDOWN         TERMCAP2KEY('K', 'd')   /* keypad down */ +#define K_KDOWN         TERMCAP2KEY('K', 'd')   // keypad down  #define K_LEFT          TERMCAP2KEY('k', 'l') -#define K_KLEFT         TERMCAP2KEY('K', 'l')   /* keypad left */ +#define K_KLEFT         TERMCAP2KEY('K', 'l')   // keypad left  #define K_RIGHT         TERMCAP2KEY('k', 'r') -#define K_KRIGHT        TERMCAP2KEY('K', 'r')   /* keypad right */ +#define K_KRIGHT        TERMCAP2KEY('K', 'r')   // keypad right  #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') @@ -288,7 +288,7 @@ enum key_extra {  #define K_XLEFT         TERMCAP2KEY(KS_EXTRA, KE_XLEFT)  #define K_XRIGHT        TERMCAP2KEY(KS_EXTRA, KE_XRIGHT) -#define K_F1            TERMCAP2KEY('k', '1')   /* function keys */ +#define K_F1            TERMCAP2KEY('k', '1')   // function keys  #define K_F2            TERMCAP2KEY('k', '2')  #define K_F3            TERMCAP2KEY('k', '3')  #define K_F4            TERMCAP2KEY('k', '4') @@ -335,7 +335,7 @@ enum key_extra {  #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)  /* shifted func. keys */ +#define K_S_F1          TERMCAP2KEY(KS_EXTRA, KE_S_F1)  // shifted func. keys  #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) @@ -360,36 +360,39 @@ enum key_extra {  #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')   /* keypad home (upper left) */ +#define K_KHOME         TERMCAP2KEY('K', '1')   // keypad home (upper left)  #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')   /* keypad end (lower left) */ +#define K_KEND          TERMCAP2KEY('K', '4')   // keypad end (lower left)  #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')   /* keypad pageup (upper R.) */ -#define K_KPAGEDOWN     TERMCAP2KEY('K', '5')   /* keypad pagedown (lower R.) */ -#define K_KORIGIN       TERMCAP2KEY('K', '2')   /* keypad center */ - -#define K_KPLUS         TERMCAP2KEY('K', '6')   /* keypad plus */ -#define K_KMINUS        TERMCAP2KEY('K', '7')   /* keypad minus */ -#define K_KDIVIDE       TERMCAP2KEY('K', '8')   /* keypad / */ -#define K_KMULTIPLY     TERMCAP2KEY('K', '9')   /* keypad * */ -#define K_KENTER        TERMCAP2KEY('K', 'A')   /* keypad Enter */ -#define K_KPOINT        TERMCAP2KEY('K', 'B')   /* keypad . or ,*/ - -#define K_K0            TERMCAP2KEY('K', 'C')   /* keypad 0 */ -#define K_K1            TERMCAP2KEY('K', 'D')   /* keypad 1 */ -#define K_K2            TERMCAP2KEY('K', 'E')   /* keypad 2 */ -#define K_K3            TERMCAP2KEY('K', 'F')   /* keypad 3 */ -#define K_K4            TERMCAP2KEY('K', 'G')   /* keypad 4 */ -#define K_K5            TERMCAP2KEY('K', 'H')   /* keypad 5 */ -#define K_K6            TERMCAP2KEY('K', 'I')   /* keypad 6 */ -#define K_K7            TERMCAP2KEY('K', 'J')   /* keypad 7 */ -#define K_K8            TERMCAP2KEY('K', 'K')   /* keypad 8 */ -#define K_K9            TERMCAP2KEY('K', 'L')   /* keypad 9 */ +#define K_KPAGEUP       TERMCAP2KEY('K', '3')   // keypad pageup (upper R.) +#define K_KPAGEDOWN     TERMCAP2KEY('K', '5')   // keypad pagedown (lower R.) +#define K_KORIGIN       TERMCAP2KEY('K', '2')   // keypad center + +#define K_KPLUS         TERMCAP2KEY('K', '6')   // keypad plus +#define K_KMINUS        TERMCAP2KEY('K', '7')   // keypad minus +#define K_KDIVIDE       TERMCAP2KEY('K', '8')   // keypad / +#define K_KMULTIPLY     TERMCAP2KEY('K', '9')   // keypad * +#define K_KENTER        TERMCAP2KEY('K', 'A')   // keypad Enter +#define K_KPOINT        TERMCAP2KEY('K', 'B')   // keypad . or , + +#define K_K0            TERMCAP2KEY('K', 'C')   // keypad 0 +#define K_K1            TERMCAP2KEY('K', 'D')   // keypad 1 +#define K_K2            TERMCAP2KEY('K', 'E')   // keypad 2 +#define K_K3            TERMCAP2KEY('K', 'F')   // keypad 3 +#define K_K4            TERMCAP2KEY('K', 'G')   // keypad 4 +#define K_K5            TERMCAP2KEY('K', 'H')   // keypad 5 +#define K_K6            TERMCAP2KEY('K', 'I')   // keypad 6 +#define K_K7            TERMCAP2KEY('K', 'J')   // keypad 7 +#define K_K8            TERMCAP2KEY('K', 'K')   // keypad 8 +#define K_K9            TERMCAP2KEY('K', 'L')   // keypad 9 + +#define K_KCOMMA        TERMCAP2KEY('K', 'M')   // keypad comma +#define K_KEQUAL        TERMCAP2KEY('K', 'N')   // keypad equal  #define K_MOUSE         TERMCAP2KEY(KS_MOUSE, KE_FILLER)  #define K_MENU          TERMCAP2KEY(KS_MENU, KE_FILLER) diff --git a/src/nvim/main.c b/src/nvim/main.c index aa7f93c15e..48feeea669 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -551,7 +551,7 @@ int main(int argc, char **argv)    RedrawingDisabled = 0;    redraw_all_later(NOT_VALID); -  no_wait_return = FALSE; +  no_wait_return = false;    // 'autochdir' has been postponed.    do_autochdir(); diff --git a/src/nvim/terminal.c b/src/nvim/terminal.c index ffe650f416..4ef37f14d2 100644 --- a/src/nvim/terminal.c +++ b/src/nvim/terminal.c @@ -878,15 +878,20 @@ static VTermKey convert_key(int key, VTermModifier *statep)      case K_KINS:      return VTERM_KEY_KP_0;      case K_K1:        FALLTHROUGH;      case K_KEND:      return VTERM_KEY_KP_1; -    case K_K2:        return VTERM_KEY_KP_2; +    case K_K2:        FALLTHROUGH; +    case K_KDOWN:     return VTERM_KEY_KP_2;      case K_K3:        FALLTHROUGH;      case K_KPAGEDOWN: return VTERM_KEY_KP_3; -    case K_K4:        return VTERM_KEY_KP_4; -    case K_K5:        return VTERM_KEY_KP_5; -    case K_K6:        return VTERM_KEY_KP_6; +    case K_K4:        FALLTHROUGH; +    case K_KLEFT:     return VTERM_KEY_KP_4; +    case K_K5:        FALLTHROUGH; +    case K_KORIGIN:   return VTERM_KEY_KP_5; +    case K_K6:        FALLTHROUGH; +    case K_KRIGHT:    return VTERM_KEY_KP_6;      case K_K7:        FALLTHROUGH;      case K_KHOME:     return VTERM_KEY_KP_7; -    case K_K8:        return VTERM_KEY_KP_8; +    case K_K8:        FALLTHROUGH; +    case K_KUP:       return VTERM_KEY_KP_8;      case K_K9:        FALLTHROUGH;      case K_KPAGEUP:   return VTERM_KEY_KP_9;      case K_KDEL:      FALLTHROUGH; | 
