* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inopts.3x,v 1.56 2023/10/21 10:28:36 tom Exp @
+ * @Id: curs_inopts.3x,v 1.58 2023/11/25 14:30:50 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>curs_inopts 3x 2023-10-21 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inopts 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inopts 3x 2023-10-21 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inopts 3x 2023-11-25 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
returns an error if its parameter is outside the range 1..255.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>,
+ <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be macros.
+
+ The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in that they
+ attempt to restore to normal ("cooked") mode from raw and cbreak modes
+ respectively. Mixing raw/noraw and cbreak/nocbreak calls leads to tty
+ driver control states that are hard to predict or understand; it is not
+ recommended.
+
+
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
This implementation provides four functions which may be used to detect
if the corresponding flags were set or reset:
-1 if the <EM>curses</EM> library was not initialized.
- These routines are specific to <EM>ncurses</EM>. They were not supported on
+ These routines are specific to <EM>ncurses</EM>. They were not supported on
Version 7, BSD or System V implementations. It is recommended that any
code depending on <EM>ncurses</EM> extensions be conditioned using
NCURSES_VERSION.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- Except as noted in the section on extensions, these functions are
+ Except as noted in the section on extensions, these functions are
described in the XSI Curses standard, Issue 4.
The <EM>ncurses</EM> library obeys the XPG4 standard and the historical practice
- of the AT&T <EM>curses</EM> implementations, in that the echo bit is cleared
- when <EM>curses</EM> initializes the terminal state. BSD <EM>curses</EM> differed from
- this slightly; it left the echo bit on at initialization, but the BSD
- <STRONG>raw</STRONG> call turned it off as a side-effect. For best portability, set
- <STRONG>echo</STRONG> or <STRONG>noecho</STRONG> explicitly just after initialization, even if your
+ of the AT&T <EM>curses</EM> implementations, in that the echo bit is cleared
+ when <EM>curses</EM> initializes the terminal state. BSD <EM>curses</EM> differed from
+ this slightly; it left the echo bit on at initialization, but the BSD
+ <STRONG>raw</STRONG> call turned it off as a side-effect. For best portability, set
+ <STRONG>echo</STRONG> or <STRONG>noecho</STRONG> explicitly just after initialization, even if your
program remains in cooked mode.
- The XSI Curses standard is ambiguous on the question of whether <STRONG>raw</STRONG>
- should disable the CRLF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>. BSD
- <EM>curses</EM> did turn off these translations; AT&T <EM>curses</EM> (at least as late
- as SVr1) did not. We chose to do so, on the theory that a programmer
- requesting raw input wants a clean (ideally 8-bit clean) connection
+ The XSI Curses standard is ambiguous on the question of whether <STRONG>raw</STRONG>
+ should disable the CRLF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>. BSD
+ <EM>curses</EM> did turn off these translations; AT&T <EM>curses</EM> (at least as late
+ as SVr1) did not. We chose to do so, on the theory that a programmer
+ requesting raw input wants a clean (ideally 8-bit clean) connection
that the operating system will not alter.
When <STRONG>keypad</STRONG> is first enabled, <EM>ncurses</EM> loads the key-definitions for the
- current terminal description. If the terminal description includes
- extended string capabilities, e.g., from using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>,
- then <EM>ncurses</EM> also defines keys for the capabilities whose names begin
- with "k". The corresponding keycodes are generated and (depending on
- previous loads of terminal descriptions) may differ from one execution
+ current terminal description. If the terminal description includes
+ extended string capabilities, e.g., from using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>,
+ then <EM>ncurses</EM> also defines keys for the capabilities whose names begin
+ with "k". The corresponding keycodes are generated and (depending on
+ previous loads of terminal descriptions) may differ from one execution
of a program to the next. The generated keycodes are recognized by the
- <STRONG>keyname</STRONG> function (which will then return a name beginning with "k"
- denoting the terminfo capability name rather than "K", used for <EM>curses</EM>
- key-names). On the other hand, an application can use <STRONG>define_key</STRONG> to
- establish a specific keycode for a given string. This makes it
- possible for an application to check for an extended capability's
- presence with <STRONG>tigetstr</STRONG>, and reassign the keycode to match its own
+ <STRONG>keyname</STRONG> function (which will then return a name beginning with "k"
+ denoting the terminfo capability name rather than "K", used for <EM>curses</EM>
+ key-names). On the other hand, an application can use <STRONG>define_key</STRONG> to
+ establish a specific keycode for a given string. This makes it
+ possible for an application to check for an extended capability's
+ presence with <STRONG>tigetstr</STRONG>, and reassign the keycode to match its own
needs.
Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the definition of any
- particular string capability. Higher-level applications which use the
- <EM>curses</EM> <STRONG>wgetch</STRONG> and similar functions to return keycodes rely upon the
+ particular string capability. Higher-level applications which use the
+ <EM>curses</EM> <STRONG>wgetch</STRONG> and similar functions to return keycodes rely upon the
order in which the strings are loaded. If more than one key definition
- has the same string value, then <STRONG>wgetch</STRONG> can return only one keycode.
+ has the same string value, then <STRONG>wgetch</STRONG> can return only one keycode.
Most <EM>curses</EM> implementations (including <EM>ncurses</EM>) load key definitions in
- the order defined by the array of string capability names. The last
- key to be loaded determines the keycode which will be returned. In
- <EM>ncurses</EM>, you may also have extended capabilities interpreted as key
- definitions. These are loaded after the predefined keys, and if a
- capability's value is the same as a previously-loaded key definition,
+ the order defined by the array of string capability names. The last
+ key to be loaded determines the keycode which will be returned. In
+ <EM>ncurses</EM>, you may also have extended capabilities interpreted as key
+ definitions. These are loaded after the predefined keys, and if a
+ capability's value is the same as a previously-loaded key definition,
the later definition is the one used.
-</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>,
- <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be macros.
-
- The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in that they
- attempt to restore to normal ("cooked") mode from raw and cbreak modes
- respectively. Mixing raw/noraw and cbreak/nocbreak calls leads to tty
- driver control states that are hard to predict or understand; it is not
- recommended.
-
-
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG>termios(3)</STRONG>
-ncurses 6.4 2023-10-21 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ncurses 6.4 2023-11-25 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
</ul>
</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
</ul>
</div>