##############################################################################
-# Copyright (c) 2002-2016,2019 Free Software Foundation, Inc. #
+# Copyright 2019-2023,2024 Thomas E. Dickey #
+# Copyright 2002-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"), #
#
# Author: Thomas Dickey
#
-# $Id: Caps.hpux11,v 1.12 2019/04/13 22:30:16 tom Exp $
+# $Id: Caps.hpux11,v 1.22 2024/01/13 22:05:39 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with HPUX 11.x's terminfo.
#
# Column 1: terminfo variable name
# Column 2: terminfo capability name
-# Column 3: capability type (boolean, numeric, or string)
+# 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
#
# 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's there to help the terminfo maintainer avoid emitting
+# 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
# 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's up to the ncurses
-# library what to do with the terminfo data after it's read in.
+# 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
# 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's up to you what you have the compiler do with it.
+# 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
# 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,
-#%
+#%terminfo description block and available to terminfo-using code.
+#%In each line of the table,
+#%.bP
#%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,
+#%.bP
+#%The \fBcapname\fR (\fICap-name\fP)
+#%is the short name used in the text of the database,
#%and is used by a person updating the database.
+#%.IP
#%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
+#%identical or very similar names).
+#%Semantics are also intended to match those of the specification.
+#%.IP
#%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:
+#%.bP
+#%The \fBtermcap\fP (\fITcap\fP) code is the old capability name
+#%(some capabilities are new, and have names which termcap did not originate).
+#%.bP
+#%Finally, the \fBdescription\fP field attempts to convey the semantics of the
+#%capability.
+#%.PP
+#%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 tparm with
-#%parms as given (#\fIi\fP).
+#%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
#%.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
+#%.TS
+#%center;
+#%Lb Cb S Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\& Code \&
+#%Boolean Capability Name TI TC Description
+#%_
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)
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
-# end booleans for HPUX 9, 10 (non-color curses)
+# end Booleans for HPUX 9, 10 (non-color curses)
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
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
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\& Code \&
+#%Numeric Capability Name TI TC Description
+#%_
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
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
-#%
+#%.PP
+#%.
#%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
+#%but are not yet documented in the man page.
+#%They came in with SVr4's printer support.
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\& Code \&
+#%Numeric Capability Name TI TC Description
+#%_
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
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
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\& Code \&
+#%String Capability Name TI TC Description
+#%_
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*)
req_for_input rfi str RF - - ----- send next input char (for ptys)
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. See smgl. (ML is not in BSD termcap).
+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
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
-#%
+#%.PP
+#%.
#%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
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\& Code \&
+#%String Capability Name TI TC Description
+#%_
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
scancode_escape scesc str S7 - - ----- Escape for scancode emulation
alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulation
#%.TE
-#%.ad
-#%
-#%.in .8i
+#%.PP
+#%.
#%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.
#%If your compiled terminfo entries use these,
#%they may not be binary-compatible with System V terminfo
#%entries after SVr4.1; beware!
-#%
+#%.
#%AIX and Solaris do not provide termcap names for these; HPUX does.
-#%
-#%.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
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\& Code \&
+#%String Capability Name TI TC Description
+#%_
set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
enter_horizontal_hl_mode ehhlm str Q1 - - ----- Enter horizontal highlight mode
enter_left_hl_mode elhlm str Q2 - - ----- Enter left highlight mode
exit_top_hl_mode rmthlm str Qc - - ----K Exit top highlight mode
exit_vertical_hl_mode rmvhlm str Qd - - ----K Exit vertical highlight mode
#%.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
# comma-separated list of capabilities for which there are corresponding keys.
# The `kn' code is accepted but ignored.
#
-# The `ma' capability seems to have been designed to map between the rogue(2)
-# motion keys (including jkhl) and characters emitted by arrow keys on some
-# primitive pre-ANSI terminals. It's so obsolete it's fossilized...
+# 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
# 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 arrow keys rogue(1) motion keys
+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's not listed in the
+# 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.
#