aboutsummaryrefslogtreecommitdiff
path: root/src/term.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/term.c')
-rw-r--r--src/term.c4732
1 files changed, 0 insertions, 4732 deletions
diff --git a/src/term.c b/src/term.c
deleted file mode 100644
index 61dc6f4631..0000000000
--- a/src/term.c
+++ /dev/null
@@ -1,4732 +0,0 @@
-/*
- * VIM - Vi IMproved by Bram Moolenaar
- *
- * Do ":help uganda" in Vim to read copying and usage conditions.
- * Do ":help credits" in Vim to see a list of people who contributed.
- * See README.txt for an overview of the Vim source code.
- */
-/*
- *
- * term.c: functions for controlling the terminal
- *
- * primitive termcap support for Win32 included
- *
- * NOTE: padding and variable substitution is not performed,
- * when compiling without HAVE_TGETENT, we use tputs() and tgoto() dummies.
- */
-
-/*
- * Some systems have a prototype for tgetstr() with (char *) instead of
- * (char **). This define removes that prototype. We include our own prototype
- * below.
- */
-
-#define tgetstr tgetstr_defined_wrong
-#include <string.h>
-
-#include "vim.h"
-#include "term.h"
-#include "buffer.h"
-#include "charset.h"
-#include "edit.h"
-#include "eval.h"
-#include "ex_getln.h"
-#include "fileio.h"
-#include "getchar.h"
-#include "message.h"
-#include "misc2.h"
-#include "garray.h"
-#include "keymap.h"
-#include "memory.h"
-#include "move.h"
-#include "normal.h"
-#include "option.h"
-#include "os_unix.h"
-#include "popupmnu.h"
-#include "screen.h"
-#include "syntax.h"
-#include "ui.h"
-#include "window.h"
-#include "os/os.h"
-#include "os/time.h"
-
-#ifdef HAVE_TGETENT
-# ifdef HAVE_TERMIOS_H
-# include <termios.h> /* seems to be required for some Linux */
-# endif
-# ifdef HAVE_TERMCAP_H
-# include <termcap.h>
-# endif
-
-/*
- * A few linux systems define outfuntype in termcap.h to be used as the third
- * argument for tputs().
- */
-# define TPUTSFUNCAST (int (*)())
-#endif
-
-#undef tgetstr
-
-/*
- * Here are the builtin termcap entries. They are not stored as complete
- * structures with all entries, as such a structure is too big.
- *
- * The entries are compact, therefore they normally are included even when
- * HAVE_TGETENT is defined. When HAVE_TGETENT is defined, the builtin entries
- * can be accessed with "builtin_amiga", "builtin_ansi", "builtin_debug", etc.
- *
- * Each termcap is a list of builtin_term structures. It always starts with
- * KS_NAME, which separates the entries. See parse_builtin_tcap() for all
- * details.
- * bt_entry is either a KS_xxx code (>= 0), or a K_xxx code.
- *
- * Entries marked with "guessed" may be wrong.
- */
-struct builtin_term {
- int bt_entry;
- char *bt_string;
-};
-
-/* start of keys that are not directly used by Vim but can be mapped */
-#define BT_EXTRA_KEYS 0x101
-
-static struct builtin_term *find_builtin_term(char_u *name);
-static void parse_builtin_tcap(char_u *s);
-static void term_color(char_u *s, int n);
-static void gather_termleader(void);
-static void req_codes_from_term(void);
-static void req_more_codes_from_term(void);
-static void got_code_from_term(char_u *code, int len);
-static void check_for_codes_from_term(void);
-#if defined(FEAT_GUI) \
- || (defined(FEAT_MOUSE) && (!defined(UNIX) || defined(FEAT_MOUSE_XTERM) \
- || defined(FEAT_MOUSE_GPM) || defined(FEAT_SYSMOUSE)))
-static int get_bytes_from_buf(char_u *, char_u *, int);
-#endif
-static void del_termcode_idx(int idx);
-static int term_is_builtin(char_u *name);
-static int term_7to8bit(char_u *p);
-static void switch_to_8bit(void);
-
-#ifdef HAVE_TGETENT
-static char_u *tgetent_error(char_u *, char_u *);
-
-/*
- * Here is our own prototype for tgetstr(), any prototypes from the include
- * files have been disabled by the define at the start of this file.
- */
-char *tgetstr(char *, char **);
-
-/* Change this to "if 1" to debug what happens with termresponse. */
-# define LOG_TR(msg)
-/* Request Terminal Version status: */
-# define CRV_GET 1 /* send T_CRV when switched to RAW mode */
-# define CRV_SENT 2 /* did send T_CRV, waiting for answer */
-# define CRV_GOT 3 /* received T_CRV response */
-static int crv_status = CRV_GET;
-/* Request Cursor position report: */
-# define U7_GET 1 /* send T_U7 when switched to RAW mode */
-# define U7_SENT 2 /* did send T_U7, waiting for answer */
-# define U7_GOT 3 /* received T_U7 response */
-static int u7_status = U7_GET;
-
-/*
- * Don't declare these variables if termcap.h contains them.
- * Autoconf checks if these variables should be declared extern (not all
- * systems have them).
- * Some versions define ospeed to be speed_t, but that is incompatible with
- * BSD, where ospeed is short and speed_t is long.
- */
-# ifndef HAVE_OSPEED
-# ifdef OSPEED_EXTERN
-extern short ospeed;
-# else
-short ospeed;
-# endif
-# endif
-# ifndef HAVE_UP_BC_PC
-# ifdef UP_BC_PC_EXTERN
-extern char *UP, *BC, PC;
-# else
-char *UP, *BC, PC;
-# endif
-# endif
-
-# define TGETSTR(s, p) vim_tgetstr((s), (p))
-# define TGETENT(b, t) tgetent((char *)(b), (char *)(t))
-static char_u *vim_tgetstr(char *s, char_u **pp);
-#endif /* HAVE_TGETENT */
-
-static int detected_8bit = FALSE; /* detected 8-bit terminal */
-
-static struct builtin_term builtin_termcaps[] =
-{
-
-
-#ifndef NO_BUILTIN_TCAPS
-
-# if defined(ALL_BUILTIN_TCAPS)
- /*
- * Amiga console window, default for Amiga
- */
- {(int)KS_NAME, "amiga"},
- {(int)KS_CE, "\033[K"},
- {(int)KS_CD, "\033[J"},
- {(int)KS_AL, "\033[L"},
-# ifdef TERMINFO
- {(int)KS_CAL, "\033[%p1%dL"},
-# else
- {(int)KS_CAL, "\033[%dL"},
-# endif
- {(int)KS_DL, "\033[M"},
-# ifdef TERMINFO
- {(int)KS_CDL, "\033[%p1%dM"},
-# else
- {(int)KS_CDL, "\033[%dM"},
-# endif
- {(int)KS_CL, "\014"},
- {(int)KS_VI, "\033[0 p"},
- {(int)KS_VE, "\033[1 p"},
- {(int)KS_ME, "\033[0m"},
- {(int)KS_MR, "\033[7m"},
- {(int)KS_MD, "\033[1m"},
- {(int)KS_SE, "\033[0m"},
- {(int)KS_SO, "\033[33m"},
- {(int)KS_US, "\033[4m"},
- {(int)KS_UE, "\033[0m"},
- {(int)KS_CZH, "\033[3m"},
- {(int)KS_CZR, "\033[0m"},
- {(int)KS_MS, "y"},
- {(int)KS_UT, "y"}, /* guessed */
- {(int)KS_LE, "\b"},
-# ifdef TERMINFO
- {(int)KS_CM, "\033[%i%p1%d;%p2%dH"},
-# else
- {(int)KS_CM, "\033[%i%d;%dH"},
-# endif
-# ifdef TERMINFO
- {(int)KS_CRI, "\033[%p1%dC"},
-# else
- {(int)KS_CRI, "\033[%dC"},
-# endif
- {K_UP, "\233A"},
- {K_DOWN, "\233B"},
- {K_LEFT, "\233D"},
- {K_RIGHT, "\233C"},
- {K_S_UP, "\233T"},
- {K_S_DOWN, "\233S"},
- {K_S_LEFT, "\233 A"},
- {K_S_RIGHT, "\233 @"},
- {K_S_TAB, "\233Z"},
- {K_F1, "\233\060~"}, /* some compilers don't dig "\2330" */
- {K_F2, "\233\061~"},
- {K_F3, "\233\062~"},
- {K_F4, "\233\063~"},
- {K_F5, "\233\064~"},
- {K_F6, "\233\065~"},
- {K_F7, "\233\066~"},
- {K_F8, "\233\067~"},
- {K_F9, "\233\070~"},
- {K_F10, "\233\071~"},
- {K_S_F1, "\233\061\060~"},
- {K_S_F2, "\233\061\061~"},
- {K_S_F3, "\233\061\062~"},
- {K_S_F4, "\233\061\063~"},
- {K_S_F5, "\233\061\064~"},
- {K_S_F6, "\233\061\065~"},
- {K_S_F7, "\233\061\066~"},
- {K_S_F8, "\233\061\067~"},
- {K_S_F9, "\233\061\070~"},
- {K_S_F10, "\233\061\071~"},
- {K_HELP, "\233?~"},
- {K_INS, "\233\064\060~"}, /* 101 key keyboard */
- {K_PAGEUP, "\233\064\061~"}, /* 101 key keyboard */
- {K_PAGEDOWN, "\233\064\062~"}, /* 101 key keyboard */
- {K_HOME, "\233\064\064~"}, /* 101 key keyboard */
- {K_END, "\233\064\065~"}, /* 101 key keyboard */
-
- {BT_EXTRA_KEYS, ""},
- {TERMCAP2KEY('#', '2'), "\233\065\064~"}, /* shifted home key */
- {TERMCAP2KEY('#', '3'), "\233\065\060~"}, /* shifted insert key */
- {TERMCAP2KEY('*', '7'), "\233\065\065~"}, /* shifted end key */
-# endif
-
-# if defined(__BEOS__) || defined(ALL_BUILTIN_TCAPS)
- /*
- * almost standard ANSI terminal, default for bebox
- */
- {(int)KS_NAME, "beos-ansi"},
- {(int)KS_CE, "\033[K"},
- {(int)KS_CD, "\033[J"},
- {(int)KS_AL, "\033[L"},
-# ifdef TERMINFO
- {(int)KS_CAL, "\033[%p1%dL"},
-# else
- {(int)KS_CAL, "\033[%dL"},
-# endif
- {(int)KS_DL, "\033[M"},
-# ifdef TERMINFO
- {(int)KS_CDL, "\033[%p1%dM"},
-# else
- {(int)KS_CDL, "\033[%dM"},
-# endif
-#ifdef BEOS_PR_OR_BETTER
-# ifdef TERMINFO
- {(int)KS_CS, "\033[%i%p1%d;%p2%dr"},
-# else
- {(int)KS_CS, "\033[%i%d;%dr"}, /* scroll region */
-# endif
-#endif
- {(int)KS_CL, "\033[H\033[2J"},
-#ifdef notyet
- {(int)KS_VI, "[VI]"}, /* cursor invisible, VT320: CSI ? 25 l */
- {(int)KS_VE, "[VE]"}, /* cursor visible, VT320: CSI ? 25 h */
-#endif
- {(int)KS_ME, "\033[m"}, /* normal mode */
- {(int)KS_MR, "\033[7m"}, /* reverse */
- {(int)KS_MD, "\033[1m"}, /* bold */
- {(int)KS_SO, "\033[31m"}, /* standout mode: red */
- {(int)KS_SE, "\033[m"}, /* standout end */
- {(int)KS_CZH, "\033[35m"}, /* italic: purple */
- {(int)KS_CZR, "\033[m"}, /* italic end */
- {(int)KS_US, "\033[4m"}, /* underscore mode */
- {(int)KS_UE, "\033[m"}, /* underscore end */
- {(int)KS_CCO, "8"}, /* allow 8 colors */
-# ifdef TERMINFO
- {(int)KS_CAB, "\033[4%p1%dm"}, /* set background color */
- {(int)KS_CAF, "\033[3%p1%dm"}, /* set foreground color */
-# else
- {(int)KS_CAB, "\033[4%dm"}, /* set background color */
- {(int)KS_CAF, "\033[3%dm"}, /* set foreground color */
-# endif
- {(int)KS_OP, "\033[m"}, /* reset colors */
- {(int)KS_MS, "y"}, /* safe to move cur in reverse mode */
- {(int)KS_UT, "y"}, /* guessed */
- {(int)KS_LE, "\b"},
-# ifdef TERMINFO
- {(int)KS_CM, "\033[%i%p1%d;%p2%dH"},
-# else
- {(int)KS_CM, "\033[%i%d;%dH"},
-# endif
- {(int)KS_SR, "\033M"},
-# ifdef TERMINFO
- {(int)KS_CRI, "\033[%p1%dC"},
-# else
- {(int)KS_CRI, "\033[%dC"},
-# endif
-#if defined(BEOS_DR8)
- {(int)KS_DB, ""}, /* hack! see screen.c */
-#endif
-
- {K_UP, "\033[A"},
- {K_DOWN, "\033[B"},
- {K_LEFT, "\033[D"},
- {K_RIGHT, "\033[C"},
-# endif
-
-# if defined(UNIX) || defined(ALL_BUILTIN_TCAPS) || defined(SOME_BUILTIN_TCAPS)
- /*
- * standard ANSI terminal, default for unix
- */
- {(int)KS_NAME, "ansi"},
- {(int)KS_CE, IF_EB("\033[K", ESC_STR "[K")},
- {(int)KS_AL, IF_EB("\033[L", ESC_STR "[L")},
-# ifdef TERMINFO
- {(int)KS_CAL, IF_EB("\033[%p1%dL", ESC_STR "[%p1%dL")},
-# else
- {(int)KS_CAL, IF_EB("\033[%dL", ESC_STR "[%dL")},
-# endif
- {(int)KS_DL, IF_EB("\033[M", ESC_STR "[M")},
-# ifdef TERMINFO
- {(int)KS_CDL, IF_EB("\033[%p1%dM", ESC_STR "[%p1%dM")},
-# else
- {(int)KS_CDL, IF_EB("\033[%dM", ESC_STR "[%dM")},
-# endif
- {(int)KS_CL, IF_EB("\033[H\033[2J", ESC_STR "[H" ESC_STR_nc "[2J")},
- {(int)KS_ME, IF_EB("\033[0m", ESC_STR "[0m")},
- {(int)KS_MR, IF_EB("\033[7m", ESC_STR "[7m")},
- {(int)KS_MS, "y"},
- {(int)KS_UT, "y"}, /* guessed */
- {(int)KS_LE, "\b"},
-# ifdef TERMINFO
- {(int)KS_CM, IF_EB("\033[%i%p1%d;%p2%dH", ESC_STR "[%i%p1%d;%p2%dH")},
-# else
- {(int)KS_CM, IF_EB("\033[%i%d;%dH", ESC_STR "[%i%d;%dH")},
-# endif
-# ifdef TERMINFO
- {(int)KS_CRI, IF_EB("\033[%p1%dC", ESC_STR "[%p1%dC")},
-# else
- {(int)KS_CRI, IF_EB("\033[%dC", ESC_STR "[%dC")},
-# endif
-# endif
-
-# if defined(ALL_BUILTIN_TCAPS)
- /*
- * These codes are valid when nansi.sys or equivalent has been installed.
- * Function keys on a PC are preceded with a NUL. These are converted into
- * K_NUL '\316' in os_inchar(), because we cannot handle NULs in key codes.
- * CTRL-arrow is used instead of SHIFT-arrow.
- */
- {(int)KS_NAME, "pcansi"},
- {(int)KS_DL, "\033[M"},
- {(int)KS_AL, "\033[L"},
- {(int)KS_CE, "\033[K"},
- {(int)KS_CL, "\033[2J"},
- {(int)KS_ME, "\033[0m"},
- {(int)KS_MR, "\033[5m"}, /* reverse: black on lightgrey */
- {(int)KS_MD, "\033[1m"}, /* bold: white text */
- {(int)KS_SE, "\033[0m"}, /* standout end */
- {(int)KS_SO, "\033[31m"}, /* standout: white on blue */
- {(int)KS_CZH, "\033[34;43m"}, /* italic mode: blue text on yellow */
- {(int)KS_CZR, "\033[0m"}, /* italic mode end */
- {(int)KS_US, "\033[36;41m"}, /* underscore mode: cyan text on red */
- {(int)KS_UE, "\033[0m"}, /* underscore mode end */
- {(int)KS_CCO, "8"}, /* allow 8 colors */
-# ifdef TERMINFO
- {(int)KS_CAB, "\033[4%p1%dm"}, /* set background color */
- {(int)KS_CAF, "\033[3%p1%dm"}, /* set foreground color */
-# else
- {(int)KS_CAB, "\033[4%dm"}, /* set background color */
- {(int)KS_CAF, "\033[3%dm"}, /* set foreground color */
-# endif
- {(int)KS_OP, "\033[0m"}, /* reset colors */
- {(int)KS_MS, "y"},
- {(int)KS_UT, "y"}, /* guessed */
- {(int)KS_LE, "\b"},
-# ifdef TERMINFO
- {(int)KS_CM, "\033[%i%p1%d;%p2%dH"},
-# else
- {(int)KS_CM, "\033[%i%d;%dH"},
-# endif
-# ifdef TERMINFO
- {(int)KS_CRI, "\033[%p1%dC"},
-# else
- {(int)KS_CRI, "\033[%dC"},
-# endif
- {K_UP, "\316H"},
- {K_DOWN, "\316P"},
- {K_LEFT, "\316K"},
- {K_RIGHT, "\316M"},
- {K_S_LEFT, "\316s"},
- {K_S_RIGHT, "\316t"},
- {K_F1, "\316;"},
- {K_F2, "\316<"},
- {K_F3, "\316="},
- {K_F4, "\316>"},
- {K_F5, "\316?"},
- {K_F6, "\316@"},
- {K_F7, "\316A"},
- {K_F8, "\316B"},
- {K_F9, "\316C"},
- {K_F10, "\316D"},
- {K_F11, "\316\205"}, /* guessed */
- {K_F12, "\316\206"}, /* guessed */
- {K_S_F1, "\316T"},
- {K_S_F2, "\316U"},
- {K_S_F3, "\316V"},
- {K_S_F4, "\316W"},
- {K_S_F5, "\316X"},
- {K_S_F6, "\316Y"},
- {K_S_F7, "\316Z"},
- {K_S_F8, "\316["},
- {K_S_F9, "\316\\"},
- {K_S_F10, "\316]"},
- {K_S_F11, "\316\207"}, /* guessed */
- {K_S_F12, "\316\210"}, /* guessed */
- {K_INS, "\316R"},
- {K_DEL, "\316S"},
- {K_HOME, "\316G"},
- {K_END, "\316O"},
- {K_PAGEDOWN, "\316Q"},
- {K_PAGEUP, "\316I"},
-# endif
-
-
-# if defined(WIN3264) || defined(ALL_BUILTIN_TCAPS)
- /*
- * These codes are valid for the Win32 Console . The entries that start with
- * ESC | are translated into console calls in os_win32.c. The function keys
- * are also translated in os_win32.c.
- */
- {(int)KS_NAME, "win32"},
- {(int)KS_CE, "\033|K"}, /* clear to end of line */
- {(int)KS_AL, "\033|L"}, /* add new blank line */
-# ifdef TERMINFO
- {(int)KS_CAL, "\033|%p1%dL"}, /* add number of new blank lines */
-# else
- {(int)KS_CAL, "\033|%dL"}, /* add number of new blank lines */
-# endif
- {(int)KS_DL, "\033|M"}, /* delete line */
-# ifdef TERMINFO
- {(int)KS_CDL, "\033|%p1%dM"}, /* delete number of lines */
-# else
- {(int)KS_CDL, "\033|%dM"}, /* delete number of lines */
-# endif
- {(int)KS_CL, "\033|J"}, /* clear screen */
- {(int)KS_CD, "\033|j"}, /* clear to end of display */
- {(int)KS_VI, "\033|v"}, /* cursor invisible */
- {(int)KS_VE, "\033|V"}, /* cursor visible */
-
- {(int)KS_ME, "\033|0m"}, /* normal */
- {(int)KS_MR, "\033|112m"}, /* reverse: black on lightgray */
- {(int)KS_MD, "\033|15m"}, /* bold: white on black */
- {(int)KS_SO, "\033|31m"}, /* standout: white on blue */
- {(int)KS_SE, "\033|0m"}, /* standout end */
- {(int)KS_CZH, "\033|225m"}, /* italic: blue text on yellow */
- {(int)KS_CZR, "\033|0m"}, /* italic end */
- {(int)KS_US, "\033|67m"}, /* underscore: cyan text on red */
- {(int)KS_UE, "\033|0m"}, /* underscore end */
- {(int)KS_CCO, "16"}, /* allow 16 colors */
-# ifdef TERMINFO
- {(int)KS_CAB, "\033|%p1%db"}, /* set background color */
- {(int)KS_CAF, "\033|%p1%df"}, /* set foreground color */
-# else
- {(int)KS_CAB, "\033|%db"}, /* set background color */
- {(int)KS_CAF, "\033|%df"}, /* set foreground color */
-# endif
-
- {(int)KS_MS, "y"}, /* save to move cur in reverse mode */
- {(int)KS_UT, "y"},
- {(int)KS_LE, "\b"},
-# ifdef TERMINFO
- {(int)KS_CM, "\033|%i%p1%d;%p2%dH"}, /* cursor motion */
-# else
- {(int)KS_CM, "\033|%i%d;%dH"}, /* cursor motion */
-# endif
- {(int)KS_VB, "\033|B"}, /* visual bell */
- {(int)KS_TI, "\033|S"}, /* put terminal in termcap mode */
- {(int)KS_TE, "\033|E"}, /* out of termcap mode */
-# ifdef TERMINFO
- {(int)KS_CS, "\033|%i%p1%d;%p2%dr"}, /* scroll region */
-# else
- {(int)KS_CS, "\033|%i%d;%dr"}, /* scroll region */
-# endif
-
- {K_UP, "\316H"},
- {K_DOWN, "\316P"},
- {K_LEFT, "\316K"},
- {K_RIGHT, "\316M"},
- {K_S_UP, "\316\304"},
- {K_S_DOWN, "\316\317"},
- {K_S_LEFT, "\316\311"},
- {K_C_LEFT, "\316s"},
- {K_S_RIGHT, "\316\313"},
- {K_C_RIGHT, "\316t"},
- {K_S_TAB, "\316\017"},
- {K_F1, "\316;"},
- {K_F2, "\316<"},
- {K_F3, "\316="},
- {K_F4, "\316>"},
- {K_F5, "\316?"},
- {K_F6, "\316@"},
- {K_F7, "\316A"},
- {K_F8, "\316B"},
- {K_F9, "\316C"},
- {K_F10, "\316D"},
- {K_F11, "\316\205"},
- {K_F12, "\316\206"},
- {K_S_F1, "\316T"},
- {K_S_F2, "\316U"},
- {K_S_F3, "\316V"},
- {K_S_F4, "\316W"},
- {K_S_F5, "\316X"},
- {K_S_F6, "\316Y"},
- {K_S_F7, "\316Z"},
- {K_S_F8, "\316["},
- {K_S_F9, "\316\\"},
- {K_S_F10, "\316]"},
- {K_S_F11, "\316\207"},
- {K_S_F12, "\316\210"},
- {K_INS, "\316R"},
- {K_DEL, "\316S"},
- {K_HOME, "\316G"},
- {K_S_HOME, "\316\302"},
- {K_C_HOME, "\316w"},
- {K_END, "\316O"},
- {K_S_END, "\316\315"},
- {K_C_END, "\316u"},
- {K_PAGEDOWN, "\316Q"},
- {K_PAGEUP, "\316I"},
- {K_KPLUS, "\316N"},
- {K_KMINUS, "\316J"},
- {K_KMULTIPLY, "\316\067"},
- {K_K0, "\316\332"},
- {K_K1, "\316\336"},
- {K_K2, "\316\342"},
- {K_K3, "\316\346"},
- {K_K4, "\316\352"},
- {K_K5, "\316\356"},
- {K_K6, "\316\362"},
- {K_K7, "\316\366"},
- {K_K8, "\316\372"},
- {K_K9, "\316\376"},
-# endif
-
-# if defined(ALL_BUILTIN_TCAPS)
- /*
- * VT320 is working as an ANSI terminal compatible DEC terminal.
- * (it covers VT1x0, VT2x0 and VT3x0 up to VT320 on VMS as well)
- * Note: K_F1...K_F5 are for internal use, should not be defined.
- * TODO:- rewrite ESC[ codes to CSI
- * - keyboard languages (CSI ? 26 n)
- */
- {(int)KS_NAME, "vt320"},
- {(int)KS_CE, IF_EB("\033[K", ESC_STR "[K")},
- {(int)KS_AL, IF_EB("\033[L", ESC_STR "[L")},
-# ifdef TERMINFO
- {(int)KS_CAL, IF_EB("\033[%p1%dL", ESC_STR "[%p1%dL")},
-# else
- {(int)KS_CAL, IF_EB("\033[%dL", ESC_STR "[%dL")},
-# endif
- {(int)KS_DL, IF_EB("\033[M", ESC_STR "[M")},
-# ifdef TERMINFO
- {(int)KS_CDL, IF_EB("\033[%p1%dM", ESC_STR "[%p1%dM")},
-# else
- {(int)KS_CDL, IF_EB("\033[%dM", ESC_STR "[%dM")},
-# endif
- {(int)KS_CL, IF_EB("\033[H\033[2J", ESC_STR "[H" ESC_STR_nc "[2J")},
- {(int)KS_CD, IF_EB("\033[J", ESC_STR "[J")},
- {(int)KS_CCO, "8"}, /* allow 8 colors */
- {(int)KS_ME, IF_EB("\033[0m", ESC_STR "[0m")},
- {(int)KS_MR, IF_EB("\033[7m", ESC_STR "[7m")},
- {(int)KS_MD, IF_EB("\033[1m", ESC_STR "[1m")}, /* bold mode */
- {(int)KS_SE, IF_EB("\033[22m", ESC_STR "[22m")}, /* normal mode */
- {(int)KS_UE, IF_EB("\033[24m", ESC_STR "[24m")}, /* exit underscore mode */
- {(int)KS_US, IF_EB("\033[4m", ESC_STR "[4m")}, /* underscore mode */
- {(int)KS_CZH, IF_EB("\033[34;43m", ESC_STR "[34;43m")}, /* italic mode: blue text on yellow */
- {(int)KS_CZR, IF_EB("\033[0m", ESC_STR "[0m")}, /* italic mode end */
- {(int)KS_CAB, IF_EB("\033[4%dm", ESC_STR "[4%dm")}, /* set background color (ANSI) */
- {(int)KS_CAF, IF_EB("\033[3%dm", ESC_STR "[3%dm")}, /* set foreground color (ANSI) */
- {(int)KS_CSB, IF_EB("\033[102;%dm", ESC_STR "[102;%dm")}, /* set screen background color */
- {(int)KS_CSF, IF_EB("\033[101;%dm", ESC_STR "[101;%dm")}, /* set screen foreground color */
- {(int)KS_MS, "y"},
- {(int)KS_UT, "y"},
- {(int)KS_LE, "\b"},
-# ifdef TERMINFO
- {(int)KS_CM, IF_EB("\033[%i%p1%d;%p2%dH",
- ESC_STR "[%i%p1%d;%p2%dH")},
-# else
- {(int)KS_CM, IF_EB("\033[%i%d;%dH", ESC_STR "[%i%d;%dH")},
-# endif
-# ifdef TERMINFO
- {(int)KS_CRI, IF_EB("\033[%p1%dC", ESC_STR "[%p1%dC")},
-# else
- {(int)KS_CRI, IF_EB("\033[%dC", ESC_STR "[%dC")},
-# endif
- {K_UP, IF_EB("\033[A", ESC_STR "[A")},
- {K_DOWN, IF_EB("\033[B", ESC_STR "[B")},
- {K_RIGHT, IF_EB("\033[C", ESC_STR "[C")},
- {K_LEFT, IF_EB("\033[D", ESC_STR "[D")},
- {K_F1, IF_EB("\033[11~", ESC_STR "[11~")},
- {K_F2, IF_EB("\033[12~", ESC_STR "[12~")},
- {K_F3, IF_EB("\033[13~", ESC_STR "[13~")},
- {K_F4, IF_EB("\033[14~", ESC_STR "[14~")},
- {K_F5, IF_EB("\033[15~", ESC_STR "[15~")},
- {K_F6, IF_EB("\033[17~", ESC_STR "[17~")},
- {K_F7, IF_EB("\033[18~", ESC_STR "[18~")},
- {K_F8, IF_EB("\033[19~", ESC_STR "[19~")},
- {K_F9, IF_EB("\033[20~", ESC_STR "[20~")},
- {K_F10, IF_EB("\033[21~", ESC_STR "[21~")},
- {K_F11, IF_EB("\033[23~", ESC_STR "[23~")},
- {K_F12, IF_EB("\033[24~", ESC_STR "[24~")},
- {K_F13, IF_EB("\033[25~", ESC_STR "[25~")},
- {K_F14, IF_EB("\033[26~", ESC_STR "[26~")},
- {K_F15, IF_EB("\033[28~", ESC_STR "[28~")}, /* Help */
- {K_F16, IF_EB("\033[29~", ESC_STR "[29~")}, /* Select */
- {K_F17, IF_EB("\033[31~", ESC_STR "[31~")},
- {K_F18, IF_EB("\033[32~", ESC_STR "[32~")},
- {K_F19, IF_EB("\033[33~", ESC_STR "[33~")},
- {K_F20, IF_EB("\033[34~", ESC_STR "[34~")},
- {K_INS, IF_EB("\033[2~", ESC_STR "[2~")},
- {K_DEL, IF_EB("\033[3~", ESC_STR "[3~")},
- {K_HOME, IF_EB("\033[1~", ESC_STR "[1~")},
- {K_END, IF_EB("\033[4~", ESC_STR "[4~")},
- {K_PAGEUP, IF_EB("\033[5~", ESC_STR "[5~")},
- {K_PAGEDOWN, IF_EB("\033[6~", ESC_STR "[6~")},
- {K_KPLUS, IF_EB("\033Ok", ESC_STR "Ok")}, /* keypad plus */
- {K_KMINUS, IF_EB("\033Om", ESC_STR "Om")}, /* keypad minus */
- {K_KDIVIDE, IF_EB("\033Oo", ESC_STR "Oo")}, /* keypad / */
- {K_KMULTIPLY, IF_EB("\033Oj", ESC_STR "Oj")}, /* keypad * */
- {K_KENTER, IF_EB("\033OM", ESC_STR "OM")}, /* keypad Enter */
- {K_BS, "\x7f"}, /* for some reason 0177 doesn't work */
-# endif
-
-# if defined(ALL_BUILTIN_TCAPS) || defined(__MINT__)
- /*
- * Ordinary vt52
- */
- {(int)KS_NAME, "vt52"},
- {(int)KS_CE, IF_EB("\033K", ESC_STR "K")},
- {(int)KS_CD, IF_EB("\033J", ESC_STR "J")},
- {(int)KS_CM, IF_EB("\033Y%+ %+ ", ESC_STR "Y%+ %+ ")},
- {(int)KS_LE, "\b"},
- {(int)KS_AL, IF_EB("\033T", ESC_STR "T")},
- {(int)KS_DL, IF_EB("\033U", ESC_STR "U")},
- {(int)KS_CL, IF_EB("\033H\033J", ESC_STR "H" ESC_STR_nc "J")},
- {(int)KS_ME, IF_EB("\033SO", ESC_STR "SO")},
- {(int)KS_MR, IF_EB("\033S2", ESC_STR "S2")},
- {(int)KS_MS, "y"},
-# endif
-
-# if defined(UNIX) || defined(ALL_BUILTIN_TCAPS) || defined(SOME_BUILTIN_TCAPS)
- {(int)KS_NAME, "xterm"},
- {(int)KS_CE, IF_EB("\033[K", ESC_STR "[K")},
- {(int)KS_AL, IF_EB("\033[L", ESC_STR "[L")},
-# ifdef TERMINFO
- {(int)KS_CAL, IF_EB("\033[%p1%dL", ESC_STR "[%p1%dL")},
-# else
- {(int)KS_CAL, IF_EB("\033[%dL", ESC_STR "[%dL")},
-# endif
- {(int)KS_DL, IF_EB("\033[M", ESC_STR "[M")},
-# ifdef TERMINFO
- {(int)KS_CDL, IF_EB("\033[%p1%dM", ESC_STR "[%p1%dM")},
-# else
- {(int)KS_CDL, IF_EB("\033[%dM", ESC_STR "[%dM")},
-# endif
-# ifdef TERMINFO
- {(int)KS_CS, IF_EB("\033[%i%p1%d;%p2%dr",
- ESC_STR "[%i%p1%d;%p2%dr")},
-# else
- {(int)KS_CS, IF_EB("\033[%i%d;%dr", ESC_STR "[%i%d;%dr")},
-# endif
- {(int)KS_CL, IF_EB("\033[H\033[2J", ESC_STR "[H" ESC_STR_nc "[2J")},
- {(int)KS_CD, IF_EB("\033[J", ESC_STR "[J")},
- {(int)KS_ME, IF_EB("\033[m", ESC_STR "[m")},
- {(int)KS_MR, IF_EB("\033[7m", ESC_STR "[7m")},
- {(int)KS_MD, IF_EB("\033[1m", ESC_STR "[1m")},
- {(int)KS_UE, IF_EB("\033[m", ESC_STR "[m")},
- {(int)KS_US, IF_EB("\033[4m", ESC_STR "[4m")},
- {(int)KS_MS, "y"},
- {(int)KS_UT, "y"},
- {(int)KS_LE, "\b"},
-# ifdef TERMINFO
- {(int)KS_CM, IF_EB("\033[%i%p1%d;%p2%dH",
- ESC_STR "[%i%p1%d;%p2%dH")},
-# else
- {(int)KS_CM, IF_EB("\033[%i%d;%dH", ESC_STR "[%i%d;%dH")},
-# endif
- {(int)KS_SR, IF_EB("\033M", ESC_STR "M")},
-# ifdef TERMINFO
- {(int)KS_CRI, IF_EB("\033[%p1%dC", ESC_STR "[%p1%dC")},
-# else
- {(int)KS_CRI, IF_EB("\033[%dC", ESC_STR "[%dC")},
-# endif
- {(int)KS_KS, IF_EB("\033[?1h\033=", ESC_STR "[?1h" ESC_STR_nc "=")},
- {(int)KS_KE, IF_EB("\033[?1l\033>", ESC_STR "[?1l" ESC_STR_nc ">")},
- {(int)KS_CIS, IF_EB("\033]1;", ESC_STR "]1;")},
- {(int)KS_CIE, "\007"},
- {(int)KS_TS, IF_EB("\033]2;", ESC_STR "]2;")},
- {(int)KS_FS, "\007"},
-# ifdef TERMINFO
- {(int)KS_CWS, IF_EB("\033[8;%p1%d;%p2%dt",
- ESC_STR "[8;%p1%d;%p2%dt")},
- {(int)KS_CWP, IF_EB("\033[3;%p1%d;%p2%dt",
- ESC_STR "[3;%p1%d;%p2%dt")},
-# else
- {(int)KS_CWS, IF_EB("\033[8;%d;%dt", ESC_STR "[8;%d;%dt")},
- {(int)KS_CWP, IF_EB("\033[3;%d;%dt", ESC_STR "[3;%d;%dt")},
-# endif
- {(int)KS_CRV, IF_EB("\033[>c", ESC_STR "[>c")},
- {(int)KS_U7, IF_EB("\033[6n", ESC_STR "[6n")},
-
- {K_UP, IF_EB("\033O*A", ESC_STR "O*A")},
- {K_DOWN, IF_EB("\033O*B", ESC_STR "O*B")},
- {K_RIGHT, IF_EB("\033O*C", ESC_STR "O*C")},
- {K_LEFT, IF_EB("\033O*D", ESC_STR "O*D")},
- /* An extra set of cursor keys for vt100 mode */
- {K_XUP, IF_EB("\033[1;*A", ESC_STR "[1;*A")},
- {K_XDOWN, IF_EB("\033[1;*B", ESC_STR "[1;*B")},
- {K_XRIGHT, IF_EB("\033[1;*C", ESC_STR "[1;*C")},
- {K_XLEFT, IF_EB("\033[1;*D", ESC_STR "[1;*D")},
- /* An extra set of function keys for vt100 mode */
- {K_XF1, IF_EB("\033O*P", ESC_STR "O*P")},
- {K_XF2, IF_EB("\033O*Q", ESC_STR "O*Q")},
- {K_XF3, IF_EB("\033O*R", ESC_STR "O*R")},
- {K_XF4, IF_EB("\033O*S", ESC_STR "O*S")},
- {K_F1, IF_EB("\033[11;*~", ESC_STR "[11;*~")},
- {K_F2, IF_EB("\033[12;*~", ESC_STR "[12;*~")},
- {K_F3, IF_EB("\033[13;*~", ESC_STR "[13;*~")},
- {K_F4, IF_EB("\033[14;*~", ESC_STR "[14;*~")},
- {K_F5, IF_EB("\033[15;*~", ESC_STR "[15;*~")},
- {K_F6, IF_EB("\033[17;*~", ESC_STR "[17;*~")},
- {K_F7, IF_EB("\033[18;*~", ESC_STR "[18;*~")},
- {K_F8, IF_EB("\033[19;*~", ESC_STR "[19;*~")},
- {K_F9, IF_EB("\033[20;*~", ESC_STR "[20;*~")},
- {K_F10, IF_EB("\033[21;*~", ESC_STR "[21;*~")},
- {K_F11, IF_EB("\033[23;*~", ESC_STR "[23;*~")},
- {K_F12, IF_EB("\033[24;*~", ESC_STR "[24;*~")},
- {K_S_TAB, IF_EB("\033[Z", ESC_STR "[Z")},
- {K_HELP, IF_EB("\033[28;*~", ESC_STR "[28;*~")},
- {K_UNDO, IF_EB("\033[26;*~", ESC_STR "[26;*~")},
- {K_INS, IF_EB("\033[2;*~", ESC_STR "[2;*~")},
- {K_HOME, IF_EB("\033[1;*H", ESC_STR "[1;*H")},
- /* {K_S_HOME, IF_EB("\033O2H", ESC_STR "O2H")}, */
- /* {K_C_HOME, IF_EB("\033O5H", ESC_STR "O5H")}, */
- {K_KHOME, IF_EB("\033[1;*~", ESC_STR "[1;*~")},
- {K_XHOME, IF_EB("\033O*H", ESC_STR "O*H")}, /* other Home */
- {K_ZHOME, IF_EB("\033[7;*~", ESC_STR "[7;*~")}, /* other Home */
- {K_END, IF_EB("\033[1;*F", ESC_STR "[1;*F")},
- /* {K_S_END, IF_EB("\033O2F", ESC_STR "O2F")}, */
- /* {K_C_END, IF_EB("\033O5F", ESC_STR "O5F")}, */
- {K_KEND, IF_EB("\033[4;*~", ESC_STR "[4;*~")},
- {K_XEND, IF_EB("\033O*F", ESC_STR "O*F")}, /* other End */
- {K_ZEND, IF_EB("\033[8;*~", ESC_STR "[8;*~")},
- {K_PAGEUP, IF_EB("\033[5;*~", ESC_STR "[5;*~")},
- {K_PAGEDOWN, IF_EB("\033[6;*~", ESC_STR "[6;*~")},
- {K_KPLUS, IF_EB("\033O*k", ESC_STR "O*k")}, /* keypad plus */
- {K_KMINUS, IF_EB("\033O*m", ESC_STR "O*m")}, /* keypad minus */
- {K_KDIVIDE, IF_EB("\033O*o", ESC_STR "O*o")}, /* keypad / */
- {K_KMULTIPLY, IF_EB("\033O*j", ESC_STR "O*j")}, /* keypad * */
- {K_KENTER, IF_EB("\033O*M", ESC_STR "O*M")}, /* keypad Enter */
- {K_KPOINT, IF_EB("\033O*n", ESC_STR "O*n")}, /* keypad . */
- {K_KDEL, IF_EB("\033[3;*~", ESC_STR "[3;*~")}, /* keypad Del */
-
- {BT_EXTRA_KEYS, ""},
- {TERMCAP2KEY('k', '0'), IF_EB("\033[10;*~", ESC_STR "[10;*~")}, /* F0 */
- {TERMCAP2KEY('F', '3'), IF_EB("\033[25;*~", ESC_STR "[25;*~")}, /* F13 */
- /* F14 and F15 are missing, because they send the same codes as the undo
- * and help key, although they don't work on all keyboards. */
- {TERMCAP2KEY('F', '6'), IF_EB("\033[29;*~", ESC_STR "[29;*~")}, /* F16 */
- {TERMCAP2KEY('F', '7'), IF_EB("\033[31;*~", ESC_STR "[31;*~")}, /* F17 */
- {TERMCAP2KEY('F', '8'), IF_EB("\033[32;*~", ESC_STR "[32;*~")}, /* F18 */
- {TERMCAP2KEY('F', '9'), IF_EB("\033[33;*~", ESC_STR "[33;*~")}, /* F19 */
- {TERMCAP2KEY('F', 'A'), IF_EB("\033[34;*~", ESC_STR "[34;*~")}, /* F20 */
-
- {TERMCAP2KEY('F', 'B'), IF_EB("\033[42;*~", ESC_STR "[42;*~")}, /* F21 */
- {TERMCAP2KEY('F', 'C'), IF_EB("\033[43;*~", ESC_STR "[43;*~")}, /* F22 */
- {TERMCAP2KEY('F', 'D'), IF_EB("\033[44;*~", ESC_STR "[44;*~")}, /* F23 */
- {TERMCAP2KEY('F', 'E'), IF_EB("\033[45;*~", ESC_STR "[45;*~")}, /* F24 */
- {TERMCAP2KEY('F', 'F'), IF_EB("\033[46;*~", ESC_STR "[46;*~")}, /* F25 */
- {TERMCAP2KEY('F', 'G'), IF_EB("\033[47;*~", ESC_STR "[47;*~")}, /* F26 */
- {TERMCAP2KEY('F', 'H'), IF_EB("\033[48;*~", ESC_STR "[48;*~")}, /* F27 */
- {TERMCAP2KEY('F', 'I'), IF_EB("\033[49;*~", ESC_STR "[49;*~")}, /* F28 */
- {TERMCAP2KEY('F', 'J'), IF_EB("\033[50;*~", ESC_STR "[50;*~")}, /* F29 */
- {TERMCAP2KEY('F', 'K'), IF_EB("\033[51;*~", ESC_STR "[51;*~")}, /* F30 */
-
- {TERMCAP2KEY('F', 'L'), IF_EB("\033[52;*~", ESC_STR "[52;*~")}, /* F31 */
- {TERMCAP2KEY('F', 'M'), IF_EB("\033[53;*~", ESC_STR "[53;*~")}, /* F32 */
- {TERMCAP2KEY('F', 'N'), IF_EB("\033[54;*~", ESC_STR "[54;*~")}, /* F33 */
- {TERMCAP2KEY('F', 'O'), IF_EB("\033[55;*~", ESC_STR "[55;*~")}, /* F34 */
- {TERMCAP2KEY('F', 'P'), IF_EB("\033[56;*~", ESC_STR "[56;*~")}, /* F35 */
- {TERMCAP2KEY('F', 'Q'), IF_EB("\033[57;*~", ESC_STR "[57;*~")}, /* F36 */
- {TERMCAP2KEY('F', 'R'), IF_EB("\033[58;*~", ESC_STR "[58;*~")}, /* F37 */
-# endif
-
-# if defined(UNIX) || defined(ALL_BUILTIN_TCAPS)
- /*
- * iris-ansi for Silicon Graphics machines.
- */
- {(int)KS_NAME, "iris-ansi"},
- {(int)KS_CE, "\033[K"},
- {(int)KS_CD, "\033[J"},
- {(int)KS_AL, "\033[L"},
-# ifdef TERMINFO
- {(int)KS_CAL, "\033[%p1%dL"},
-# else
- {(int)KS_CAL, "\033[%dL"},
-# endif
- {(int)KS_DL, "\033[M"},
-# ifdef TERMINFO
- {(int)KS_CDL, "\033[%p1%dM"},
-# else
- {(int)KS_CDL, "\033[%dM"},
-# endif
- {(int)KS_CL, "\033[H\033[2J"},
- {(int)KS_VE, "\033[9/y\033[12/y"}, /* These aren't documented */
- {(int)KS_VS, "\033[10/y\033[=1h\033[=2l"}, /* These aren't documented */
- {(int)KS_TI, "\033[=6h"},
- {(int)KS_TE, "\033[=6l"},
- {(int)KS_SE, "\033[21;27m"},
- {(int)KS_SO, "\033[1;7m"},
- {(int)KS_ME, "\033[m"},
- {(int)KS_MR, "\033[7m"},
- {(int)KS_MD, "\033[1m"},
- {(int)KS_CCO, "8"}, /* allow 8 colors */
- {(int)KS_CZH, "\033[3m"}, /* italic mode on */
- {(int)KS_CZR, "\033[23m"}, /* italic mode off */
- {(int)KS_US, "\033[4m"}, /* underline on */
- {(int)KS_UE, "\033[24m"}, /* underline off */
-# ifdef TERMINFO
- {(int)KS_CAB, "\033[4%p1%dm"}, /* set background color (ANSI) */
- {(int)KS_CAF, "\033[3%p1%dm"}, /* set foreground color (ANSI) */
- {(int)KS_CSB, "\033[102;%p1%dm"}, /* set screen background color */
- {(int)KS_CSF, "\033[101;%p1%dm"}, /* set screen foreground color */
-# else
- {(int)KS_CAB, "\033[4%dm"}, /* set background color (ANSI) */
- {(int)KS_CAF, "\033[3%dm"}, /* set foreground color (ANSI) */
- {(int)KS_CSB, "\033[102;%dm"}, /* set screen background color */
- {(int)KS_CSF, "\033[101;%dm"}, /* set screen foreground color */
-# endif
- {(int)KS_MS, "y"}, /* guessed */
- {(int)KS_UT, "y"}, /* guessed */
- {(int)KS_LE, "\b"},
-# ifdef TERMINFO
- {(int)KS_CM, "\033[%i%p1%d;%p2%dH"},
-# else
- {(int)KS_CM, "\033[%i%d;%dH"},
-# endif
- {(int)KS_SR, "\033M"},
-# ifdef TERMINFO
- {(int)KS_CRI, "\033[%p1%dC"},
-# else
- {(int)KS_CRI, "\033[%dC"},
-# endif
- {(int)KS_CIS, "\033P3.y"},
- {(int)KS_CIE, "\234"}, /* ST "String Terminator" */
- {(int)KS_TS, "\033P1.y"},
- {(int)KS_FS, "\234"}, /* ST "String Terminator" */
-# ifdef TERMINFO
- {(int)KS_CWS, "\033[203;%p1%d;%p2%d/y"},
- {(int)KS_CWP, "\033[205;%p1%d;%p2%d/y"},
-# else
- {(int)KS_CWS, "\033[203;%d;%d/y"},
- {(int)KS_CWP, "\033[205;%d;%d/y"},
-# endif
- {K_UP, "\033[A"},
- {K_DOWN, "\033[B"},
- {K_LEFT, "\033[D"},
- {K_RIGHT, "\033[C"},
- {K_S_UP, "\033[161q"},
- {K_S_DOWN, "\033[164q"},
- {K_S_LEFT, "\033[158q"},
- {K_S_RIGHT, "\033[167q"},
- {K_F1, "\033[001q"},
- {K_F2, "\033[002q"},
- {K_F3, "\033[003q"},
- {K_F4, "\033[004q"},
- {K_F5, "\033[005q"},
- {K_F6, "\033[006q"},
- {K_F7, "\033[007q"},
- {K_F8, "\033[008q"},
- {K_F9, "\033[009q"},
- {K_F10, "\033[010q"},
- {K_F11, "\033[011q"},
- {K_F12, "\033[012q"},
- {K_S_F1, "\033[013q"},
- {K_S_F2, "\033[014q"},
- {K_S_F3, "\033[015q"},
- {K_S_F4, "\033[016q"},
- {K_S_F5, "\033[017q"},
- {K_S_F6, "\033[018q"},
- {K_S_F7, "\033[019q"},
- {K_S_F8, "\033[020q"},
- {K_S_F9, "\033[021q"},
- {K_S_F10, "\033[022q"},
- {K_S_F11, "\033[023q"},
- {K_S_F12, "\033[024q"},
- {K_INS, "\033[139q"},
- {K_HOME, "\033[H"},
- {K_END, "\033[146q"},
- {K_PAGEUP, "\033[150q"},
- {K_PAGEDOWN, "\033[154q"},
-# endif
-
-# if defined(DEBUG) || defined(ALL_BUILTIN_TCAPS)
- /*
- * for debugging
- */
- {(int)KS_NAME, "debug"},
- {(int)KS_CE, "[CE]"},
- {(int)KS_CD, "[CD]"},
- {(int)KS_AL, "[AL]"},
-# ifdef TERMINFO
- {(int)KS_CAL, "[CAL%p1%d]"},
-# else
- {(int)KS_CAL, "[CAL%d]"},
-# endif
- {(int)KS_DL, "[DL]"},
-# ifdef TERMINFO
- {(int)KS_CDL, "[CDL%p1%d]"},
-# else
- {(int)KS_CDL, "[CDL%d]"},
-# endif
-# ifdef TERMINFO
- {(int)KS_CS, "[%p1%dCS%p2%d]"},
-# else
- {(int)KS_CS, "[%dCS%d]"},
-# endif
-# ifdef TERMINFO
- {(int)KS_CSV, "[%p1%dCSV%p2%d]"},
-# else
- {(int)KS_CSV, "[%dCSV%d]"},
-# endif
-# ifdef TERMINFO
- {(int)KS_CAB, "[CAB%p1%d]"},
- {(int)KS_CAF, "[CAF%p1%d]"},
- {(int)KS_CSB, "[CSB%p1%d]"},
- {(int)KS_CSF, "[CSF%p1%d]"},