summaryrefslogtreecommitdiff
path: root/doc/html/man/user_caps.5.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/man/user_caps.5.html')
-rw-r--r--doc/html/man/user_caps.5.html383
1 files changed, 193 insertions, 190 deletions
diff --git a/doc/html/man/user_caps.5.html b/doc/html/man/user_caps.5.html
index 10b6f77649da..5b00603fda2f 100644
--- a/doc/html/man/user_caps.5.html
+++ b/doc/html/man/user_caps.5.html
@@ -1,7 +1,7 @@
<!--
* t
****************************************************************************
- * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 2018-2024,2025 Thomas E. Dickey *
* Copyright 2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -28,25 +28,23 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: user_caps.5,v 1.49 2024/03/16 15:35:01 tom Exp @
+ * @Id: user_caps.5,v 1.60 2025/11/12 01:01:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>user_caps 5 2024-03-16 ncurses 6.5 File formats</TITLE>
+<TITLE>user_caps 5 2025-11-11 ncurses 6.6 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">user_caps 5 2024-03-16 ncurses 6.5 File formats</H1>
+<H1 class="no-header">user_caps 5 2025-11-11 ncurses 6.6 File formats</H1>
<PRE>
<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File formats <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
-
-
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
user_caps - user-defined <EM>terminfo</EM> capability format
@@ -60,225 +58,231 @@
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-Background">Background</a></H3><PRE>
- Before <EM>ncurses</EM> 5.0, terminfo databases used a <EM>fixed</EM> <EM>repertoire</EM> of
- terminal capabilities designed for the SVr2 terminal database in 1984,
- and extended in stages through SVr4 (1989), and standardized in the
- Single Unix Specification beginning in 1995.
-
- Most of the <EM>extensions</EM> in this fixed repertoire were additions to the
- tables of Boolean, numeric and string capabilities. Rather than change
- the meaning of an existing capability, a new name was added. The
- terminfo database uses a binary format; binary compatibility was
- ensured by using a header which gave the number of items in the tables
- for each type of capability. The standardization was incomplete:
-
- <STRONG>o</STRONG> The <EM>binary</EM> <EM>format</EM> itself is not described in the X/Open Curses
- documentation. Only the <EM>source</EM> <EM>format</EM> is described.
-
- Library developers rely upon the SVr4 documentation, and reverse-
- engineering the compiled terminfo files to match the binary format.
+ Prior to <EM>ncurses</EM> 5.0 (1999), <EM>terminfo</EM> databases used a <EM>fixed</EM> <EM>repertoire</EM>
+ of terminal capabilities designed for the SVr2 terminal database in
+ 1984, added to in stages through SVr4 (1989), and standardized in
+ X/Open Curses starting in 1995.
+
+ Most such additions to this fixed repertoire suppelmented the tables of
+ Boolean, numeric, and string capabilities. Rather than changing the
+ meaning of an existing capability, a new name was added. The <EM>terminfo</EM>
+ database uses a binary format; binary compatibility was ensured by
+ using a header that counted the number of items in the tables for each
+ type of capability. Because each <EM>curses</EM> vendor extended the standard
+ capability lists in distinct ways, a library could be programmed to
+ recognize only compiled <EM>terminfo</EM> entries that it was prepared to
+ interpret. Standardization was incomplete.
+
+ <STRONG>o</STRONG> X/Open Curses describes only the <EM>source</EM> format, not its <EM>binary</EM>
+ representation on disk.
+
+ Library developers rely upon SVr4 documentation and reverse
+ engineering of compiled <EM>terminfo</EM> files to match the binary format.
<STRONG>o</STRONG> Lacking a standard for the binary format, most implementations copy
the SVr2 binary format, which uses 16-bit signed integers, and is
limited to 4096-byte entries.
- The format cannot represent very large numeric capabilities, nor
- can it represent large numbers of special keyboard definitions.
+ The SVr2 format cannot represent very large numeric capability
+ values, nor can it represent large numbers of key definitions, as
+ are required to distinguish multiple modifier keys used in
+ combination with a function key.
<STRONG>o</STRONG> The tables of capability names differ between implementations.
- Although they <EM>may</EM> provide all of the standard capability names, the
- position in the tables differs because some features were added as
- needed, while others were added (out of order) to comply with
- X/Open Curses.
+ Although they <EM>may</EM> provide all of the standard capability names,
+ each arranges its table entries differently because some features
+ were added as needed, while others were added -- out of order --
+ for X/Open Curses conformance.
- While <EM>ncurses</EM>' repertoire of predefined capabilities is closest to
- Solaris, Solaris's terminfo database has a few differences from the
- list published by X/Open Curses. For example, <EM>ncurses</EM> can be
- configured with tables which match the terminal databases for AIX,
- HP-UX or OSF/1, rather than the default Solaris-like configuration.
+ While <EM>ncurses</EM>'s capability repertoire is closest to that of
+ Solaris, the set of capabilities supported by each vendor's <EM>term-</EM>
+ <EM>info</EM> database differs from the list published by X/Open Curses.
+ <EM>ncurses</EM> can be configured with tables that match the terminal
+ databases for AIX, HP-UX, or OSF/1, rather than the default
+ Solaris-like configuration.
- <STRONG>o</STRONG> In SVr4 curses and <EM>ncurses</EM>, the terminal database is defined at
- compile-time using a text file which lists the different terminal
- capabilities.
+ <STRONG>o</STRONG> In SVr4 <EM>curses</EM> and <EM>ncurses</EM>, the terminal database is defined at
+ compile time by interpolating a text file that lists the different
+ terminal capabilities.
- In principle, the text-file can be extended, but doing this
- requires recompiling and reinstalling the library. The text-file
- used in <EM>ncurses</EM> for terminal capabilities includes details for
- various systems past the documented X/Open Curses features. For
- example, <EM>ncurses</EM> supports these capabilities in each configuration:
+ In principle, the text file can be extended, but doing so requires
+ recompiling and reinstalling the library. The text file used by
+ <EM>ncurses</EM> for terminal capabilities includes details of extensions to
+ X/Open Curses made by various systems. For example, <EM>ncurses</EM>
+ supports the following nonstandard capabilities in each
+ configuration.
- memory_lock
- (meml) lock memory above cursor
+ <STRONG>memory_lock</STRONG>
+ (<STRONG>meml</STRONG>) lock memory above cursor
- memory_unlock
- (memu) unlock memory
+ <STRONG>memory_unlock</STRONG>
+ (<STRONG>memu</STRONG>) unlock memory
- box_chars_1
- (box1) box characters primary set
+ <STRONG>box_chars_1</STRONG>
+ (<STRONG>box1</STRONG>) box characters primary set
The memory lock/unlock capabilities were included because they were
- used in the X11R6 terminal description for <STRONG>xterm(1)</STRONG>. The <EM>box1</EM>
- capability is used in tic to help with terminal descriptions
- written for AIX.
+ used in the X11R6 terminal description for <STRONG>xterm(1)</STRONG>. <STRONG>tic</STRONG> uses the
+ <STRONG>box1</STRONG> capability to cope with terminal descriptions written for AIX.
- During the 1990s, some users were reluctant to use terminfo in spite of
- its performance advantages over termcap:
+ During the 1990s, some application developers were reluctant to use
+ <EM>terminfo</EM> in spite of its performance (and other) advantages over
+ <EM>termcap</EM>.
- <STRONG>o</STRONG> The fixed repertoire prevented users from adding features for
- unanticipated terminal improvements (or required them to reuse
- existing capabilities as a workaround).
+ <STRONG>o</STRONG> The fixed repertoire prevented users from adding support for
+ terminal features unanticipated by X/Open Curses (or required them
+ to reuse existing capabilities as a workaround).
<STRONG>o</STRONG> The limitation to 16-bit signed integers was also mentioned.
- Because termcap stores everything as a string, it could represent
+ Because <EM>termcap</EM> stores everything as a string, it could represent
larger numbers.
- Although termcap's extensibility was rarely used (it was never the
- <EM>speaker</EM> who had actually used the feature), the criticism had a point.
- <EM>ncurses</EM> 5.0 provided a way to detect nonstandard capabilities,
- determine their type and optionally store and retrieve them in a way
- which did not interfere with other applications. These are referred to
- as <EM>user-defined</EM> <EM>capabilities</EM> because no modifications to the toolset's
- predefined capability names are needed.
-
- The <EM>ncurses</EM> utilities <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> have a command-line option "-x"
- to control whether the nonstandard capabilities are stored or
- retrieved. A library function <STRONG>use_extended_names</STRONG> is provided for the
+ Although <EM>termcap</EM>'s extensibility was rarely used -- the claimant was
+ never an implementor who had actually exercised it -- the criticism had
+ a point. <EM>ncurses</EM> 5.0 provided a way to detect nonstandard
+ capabilities, to determine their type, and to optionally store and
+ retrieve them in a way that did not interfere with other applications.
+ <EM>ncurses</EM> terms these <EM>user-defined</EM> <EM>capabilities</EM> because no modifications
+ to the standard capability list are needed.
+
+ The <EM>ncurses</EM> utilities <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> have a command-line option "-x"
+ to control whether the nonstandard capabilities are stored or
+ retrieved. <EM>ncurses</EM> provides <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> to programs for the
same purpose.
- When compiling a terminal database, if "-x" is set, <STRONG>tic</STRONG> will store a
- user-defined capability if the capability name is not one of the
- predefined names.
+ When compiling a terminal database, if "-x" is used, <STRONG>tic</STRONG> stores a user-
+ defined capability if the capability name is not standard.
- Because <EM>ncurses</EM> provides a termcap library interface, these user-
- defined capabilities may be visible to termcap applications:
+ Because <EM>ncurses</EM> provides a <EM>termcap</EM> library interface, these user-
+ defined capabilities may be visible to <EM>termcap</EM> applications.
- <STRONG>o</STRONG> The termcap interface (like all implementations of termcap)
- requires that the capability names are 2-characters.
+ <STRONG>o</STRONG> The <EM>termcap</EM> interface (like all implementations of <EM>termcap</EM>)
+ restricts capability names to two characters.
- When the capability is simple enough for use in a termcap
- application, it is provided as a 2-character name.
+ When the capability is simple enough for use in a <EM>termcap</EM>
+ application, it is provided as a two-character name.
- <STRONG>o</STRONG> There are other user-defined capabilities which refer to features
- not usable in termcap, e.g., parameterized strings that use more
- than two parameters or use more than the trivial expression support
- provided by termcap. For these, the terminfo database should have
- only capability names with 3 or more characters.
+ <STRONG>o</STRONG> Other user-defined capabilities employ features not usable in
+ <EM>termcap</EM>, such as parameterized strings that use more than two
+ parameters or require more powerful expressions than <EM>termcap</EM>
+ supports. Such capabilities should, in the <EM>terminfo</EM> database, have
+ names at least three characters in length.
<STRONG>o</STRONG> Some terminals can send distinct strings for special keys (cursor-,
keypad- or function-keys) depending on modifier keys (shift,
- control, etc.). While terminfo and termcap have a set of 60
- predefined function-key names, to which a series of keys can be
- assigned, that is insufficient for more than a dozen keys
- multiplied by more than a couple of modifier combinations. The
- <EM>ncurses</EM> database uses a convention based on <STRONG>xterm(1)</STRONG> to provide
- extended special-key names.
+ control, etc.). While <EM>terminfo</EM> and <EM>termcap</EM> define a set of sixty
+ function key names, to which a series of keys can be assigned, that
+ is insufficient for more than a dozen keys multiplied by more than
+ a couple of modifier combinations. The <EM>ncurses</EM> database uses a
+ convention based on <STRONG>xterm(1)</STRONG> to provide extended special-key names.
- Fitting that into termcap's limitation of 2-character names would
- be pointless. These extended keys are available only with
- terminfo.
+ Fitting that into <EM>termcap</EM>'s limitation of 2-character names would
+ be pointless. These extended keys are available only with <EM>term-</EM>
+ <EM>info</EM>.
</PRE><H3><a name="h3-Recognized-Capabilities">Recognized Capabilities</a></H3><PRE>
- The <EM>ncurses</EM> library uses the user-definable capabilities. While the
- terminfo database may have other extensions, <EM>ncurses</EM> makes explicit
- checks for these:
+ The <EM>ncurses</EM> library employs user-definable capabilities. While the
+ <EM>terminfo</EM> database may have other extensions, <EM>ncurses</EM> makes explicit
+ checks for the following.
- AX <EM>Boolean</EM>, asserts that the terminal interprets SGR 39 and SGR 49
- by resetting the foreground and background color, respectively,
+ <STRONG>AX</STRONG> (Boolean) asserts that the terminal interprets SGR 39 and SGR 49
+ by resetting the foreground and background colors, respectively,
to the default.
- This is a feature recognized by the <STRONG>screen</STRONG> program as well.
+ <STRONG>screen(1)</STRONG> recognizes this capability as well.
- E3 <EM>string</EM>, tells how to clear the terminal's scrollback buffer.
- When present, the <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> program sends this before clearing the
- terminal.
+ <STRONG>E3</STRONG> (string) tells an application how to clear the terminal's
+ scrollback buffer. When present, the <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> program sends this
+ before clearing the terminal.
The command "<STRONG>tput</STRONG> <STRONG>clear</STRONG>" does the same thing.
- NQ <EM>Boolean</EM>, used to suppress a consistency check in tic for the
- <EM>ncurses</EM> capabilities in user6 through user9 (u6, u7, u8 and u9)
- which tell how to query the terminal's cursor position and its
+ <STRONG>NQ</STRONG> (Boolean) suppresses a consistency check in <STRONG>tic</STRONG> for the <EM>ncurses</EM>
+ string capabilities <STRONG>user6</STRONG> (<STRONG>u6</STRONG>) through <STRONG>user9</STRONG> (<STRONG>u9</STRONG>), which tell an
+ application how to query the terminal's cursor position and its
device attributes.
- RGB
- <EM>Boolean</EM>, <EM>number</EM> <STRONG>or</STRONG> <EM>string</EM>, used to assert that the
- <STRONG>set_a_foreground</STRONG> and <STRONG>set_a_background</STRONG> capabilities correspond to
- <EM>direct</EM> <EM>colors</EM>, using an RGB (red/green/blue) convention. This
- capability allows the <STRONG>color_content</STRONG> function to return
- appropriate values without requiring the application to
- initialize colors using <STRONG>init_color</STRONG>.
+ <STRONG>RGB</STRONG>
+ (Boolean, numeric, or string) asserts that the <STRONG>set_a_foreground</STRONG>
+ (<STRONG>setaf</STRONG>) and <STRONG>set_a_background</STRONG> (<STRONG>setab</STRONG>) capabilities employ <EM>direct</EM>
+ <EM>colors</EM>, using an RGB (red/green/blue) convention. This
+ capability allows <STRONG><A HREF="curs_color.3x.html">color_content(3x)</A></STRONG> to return appropriate values
+ without requiring the application to initialize colors using
+ <STRONG><A HREF="curs_color.3x.html">init_color(3x)</A></STRONG>.
- The capability type determines the values which <EM>ncurses</EM> sees:
+ The capability type determines the values <EM>ncurses</EM> sees.
- <EM>Boolean</EM>
- implies that the number of bits for red, green and blue are
- the same. Using the maximum number of colors, <EM>ncurses</EM> adds
- two, divides that sum by three, and assigns the result to red,
- green and blue in that order.
+ Boolean
+ implies that the number of bits for red, green, and blue are
+ the same. Starting with the value of the capability
+ <STRONG>max_colors</STRONG> (<STRONG>colors</STRONG>; <EM>termcap:</EM> <STRONG>co</STRONG>), <EM>ncurses</EM> adds two, divides
+ the sum by three, and assigns the result to red, green, and
+ blue, in that order.
If the number of bits needed for the number of colors is not a
- multiple of three, the blue (and green) components lose in
+ multiple of three, the blue (and green) color channels lose in
comparison to red.
- <EM>number</EM>
- tells <EM>ncurses</EM> what result to add to red, green and blue. If
+ numeric
+ tells <EM>ncurses</EM> what result to add to red, green, and blue. If
<EM>ncurses</EM> runs out of bits, blue (and green) lose just as in the
- <EM>Boolean</EM> case.
+ Boolean case.
- <EM>string</EM>
- explicitly list the number of bits used for red, green and
- blue components as a slash-separated list of decimal integers.
+ string
+ specify the quantity of bits used for red, green, and blue
+ color channels as a slash-separated list of decimal integers.
- Because there are several RGB encodings in use, applications
- which make assumptions about the number of bits per color are
- unlikely to work reliably. As a trivial case, for example, one
- could define <STRONG>RGB#1</STRONG> to represent the standard eight ANSI colors,
- i.e., one bit per color.
+ Because there are several RGB encodings in use, applications that
+ make assumptions about the number of bits per color channel are
+ unlikely to work reliably. As a trivial case, one could define
+ <STRONG>RGB#1</STRONG> to represent the standard eight ANSI X3.64/ECMA-48/ISO 6429
+ colors using one bit per color channel.
- U8 <EM>number</EM>, asserts that <EM>ncurses</EM> must use Unicode values for line-
- drawing characters, and that it should ignore the alternate
- character set capabilities when the locale uses UTF-8 encoding.
- For more information, see the discussion of <STRONG>NCURSES_NO_UTF8_ACS</STRONG>
- in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+ <STRONG>U8</STRONG> (numeric) asserts whether <EM>ncurses</EM> must use Unicode values for
+ line-drawing characters, and that it should ignore the alternate
+ character set (ACS) capabilities when the locale uses UTF-8
+ encoding. See the discussion of <STRONG>NCURSES_NO_UTF8_ACS</STRONG> in section
+ "ENVIRONMENT" of <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
Set this capability to a nonzero value to enable it.
- XM <EM>string</EM>, override <EM>ncurses</EM>'s built-in string which enables/disables
- <STRONG>xterm(1)</STRONG> mouse mode.
+ <STRONG>XM</STRONG> (string) override <EM>ncurses</EM>'s built-in string that directs <STRONG>xterm(1)</STRONG>
+ to enable or disable mouse mode.
<EM>ncurses</EM> sends a character sequence to the terminal to initialize
mouse mode, and when the user clicks the mouse buttons or (in
certain modes) moves the mouse, handles the characters sent back
- by the terminal to tell it what was done with the mouse.
-
- The mouse protocol is enabled when the <EM>mask</EM> passed in the
- <STRONG>mousemask</STRONG> function is nonzero. By default, <EM>ncurses</EM> handles the
- responses for the X11 xterm mouse protocol. It also knows about
- the <EM>SGR</EM> <EM>1006</EM> xterm mouse protocol, but must to be told to look
- for this specifically. It will not be able to guess which mode
- is used, because the responses are enough alike that only
- confusion would result.
-
- The <STRONG>XM</STRONG> capability has a single parameter. If nonzero, the mouse
- protocol should be enabled. If zero, the mouse protocol should
- be disabled. <EM>ncurses</EM> inspects this capability if it is present,
- to see whether the 1006 protocol is used. If so, it expects the
- responses to use the <EM>SGR</EM> <EM>1006</EM> xterm mouse protocol.
-
- The xterm mouse protocol is used by other terminal emulators.
- The terminal database uses building-blocks for the various xterm
- mouse protocols which can be used in customized terminal
- descriptions.
+ by the terminal to tell the application what was done with the
+ mouse.
+
+ The mouse protocol is enabled when the <EM>mask</EM> argument to the
+ <STRONG><A HREF="curs_mouse.3x.html">mousemask(3x)</A></STRONG> function is nonzero. By default, <EM>ncurses</EM> handles
+ the responses for the X11 <EM>xterm</EM> mouse protocol. It also knows
+ about the SGR 1006 <EM>xterm</EM> mouse protocol, but must to be told to
+ look for it specifically. <EM>ncurses</EM> is not be able to guess which
+ of the two modes is used, because the responses are enough alike
+ that only confusion would result.
+
+ The <STRONG>XM</STRONG> capability has a single numeric parameter. If nonzero,
+ the mouse protocol should be enabled. If zero, the mouse
+ protocol should be disabled. <EM>ncurses</EM> inspects this capability if
+ it is present, to see whether the 1006 protocol is used. If so,
+ it expects the responses to use the SGR 1006 <EM>xterm</EM> mouse
+ protocol.
+
+ The <EM>xterm</EM> mouse protocol is used by other terminal emulators.
+ The terminal database uses building blocks for the various <EM>xterm</EM>
+ mouse protocols usable in customized terminal descriptions.
The terminal database building blocks for this mouse feature also
- have an experimental capability <EM>xm</EM>. The "xm" capability
- describes the mouse response. Currently there is no interpreter
- which would use this information to make the mouse support
- completely data-driven.
+ have an experimental capability, <STRONG>xm</STRONG>, that describes the mouse
+ response. No known interpreter uses this information, which
+ could make mouse support completely data-driven.
- <EM>xm</EM> shows the format of the mouse responses. In this experimental
- capability, the parameters are
+ <STRONG>xm</STRONG> shows the format of the mouse responses. In this experimental
+ capability, the parameters are as follows.
<EM>p1</EM> y-ordinate
@@ -296,8 +300,8 @@
<EM>p8</EM> x-ordinate ending region
- Here are examples from the terminal database for the most
- commonly used xterm mouse protocols:
+ Here are examples from the terminal database for the most
+ commonly used <EM>xterm</EM> mouse protocols.
xterm+x11mouse|X11 xterm mouse protocol,
kmous=\E[M, XM=\E[?1000%?%p1%{1}%=%th%el%;,
@@ -315,20 +319,20 @@
</PRE><H3><a name="h3-Extended-Key-Definitions">Extended Key Definitions</a></H3><PRE>
- Several terminals provide the ability to send distinct strings for
- combinations of modified special keys. There is no standard for what
+ Several terminals provide the ability to send distinct strings for
+ combinations of modified special keys. There is no standard for what
those keys can send.
- Since 1999, <STRONG>xterm(1)</STRONG> has supported <EM>shift</EM>, <EM>control</EM>, <EM>alt</EM>, and <EM>meta</EM>
- modifiers which produce distinct special-key strings. In a terminal
- description, <EM>ncurses</EM> has no special knowledge of the modifiers used.
- Applications can use the <EM>naming</EM> <EM>convention</EM> established for <STRONG>xterm</STRONG> to
+ Since 1999, <STRONG>xterm(1)</STRONG> has supported <EM>shift</EM>, <EM>control</EM>, <EM>alt</EM>, and <EM>meta</EM>
+ modifiers which produce distinct special-key strings. In a terminal
+ description, <EM>ncurses</EM> has no special knowledge of the modifiers used.
+ Applications can use the <EM>naming</EM> <EM>convention</EM> established for <EM>xterm</EM> to
find these special keys in the terminal description.
- Starting with the <EM>curses</EM> convention that capability codes describing
- the input generated by a terminal's key caps begin with "k", and that
- shifted special keys use uppercase letters in their names, <EM>ncurses</EM>'s
- terminal database defines the following names and codes to which a
+ Starting with the <EM>curses</EM> convention that capability codes describing
+ the input generated by a terminal's key caps begin with "k", and that
+ shifted special keys use uppercase letters in their names, <EM>ncurses</EM>'s
+ terminal database defines the following names and codes to which a
suffix is added.
<STRONG>Code</STRONG> <STRONG>Description</STRONG>
@@ -343,8 +347,8 @@
<STRONG>kRIT</STRONG> shifted kcuf1 (cursor forward)
<STRONG>kUP</STRONG> shifted kcuu1 (cursor up)
- Keycap nomenclature on the Unix systems for which <EM>curses</EM> was developed
- differs from today's ubiquitous descendants of the IBM PC/AT keyboard
+ Keycap nomenclature on the Unix systems for which <EM>curses</EM> was developed
+ differs from today's ubiquitous descendants of the IBM PC/AT keyboard
layout. In the foregoing, interpret "backward" as "left", "forward" as
"right", "next" as "page down", and "prev(ious)" as "page up".
@@ -368,20 +372,21 @@
15 Meta + Ctrl + Alt
16 Meta + Ctrl + Alt + Shift
- None of these are predefined; terminal descriptions can refer to <EM>names</EM>
- which <EM>ncurses</EM> will allocate at runtime to <EM>key-codes</EM>. To use these keys
- in an <EM>ncurses</EM> program, an application could do this:
+ <EM>ncurses</EM> defines no capabilities for modified F-keys; terminal
+ descriptions can refer to <EM>names</EM> that <EM>ncurses</EM> allocates at runtime to
+ <EM>key</EM> <EM>codes</EM>. To use these keys in an <EM>ncurses</EM> program, an application
+ could do this:
- <STRONG>o</STRONG> using a list of extended key <EM>names</EM>, ask <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> for their
+ <STRONG>o</STRONG> using a list of extended key <EM>names</EM>, ask <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> for their
values, and
- <STRONG>o</STRONG> given the list of values, ask <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> for the <EM>key-code</EM>
+ <STRONG>o</STRONG> given the list of values, ask <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> for the <EM>key-code</EM>
which would be returned for those keys by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The "-x" extension feature of <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> has been adopted in
- NetBSD curses. That implementation stores user-defined capabilities,
+ The "-x" extension feature of <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> has been adopted in
+ NetBSD <EM>curses</EM>. That implementation stores user-defined capabilities,
but makes no use of these capabilities itself.
@@ -393,17 +398,15 @@
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
- The terminal database section <EM>NCURSES</EM> <EM>USER-DEFINABLE</EM> <EM>CAPABILITIES</EM>
- summarizes commonly-used user-defined capabilities which are used in
- the terminal descriptions. Some of those features are mentioned in
- <STRONG>screen(1)</STRONG> or <STRONG>tmux(1)</STRONG>.
+ In the source form of the terminal database, <EM>terminfo.src</EM>, the section
+ "NCURSES USER-DEFINABLE CAPABILITIES". summarizes commonly-used user-
+ defined capabilities employed in the terminal descriptions. Some of
+ those features are mentioned in <STRONG>screen(1)</STRONG> or <STRONG>tmux(1)</STRONG>.
- <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> provides further information on the <STRONG>xterm(1)</STRONG>
+ <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> provides further information on the <STRONG>xterm(1)</STRONG>
features that are used in these extended capabilities.
-
-
-ncurses 6.5 2024-03-16 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+ncurses 6.6 2025-11-11 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>