1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
|
# $OpenBSD: Caps,v 1.7 2023/10/17 09:52:08 nicm Exp $
##############################################################################
# Copyright 2019-2020,2021 Thomas E. Dickey #
# Copyright 1998-2015,2016 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
# and: Eric S. Raymond <esr@snark.thyrsus.com>
#
# $Id: Caps,v 1.7 2023/10/17 09:52:08 nicm Exp $
#
# This is the master termcap/terminfo capability table.
#
# This table is used to generate initializers for tables that drive tic,
# infocmp, and the library compilation code used to support the termcap
# compatibility hack. It is also used to generate the tabular portion of the
# terminfo(5) man page; lines beginning with `#%' are passed through to become
# the terminfo table.
#
# This file has three major sections; a standard-capabilities table, two
# extension-capability tables, and a section of aliases declarations.
# The first two have the same format, as follows:
#
# FILE FORMAT
#
# Column 1: terminfo variable name
# Column 2: terminfo capability name
# Column 3: capability type (boolean, numeric, or string)
# Column 4: termcap capability name
# Column 5: KEY_xxx name, if any, `-' otherwise
# Column 6: value for KEY_xxx name, if any, `-' otherwise
# Column 7: Lead with `Y' if capability should be emitted in termcap
# translations, `-' otherwise
# Column 8: capability description
#
# The codes following [Y-] in column 7 describe the versions of termcap which
# use the given capability. This information is not used by the curses library
# proper; rather, it is there to help the terminfo maintainer avoid emitting
# termcap entry translations that are more than 1023 bytes long (and tank a
# lot of old termcap-using programs). The codes read as follows:
# B = mentioned in the BSD man page for 4.4BSD curses
# C = used by the 4.4BSD curses library
# G = mentioned in the documentation for GNU termcap
# E = used by GNU Emacs
# K = remove this terminfo capability when translating to standard format
# The important codes are C and E. A cap with C or E should be preserved in
# translation if possible. The problem is that preserving all such caps may
# lead to some termcap translations being too long. The termcap maintainer
# has a bit of a juggling act to do...potential problem cases are marked with
# an asterisk (*).
#
# The aliases section has the following format:
#
# Column 1: either `capalias' or `infoalias'
# Column 2: name to be aliased
# Column 3: what name it should translate to. The name IGNORE means it
# should be discarded with a warning message.
# Column 4: name of the extension set (used for compiler warning messages)
# Column 5: capability description (usually an associated terminfo variable)
#
# HANDLING TERMCAP AND TERMINFO EXTENSIONS
#
# There are basically five different ways to handle termcap and terminfo
# extensions:
#
# 1. Don't list the capname here, or list it but comment it out (the latter
# is preferable; someone might want to handle it in the future). If you do
# this, the capability will be treated as unknown and raise a warning from
# the compiler.
#
# 2. Alias it. This is appropriate if the capability has the same meaning
# as an already-supported one. The compiler will handle aliasing, emitting
# an appropriate informational message whenever an alias fires.
#
# 3. List it in the standard table. You almost certainly do *not* want
# to do this -- the capabilities in that one, and their order, have been
# carefully chosen to be SVr4-binary-compatible when they're written out
# as a terminfo object, and breaking this would be bad. It is up to the ncurses
# library what to do with the terminfo data after it is read in.
#
# 4. List it in the aliases table with an IGNORE target field. If you
# do this, the capability will be ignored on input (though the user will
# get a warning message about it).
#
# 5. List it in the extensions table. If you do this, the compiler will
# silently accept the capability, but the curses library proper will never
# see it (because it won't be written out as part of the terminfo object
# format). It is up to you what you have the compiler do with it.
#
# There are two opposite reasons to choose option 5. One is when you want
# to eat the capability silently and discard it when doing translations
# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are
# in this class. Nothing will ever use them again.
#
# More usually, you want the compiler to try to deduce something from the
# capability value that it can use to translate it into your output format.
# You'll need to write custom code, probably in postprocess_termcap() or
# postprocess_terminfo(), to handle the translation.
#
# CONTROLLING ENTRY LENGTH
#
# Notes on specific elisions made to fit translations within 1023 bytes:
#
# Machines with IBM PC-like keyboards want to be able to define the following
# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
# only environments for End or Home-Down), key_dc, and key_ic. This is also
# the set of keys the `joe' editor will be upset if it can't see. So don't
# trim those out of the set to be translated to termcap, or various users of
# the termcap file will become irate.
#
# It might look tempting to leave those long init strings out of translations.
# We can't do it (yet); 4.4BSD tput and tset use them.
#
# We retain the sgr capability in translation in spite of the fact that neither
# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
# hard to understand without it, and (b) the entries in which it is long tend
# to be older types that don't use up a lot of string space on function keys.
# The tic(1) translation code will complain and elide it if it makes a critical
# difference (there is special code in tic to recognize this situation).
#
# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion
# optimizer in BSD curses didn't use them. This omission seems to be the
# single most effective one, it shortened the resolved length of all thirteen
# problem entries in the 9.9.0 version of the terminfo master below critical.
#
# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
# translations go back over critical if we do this. As 4.4BSD curses fades
# into history and GNU termcap's application base shrinks towards being GNU
# Emacs only, we'll probably elide out some BSD-only capabilities in order
# to buy space for non-essentials Emacs is still using. Capabilities high
# on that hit list: rc, sc, uc.
#
#############################################################################
#
# STANDARD CAPABILITIES
#
#%The following is a complete table of the capabilities included in a
#%terminfo description block and available to terminfo-using code. In each
#%line of the table,
#%
#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
#%accesses the capability.
#%
#%The \fBcapname\fR is the short name used in the text of the database,
#%and is used by a person updating the database.
#%Whenever possible, capnames are chosen to be the same as or similar to
#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
#%identical or very similar names). Semantics are also intended to match
#%those of the specification.
#%
#%The termcap code is the old
#%.B termcap
#%capability name (some capabilities are new, and have names which termcap
#%did not originate).
#%.P
#%Capability names have no hard length limit, but an informal limit of 5
#%characters has been adopted to keep them short and to allow the tabs in
#%the source file
#%.B Caps
#%to line up nicely.
#%
#%Finally, the description field attempts to convey the semantics of the
#%capability. You may find some codes in the description field:
#%.TP
#%(P)
#%indicates that padding may be specified
#%.TP
#%#[1-9]
#%in the description field indicates that the string is passed
#%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
#%.IP
#%If no parameters are listed in the description,
#%passing the string through \fBtparm\fP(3X) may give unexpected results,
#%e.g., if it contains percent (%%) signs.
#%.TP
#%(P*)
#%indicates that padding may vary in proportion to the number of
#%lines affected
#%.TP
#%(#\d\fIi\fP\u)
#%indicates the \fIi\fP\uth\d parameter.
#%
#%.PP
#% These are the boolean capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBBooleans name Code\fR
auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column
auto_right_margin am bool am - - YBCGE terminal has automatic margins
no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C)
ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp)
eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept)
erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank
generic_type gn bool gn - - YB-G- generic line type
hard_copy hc bool hc - - YBCG- hardcopy terminal
has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit)
has_status_line hs bool hs - - YB-G- has extra status line
insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls
memory_above da bool da - - YBCG- display may be retained above the screen
memory_below db bool db - - YB-GE display may be retained below the screen
move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode
move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode
over_strike os bool os - - YBCG- terminal can overstrike
status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line
dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061)
tilde_glitch hz bool hz - - YB-GE cannot print ~'s (Hazeltine)
transparent_underline ul bool ul - - YBCGE underline character overstrikes
xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking
needs_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required
prtr_silent mc5i bool 5i - - ----- printer will not echo on screen
hard_cursor chts bool HC - - ----- cursor is hard to see
non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup
no_pad_char npc bool NP - - ----- pad character does not exist
non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive
can_change ccc bool cc - - ----- terminal can re-define existing colors
back_color_erase bce bool ut - - ----- screen erased with background color
hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix)
col_addr_glitch xhpa bool YA - - ----- only positive motion for hpa/mhpa caps
cr_cancels_micro_mode crxm bool YB - - ----- using cr turns off micro mode
has_print_wheel daisy bool YC - - ----- printer needs operator to change character set
row_addr_glitch xvpa bool YD - - ----- only positive motion for vpa/mvpa caps
semi_auto_right_margin sam bool YE - - ----- printing in last column causes cr
cpi_changes_res cpix bool YF - - ----- changing character pitch changes resolution
lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution
#%.TE
#%.ad
#%
#%These are the numeric capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBNumeric name Code\fR
columns cols num co - - YBCGE number of columns in a line
init_tabs it num it - - YB-G- tabs initially every # spaces
lines lines num li - - YBCGE number of lines on screen or page
lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies
magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso
padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed
virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix)
width_status_line wsl num ws - - YB-G- number of columns in status line
num_labels nlab num Nl - - ----- number of labels on screen
label_height lh num lh - - ----- rows in each label
label_width lw num lw - - ----- columns in each label
max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle
maximum_windows wnum num MW - - ----- maximum number of definable windows
# These came in with SVr4's color support
max_colors colors num Co - - ----- maximum number of colors on screen
max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen
no_color_video ncv num NC - - ----- video attributes that cannot be used with colors
#%.TE
#%.ad
#%
#%The following numeric capabilities are present in the SVr4.0 term structure,
#%but are not yet documented in the man page. They came in with SVr4's
#%printer support.
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBNumeric name Code\fR
buffer_capacity bufsz num Ya - - ----- numbers of bytes buffered before printing
dot_vert_spacing spinv num Yb - - ----- spacing of pins vertically in pins per inch
dot_horz_spacing spinh num Yc - - ----- spacing of dots horizontally in dots per inch
max_micro_address maddr num Yd - - ----- maximum value in micro_..._address
max_micro_jump mjump num Ye - - ----- maximum value in parm_..._micro
micro_col_size mcs num Yf - - ----- character step size when in micro mode
micro_line_size mls num Yg - - ----- line step size when in micro mode
number_of_pins npins num Yh - - ----- numbers of pins in print-head
output_res_char orc num Yi - - ----- horizontal resolution in units per line
output_res_line orl num Yj - - ----- vertical resolution in units per line
output_res_horz_inch orhi num Yk - - ----- horizontal resolution in units per inch
output_res_vert_inch orvi num Yl - - ----- vertical resolution in units per inch
print_rate cps num Ym - - ----- print rate in characters per second
wide_char_size widcs num Yn - - ----- character step size when in double wide mode
buttons btns num BT - - ----- number of buttons on mouse
bit_image_entwining bitwin num Yo - - ----- number of passes for each bit-image row
bit_image_type bitype num Yp - - ----- type of bit-image device
#%.TE
#%.ad
#%
#%These are the string capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBString name Code\fR
back_tab cbt str bt - - YBCGE back tab (P)
bell bel str bl - - YB-GE audible signal (bell) (P)
carriage_return cr str cr - - YBCGE carriage return (P*) (P*)
change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P)
clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P)
clear_screen clear str cl - - YBCGE clear screen and home cursor (P*)
clr_eol el str ce - - YBCGE clear to end of line (P)
clr_eos ed str cd - - YBCGE clear to end of screen (P*)
column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P)
command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !?
cursor_address cup str cm - - YBCGE move to row #1 columns #2
cursor_down cud1 str do - - YBCGE down one line
cursor_home home str ho - - YBCGE home cursor (if no cup)
cursor_invisible civis str vi - - YB-G- make cursor invisible
cursor_left cub1 str le - - YBCGE move left one space
cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2
cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis)
cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space)
cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup)
cursor_up cuu1 str up - - YBCGE up one line
cursor_visible cvvis str vs - - YBCGE make cursor very visible
delete_character dch1 str dc - - YBCGE delete character (P*)
delete_line dl1 str dl - - YBCGE delete line (P*)
dis_status_line dsl str ds - - YB-G- disable status line
down_half_line hd str hd - - YB-G- half a line down
enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P)
enter_blink_mode blink str mb - - YB-G- turn on blinking
enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode
enter_ca_mode smcup str ti - - YBCGE string to start programs using cup
enter_delete_mode smdc str dm - - YBCGE enter delete mode
enter_dim_mode dim str mh - - YB-G- turn on half-bright mode
enter_insert_mode smir str im - - YBCGE enter insert mode
enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible)
enter_protected_mode prot str mp - - -B-G-* turn on protected mode
enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode
enter_standout_mode smso str so - - YBCGE begin standout mode
enter_underline_mode smul str us - - YBCGE begin underline mode
erase_chars ech str ec - - YB-G- erase #1 characters (P)
exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P)
exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes
exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup
exit_delete_mode rmdc str ed - - YBCGE end delete mode
exit_insert_mode rmir str ei - - YBCGE exit insert mode
exit_standout_mode rmso str se - - YBCGE exit standout mode
exit_underline_mode rmul str ue - - YBCGE exit underline mode
flash_screen flash str vb - - YBCGE visible bell (may not move cursor)
form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*)
from_status_line fsl str fs - - YB-G- return from status line
init_1string is1 str i1 - - YB-G- initialization string
init_2string is2 str is - - YB-G- initialization string
init_3string is3 str i3 - - YB-G- initialization string
init_file if str if - - YB-G- name of initialization file
insert_character ich1 str ic - - YBCGE insert character (P)
insert_line il1 str al - - YBCGE insert line (P*)
insert_padding ip str ip - - YBCGE insert padding after inserted character
key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key
key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key
key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key
key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key
key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key
key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key
key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key
key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode
key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key
key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key
key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key
key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key
key_f10 kf10 str k; KEY_F(10) - ----E F10 function key
key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key
key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key
key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key
key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key
key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key
key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key
key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key
key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key
key_home khome str kh KEY_HOME 0406 YBCGE home key
key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key
key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key
key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key
key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down)
key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key
key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key
key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key
key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key
key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key
key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key
key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key
keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode
keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode
lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0
lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1
lab_f10 lf10 str la - - ----- label on function key f10 if not f10
lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2
lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3
lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4
lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5
lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6
lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7
lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8
lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9
meta_off rmm str mo - - YB-G-* turn off meta mode
meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on)
newline nel str nw - - YB-G-* newline (behave like cr followed by lf)
pad_char pad str pc - - YBCGE padding char (instead of null)
parm_dch dch str DC - - YB-GE delete #1 characters (P*)
parm_delete_line dl str DL - - YBCGE delete #1 lines (P*)
parm_down_cursor cud str DO - - YBCGE down #1 lines (P*)
parm_ich ich str IC - - YB-GE insert #1 characters (P*)
parm_index indn str SF - - YBCG- scroll forward #1 lines (P)
parm_insert_line il str AL - - YBCGE insert #1 lines (P*)
parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P)
parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*)
parm_rindex rin str SR - - YBCG- scroll back #1 lines (P)
parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*)
pkey_key pfkey str pk - - -B--- program function key #1 to type string #2
pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2
pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2
print_screen mc0 str ps - - -B-G-* print contents of screen
prtr_off mc4 str pf - - -B-G-* turn off printer
prtr_on mc5 str po - - -B-G-* turn on printer
repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*)
reset_1string rs1 str r1 - - -B--- reset string
reset_2string rs2 str r2 - - -B--- reset string
reset_3string rs3 str r3 - - -B--- reset string
reset_file rf str rf - - -B--- name of reset file
restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor
row_address vpa str cv - - -B-GE* vertical position #1 absolute (P)
save_cursor sc str sc - - YBCG- save current cursor position (P)
scroll_forward ind str sf - - YBCGE scroll text up (P)
scroll_reverse ri str sr - - YBCGE scroll text down (P)
set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9)
set_tab hts str st - - YB-G- set a tab in every row, current columns
set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4
tab ht str ta - - YBCGE tab to next 8-space hardware tab stop
to_status_line tsl str ts - - YB-G- move to status line, column #1
underline_char uc str uc - - YBCG- underline char and move past it
up_half_line hu str hu - - YB-G- half a line up
init_prog iprog str iP - - -B--- path name of program for initialization
key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad
key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad
key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad
key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad
key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad
prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes
#
# SVr1 capabilities stop here. IBM's version of terminfo is the same as
# SVr4 up to this point, but has a different set afterwards.
#
char_padding rmp str rP - - ----- like ip but when in insert mode
acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100
plab_norm pln str pn - - ----- program label #1 to show string #2
key_btab kcbt str kB KEY_BTAB 0541 ----- back-tab key
enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking
exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking
enter_am_mode smam str SA - - ----- turn on automatic margins
exit_am_mode rmam str RA - - ----- turn off automatic margins
xon_character xonc str XN - - ----- XON character
xoff_character xoffc str XF - - ----- XOFF character
ena_acs enacs str eA - - ----- enable alternate char set
label_on smln str LO - - ----- turn on soft labels
label_off rmln str LF - - ----- turn off soft labels
key_beg kbeg str @1 KEY_BEG 0542 ----- begin key
key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key
key_close kclo str @3 KEY_CLOSE 0544 ----- close key
key_command kcmd str @4 KEY_COMMAND 0545 ----- command key
key_copy kcpy str @5 KEY_COPY 0546 ----- copy key
key_create kcrt str @6 KEY_CREATE 0547 ----- create key
key_end kend str @7 KEY_END 0550 ----- end key
key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key
key_exit kext str @9 KEY_EXIT 0551 ----- exit key
key_find kfnd str @0 KEY_FIND 0552 ----- find key
key_help khlp str %1 KEY_HELP 0553 ----- help key
key_mark kmrk str %2 KEY_MARK 0554 ----- mark key
key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key
key_move kmov str %4 KEY_MOVE 0556 ----- move key
key_next knxt str %5 KEY_NEXT 0557 ----- next key
key_open kopn str %6 KEY_OPEN 0560 ----- open key
key_options kopt str %7 KEY_OPTIONS 0561 ----- options key
key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key
key_print kprt str %9 KEY_PRINT 0532 ----- print key
key_redo krdo str %0 KEY_REDO 0563 ----- redo key
key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key
key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key
key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key
key_restart krst str &4 KEY_RESTART 0567 ----- restart key
key_resume kres str &5 KEY_RESUME 0570 ----- resume key
key_save ksav str &6 KEY_SAVE 0571 ----- save key
key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key
key_undo kund str &8 KEY_UNDO 0630 ----- undo key
key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key
key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key
key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key
key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key
key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key
key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key
key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key
key_select kslt str *6 KEY_SELECT 0601 ----- select key
key_send kEND str *7 KEY_SEND 0602 ----- shifted end key
key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key
key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key
key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key
key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key
key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key
key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key
key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key
key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key
key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key
key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key
key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key
key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key
key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key
key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key
key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key
key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key
key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key
key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key
key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key
key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key
req_for_input rfi str RF - - ----- send next input char (for ptys)
key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key
key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key
key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key
key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key
key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key
key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key
key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key
key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key
key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key
key_f20 kf20 str FA KEY_F(20) - ----E F20 function key
key_f21 kf21 str FB KEY_F(21) - ----E F21 function key
key_f22 kf22 str FC KEY_F(22) - ----E F22 function key
key_f23 kf23 str FD KEY_F(23) - ----E F23 function key
key_f24 kf24 str FE KEY_F(24) - ----E F24 function key
key_f25 kf25 str FF KEY_F(25) - ----E F25 function key
key_f26 kf26 str FG KEY_F(26) - ----E F26 function key
key_f27 kf27 str FH KEY_F(27) - ----E F27 function key
key_f28 kf28 str FI KEY_F(28) - ----E F28 function key
key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key
key_f30 kf30 str FK KEY_F(30) - ----E F30 function key
key_f31 kf31 str FL KEY_F(31) - ----E F31 function key
key_f32 kf32 str FM KEY_F(32) - ----E F32 function key
key_f33 kf33 str FN KEY_F(33) - ----E F33 function key
key_f34 kf34 str FO KEY_F(34) - ----E F34 function key
key_f35 kf35 str FP KEY_F(35) - ----E F35 function key
key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key
key_f37 kf37 str FR KEY_F(37) - ----E F37 function key
key_f38 kf38 str FS KEY_F(38) - ----E F38 function key
key_f39 kf39 str FT KEY_F(39) - ----E F39 function key
key_f40 kf40 str FU KEY_F(40) - ----E F40 function key
key_f41 kf41 str FV KEY_F(41) - ----E F41 function key
key_f42 kf42 str FW KEY_F(42) - ----E F42 function key
key_f43 kf43 str FX KEY_F(43) - ----E F43 function key
key_f44 kf44 str FY KEY_F(44) - ----E F44 function key
key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key
key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key
key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key
key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key
key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key
key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key
key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key
key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key
key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key
key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key
key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key
key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key
key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key
key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key
key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key
key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key
key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key
key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key
key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
set_right_margin smgr str MR - - ----- set right soft margin at current column
label_format fln str Lf - - ----- label format
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
display_clock dclk str DK - - ----- display clock
remove_clock rmclk str RC - - ----- remove clock
create_window cwin str CW - - ----- define a window #1 from #2,#3 to #4,#5
goto_window wingo str WG - - ----- go to window #1
hangup hup str HU - - ----- hang-up phone
dial_phone dial str DI - - ----- dial number #1
quick_dial qdial str QD - - ----- dial number #1 without checking
tone tone str TO - - ----- select touch tone dialing
pulse pulse str PU - - ----- select pulse dialing
flash_hook hook str fh - - ----- flash switch hook
fixed_pause pause str PA - - ----- pause for 2-3 seconds
wait_tone wait str WA - - ----- wait for dial-tone
user0 u0 str u0 - - ----- User string #0
user1 u1 str u1 - - ----- User string #1
user2 u2 str u2 - - ----- User string #2
user3 u3 str u3 - - ----- User string #3
user4 u4 str u4 - - ----- User string #4
user5 u5 str u5 - - ----- User string #5
user6 u6 str u6 - - ----- User string #6
user7 u7 str u7 - - ----- User string #7
user8 u8 str u8 - - ----- User string #8
user9 u9 str u9 - - ----- User string #9
#
# SVr4 added these capabilities to support color
#
orig_pair op str op - - ----- Set default pair to its original value
orig_colors oc str oc - - ----- Set all color pairs to the original ones
initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4)
initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
set_color_pair scp str sp - - ----- Set current color pair to #1
set_foreground setf str Sf - - ----- Set foreground color #1
set_background setb str Sb - - ----- Set background color #1
#
# SVr4 added these capabilities to support printers
#
change_char_pitch cpi str ZA - - ----- Change number of characters per inch to #1
change_line_pitch lpi str ZB - - ----- Change number of lines per inch to #1
change_res_horz chr str ZC - - ----- Change horizontal resolution to #1
change_res_vert cvr str ZD - - ----- Change vertical resolution to #1
define_char defc str ZE - - ----- Define a character #1, #2 dots wide, descender #3
enter_doublewide_mode swidm str ZF - - ----- Enter double-wide mode
enter_draft_quality sdrfq str ZG - - ----- Enter draft-quality mode
enter_italics_mode sitm str ZH - - ----- Enter italic mode
enter_leftward_mode slm str ZI - - ----- Start leftward carriage motion
enter_micro_mode smicm str ZJ - - ----- Start micro-motion mode
enter_near_letter_quality snlq str ZK - - ----- Enter NLQ mode
enter_normal_quality snrmq str ZL - - ----- Enter normal-quality mode
enter_shadow_mode sshm str ZM - - ----- Enter shadow-print mode
enter_subscript_mode ssubm str ZN - - ----- Enter subscript mode
enter_superscript_mode ssupm str ZO - - ----- Enter superscript mode
enter_upward_mode sum str ZP - - ----- Start upward carriage motion
exit_doublewide_mode rwidm str ZQ - - ----- End double-wide mode
exit_italics_mode ritm str ZR - - ----- End italic mode
exit_leftward_mode rlm str ZS - - ----- End left-motion mode
exit_micro_mode rmicm str ZT - - ----- End micro-motion mode
exit_shadow_mode rshm str ZU - - ----- End shadow-print mode
exit_subscript_mode rsubm str ZV - - ----- End subscript mode
exit_superscript_mode rsupm str ZW - - ----- End superscript mode
exit_upward_mode rum str ZX - - ----- End reverse character motion
micro_column_address mhpa str ZY - - ----- Like column_address in micro mode
micro_down mcud1 str ZZ - - ----- Like cursor_down in micro mode
micro_left mcub1 str Za - - ----- Like cursor_left in micro mode
micro_right mcuf1 str Zb - - ----- Like cursor_right in micro mode
micro_row_address mvpa str Zc - - ----- Like row_address #1 in micro mode
micro_up mcuu1 str Zd - - ----- Like cursor_up in micro mode
order_of_pins porder str Ze - - ----- Match software bits to print-head pins
parm_down_micro mcud str Zf - - ----- Like parm_down_cursor in micro mode
parm_left_micro mcub str Zg - - ----- Like parm_left_cursor in micro mode
parm_right_micro mcuf str Zh - - ----- Like parm_right_cursor in micro mode
parm_up_micro mcuu str Zi - - ----- Like parm_up_cursor in micro mode
select_char_set scs str Zj - - ----- Select character set, #1
set_bottom_margin smgb str Zk - - ----- Set bottom margin at current line
set_bottom_margin_parm smgbp str Zl - - ----- Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
set_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1
set_right_margin_parm smgrp str Zn - - ----- Set right margin at column #1
set_top_margin smgt str Zo - - ----- Set top margin at current line
set_top_margin_parm smgtp str Zp - - ----- Set top (bottom) margin at row #1
start_bit_image sbim str Zq - - ----- Start printing bit image graphics
start_char_set_def scsd str Zr - - ----- Start character set definition #1, with #2 characters in the set
stop_bit_image rbim str Zs - - ----- Stop printing bit image graphics
stop_char_set_def rcsd str Zt - - ----- End definition of character set #1
subscript_characters subcs str Zu - - ----- List of subscriptable characters
superscript_characters supcs str Zv - - ----- List of superscriptable characters
these_cause_cr docr str Zw - - ----- Printing any of these characters causes CR
zero_motion zerom str Zx - - ----- No motion for subsequent character
#%.TE
#%.ad
#%
#%The following string capabilities are present in the SVr4.0 term structure,
#%but were originally not documented in the man page.
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw18.
#%\fBVariable Cap- TCap Description\fR
#%\fBString name Code\fR
char_set_names csnm str Zy - - ----- Produce #1'th item from list of character set names
key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred
mouse_info minfo str Mi - - ----- Mouse status information
req_mouse_pos reqmp str RQ - - ----- Request mouse position
get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented.
set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape
set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape
pkey_plab pfxl str xl - - ----- Program function key #1 to type string #2 and show string #3
device_type devt str dv - - ----- Indicate language/codeset support
code_set_init csin str ci - - ----- Init sequence for multiple codesets
set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII)
set1_des_seq s1ds str s1 - - ----- Shift to codeset 1
set2_des_seq s2ds str s2 - - ----- Shift to codeset 2
set3_des_seq s3ds str s3 - - ----- Shift to codeset 3
set_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap).
set_tb_margin smgtb str MT - - ----- Sets both top and bottom margins to #1, #2
bit_image_repeat birep str Xy - - ----- Repeat bit image cell #1 #2 times
bit_image_newline binel str Zz - - ----- Move to next row of the bit image
bit_image_carriage_return bicr str Yv - - ----- Move to beginning of same row
color_names colornm str Yw - - ----- Give name for color #1
define_bit_image_region defbi str Yx - - ----- Define rectangular bit image region
end_bit_image_region endbi str Yy - - ----- End a bit-image region
set_color_band setcolor str Yz - - ----- Change to ribbon color #1
set_page_length slines str YZ - - ----- Set page length to #1 lines
#
# SVr4 added these capabilities for direct PC-clone support
#
display_pc_char dispc str S1 - - ----- Display PC character #1
enter_pc_charset_mode smpch str S2 - - ----- Enter PC character display mode
exit_pc_charset_mode rmpch str S3 - - ----- Exit PC character display mode
enter_scancode_mode smsc str S4 - - ----- Enter PC scancode mode
exit_scancode_mode rmsc str S5 - - ----- Exit PC scancode mode
pc_term_options pctrm str S6 - - ----- PC terminal options
scancode_escape scesc str S7 - - ----- Escape for scancode emulation
alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulation
#%.TE
#%.ad
#%
#%.in .8i
#%The XSI Curses standard added these hardcopy capabilities.
#%They were used in some post-4.1 versions of System V curses,
#%e.g., Solaris 2.5 and IRIX 6.x.
#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
#%According to the XSI Curses standard, they have no termcap names.
#%If your compiled terminfo entries use these,
#%they may not be binary-compatible with System V terminfo
#%entries after SVr4.1; beware!
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBString name Code\fR
enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode
enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode
enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode
enter_right_hl_mode erhlm str Xr - - ----- Enter right highlight mode
enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode
enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode
set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6
set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
#%.TE
#%.ad
#
# The magic token below tells the tic compiler-generator code that all the caps
# past it should be ignored (not written out) when dumping terminfo objects. It
# also tells the man page table generator not to pass through following lines
# This means we can have obsolete capabilities and pseudo-capabilities that are
# recognized for termcap or terminfo compilation, but not output.
#
# %%-STOP-HERE-%%
#
# Don't move this casually! In fact, don't move it at all unless you're
# either doing it to add System V or XPG4 extensions, or have decided you
# don't care about SVr4 binary compatibility.
#
#############################################################################
#
# TERMCAP EXTENSION CAPABILITIES
#
# The capabilities below are either obsolete or extensions on certain systems.
# They are not used by SVR4 terminfo. Some are used by captoinfo to translate
# termcap sources; the rest are listed for completeness, and in case somebody
# cares about them enough to hack in code that will translate them into
# terminfo capabilities.
#
# The first part of the list is from Ross Ridge's `mytinfo' package
# (comp.sources.unix, volume 26); the variable names and terminfo names (as
# well as the termcap codes) match his list.
#
# This group of codes is not marked obsolete in 4.4BSD, but have no direct
# terminfo equivalents. The rs capability is specially translated to terminfo
# r2, and vice versa, if an entry does not already have an r2. Similarly,
# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
# The ug capability is thrown away, but assumed to be whatever sg is if the
# latter is nonzero and we're dumping in termcap format.
#
termcap_init2 OTi2 str i2 - - YB--- secondary initialization string
termcap_reset OTrs str rs - - YB-G- terminal reset string
magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul
#
# Obsolete termcap capabilities. Some are used for termcap translation. The
# code uses the 'OT' prefix we put on obsolete capabilities to suppress
# printing them in terminfo source dumps of compiled entries.
#
backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left
crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll
no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line
carriage_return_delay OTdC num dC - - YB-G- pad needed for CR
new_line_delay OTdN num dN - - YB-G- pad needed for LF
linefeed_if_not_lf OTnl str nl - - YBCGE use to move down
backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H
#
# GNU termcap library extensions. The GNU termcap file distributed with
# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
# BSD termcap file. The name clash with terminfo MT is resolved by type
# info; MT is converted to km.
#
gnu_has_meta_key OTMT bool MT - - ----E has meta key
# gnu_tab_width OTtw num tw - - ----E tab width in spaces
#
# GNU termcap *does* include the following extended capability, Only the
# now-obsolete Ann Arbor terminals used it.
#
# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region
#
# The following comments describe capnames so ancient that I believe no
# software uses them any longer. Some of these have to go because they
# clash with terminfo names in ways that cannot be resolved by type
# information.
#
# These mytinfo codes are not used in the 4.4BSD curses code. They are
# marked obsolete in the 4.4BSD manual pages.
#
# There is one conflict with terminfo; ma is in both. This conflict is
# resolved by type information.
#
# The `ko' capability is translated by special code. It should contain a
# comma-separated list of capabilities for which there are corresponding keys.
# The `kn' code is accepted but ignored.
#
# The `ma' capability was a 4.0BSD feature used by vi version 2.
# It consists of pairs of characters corresponding to kl, kr, ku, kd, and kh.
# Besides being obsolete, that interpretation conflicts with max_attributes.
#
# Here is a description of memory_lock_above and memory_unlock:
# "You can 'freeze' data on the screen by turning on Memory Lock in a line of
# text. All lines above the cursor's current line become locked in place on
# the screen. Then enter data normally. When the screen fills up, any
# further data entered forces the first line of unfrozen line text to scroll
# under the frozen data. Lines scrolled off the screen are inserted into
# memory immediately preceding the first frozen line." (from the HP 700/96
# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
#
# Applications that use terminfo are supposed to behave as though xr is
# always true.
#
linefeed_is_newline OTNL bool NL - - YB--- move down with \n
# even_parity OTEP bool EP - - -B--- terminal requires even parity
# odd_parity OTOP bool OP - - -B--- terminal requires odd parity
# half_duplex OTHD bool HD - - -B--- terminal is half-duplex
# lower_case_only OTLC bool LC - - -B--- terminal has only lower case
# upper_case_only OTUC bool UC - - -B--- terminal has only upper case
backspace_delay OTdB num dB - - YB-G- padding required for ^H
# form_feed_delay OTdF num dF - - -B-G- padding required for ^L
horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I
# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V
number_of_function_keys OTkn num kn - - -B-G- count of function keys
other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps
arrow_key_map OTma str ma - - YBC-- map motion-keys for vi version 2
# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line
# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line
has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I
return_does_clr_eol OTxr bool xr - - YB--- return clears the line
# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch
#
# mytinfo described this as a termcap capability, but it is not listed in the
# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses
# package, like System V, behaves as though it is always true.
#
# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line
#
# University of Waterloo termcap extensions (as described in mytinfo).
# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
# be resolved by a type check. The descriptions are guesses from what was
# in the mytinfo tables.
#
# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?)
# key_kill_char OTkk str kk - - ----- string set by kill key (?)
# key_suspend_char OTkz str kz - - ----- string set by suspend key (?)
# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?)
# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return
#
# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
# check.
#
# scroll_left OTsl1 str Sl - - ----- scroll screen leftward
# scroll_right OTsr1 str Sr - - ----- scroll screen rightward
# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters
# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters
#
# The mytinfo capabilities end here.
#
# XENIX extensions:
#
# Xenix defined its own set of forms-drawing capabilities:
#
# cap IBM ASCII description ACS ASCII
# --- ----------- -------------------- ------------- ------
# G1 191 \277 M-? single upper right ACS_URCORNER
# G2 218 \332 M-Z single upper left ACS_ULCORNER
# G3 192 \300 M-@ single lower left ACS_LLCORNER
# G4 217 \331 M-Y single lower right ACS_LRCORNER
# G5 187 \273 M-; double upper right
# G6 201 \311 M-I double upper left
# G7 200 \310 M-H double lower left
# G8 188 \274 M-< double lower right
# GC 197 \305 M-E single intersection ACS_PLUS _ _
# GD 194 \302 M-B single down-tick ACS_TTEE |
# GH 196 \304 M-D single horizontal line ACS_HLINE
# GL 180 \264 M-4 single left tick ACS_RTEE -|
# GR 195 \303 M-C single right tick ACS_LTEE |-
# GU 193 \301 M-A single up tick ACS_BTEE _|_
# GV 179 \263 M-3 single vertical line ACS_VLINE
# Gc 206 \316 M-N double intersection
# Gd 203 \313 M-K double down tick
# Gh 205 \315 M-M double horizontal line
# Gl 204 \204 M-L double left tick
# Gr 185 \271 M-9 double right tick
# Gu 202 \312 M-J double up tick
# Gv 186 \272 M-: double vertical line
#
# The compiler will translate the single-line caps and discard the others
# (via IGNORE aliases further down). We don't want to do normal pad
# translation on these, they're often single-character printable ASCII
# strings that happen to be numerics. There's awk code in parametrized.sh
# that detects the acs_ prefix and uses it to suppress pad translation.
# These terminfo names are invented.
#
acs_ulcorner OTG2 str G2 - - ----- single upper left
acs_llcorner OTG3 str G3 - - ----- single lower left
acs_urcorner OTG1 str G1 - - ----- single upper right
acs_lrcorner OTG4 str G4 - - ----- single lower right
acs_ltee OTGR str GR - - ----- tee pointing right
acs_rtee OTGL str GL - - ----- tee pointing left
acs_btee OTGU str GU - - ----- tee pointing up
acs_ttee OTGD str GD - - ----- tee pointing down
acs_hline OTGH str GH - - ----- single horizontal line
acs_vline OTGV str GV - - ----- single vertical line
acs_plus OTGC str GC - - ----- single intersection
#
#############################################################################
#
# TERMINFO EXTENSION CAPABILITIES
#
# (see Caps-ncurses for the complete set of comments)
#
memory_lock meml str ml - - ----K lock memory above cursor
memory_unlock memu str mu - - ----K unlock memory
box_chars_1 box1 str bx - - ----K box characters primary set
#############################################################################
|