comparison src/term.c @ 14252:b557af8dedab v8.1.0142

patch 8.1.0142: xterm and vt320 builtin termcap missing keypad keys commit https://github.com/vim/vim/commit/e6882bdc44efbcea0af647f5759a8f48cf29e27c Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jul 3 17:16:59 2018 +0200 patch 8.1.0142: xterm and vt320 builtin termcap missing keypad keys Problem: Xterm and vt320 builtin termcap missing keypad keys. Solution: Add the escape sequences. (Kouichi Iwamoto, closes https://github.com/vim/vim/issues/2973)
author Christian Brabandt <cb@256bit.org>
date Tue, 03 Jul 2018 17:30:08 +0200
parents 85e0442b7a04
children 89dcceaa5c22
comparison
equal deleted inserted replaced
14251:6e4f86b1680a 14252:b557af8dedab
669 669
670 # if defined(VMS) || defined(ALL_BUILTIN_TCAPS) 670 # if defined(VMS) || defined(ALL_BUILTIN_TCAPS)
671 /* 671 /*
672 * VT320 is working as an ANSI terminal compatible DEC terminal. 672 * VT320 is working as an ANSI terminal compatible DEC terminal.
673 * (it covers VT1x0, VT2x0 and VT3x0 up to VT320 on VMS as well) 673 * (it covers VT1x0, VT2x0 and VT3x0 up to VT320 on VMS as well)
674 * Note: K_F1...K_F5 are for internal use, should not be defined.
675 * TODO:- rewrite ESC[ codes to CSI 674 * TODO:- rewrite ESC[ codes to CSI
676 * - keyboard languages (CSI ? 26 n) 675 * - keyboard languages (CSI ? 26 n)
677 */ 676 */
678 {(int)KS_NAME, "vt320"}, 677 {(int)KS_NAME, "vt320"},
679 {(int)KS_CE, IF_EB("\033[K", ESC_STR "[K")}, 678 {(int)KS_CE, IF_EB("\033[K", ESC_STR "[K")},
721 # endif 720 # endif
722 {K_UP, IF_EB("\033[A", ESC_STR "[A")}, 721 {K_UP, IF_EB("\033[A", ESC_STR "[A")},
723 {K_DOWN, IF_EB("\033[B", ESC_STR "[B")}, 722 {K_DOWN, IF_EB("\033[B", ESC_STR "[B")},
724 {K_RIGHT, IF_EB("\033[C", ESC_STR "[C")}, 723 {K_RIGHT, IF_EB("\033[C", ESC_STR "[C")},
725 {K_LEFT, IF_EB("\033[D", ESC_STR "[D")}, 724 {K_LEFT, IF_EB("\033[D", ESC_STR "[D")},
725 // Note: cursor key sequences for application cursor mode are omitted,
726 // because they interfere with typed commands: <Esc>OA.
726 {K_F1, IF_EB("\033[11~", ESC_STR "[11~")}, 727 {K_F1, IF_EB("\033[11~", ESC_STR "[11~")},
727 {K_F2, IF_EB("\033[12~", ESC_STR "[12~")}, 728 {K_F2, IF_EB("\033[12~", ESC_STR "[12~")},
728 {K_F3, IF_EB("\033[13~", ESC_STR "[13~")}, 729 {K_F3, IF_EB("\033[13~", ESC_STR "[13~")},
729 {K_F4, IF_EB("\033[14~", ESC_STR "[14~")}, 730 {K_F4, IF_EB("\033[14~", ESC_STR "[14~")},
730 {K_F5, IF_EB("\033[15~", ESC_STR "[15~")}, 731 {K_F5, IF_EB("\033[15~", ESC_STR "[15~")},
747 {K_DEL, IF_EB("\033[3~", ESC_STR "[3~")}, 748 {K_DEL, IF_EB("\033[3~", ESC_STR "[3~")},
748 {K_HOME, IF_EB("\033[1~", ESC_STR "[1~")}, 749 {K_HOME, IF_EB("\033[1~", ESC_STR "[1~")},
749 {K_END, IF_EB("\033[4~", ESC_STR "[4~")}, 750 {K_END, IF_EB("\033[4~", ESC_STR "[4~")},
750 {K_PAGEUP, IF_EB("\033[5~", ESC_STR "[5~")}, 751 {K_PAGEUP, IF_EB("\033[5~", ESC_STR "[5~")},
751 {K_PAGEDOWN, IF_EB("\033[6~", ESC_STR "[6~")}, 752 {K_PAGEDOWN, IF_EB("\033[6~", ESC_STR "[6~")},
753 // These sequences starting with <Esc> O may interfere with what the user
754 // is typing. Remove these if that bothers you.
752 {K_KPLUS, IF_EB("\033Ok", ESC_STR "Ok")}, /* keypad plus */ 755 {K_KPLUS, IF_EB("\033Ok", ESC_STR "Ok")}, /* keypad plus */
753 {K_KMINUS, IF_EB("\033Om", ESC_STR "Om")}, /* keypad minus */ 756 {K_KMINUS, IF_EB("\033Om", ESC_STR "Om")}, /* keypad minus */
754 {K_KDIVIDE, IF_EB("\033Oo", ESC_STR "Oo")}, /* keypad / */ 757 {K_KDIVIDE, IF_EB("\033Oo", ESC_STR "Oo")}, /* keypad / */
755 {K_KMULTIPLY, IF_EB("\033Oj", ESC_STR "Oj")}, /* keypad * */ 758 {K_KMULTIPLY, IF_EB("\033Oj", ESC_STR "Oj")}, /* keypad * */
756 {K_KENTER, IF_EB("\033OM", ESC_STR "OM")}, /* keypad Enter */ 759 {K_KENTER, IF_EB("\033OM", ESC_STR "OM")}, /* keypad Enter */
760 {K_K0, IF_EB("\033Op", ESC_STR "Op")}, /* keypad 0 */
761 {K_K1, IF_EB("\033Oq", ESC_STR "Oq")}, /* keypad 1 */
762 {K_K2, IF_EB("\033Or", ESC_STR "Or")}, /* keypad 2 */
763 {K_K3, IF_EB("\033Os", ESC_STR "Os")}, /* keypad 3 */
764 {K_K4, IF_EB("\033Ot", ESC_STR "Ot")}, /* keypad 4 */
765 {K_K5, IF_EB("\033Ou", ESC_STR "Ou")}, /* keypad 5 */
766 {K_K6, IF_EB("\033Ov", ESC_STR "Ov")}, /* keypad 6 */
767 {K_K7, IF_EB("\033Ow", ESC_STR "Ow")}, /* keypad 7 */
768 {K_K8, IF_EB("\033Ox", ESC_STR "Ox")}, /* keypad 8 */
769 {K_K9, IF_EB("\033Oy", ESC_STR "Oy")}, /* keypad 9 */
757 {K_BS, "\x7f"}, /* for some reason 0177 doesn't work */ 770 {K_BS, "\x7f"}, /* for some reason 0177 doesn't work */
758 # endif 771 # endif
759 772
760 # if defined(ALL_BUILTIN_TCAPS) || defined(__MINT__) 773 # if defined(ALL_BUILTIN_TCAPS) || defined(__MINT__)
761 /* 774 /*
958 {K_KMINUS, IF_EB("\033O*m", ESC_STR "O*m")}, /* keypad minus */ 971 {K_KMINUS, IF_EB("\033O*m", ESC_STR "O*m")}, /* keypad minus */
959 {K_KDIVIDE, IF_EB("\033O*o", ESC_STR "O*o")}, /* keypad / */ 972 {K_KDIVIDE, IF_EB("\033O*o", ESC_STR "O*o")}, /* keypad / */
960 {K_KMULTIPLY, IF_EB("\033O*j", ESC_STR "O*j")}, /* keypad * */ 973 {K_KMULTIPLY, IF_EB("\033O*j", ESC_STR "O*j")}, /* keypad * */
961 {K_KENTER, IF_EB("\033O*M", ESC_STR "O*M")}, /* keypad Enter */ 974 {K_KENTER, IF_EB("\033O*M", ESC_STR "O*M")}, /* keypad Enter */
962 {K_KPOINT, IF_EB("\033O*n", ESC_STR "O*n")}, /* keypad . */ 975 {K_KPOINT, IF_EB("\033O*n", ESC_STR "O*n")}, /* keypad . */
976 {K_K0, IF_EB("\033O*p", ESC_STR "O*p")}, /* keypad 0 */
977 {K_K1, IF_EB("\033O*q", ESC_STR "O*q")}, /* keypad 1 */
978 {K_K2, IF_EB("\033O*r", ESC_STR "O*r")}, /* keypad 2 */
979 {K_K3, IF_EB("\033O*s", ESC_STR "O*s")}, /* keypad 3 */
980 {K_K4, IF_EB("\033O*t", ESC_STR "O*t")}, /* keypad 4 */
981 {K_K5, IF_EB("\033O*u", ESC_STR "O*u")}, /* keypad 5 */
982 {K_K6, IF_EB("\033O*v", ESC_STR "O*v")}, /* keypad 6 */
983 {K_K7, IF_EB("\033O*w", ESC_STR "O*w")}, /* keypad 7 */
984 {K_K8, IF_EB("\033O*x", ESC_STR "O*x")}, /* keypad 8 */
985 {K_K9, IF_EB("\033O*y", ESC_STR "O*y")}, /* keypad 9 */
963 {K_KDEL, IF_EB("\033[3;*~", ESC_STR "[3;*~")}, /* keypad Del */ 986 {K_KDEL, IF_EB("\033[3;*~", ESC_STR "[3;*~")}, /* keypad Del */
964 {K_PS, IF_EB("\033[200~", ESC_STR "[200~")}, /* paste start */ 987 {K_PS, IF_EB("\033[200~", ESC_STR "[200~")}, /* paste start */
965 {K_PE, IF_EB("\033[201~", ESC_STR "[201~")}, /* paste end */ 988 {K_PE, IF_EB("\033[201~", ESC_STR "[201~")}, /* paste end */
966 989
967 {BT_EXTRA_KEYS, ""}, 990 {BT_EXTRA_KEYS, ""},