blob: a41e9eca7a307cfd488dbe332eab0085f946c7af [file] [log] [blame]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05301##############################################################################
micky3879b9f5e72025-07-08 18:04:53 -04002# Copyright 2019-2023,2024 Thomas E. Dickey #
3# Copyright 2001-2015,2016 Free Software Foundation, Inc. #
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05304# #
5# Permission is hereby granted, free of charge, to any person obtaining a #
6# copy of this software and associated documentation files (the "Software"), #
7# to deal in the Software without restriction, including without limitation #
8# the rights to use, copy, modify, merge, publish, distribute, distribute #
9# with modifications, sublicense, and/or sell copies of the Software, and to #
10# permit persons to whom the Software is furnished to do so, subject to the #
11# following conditions: #
12# #
13# The above copyright notice and this permission notice shall be included in #
14# all copies or substantial portions of the Software. #
15# #
16# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
17# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
18# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
19# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
20# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
21# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
22# DEALINGS IN THE SOFTWARE. #
23# #
24# Except as contained in this notice, the name(s) of the above copyright #
25# holders shall not be used in advertising or otherwise to promote the sale, #
26# use or other dealings in this Software without prior written #
27# authorization. #
28##############################################################################
29#
30# Author: Thomas Dickey
31#
micky3879b9f5e72025-07-08 18:04:53 -040032# $Id: Caps.uwin,v 1.23 2024/04/20 21:05:02 tom Exp $
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053033#
34# This is an adaptation of ncurses' termcap/terminfo capability table, which
35# is designed to align with U/Win's terminfo.
36#
37# This table is used to generate initializers for tables that drive tic,
micky3879b9f5e72025-07-08 18:04:53 -040038# infocmp, and the library compilation code used to support the termcap
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053039# compatibility hack. It is also used to generate the tabular portion of the
40# terminfo(5) man page; lines beginning with `#%' are passed through to become
41# the terminfo table.
42#
43# This file has three major sections; a standard-capabilities table, two
44# extension-capability tables, and a section of aliases declarations.
45# The first two have the same format, as follows:
46#
47# FILE FORMAT
48#
49# Column 1: terminfo variable name
50# Column 2: terminfo capability name
micky3879b9f5e72025-07-08 18:04:53 -040051# Column 3: capability type (Boolean, numeric, or string)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053052# Column 4: termcap capability name
53# Column 5: KEY_xxx name, if any, `-' otherwise
54# Column 6: value for KEY_xxx name, if any, `-' otherwise
55# Column 7: Lead with `Y' if capability should be emitted in termcap
56# translations, `-' otherwise
57# Column 8: capability description
58#
59# The codes following [Y-] in column 7 describe the versions of termcap which
60# use the given capability. This information is not used by the curses library
micky3879b9f5e72025-07-08 18:04:53 -040061# proper; rather, it is there to help the terminfo maintainer avoid emitting
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053062# termcap entry translations that are more than 1023 bytes long (and tank a
63# lot of old termcap-using programs). The codes read as follows:
64# B = mentioned in the BSD man page for 4.4BSD curses
65# C = used by the 4.4BSD curses library
66# G = mentioned in the documentation for GNU termcap
67# E = used by GNU Emacs
68# K = remove this terminfo capability when translating to standard format
69# The important codes are C and E. A cap with C or E should be preserved in
70# translation if possible. The problem is that preserving all such caps may
71# lead to some termcap translations being too long. The termcap maintainer
72# has a bit of a juggling act to do...potential problem cases are marked with
73# an asterisk (*).
74#
75# The aliases section has the following format:
76#
77# Column 1: either `capalias' or `infoalias'
78# Column 2: name to be aliased
79# Column 3: what name it should translate to. The name IGNORE means it
80# should be discarded with a warning message.
81# Column 4: name of the extension set (used for compiler warning messages)
82# Column 5: capability description (usually an associated terminfo variable)
83#
84# HANDLING TERMCAP AND TERMINFO EXTENSIONS
85#
86# There are basically five different ways to handle termcap and terminfo
87# extensions:
88#
89# 1. Don't list the capname here, or list it but comment it out (the latter
90# is preferable; someone might want to handle it in the future). If you do
91# this, the capability will be treated as unknown and raise a warning from
92# the compiler.
93#
94# 2. Alias it. This is appropriate if the capability has the same meaning
95# as an already-supported one. The compiler will handle aliasing, emitting
96# an appropriate informational message whenever an alias fires.
97#
98# 3. List it in the standard table. You almost certainly do *not* want
99# to do this -- the capabilities in that one, and their order, have been
100# carefully chosen to be SVr4-binary-compatible when they're written out
micky3879b9f5e72025-07-08 18:04:53 -0400101# as a terminfo object, and breaking this would be bad. It is up to the ncurses
102# library what to do with the terminfo data after it is read in.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530103#
104# 4. List it in the aliases table with an IGNORE target field. If you
105# do this, the capability will be ignored on input (though the user will
106# get a warning message about it).
107#
108# 5. List it in the extensions table. If you do this, the compiler will
109# silently accept the capability, but the curses library proper will never
110# see it (because it won't be written out as part of the terminfo object
micky3879b9f5e72025-07-08 18:04:53 -0400111# format). It is up to you what you have the compiler do with it.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530112#
113# There are two opposite reasons to choose option 5. One is when you want
114# to eat the capability silently and discard it when doing translations
115# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are
116# in this class. Nothing will ever use them again.
117#
118# More usually, you want the compiler to try to deduce something from the
119# capability value that it can use to translate it into your output format.
120# You'll need to write custom code, probably in postprocess_termcap() or
121# postprocess_terminfo(), to handle the translation.
122#
micky3879b9f5e72025-07-08 18:04:53 -0400123# CONTROLLING ENTRY LENGTH
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530124#
125# Notes on specific elisions made to fit translations within 1023 bytes:
126#
127# Machines with IBM PC-like keyboards want to be able to define the following
128# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
129# only environments for End or Home-Down), key_dc, and key_ic. This is also
micky3879b9f5e72025-07-08 18:04:53 -0400130# the set of keys the `joe' editor will be upset if it can't see. So don't
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530131# trim those out of the set to be translated to termcap, or various users of
132# the termcap file will become irate.
133#
134# It might look tempting to leave those long init strings out of translations.
135# We can't do it (yet); 4.4BSD tput and tset use them.
136#
137# We retain the sgr capability in translation in spite of the fact that neither
138# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
139# hard to understand without it, and (b) the entries in which it is long tend
140# to be older types that don't use up a lot of string space on function keys.
141# The tic(1) translation code will complain and elide it if it makes a critical
142# difference (there is special code in tic to recognize this situation).
143#
144# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion
145# optimizer in BSD curses didn't use them. This omission seems to be the
146# single most effective one, it shortened the resolved length of all thirteen
147# problem entries in the 9.9.0 version of the terminfo master below critical.
148#
149# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
150# translations go back over critical if we do this. As 4.4BSD curses fades
micky3879b9f5e72025-07-08 18:04:53 -0400151# into history and GNU termcap's application base shrinks towards being GNU
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530152# Emacs only, we'll probably elide out some BSD-only capabilities in order
153# to buy space for non-essentials Emacs is still using. Capabilities high
154# on that hit list: rc, sc, uc.
155#
micky3879b9f5e72025-07-08 18:04:53 -0400156# FORMATTING THE TABLES
157#
158# We manually specify a (minimum) column width for the capability name
159# and terminfo code columns in the tables to achieve a consistent
160# arrangement; as used here, tbl(1) cannot know the width required by
161# one table's data while formatting another's.
162#
163# The longest capability names (C variable) is
164# "hue_lightness_saturation" (24n), and the longest terminfo code is
165# "colornm" (7n).
166#
167# The tables are a tight fit on traditional man(7) implementations that
168# use a line length of 65n, and the "Description" column has little room
169# within which the formatter can make breaking or adjustment decisions.
170# Words like "micro_..._address" and "parm_..._micro" don't break.
171# Reducing the inter-column gaps to 2 ens gives them enough room. --GBR
172#
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530173#############################################################################
174#
175# STANDARD CAPABILITIES
176#
micky3879b9f5e72025-07-08 18:04:53 -0400177#%Tables of capabilities
178#%.I \%ncurses
179#%recognizes in a
180#%.I \%term\%info
181#%terminal type description and available to
182#%.IR \%term\%info -using
183#%code follow.
184#%.bP
185#%The capability name identifies the symbol by which the programmer
186#%using the
187#%.I \%term\%info
188#%API accesses the capability.
189#%.bP
190#%The TI
191#%.RI ( \%term\%info )
192#%code is the short name used by a person composing or updating a
193#%terminal type entry.
194#%.IP
195#%Whenever possible,
196#%these codes are the same as or similar to those of the ANSI X3.64-1979
197#%standard
198#%(now superseded by ECMA-48,
199#%which uses identical or very similar names).
200#%Semantics are also intended to match those of the specification.
201#%.IP
202#%.I \%term\%info
203#%codes have no hard length limit,
204#%but
205#%.I \%ncurses
206#%maintains an informal one of 5 characters to keep them short and to
207#%allow the tabs in the source file
208#%.I Caps
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530209#%to line up nicely.
micky3879b9f5e72025-07-08 18:04:53 -0400210#%(Some standard codes exceed this limit regardless.)
211#%.bP
212#%The TC
213#%.RI ( termcap )
214#%code is that used by the corresponding API of
215#%.IR \%ncurses .
216#%(Some capabilities are new,
217#%and have names that BSD
218#%.I termcap
219#%did not originate.)
220#%.bP
221#%The description field attempts to convey the capability's semantics.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530222#%.PP
micky3879b9f5e72025-07-08 18:04:53 -0400223#%The description field employs a handful of notations.
224#%.TP
225#%.B (P)
226#%indicates that padding may be specified.
227#%.TP
228#%.B (P*)
229#%indicates that padding may vary in proportion to the number of output
230#%lines affected.
231#%.TP
232#%.BI # i
233#%indicates the
234#%.IR i th
235#%parameter of a string capability;
236#%the programmer should pass the string to \fB\%tparm\fP(3X) with the
237#%parameters listed.
238#%.IP
239#%If the description lists no parameters,
240#%passing the string to \fB\%tparm\fP(3X) may produce unexpected
241#%behavior,
242#%for instance if the string contains percent signs.
243#%.
244#%.PP
245#%.TS
246#%center;
247#%Lb Cb S Lb
248#%Lb Lb Lb Lb
249#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
250#%\& Code \&
251#%Boolean Capability Name TI TC Description
252#%_
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530253auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column
254auto_right_margin am bool am - - YBCGE terminal has automatic margins
255no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C)
256ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp)
257eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept)
258erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank
259generic_type gn bool gn - - YB-G- generic line type
260hard_copy hc bool hc - - YBCG- hardcopy terminal
261has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit)
262has_status_line hs bool hs - - YB-G- has extra status line
263insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls
264memory_above da bool da - - YBCG- display may be retained above the screen
265memory_below db bool db - - YB-GE display may be retained below the screen
266move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode
267move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode
268over_strike os bool os - - YBCG- terminal can overstrike
269status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line
270dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061)
Steve Kondikae271bc2015-11-15 02:50:53 +0100271tilde_glitch hz bool hz - - YB-GE cannot print ~'s (Hazeltine)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530272transparent_underline ul bool ul - - YBCGE underline character overstrikes
273xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking
274needs_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required
275prtr_silent mc5i bool 5i - - ----- printer will not echo on screen
276hard_cursor chts bool HC - - ----- cursor is hard to see
277non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup
278no_pad_char npc bool NP - - ----- pad character does not exist
279non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive
280back_color_erase bce bool ut - - ----- screen erased with background color
281can_change ccc bool cc - - ----- terminal can re-define existing colors
282hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix)
283#%.TE
micky3879b9f5e72025-07-08 18:04:53 -0400284#%.PP
285#%.
286#%.TS
287#%center;
288#%Lb Cb S Lb
289#%Lb Lb Lb Lb
290#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
291#%\& Code \&
292#%Numeric Capability Name TI TC Description
293#%_
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530294columns cols num co - - YBCGE number of columns in a line
295init_tabs it num it - - YB-G- tabs initially every # spaces
296lines lines num li - - YBCGE number of lines on screen or page
297lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies
298magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso
299padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed
300virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix)
301width_status_line wsl num ws - - YB-G- number of columns in status line
302num_labels nlab num Nl - - ----- number of labels on screen
303label_height lh num lh - - ----- rows in each label
304label_width lw num lw - - ----- columns in each label
305buttons btns num BT - - ----- number of buttons on mouse
306#max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle
307#maximum_windows wnum num MW - - ----- maximum number of defineable windows
308# These came in with SVr4's color support
309max_colors colors num Co - - ----- maximum number of colors on screen
310max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen
311no_color_video ncv num NC - - ----- video attributes that cannot be used with colors
312#%.TE
micky3879b9f5e72025-07-08 18:04:53 -0400313#%.PP
314#%.
315#%.TS
316#%center;
317#%Lb Cb S Lb
318#%Lb Lb Lb Lb
319#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
320#%\& Code \&
321#%String Capability Name TI TC Description
322#%_
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530323back_tab cbt str bt - - YBCGE back tab (P)
324bell bel str bl - - YB-GE audible signal (bell) (P)
325carriage_return cr str cr - - YBCGE carriage return (P*) (P*)
326change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P)
327clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P)
328clear_screen clear str cl - - YBCGE clear screen and home cursor (P*)
329clr_eol el str ce - - YBCGE clear to end of line (P)
330clr_eos ed str cd - - YBCGE clear to end of screen (P*)
331column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P)
332command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !?
333cursor_address cup str cm - - YBCGE move to row #1 columns #2
334cursor_down cud1 str do - - YBCGE down one line
335cursor_home home str ho - - YBCGE home cursor (if no cup)
336cursor_invisible civis str vi - - YB-G- make cursor invisible
337cursor_left cub1 str le - - YBCGE move left one space
338cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2
339cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis)
340cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space)
341cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup)
342cursor_up cuu1 str up - - YBCGE up one line
343cursor_visible cvvis str vs - - YBCGE make cursor very visible
344delete_character dch1 str dc - - YBCGE delete character (P*)
345delete_line dl1 str dl - - YBCGE delete line (P*)
346dis_status_line dsl str ds - - YB-G- disable status line
347down_half_line hd str hd - - YB-G- half a line down
348enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P)
349enter_blink_mode blink str mb - - YB-G- turn on blinking
350enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode
351enter_ca_mode smcup str ti - - YBCGE string to start programs using cup
352enter_delete_mode smdc str dm - - YBCGE enter delete mode
353enter_dim_mode dim str mh - - YB-G- turn on half-bright mode
354enter_insert_mode smir str im - - YBCGE enter insert mode
355enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible)
356enter_protected_mode prot str mp - - -B-G-* turn on protected mode
357enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode
358enter_standout_mode smso str so - - YBCGE begin standout mode
359enter_underline_mode smul str us - - YBCGE begin underline mode
360erase_chars ech str ec - - YB-G- erase #1 characters (P)
361exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P)
362exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes
363exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup
364exit_delete_mode rmdc str ed - - YBCGE end delete mode
365exit_insert_mode rmir str ei - - YBCGE exit insert mode
366exit_standout_mode rmso str se - - YBCGE exit standout mode
367exit_underline_mode rmul str ue - - YBCGE exit underline mode
368flash_screen flash str vb - - YBCGE visible bell (may not move cursor)
369form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*)
370from_status_line fsl str fs - - YB-G- return from status line
371init_1string is1 str i1 - - YB-G- initialization string
372init_2string is2 str is - - YB-G- initialization string
373init_3string is3 str i3 - - YB-G- initialization string
374init_file if str if - - YB-G- name of initialization file
375insert_character ich1 str ic - - YBCGE insert character (P)
376insert_line il1 str al - - YBCGE insert line (P*)
377insert_padding ip str ip - - YBCGE insert padding after inserted character
378key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key
379key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key
380key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key
381key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key
382key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key
383key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key
384key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key
micky3879b9f5e72025-07-08 18:04:53 -0400385#%.TE
386#%.TS
387#%center;
388#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530389key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode
390key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key
391key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key
392key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key
393key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key
394key_f10 kf10 str k; KEY_F(10) - ----E F10 function key
395key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key
396key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key
397key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key
398key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key
399key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key
400key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key
401key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key
402key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key
403key_home khome str kh KEY_HOME 0406 YBCGE home key
404key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key
405key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key
406key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key
407key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down)
408key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key
409key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key
410key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key
411key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key
412key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key
413key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key
414key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key
415keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode
416keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode
417lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0
418lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1
419lab_f10 lf10 str la - - ----- label on function key f10 if not f10
420lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2
421lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3
422lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4
423lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5
424lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6
425lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7
426lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8
427lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9
428meta_off rmm str mo - - YB-G-* turn off meta mode
429meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on)
430newline nel str nw - - YB-G-* newline (behave like cr followed by lf)
431pad_char pad str pc - - YBCGE padding char (instead of null)
432parm_dch dch str DC - - YB-GE delete #1 characters (P*)
433parm_delete_line dl str DL - - YBCGE delete #1 lines (P*)
434parm_down_cursor cud str DO - - YBCGE down #1 lines (P*)
435parm_ich ich str IC - - YB-GE insert #1 characters (P*)
436parm_index indn str SF - - YBCG- scroll forward #1 lines (P)
437parm_insert_line il str AL - - YBCGE insert #1 lines (P*)
438parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P)
439parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*)
440parm_rindex rin str SR - - YBCG- scroll back #1 lines (P)
441parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*)
442pkey_key pfkey str pk - - -B--- program function key #1 to type string #2
443pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2
444pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2
445print_screen mc0 str ps - - -B-G-* print contents of screen
446prtr_off mc4 str pf - - -B-G-* turn off printer
447prtr_on mc5 str po - - -B-G-* turn on printer
448repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*)
449reset_1string rs1 str r1 - - -B--- reset string
450reset_2string rs2 str r2 - - -B--- reset string
micky3879b9f5e72025-07-08 18:04:53 -0400451#%.TE
452#%.TS
453#%center;
454#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530455reset_3string rs3 str r3 - - -B--- reset string
456reset_file rf str rf - - -B--- name of reset file
457restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor
458row_address vpa str cv - - -B-GE* vertical position #1 absolute (P)
459save_cursor sc str sc - - YBCG- save current cursor position (P)
460scroll_forward ind str sf - - YBCGE scroll text up (P)
461scroll_reverse ri str sr - - YBCGE scroll text down (P)
462set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9)
463set_tab hts str st - - YB-G- set a tab in every row, current columns
464set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4
465tab ht str ta - - YBCGE tab to next 8-space hardware tab stop
466to_status_line tsl str ts - - YB-G- move to status line, column #1
467underline_char uc str uc - - YBCG- underline char and move past it
468up_half_line hu str hu - - YB-G- half a line up
469init_prog iprog str iP - - -B--- path name of program for initialization
470key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad
471key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad
472key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad
473key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad
474key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad
475prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes
476#
477# SVr1 capabilities stop here. IBM's version of terminfo is the same as
478# SVr4 up to this point, but has a different set afterwards.
479#
480char_padding rmp str rP - - ----- like ip but when in insert mode
481acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100
482plab_norm pln str pn - - ----- program label #1 to show string #2
483key_btab kcbt str kB KEY_BTAB 0541 ----- back-tab key
484enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking
485exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking
486enter_am_mode smam str SA - - ----- turn on automatic margins
487exit_am_mode rmam str RA - - ----- turn off automatic margins
488xon_character xonc str XN - - ----- XON character
489xoff_character xoffc str XF - - ----- XOFF character
490ena_acs enacs str eA - - ----- enable alternate char set
491label_on smln str LO - - ----- turn on soft labels
492label_off rmln str LF - - ----- turn off soft labels
493key_beg kbeg str @1 KEY_BEG 0542 ----- begin key
494key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key
495key_close kclo str @3 KEY_CLOSE 0544 ----- close key
496key_command kcmd str @4 KEY_COMMAND 0545 ----- command key
497key_copy kcpy str @5 KEY_COPY 0546 ----- copy key
498key_create kcrt str @6 KEY_CREATE 0547 ----- create key
499key_end kend str @7 KEY_END 0550 ----- end key
500key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key
501key_exit kext str @9 KEY_EXIT 0551 ----- exit key
502key_find kfnd str @0 KEY_FIND 0552 ----- find key
503key_help khlp str %1 KEY_HELP 0553 ----- help key
504key_mark kmrk str %2 KEY_MARK 0554 ----- mark key
505key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key
506key_move kmov str %4 KEY_MOVE 0556 ----- move key
507key_next knxt str %5 KEY_NEXT 0557 ----- next key
508key_open kopn str %6 KEY_OPEN 0560 ----- open key
509key_options kopt str %7 KEY_OPTIONS 0561 ----- options key
510key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key
511key_print kprt str %9 KEY_PRINT 0532 ----- print key
512key_redo krdo str %0 KEY_REDO 0563 ----- redo key
513key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key
514key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key
515key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key
516key_restart krst str &4 KEY_RESTART 0567 ----- restart key
517key_resume kres str &5 KEY_RESUME 0570 ----- resume key
518key_save ksav str &6 KEY_SAVE 0571 ----- save key
519key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key
520key_undo kund str &8 KEY_UNDO 0630 ----- undo key
micky3879b9f5e72025-07-08 18:04:53 -0400521#%.TE
522#%.TS
523#%center;
524#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530525key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key
526key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key
527key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key
528key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key
529key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key
530key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key
531key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key
532key_select kslt str *6 KEY_SELECT 0601 ----- select key
533key_send kEND str *7 KEY_SEND 0602 ----- shifted end key
534key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key
535key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key
536key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key
537key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key
538key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key
539key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key
540key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key
541key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key
542key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key
543key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key
544key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key
545key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key
546key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key
547key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key
548key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key
549key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key
550key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key
551key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key
552key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key
553key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key
554req_for_input rfi str RF - - ----- send next input char (for ptys)
555key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key
556key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key
557key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key
558key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key
559key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key
560key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key
561key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key
562key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key
563key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key
564key_f20 kf20 str FA KEY_F(20) - ----E F20 function key
565key_f21 kf21 str FB KEY_F(21) - ----E F21 function key
566key_f22 kf22 str FC KEY_F(22) - ----E F22 function key
567key_f23 kf23 str FD KEY_F(23) - ----E F23 function key
568key_f24 kf24 str FE KEY_F(24) - ----E F24 function key
569key_f25 kf25 str FF KEY_F(25) - ----E F25 function key
570key_f26 kf26 str FG KEY_F(26) - ----E F26 function key
571key_f27 kf27 str FH KEY_F(27) - ----E F27 function key
572key_f28 kf28 str FI KEY_F(28) - ----E F28 function key
573key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key
574key_f30 kf30 str FK KEY_F(30) - ----E F30 function key
575key_f31 kf31 str FL KEY_F(31) - ----E F31 function key
576key_f32 kf32 str FM KEY_F(32) - ----E F32 function key
577key_f33 kf33 str FN KEY_F(33) - ----E F33 function key
578key_f34 kf34 str FO KEY_F(34) - ----E F34 function key
579key_f35 kf35 str FP KEY_F(35) - ----E F35 function key
580key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key
581key_f37 kf37 str FR KEY_F(37) - ----E F37 function key
582key_f38 kf38 str FS KEY_F(38) - ----E F38 function key
583key_f39 kf39 str FT KEY_F(39) - ----E F39 function key
584key_f40 kf40 str FU KEY_F(40) - ----E F40 function key
585key_f41 kf41 str FV KEY_F(41) - ----E F41 function key
586key_f42 kf42 str FW KEY_F(42) - ----E F42 function key
micky3879b9f5e72025-07-08 18:04:53 -0400587#%.TE
588#%.TS
589#%center;
590#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530591key_f43 kf43 str FX KEY_F(43) - ----E F43 function key
592key_f44 kf44 str FY KEY_F(44) - ----E F44 function key
593key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key
594key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key
595key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key
596key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key
597key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key
598key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key
599key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key
600key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key
601key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key
602key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key
603key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key
604key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key
605key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key
606key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key
607key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key
608key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key
609key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key
610key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key
611key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
612clr_bol el1 str cb - - ----- Clear to beginning of line
613clear_margins mgc str MC - - ----- clear right and left soft margins
micky3879b9f5e72025-07-08 18:04:53 -0400614set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530615set_right_margin smgr str MR - - ----- set right soft margin at current column
616device_type devt str dv - - ----- Indicate language/codeset support
617code_set_init csin str ci - - ----- Init sequence for multiple codesets
618set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII)
619set1_des_seq s1ds str s1 - - ----- Shift to codeset 1
620set2_des_seq s2ds str s2 - - ----- Shift to codeset 2
621set3_des_seq s3ds str s3 - - ----- Shift to codeset 3
622key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred
623mouse_info minfo str Mi - - ----- Mouse status information
624req_mouse_pos reqmp str RQ - - ----- Request mouse position
625get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented.
626release_mouse relm str Rm - - ----- Curses should release the mouse */
627color_names colornm str Yw - - ----- Give name for color #1
628initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4)
629initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
630orig_colors oc str oc - - ----- Set all color pairs to the original ones
631orig_pair op str op - - ----- Set default pair to its original value
632set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape
633set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape
634set_background setb str Sb - - ----- Set background color #1
635set_color_pair scp str sp - - ----- Set current color pair to #1
636set_foreground setf str Sf - - ----- Set foreground color #1
637#%.TE
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530638#%
639# The magic token below tells the tic compiler-generator code that all the caps
640# past it should be ignored (not written out) when dumping terminfo objects. It
641# also tells the man page table generator not to pass through following lines
642# This means we can have obsolete capabilities and pseudo-capabilities that are
643# recognized for termcap or terminfo compilation, but not output.
644#
645# %%-STOP-HERE-%%
646#
647# Don't move this casually! In fact, don't move it at all unless you're
648# either doing it to add System V or XPG4 extensions, or have decided you
649# don't care about SVr4 binary compatibility.
650#
651#############################################################################
652#
653# TERMCAP EXTENSION CAPABILITIES
654#
655# The capabilities below are either obsolete or extensions on certain systems.
656# They are not used by SVR4 terminfo. Some are used by captoinfo to translate
657# termcap sources; the rest are listed for completeness, and in case somebody
658# cares about them enough to hack in code that will translate them into
659# terminfo capabilities.
660#
661# The first part of the list is from Ross Ridge's `mytinfo' package
662# (comp.sources.unix, volume 26); the variable names and terminfo names (as
663# well as the termcap codes) match his list.
664#
665# This group of codes is not marked obsolete in 4.4BSD, but have no direct
666# terminfo equivalents. The rs capability is specially translated to terminfo
667# r2, and vice versa, if an entry does not already have an r2. Similarly,
668# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
669# The ug capability is thrown away, but assumed to be whatever sg is if the
670# latter is nonzero and we're dumping in termcap format.
671#
672termcap_init2 OTi2 str i2 - - YB--- secondary initialization string
673termcap_reset OTrs str rs - - YB-G- terminal reset string
674magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul
675#
676# Obsolete termcap capabilities. Some are used for termcap translation. The
677# code uses the 'OT' prefix we put on obsolete capabilities to suppress
678# printing them in terminfo source dumps of compiled entries.
679#
680backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left
681crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll
682no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line
683carriage_return_delay OTdC num dC - - YB-G- pad needed for CR
684new_line_delay OTdN num dN - - YB-G- pad needed for LF
685linefeed_if_not_lf OTnl str nl - - YBCGE use to move down
686backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H
687#
688# GNU termcap library extensions. The GNU termcap file distributed with
689# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
690# BSD termcap file. The name clash with terminfo MT is resolved by type
691# info; MT is converted to km.
692#
693gnu_has_meta_key OTMT bool MT - - ----E has meta key
694# gnu_tab_width OTtw num tw - - ----E tab width in spaces
695#
696# GNU termcap *does* include the following extended capability, Only the
697# now-obsolete Ann Arbor terminals used it.
698#
micky3879b9f5e72025-07-08 18:04:53 -0400699# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530700#
701# The following comments describe capnames so ancient that I believe no
702# software uses them any longer. Some of these have to go because they
703# clash with terminfo names in ways that cannot be resolved by type
704# information.
705#
706# These mytinfo codes are not used in the 4.4BSD curses code. They are
707# marked obsolete in the 4.4BSD manual pages.
708#
709# There is one conflict with terminfo; ma is in both. This conflict is
710# resolved by type information.
711#
712# The `ko' capability is translated by special code. It should contain a
713# comma-separated list of capabilities for which there are corresponding keys.
714# The `kn' code is accepted but ignored.
715#
micky3879b9f5e72025-07-08 18:04:53 -0400716# The `ma' capability was a 4.0BSD feature used by vi version 2.
717# It consists of pairs of characters corresponding to kl, kr, ku, kd, and kh.
718# Besides being obsolete, that interpretation conflicts with max_attributes.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530719#
720# Here is a description of memory_lock_above and memory_unlock:
721# "You can 'freeze' data on the screen by turning on Memory Lock in a line of
722# text. All lines above the cursor's current line become locked in place on
723# the screen. Then enter data normally. When the screen fills up, any
724# further data entered forces the first line of unfrozen line text to scroll
725# under the frozen data. Lines scrolled off the screen are inserted into
726# memory immediately preceding the first frozen line." (from the HP 700/96
727# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
728#
729# Applications that use terminfo are supposed to behave as though xr is
730# always true.
731#
732linefeed_is_newline OTNL bool NL - - YB--- move down with \n
733# even_parity OTEP bool EP - - -B--- terminal requires even parity
734# odd_parity OTOP bool OP - - -B--- terminal requires odd parity
735# half_duplex OTHD bool HD - - -B--- terminal is half-duplex
736# lower_case_only OTLC bool LC - - -B--- terminal has only lower case
737# upper_case_only OTUC bool UC - - -B--- terminal has only upper case
738backspace_delay OTdB num dB - - YB-G- padding required for ^H
739# form_feed_delay OTdF num dF - - -B-G- padding required for ^L
740horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I
741# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V
742number_of_function_keys OTkn num kn - - -B-G- count of function keys
743other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps
micky3879b9f5e72025-07-08 18:04:53 -0400744arrow_key_map OTma str ma - - YBC-- map motion-keys for vi version 2
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530745# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line
746# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line
747has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I
748return_does_clr_eol OTxr bool xr - - YB--- return clears the line
749# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch
750#
micky3879b9f5e72025-07-08 18:04:53 -0400751# mytinfo described this as a termcap capability, but it is not listed in the
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530752# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses
753# package, like System V, behaves as though it is always true.
754#
755# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line
756#
757# University of Waterloo termcap extensions (as described in mytinfo).
758# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
759# be resolved by a type check. The descriptions are guesses from what was
micky3879b9f5e72025-07-08 18:04:53 -0400760# in the mytinfo tables.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530761#
762# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?)
763# key_kill_char OTkk str kk - - ----- string set by kill key (?)
764# key_suspend_char OTkz str kz - - ----- string set by suspend key (?)
765# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?)
766# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return
767#
768# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
769# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
770# check.
771#
772# scroll_left OTsl1 str Sl - - ----- scroll screen leftward
773# scroll_right OTsr1 str Sr - - ----- scroll screen rightward
774# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters
775# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters
776#
777# The mytinfo capabilities end here.
778#
779# XENIX extensions:
780#
781# Xenix defined its own set of forms-drawing capabilities:
782#
783# cap IBM ASCII description ACS ASCII
784# --- ----------- -------------------- ------------- ------
785# G1 191 \277 M-? single upper right ACS_URCORNER
786# G2 218 \332 M-Z single upper left ACS_ULCORNER
787# G3 192 \300 M-@ single lower left ACS_LLCORNER
788# G4 217 \331 M-Y single lower right ACS_LRCORNER
789# G5 187 \273 M-; double upper right
790# G6 201 \311 M-I double upper left
791# G7 200 \310 M-H double lower left
792# G8 188 \274 M-< double lower right
793# GC 197 \305 M-E single intersection ACS_PLUS _ _
794# GD 194 \302 M-B single down-tick ACS_TTEE |
795# GH 196 \304 M-D single horizontal line ACS_HLINE
796# GL 180 \264 M-4 single left tick ACS_RTEE -|
797# GR 195 \303 M-C single right tick ACS_LTEE |-
798# GU 193 \301 M-A single up tick ACS_BTEE _|_
799# GV 179 \263 M-3 single vertical line ACS_VLINE
800# Gc 206 \316 M-N double intersection
801# Gd 203 \313 M-K double down tick
802# Gh 205 \315 M-M double horizontal line
803# Gl 204 \204 M-L double left tick
804# Gr 185 \271 M-9 double right tick
805# Gu 202 \312 M-J double up tick
806# Gv 186 \272 M-: double vertical line
807#
808# The compiler will translate the single-line caps and discard the others
micky3879b9f5e72025-07-08 18:04:53 -0400809# (via IGNORE aliases further down). We don't want to do normal pad
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530810# translation on these, they're often single-character printable ASCII
811# strings that happen to be numerics. There's awk code in parametrized.sh
812# that detects the acs_ prefix and uses it to suppress pad translation.
813# These terminfo names are invented.
814#
815acs_ulcorner OTG2 str G2 - - ----- single upper left
816acs_llcorner OTG3 str G3 - - ----- single lower left
817acs_urcorner OTG1 str G1 - - ----- single upper right
818acs_lrcorner OTG4 str G4 - - ----- single lower right
819acs_ltee OTGR str GR - - ----- tee pointing right
820acs_rtee OTGL str GL - - ----- tee pointing left
821acs_btee OTGU str GU - - ----- tee pointing up
822acs_ttee OTGD str GD - - ----- tee pointing down
823acs_hline OTGH str GH - - ----- single horizontal line
824acs_vline OTGV str GV - - ----- single vertical line
825acs_plus OTGC str GC - - ----- single intersection
826#
827#############################################################################
828#
829# TERMINFO EXTENSION CAPABILITIES
830#
micky3879b9f5e72025-07-08 18:04:53 -0400831# (see Caps-ncurses for the complete set of comments)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530832#
833memory_lock meml str ml - - ----K lock memory above cursor
834memory_unlock memu str mu - - ----K unlock memory
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530835box_chars_1 box1 str bx - - ----K box characters primary set
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530836#
837#############################################################################