-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2012,2013 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inopts.3x,v 1.15 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_inopts.3x,v 1.18 2013/07/20 19:42:02 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 http://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_inopts 3x</TITLE>
<link rev=made href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<H1>curs_inopts 3x</H1>
<HR>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
</PRE>
-<H2>NAME</H2><PRE>
+<H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>,
<STRONG>keypad</STRONG>, <STRONG>meta</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, <STRONG>noqiflush</STRONG>,
<STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input
</PRE>
-<H2>SYNOPSIS</H2><PRE>
+<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
<STRONG>int</STRONG> <STRONG>cbreak(void);</STRONG>
</PRE>
-<H2>DESCRIPTION</H2><PRE>
+<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
Normally, the tty driver buffers typed characters until a
newline or carriage return is typed. The <STRONG>cbreak</STRONG> routine
disables line buffering and erase/kill character-process-
Initially, whether the terminal returns 7 or 8 significant
bits on input depends on the control mode of the tty driv-
- er [see <STRONG><A HREF="termio.7.html">termio(7)</A></STRONG>]. To force 8 bits to be returned, in-
+ er [see <STRONG>termio(7)</STRONG>]. To force 8 bits to be returned, in-
voke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); this is equivalent, under POSIX, to
setting the CS8 flag on the terminal. To force 7 bits to
be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>); this is equivalent,
When the <STRONG>noqiflush</STRONG> routine is used, normal flush of input
and output queues associated with the <STRONG>INTR</STRONG>, <STRONG>QUIT</STRONG> and <STRONG>SUSP</STRONG>
- characters will not be done [see <STRONG><A HREF="termio.7.html">termio(7)</A></STRONG>]. When <STRONG>qiflush</STRONG>
+ characters will not be done [see <STRONG>termio(7)</STRONG>]. When <STRONG>qiflush</STRONG>
is called, the queues will be flushed when these control
characters are read. You may want to call <STRONG>noqiflush()</STRONG> in
a signal handler if you want output to continue as though
additional capability of being able to block for only <EM>de-</EM>
<EM>lay</EM> milliseconds (where <EM>delay</EM> is positive).
- The <STRONG>curses</STRONG> library does ``line-breakout optimization'' by
+ The <STRONG>curses</STRONG> library does "line-breakout optimization" by
looking for typeahead periodically while updating the
screen. If input is found, and it is coming from a tty,
the current update is postponed until <STRONG>refresh</STRONG> or <STRONG>doupdate</STRONG>
</PRE>
-<H2>RETURN VALUE</H2><PRE>
+<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All routines that return an integer return <STRONG>ERR</STRONG> upon fail-
ure and OK (SVr4 specifies only "an integer value other
than <STRONG>ERR</STRONG>") upon successful completion, unless otherwise
</PRE>
-<H2>PORTABILITY</H2><PRE>
+<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard,
Issue 4.
ty, set echo or noecho explicitly just after initializa-
tion, even if your program remains in cooked mode.
+ When <STRONG>keypad</STRONG> is first enabled, ncurses loads the key-defi-
+ nitions for the current terminal description. If the ter-
+ minal description includes extended string capabilities,
+ e.g., from using the <STRONG>-x</STRONG> option of tic, then ncurses also
+ defines keys for the capabilities whose names begin with
+ "k". The corresponding keycodes are generated and (de-
+ pending 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
+ curses 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 <EM>tigetstr</EM>,
+ and reassign the keycode to match its own needs.
+
+ Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the def-
+ inition of any particular string capability. Higher-level
+ applications which use the curses <STRONG>wgetch</STRONG> and similar func-
+ tions 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. Most curses implementations (including ncurses)
+ load key definitions in the order defined by the array of
+ string capability names. The last key to be loaded deter-
+ mines the keycode which will be returned. In ncurses, 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>NOTES</H2><PRE>
- Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>node-</STRONG>
- <STRONG>lay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG>
+<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>node-</STRONG>
+ <STRONG>lay</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
+ 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>SEE ALSO</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="termio.7.html">termio(7)</A></STRONG>
+<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>termio(7)</STRONG>
<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</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>
</BODY>
</HTML>