home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / util / vim-2.0.lha / Vim-2.0 / src / term.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-15  |  12.9 KB  |  697 lines

  1. /* vi:ts=4:sw=4
  2.  *
  3.  * term.h -- VIM - Vi IMproved
  4.  *
  5.  * Code Contributions By:    Bram Moolenaar            mool@oce.nl
  6.  *                            Tim Thompson            twitch!tjt
  7.  *                            Tony Andrews            onecom!wldrdg!tony 
  8.  *                            G. R. (Fred) Walter        watmath!watcgl!grwalter 
  9.  */
  10.  
  11. /*
  12.  * This file contains the machine dependent escape sequences that the editor
  13.  * needs to perform various operations. Some of the sequences here are
  14.  * optional. Anything not available should be indicated by a null string. In
  15.  * the case of insert/delete line sequences, the editor checks the capability
  16.  * and works around the deficiency, if necessary.
  17.  */
  18.  
  19. /*
  20.  * the terminal capabilities are stored in this structure
  21.  * keep in sync with array in term.c
  22.  */
  23. typedef struct _tcarr
  24. {
  25. /* output codes */
  26.   char *t_name;        /* name of this terminal entry */
  27.   char *t_el;        /* el       ce    clear to end of line */
  28.   char *t_il;        /* il1      al    add new blank line */
  29.   char *t_cil;        /* il       AL    add number of blank lines */
  30.   char *t_dl;        /* dl1      dl    delete line */
  31.   char *t_cdl;        /* dl       DL    delete number of lines */
  32.   char *t_ed;        /* clear    cl    clear screen */
  33.   char *t_ci;        /* civis    vi    cursur invisible */
  34.   char *t_cv;        /* cnorm    ve    cursur visible */
  35.   char *t_tp;        /* sgr0     me    normal mode */
  36.   char *t_ti;        /* rev      mr    reverse mode */
  37.   char *t_cm;        /* cup      cm    cursor motion */
  38.   char *t_sr;        /* ri       sr    scroll reverse (backward) */
  39.   char *t_cri;        /* cuf      RI    cursor number of chars right */
  40.   char *t_vb;        /* flash    vb    visual bell */
  41.   char *t_ks;        /* smkx     ks    put terminal in "keypad transmit" mode */
  42.   char *t_ke;        /* rmkx     ke    out of "keypad transmit" mode */
  43.   char *t_ts;        /*          ti    put terminal in termcap mode */
  44.   char *t_te;        /*          te    out of termcap mode */
  45.  
  46. /* key codes */
  47.   char *t_ku;        /* kcuu1    ku    arrow up */
  48.   char *t_kd;        /* kcud1    kd    arrow down */
  49.   char *t_kl;        /* kcub1    kl    arrow left */
  50.   char *t_kr;        /* kcuf1    kr    arrow right */
  51.   char *t_sku;        /* shift arrow up */
  52.   char *t_skd;        /* shift arrow down */
  53.   char *t_skl;        /* kLFT     #4    shift arrow left */
  54.   char *t_skr;        /* kRIT     %    shift arrow right */
  55.   char *t_f1;        /* kf1      k1    function key 1 */
  56.   char *t_f2;        /* kf2      k2    function key 2 */
  57.   char *t_f3;        /* kf3      k3    function key 3 */
  58.   char *t_f4;        /* kf4      k4    function key 4 */
  59.   char *t_f5;        /* kf5      k5    function key 5 */
  60.   char *t_f6;        /* kf6      k6    function key 6 */
  61.   char *t_f7;        /* kf7      k7    function key 7 */
  62.   char *t_f8;        /* kf8      k8    function key 8 */
  63.   char *t_f9;        /* kf9      k9    function key 9 */
  64.   char *t_f10;        /* kf10     k;    function key 10 */
  65.   char *t_sf1;        /* kf11     F1    shifted function key 1 */
  66.   char *t_sf2;        /* kf12     F2    shifted function key 2 */
  67.   char *t_sf3;        /* kf13     F3    shifted function key 3 */
  68.   char *t_sf4;        /* kf14     F4    shifted function key 4 */
  69.   char *t_sf5;        /* kf15     F5    shifted function key 5 */
  70.   char *t_sf6;        /* kf16     F6    shifted function key 6 */
  71.   char *t_sf7;        /* kf17     F7    shifted function key 7 */
  72.   char *t_sf8;        /* kf18     F8    shifted function key 8 */
  73.   char *t_sf9;        /* kf19     F9    shifted function key 9 */
  74.   char *t_sf10;        /* kf20     FA    shifted function key 10 */
  75.   char *t_help;        /* khlp     %1    help key */
  76.   char *t_undo;        /* kund     &8    undo key */
  77.   /* adjust inchar() for last entry! */
  78. } Tcarr;
  79.  
  80. extern Tcarr term_strings;    /* currently used terminal strings */
  81.  
  82. /*
  83.  * strings used for terminal
  84.  */
  85. #define T_EL    (term_strings.t_el)
  86. #define T_IL    (term_strings.t_il)
  87. #define T_CIL    (term_strings.t_cil)
  88. #define T_DL    (term_strings.t_dl)
  89. #define T_CDL    (term_strings.t_cdl)
  90. #define T_ED    (term_strings.t_ed)
  91. #define T_CI    (term_strings.t_ci)
  92. #define T_CV    (term_strings.t_cv)
  93. #define T_TP    (term_strings.t_tp)
  94. #define T_TI    (term_strings.t_ti)
  95. #define T_CM    (term_strings.t_cm)
  96. #define T_SR    (term_strings.t_sr)
  97. #define T_CRI    (term_strings.t_cri)
  98. #define T_VB    (term_strings.t_vb)
  99. #define T_KS    (term_strings.t_ks)
  100. #define T_KE    (term_strings.t_ke)
  101. #define T_TS    (term_strings.t_ts)
  102. #define T_TE    (term_strings.t_te)
  103.  
  104.  
  105. #ifndef TERMINFO
  106. # ifndef NO_BUILTIN_TCAPS
  107. /*
  108.  * here are the builtin termcap entries.
  109.  * They not stored as complete Tcarr structures, as such a structure 
  110.  * is to big. 
  111.  * Each termcap is a concatenated string of entries, where '\0' characters
  112.  * followed by a skip character sepereate the capabilities. The skip 
  113.  * character is the relative structure offset for the following entry.
  114.  * See parse_builtin_tcap() in term.c for all details.
  115.  */
  116. #  define AMIGA_TCAP "amiga\0\
  117. \0\033[K\0\
  118. \0\033[L\0\
  119. \0\033[%dL\0\
  120. \0\033[M\0\
  121. \0\033[%dM\0\
  122. \0\014\0\
  123. \0\033[0 p\0\
  124. \0\033[1 p\0\
  125. \0\033[0m\0\
  126. \0\033[7m\0\
  127. \0\033[%i%d;%dH\0\
  128. \1\033[%dC\0\
  129. \5\233A\0\
  130. \0\233B\0\
  131. \0\233D\0\
  132. \0\233C\0\
  133. \0\233T\0\
  134. \0\233S\0\
  135. \0\233 A\0\
  136. \0\233 @\0\
  137. \0\233\060~\0\
  138. \0\233\061~\0\
  139. \0\233\062~\0\
  140. \0\233\063~\0\
  141. \0\233\064~\0\
  142. \0\233\065~\0\
  143. \0\233\066~\0\
  144. \0\233\067~\0\
  145. \0\233\070~\0\
  146. \0\233\071~\0\
  147. \0\233\061\060~\0\
  148. \0\233\061\061~\0\
  149. \0\233\061\062~\0\
  150. \0\233\061\063~\0\
  151. \0\233\061\064~\0\
  152. \0\233\061\065~\0\
  153. \0\233\061\066~\0\
  154. \0\233\061\067~\0\
  155. \0\233\061\070~\0\
  156. \0\233\061\071~\0\
  157. \0\233?~\0\
  158. \0\0"
  159.  
  160. #  define ATARI_TCAP "atari\0\
  161. \0\033l\0\
  162. \0\033L\0\
  163. \1\033M\0\
  164. \1\033E\0\
  165. \0\033f\0\
  166. \0\033e\0\
  167. \0\0"
  168.  
  169. #  define ANSI_TCAP "ansi\0\
  170. \0\033[2K\0\
  171. \0\033[L\0\
  172. \0\033[%dL\0\
  173. \0\033[M\0\
  174. \0\033[%dM\0\
  175. \0\033[2J\0\
  176. \2\033[0m\0\
  177. \0\033[7m\0\
  178. \0\033[%i%d;%dH\0\
  179. \1\033[%dC\0\
  180. \0\0"
  181.  
  182. /*
  183.  * These codes are valid when nansi.sys or equivalent has been installed.
  184.  * Function keys on a PC are preceded with a NUL. These are converted into
  185.  * K_NUL '\316' in GetChars(), because we cannot handle NULs in key codes.
  186.  * CTRL-arrow is used instead of SHIFT-arrow.
  187.  */
  188. #  define PCANSI_TCAP "pcansi\0\
  189. \0\033[K\0\
  190. \0\033[L\0\
  191. \1\033[M\0\
  192. \1\033[2J\0\
  193. \2\033[0m\0\
  194. \0\033[7m\0\
  195. \0\033[%i%d;%dH\0\
  196. \1\033[%dC\0\
  197. \5\316H\0\
  198. \0\316P\0\
  199. \0\316K\0\
  200. \0\316M\0\
  201. \2\316s\0\
  202. \0\316t\0\
  203. \0\316;\0\
  204. \0\316<\0\
  205. \0\316=\0\
  206. \0\316>\0\
  207. \0\316?\0\
  208. \0\316@\0\
  209. \0\316A\0\
  210. \0\316B\0\
  211. \0\316C\0\
  212. \0\316D\0\
  213. \0\316T\0\
  214. \0\316U\0\
  215. \0\316V\0\
  216. \0\316W\0\
  217. \0\316X\0\
  218. \0\316Y\0\
  219. \0\316Z\0\
  220. \0\316[\0\
  221. \0\316\\\0\
  222. \0\316]\0\
  223. \0\0"
  224.  
  225. /*
  226.  * These codes are valid for the pc video.
  227.  * The entries that start with ESC | are translated into conio calls in msdos.c.
  228.  */
  229. #  define PCTERM_TCAP "pcterm\0\
  230. \0\033|K\0\
  231. \0\033|L\0\
  232. \1\033|M\0\
  233. \1\033|J\0\
  234. \2\033|0m\0\
  235. \0\033|79m\0\
  236. \0\033|%i%d;%dH\0\
  237. \7\316H\0\
  238. \0\316P\0\
  239. \0\316K\0\
  240. \0\316M\0\
  241. \2\316s\0\
  242. \0\316t\0\
  243. \0\316;\0\
  244. \0\316<\0\
  245. \0\316=\0\
  246. \0\316>\0\
  247. \0\316?\0\
  248. \0\316@\0\
  249. \0\316A\0\
  250. \0\316B\0\
  251. \0\316C\0\
  252. \0\316D\0\
  253. \0\316T\0\
  254. \0\316U\0\
  255. \0\316V\0\
  256. \0\316W\0\
  257. \0\316X\0\
  258. \0\316Y\0\
  259. \0\316Z\0\
  260. \0\316[\0\
  261. \0\316\\\0\
  262. \0\316]\0\
  263. \0\0"
  264.  
  265. #  define VT52_TCAP "vt52\0\
  266. \0\033K\0\
  267. \0\033T\0\
  268. \1\033U\0\
  269. \1\014\0\
  270. \2\033SO\0\
  271. \0\033S2\0\
  272. \0\033Y%+ %+ \0\
  273. \0\0"
  274.  
  275. /*
  276.  * The xterm termcap is missing F14 and F15, because they send the same
  277.  * codes as the undo and help key, although they don't work on all keyboards.
  278.  */
  279. #  define XTERM_TCAP "xterm\0\
  280. \0\033[K\0\
  281. \0\033[L\0\
  282. \0\033[%dL\0\
  283. \0\033[M\0\
  284. \0\033[%dM\0\
  285. \0\033[H\033[2J\0\
  286. \2\033[m\0\
  287. \0\033[7m\0\
  288. \0\033[%i%d;%dH\0\
  289. \0\033M\0\
  290. \0\033[%dC\0\
  291. \1\033[?1h\033=\0\
  292. \0\033[?1l\033>\0\
  293. \0\0337\033[?47h\0\
  294. \0\033[2J\033[?47l\0338\0\
  295. \0\033OA\0\
  296. \0\033OB\0\
  297. \0\033OD\0\
  298. \0\033OC\0\
  299. \0\033Ox\0\
  300. \0\033Or\0\
  301. \0\033Ot\0\
  302. \0\033Ov\0\
  303. \0\033[11~\0\
  304. \0\033[12~\0\
  305. \0\033[13~\0\
  306. \0\033[14~\0\
  307. \0\033[15~\0\
  308. \0\033[17~\0\
  309. \0\033[18~\0\
  310. \0\033[19~\0\
  311. \0\033[20~\0\
  312. \0\033[21~\0\
  313. \0\033[23~\0\
  314. \0\033[24~\0\
  315. \0\033[25~\0\
  316. \2\033[29~\0\
  317. \0\033[31~\0\
  318. \0\033[32~\0\
  319. \0\033[33~\0\
  320. \0\033[34~\0\
  321. \0\033[28~\0\
  322. \0\033[26~\0\
  323. \0\0"
  324.  
  325. #  define DEBUG_TCAP "debug\0\
  326. \0[EL]\0\
  327. \0[IL]\0\
  328. \0[CIL%d]\0\
  329. \0[DL]\0\
  330. \0[CDL%d]\0\
  331. \0[ED]\0\
  332. \0[CI]\0\
  333. \0[CV]\0\
  334. \0[TP]\0\
  335. \0[TI]\0\
  336. \0[%dCM%d]\0\
  337. \0[SR]\0\
  338. \0[CRI%d]\0\
  339. \0[VB]\0\
  340. \0[KS]\0\
  341. \0[KE]\0\
  342. \0[TI]\0\
  343. \0[TE]\0\
  344. \0[KU]\0\
  345. \0[KD]\0\
  346. \0[KL]\0\
  347. \0[KR]\0\
  348. \0[SKU]\0\
  349. \0[SKD]\0\
  350. \0[SKL]\0\
  351. \0[SKR]\0\
  352. \0[F1]\0\
  353. \0[F2]\0\
  354. \0[F3]\0\
  355. \0[F4]\0\
  356. \0[F5]\0\
  357. \0[F6]\0\
  358. \0[F7]\0\
  359. \0[F8]\0\
  360. \0[F9]\0\
  361. \0[F10]\0\
  362. \0[SF1]\0\
  363. \0[SF2]\0\
  364. \0[SF3]\0\
  365. \0[SF4]\0\
  366. \0[SF5]\0\
  367. \0[SF6]\0\
  368. \0[SF7]\0\
  369. \0[SF8]\0\
  370. \0[SF9]\0\
  371. \0[SF10]\0\
  372. \0[HELP]\0\
  373. \0[UNDO]\0\
  374. \0\0"
  375.  
  376. #  ifdef ATARI
  377. #   define DFLT_TCAP ATARI_TCAP
  378. #  endif /* ATARI */
  379.  
  380. #  ifdef AMIGA
  381. #   define DFLT_TCAP AMIGA_TCAP
  382. #  endif /* AMIGA */
  383.  
  384. #  ifdef MSDOS
  385. #   define DFLT_TCAP PCTERM_TCAP
  386. #  endif /* MSDOS */
  387.  
  388. #  ifdef UNIX
  389. #   define DFLT_TCAP ANSI_TCAP
  390. #  endif /* UNIX */
  391.  
  392. # else /* NO_BUILTIN_TCAPS */
  393. #  define DUMB_TCAP "dumb\0\
  394. \5\014\0\
  395. \4\033[%i%d;%dH\0\
  396. \0\0"
  397. # endif /* NO_BUILTIN_TCAPS */
  398.  
  399. #else /* TERMINFO */
  400. # ifndef NO_BUILTIN_TCAPS
  401. /*
  402.  * here are the builtin termcap entries.
  403.  * They not stored as complete Tcarr structures, as such a structure 
  404.  * is to big. 
  405.  * Each termcap is a concatenated string of entries, where '\0' characters
  406.  * followed by a skip character sepereate the capabilities. The skip 
  407.  * character is the relative structure offset for the following entry.
  408.  * See parse_builtin_tcap() in term.c for all details.
  409.  */
  410. #  define AMIGA_TCAP "amiga\0\
  411. \0\033[K\0\
  412. \0\033[L\0\
  413. \0\033[%p1%dL\0\
  414. \0\033[M\0\
  415. \0\033[%p1%dM\0\
  416. \0\014\0\
  417. \0\033[0 p\0\
  418. \0\033[1 p\0\
  419. \0\033[0m\0\
  420. \0\033[7m\0\
  421. \0\033[%i%p1%d;%p2%dH\0\
  422. \1\033[%p1%dC\0\
  423. \5\233A\0\
  424. \0\233B\0\
  425. \0\233D\0\
  426. \0\233C\0\
  427. \0\233T\0\
  428. \0\233S\0\
  429. \0\233 A\0\
  430. \0\233 @\0\
  431. \0\233\060~\0\
  432. \0\233\061~\0\
  433. \0\233\062~\0\
  434. \0\233\063~\0\
  435. \0\233\064~\0\
  436. \0\233\065~\0\
  437. \0\233\066~\0\
  438. \0\233\067~\0\
  439. \0\233\070~\0\
  440. \0\233\071~\0\
  441. \0\233\061\060~\0\
  442. \0\233\061\061~\0\
  443. \0\233\061\062~\0\
  444. \0\233\061\063~\0\
  445. \0\233\061\064~\0\
  446. \0\233\061\065~\0\
  447. \0\233\061\066~\0\
  448. \0\233\061\067~\0\
  449. \0\233\061\070~\0\
  450. \0\233\061\071~\0\
  451. \0\233?~\0\
  452. \0\0"
  453.  
  454. #  define ATARI_TCAP "atari\0\
  455. \0\033l\0\
  456. \0\033L\0\
  457. \1\033M\0\
  458. \1\033E\0\
  459. \0\033f\0\
  460. \0\033e\0\
  461. \0\0"
  462.  
  463. #  define ANSI_TCAP "ansi\0\
  464. \0\033[2K\0\
  465. \0\033[L\0\
  466. \0\033[%p1%dL\0\
  467. \0\033[M\0\
  468. \0\033[%p1%dM\0\
  469. \0\033[2J\0\
  470. \2\033[0m\0\
  471. \0\033[7m\0\
  472. \0\033[%i%p1%d;%p2%dH\0\
  473. \1\033[%p1%dC\0\
  474. \0\0"
  475.  
  476. /*
  477.  * These codes are valid when nansi.sys or equivalent has been installed.
  478.  * Function keys on a PC are preceded with a NUL. These are converted into
  479.  * K_NUL '\316' in GetChars(), because we cannot handle NULs in key codes.
  480.  * CTRL-arrow is used instead of SHIFT-arrow.
  481.  */
  482. #  define PCANSI_TCAP "pcansi\0\
  483. \0\033[K\0\
  484. \0\033[L\0\
  485. \1\033[M\0\
  486. \1\033[2J\0\
  487. \2\033[0m\0\
  488. \0\033[7m\0\
  489. \0\033[%i%p1%d;%p2%dH\0\
  490. \1\033[%p1%dC\0\
  491. \5\316H\0\
  492. \0\316P\0\
  493. \0\316K\0\
  494. \0\316M\0\
  495. \2\316s\0\
  496. \0\316t\0\
  497. \0\316;\0\
  498. \0\316<\0\
  499. \0\316=\0\
  500. \0\316>\0\
  501. \0\316?\0\
  502. \0\316@\0\
  503. \0\316A\0\
  504. \0\316B\0\
  505. \0\316C\0\
  506. \0\316D\0\
  507. \0\316T\0\
  508. \0\316U\0\
  509. \0\316V\0\
  510. \0\316W\0\
  511. \0\316X\0\
  512. \0\316Y\0\
  513. \0\316Z\0\
  514. \0\316[\0\
  515. \0\316\\\0\
  516. \0\316]\0\
  517. \0\0"
  518.  
  519. /*
  520.  * These codes are valid for the pc video.
  521.  * The entries that start with ESC | are translated into conio calls in msdos.c.
  522.  */
  523. #  define PCTERM_TCAP "pcterm\0\
  524. \0\033|K\0\
  525. \0\033|L\0\
  526. \1\033|M\0\
  527. \1\033|J\0\
  528. \2\033|0m\0\
  529. \0\033|79m\0\
  530. \0\033|%i%p1%d;%p2%dH\0\
  531. \7\316H\0\
  532. \0\316P\0\
  533. \0\316K\0\
  534. \0\316M\0\
  535. \2\316s\0\
  536. \0\316t\0\
  537. \0\316;\0\
  538. \0\316<\0\
  539. \0\316=\0\
  540. \0\316>\0\
  541. \0\316?\0\
  542. \0\316@\0\
  543. \0\316A\0\
  544. \0\316B\0\
  545. \0\316C\0\
  546. \0\316D\0\
  547. \0\316T\0\
  548. \0\316U\0\
  549. \0\316V\0\
  550. \0\316W\0\
  551. \0\316X\0\
  552. \0\316Y\0\
  553. \0\316Z\0\
  554. \0\316[\0\
  555. \0\316\\\0\
  556. \0\316]\0\
  557. \0\0"
  558.  
  559. #  define VT52_TCAP "vt52\0\
  560. \0\033K\0\
  561. \0\033T\0\
  562. \1\033U\0\
  563. \1\014\0\
  564. \2\033SO\0\
  565. \0\033S2\0\
  566. \0\033Y%+ %+ \0\
  567. \0\0"
  568.  
  569. /*
  570.  * The xterm termcap is missing F14 and F15, because they send the same
  571.  * codes as the undo and help key, although they don't work on all keyboards.
  572.  */
  573. #  define XTERM_TCAP "xterm\0\
  574. \0\033[K\0\
  575. \0\033[L\0\
  576. \0\033[%p1%dL\0\
  577. \0\033[M\0\
  578. \0\033[%p1%dM\0\
  579. \0\033[H\033[2J\0\
  580. \2\033[m\0\
  581. \0\033[7m\0\
  582. \0\033[%i%p1%d;%p2%dH\0\
  583. \0\033M\0\
  584. \0\033[%p1%dC\0\
  585. \1\033[?1h\033=\0\
  586. \0\033[?1l\033>\0\
  587. \0\0337\033[?47h\0\
  588. \0\033[2J\033[?47l\0338\0\
  589. \0\033OA\0\
  590. \0\033OB\0\
  591. \0\033OD\0\
  592. \0\033OC\0\
  593. \0\033Ox\0\
  594. \0\033Or\0\
  595. \0\033Ot\0\
  596. \0\033Ov\0\
  597. \0\033[11~\0\
  598. \0\033[12~\0\
  599. \0\033[13~\0\
  600. \0\033[14~\0\
  601. \0\033[15~\0\
  602. \0\033[17~\0\
  603. \0\033[18~\0\
  604. \0\033[19~\0\
  605. \0\033[20~\0\
  606. \0\033[21~\0\
  607. \0\033[23~\0\
  608. \0\033[24~\0\
  609. \0\033[25~\0\
  610. \2\033[29~\0\
  611. \0\033[31~\0\
  612. \0\033[32~\0\
  613. \0\033[33~\0\
  614. \0\033[34~\0\
  615. \0\033[28~\0\
  616. \0\033[26~\0\
  617. \0\0"
  618.  
  619. #  define DEBUG_TCAP "debug\0\
  620. \0[EL]\0\
  621. \0[IL]\0\
  622. \0[CIL%p1%d]\0\
  623. \0[DL]\0\
  624. \0[CDL%p1%d]\0\
  625. \0[ED]\0\
  626. \0[CI]\0\
  627. \0[CV]\0\
  628. \0[TP]\0\
  629. \0[TI]\0\
  630. \0[%p1%dCM%p2%d]\0\
  631. \0[SR]\0\
  632. \0[CRI%p1%d]\0\
  633. \0[VB]\0\
  634. \0[KS]\0\
  635. \0[KE]\0\
  636. \0[TI]\0\
  637. \0[TE]\0\
  638. \0[KU]\0\
  639. \0[KD]\0\
  640. \0[KL]\0\
  641. \0[KR]\0\
  642. \0[SKU]\0\
  643. \0[SKD]\0\
  644. \0[SKL]\0\
  645. \0[SKR]\0\
  646. \0[F1]\0\
  647. \0[F2]\0\
  648. \0[F3]\0\
  649. \0[F4]\0\
  650. \0[F5]\0\
  651. \0[F6]\0\
  652. \0[F7]\0\
  653. \0[F8]\0\
  654. \0[F9]\0\
  655. \0[F10]\0\
  656. \0[SF1]\0\
  657. \0[SF2]\0\
  658. \0[SF3]\0\
  659. \0[SF4]\0\
  660. \0[SF5]\0\
  661. \0[SF6]\0\
  662. \0[SF7]\0\
  663. \0[SF8]\0\
  664. \0[SF9]\0\
  665. \0[SF10]\0\
  666. \0[HELP]\0\
  667. \0[UNDO]\0\
  668. \0\0"
  669.  
  670. #  ifdef ATARI
  671. #   define DFLT_TCAP ATARI_TCAP
  672. #  endif /* ATARI */
  673.  
  674. #  ifdef AMIGA
  675. #   define DFLT_TCAP AMIGA_TCAP
  676. #  endif /* AMIGA */
  677.  
  678. #  ifdef MSDOS
  679. #   define DFLT_TCAP PCTERM_TCAP
  680. #  endif /* MSDOS */
  681.  
  682. #  ifdef UNIX
  683. #   define DFLT_TCAP ANSI_TCAP
  684. #  endif /* UNIX */
  685.  
  686. # else /* NO_BUILTIN_TCAPS */
  687. /*
  688.  * The most minimal terminal: only clear screen and cursor positioning
  689.  */
  690. #  define DUMB_TCAP "dumb\0\
  691. \5\014\0\
  692. \4\033[%i%p1%d;%p2%dH\0\
  693. \0\0"
  694. # endif /* NO_BUILTIN_TCAPS */
  695.  
  696. #endif
  697.