]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/user_caps.5.html
ncurses 6.4 - patch 20240113
[ncurses.git] / doc / html / man / user_caps.5.html
index 0491b60adda28f67cb187d1307f0d6d23776f31a..cb25c15e13ad45de541294351ab1328cb8008e71 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2018-2022,2023 Thomas E. Dickey                                *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   * Copyright 2017 Free Software Foundation, Inc.                            *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: user_caps.5,v 1.42 2023/12/16 20:32:22 tom Exp @
+  * @Id: user_caps.5,v 1.47 2024/01/13 22:05:39 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 2023-12-16 ncurses 6.4 File formats</TITLE>
+<TITLE>user_caps 5 2024-01-13 ncurses 6.4 File formats</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">user_caps 5 2023-12-16 ncurses 6.4 File formats</H1>
+<H1 class="no-header">user_caps 5 2024-01-13 ncurses 6.4 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>
 
@@ -66,7 +66,7 @@
        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
+       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
            terminfo.
 
 
-</PRE><H3><a name="h3-Recognized-capabilities">Recognized capabilities</a></H3><PRE>
+</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:
 
-          AX <EM>boolean</EM>, asserts that the terminal interprets SGR 39 and  SGR  49
+          AX <EM>Boolean</EM>, asserts that the terminal interprets SGR 39 and  SGR  49
              by  resetting  the foreground and background color, respectively,
              to the default.
 
 
              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
+          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
              device attributes.
 
           RGB
-             <EM>boolean</EM>,   <EM>number</EM>   <STRONG>or</STRONG>   <EM>string</EM>,   used   to   assert   that  the
+             <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
 
              The capability type determines the values which <EM>ncurses</EM> sees:
 
-             <EM>boolean</EM>
+             <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,
              <EM>number</EM>
                 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.
+                <EM>Boolean</EM> case.
 
              <EM>string</EM>
                 explicitly  list  the  number  of bits used for red, green and
                           %?%p4%tM%em%;,
 
 
-</PRE><H3><a name="h3-Extended-key-definitions">Extended key-definitions</a></H3><PRE>
+</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
        those keys can send.
        Applications can use the <EM>naming</EM> <EM>convention</EM>  established  for  <STRONG>xterm</STRONG>  to
        find these special keys in the terminal description.
 
-       Starting  with  the curses convention that <EM>key</EM> <EM>names</EM> begin with "k" and
-       that shifted special keys are  an  uppercase  name,  <EM>ncurses</EM>'  terminal
-       database defines these names to which a suffix is added:
-
-            <STRONG>Name</STRONG>   <STRONG>Description</STRONG>
-            ---------------------------------------------------------------
-            kDC    special form of kdch1 (delete character)
-            kDN    special form of kcud1 (cursor down)
-            kEND   special form of kend (End)
-            kHOM   special form of khome (Home)
-            kLFT   special form of kcub1 (cursor-left or cursor-back)
-            kNXT   special form of knext (Next, or Page-Down)
-            kPRV   special form of kprev (Prev, or Page-Up)
-            kRIT   special form of kcuf1 (cursor-right, or cursor-forward)
-            kUP    special form of kcuu1 (cursor-up)
+       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>
+            -------------------------------------------------------------------
+            <STRONG>kDC</STRONG>    shifted kdch1 (delete character)
+            <STRONG>kDN</STRONG>    shifted kcud1 (cursor down)
+            <STRONG>kEND</STRONG>   shifted kend (end)
+            <STRONG>kHOM</STRONG>   shifted khome (home)
+            <STRONG>kLFT</STRONG>   shifted kcub1 (cursor back)
+            <STRONG>kNXT</STRONG>   shifted knext (next)
+            <STRONG>kPRV</STRONG>   shifted kprev (previous)
+            <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
+       layout.  In the foregoing, interpret "backward" as "left", "forward" as
+       "right", "next" as "page down", and "prev(ious)" as "page up".
 
        These are the suffixes used to denote the modifiers:
 
             15      Meta + Ctrl + Alt
             16      Meta + Ctrl + Alt + Shift
 
-       None  of these are predefined; terminal descriptions can refer to <EM>names</EM>
+       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:
 
-       <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  curses.   That implementation stores user-defined capabilities,
        but makes no use of these capabilities itself.
 
 
        <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
+       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>.
 
-       <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.4                       2023-12-16                      <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+ncurses 6.4                       2024-01-13                      <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -405,8 +412,8 @@ ncurses 6.4                       2023-12-16                      <STRONG><A HRE
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
 <li><a href="#h3-Background">Background</a></li>
-<li><a href="#h3-Recognized-capabilities">Recognized capabilities</a></li>
-<li><a href="#h3-Extended-key-definitions">Extended key-definitions</a></li>
+<li><a href="#h3-Recognized-Capabilities">Recognized Capabilities</a></li>
+<li><a href="#h3-Extended-Key-Definitions">Extended Key Definitions</a></li>
 </ul>
 </li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>