summaryrefslogtreecommitdiffstats
path: root/ncurses-5.3/doc/html/man/curs_inopts.3x.html
diff options
context:
space:
mode:
Diffstat (limited to 'ncurses-5.3/doc/html/man/curs_inopts.3x.html')
-rw-r--r--ncurses-5.3/doc/html/man/curs_inopts.3x.html280
1 files changed, 280 insertions, 0 deletions
diff --git a/ncurses-5.3/doc/html/man/curs_inopts.3x.html b/ncurses-5.3/doc/html/man/curs_inopts.3x.html
new file mode 100644
index 0000000..9e8ce06
--- /dev/null
+++ b/ncurses-5.3/doc/html/man/curs_inopts.3x.html
@@ -0,0 +1,280 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!--
+ ****************************************************************************
+ * Copyright (c) 1998,2001 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"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: curs_inopts.3x,v 1.9 2002/08/10 22:29:49 tom Exp @
+-->
+<HTML>
+<HEAD>
+<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">
+</HEAD>
+<BODY>
+<H1>curs_inopts 3x</H1>
+<HR>
+<PRE>
+<!-- Manpage converted by man2html 3.0.1 -->
+
+</PRE>
+<H2>NAME</H2><PRE>
+ <STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>key-</STRONG>
+ <STRONG>pad</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
+ options
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>cbreak(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>nocbreak(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>echo(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>noecho(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>halfdelay(int</STRONG> <STRONG>tenths);</STRONG>
+ <STRONG>int</STRONG> <STRONG>intrflush(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>int</STRONG> <STRONG>keypad(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>int</STRONG> <STRONG>meta(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>int</STRONG> <STRONG>nodelay(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>int</STRONG> <STRONG>raw(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>noraw(void);</STRONG>
+ <STRONG>void</STRONG> <STRONG>noqiflush(void);</STRONG>
+ <STRONG>void</STRONG> <STRONG>qiflush(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>notimeout(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>void</STRONG> <STRONG>timeout(int</STRONG> <STRONG>delay);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wtimeout(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>delay);</STRONG>
+ <STRONG>int</STRONG> <STRONG>typeahead(int</STRONG> <STRONG>fd);</STRONG>
+
+
+</PRE>
+<H2>DESCRIPTION</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-
+ ing (interrupt and flow control characters are unaf-
+ fected), making characters typed by the user immediately
+ available to the program. The <STRONG>nocbreak</STRONG> routine returns
+ the terminal to normal (cooked) mode.
+
+ Initially the terminal may or may not be in <STRONG>cbreak</STRONG> mode,
+ as the mode is inherited; therefore, a program should call
+ <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> explicitly. Most interactive programs
+ using <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode. Note that <STRONG>cbreak</STRONG> over-
+ rides <STRONG>raw</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how
+ these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
+
+ The <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> routines control whether characters
+ typed by the user are echoed by <STRONG>getch</STRONG> as they are typed.
+ Echoing by the tty driver is always disabled, but ini-
+ tially <STRONG>getch</STRONG> is in echo mode, so characters typed are
+ echoed. Authors of most interactive programs prefer to do
+ their own echoing in a controlled area of the screen, or
+ not to echo at all, so they disable echoing by calling
+ <STRONG>noecho</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how these
+ routines interact with <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.]
+
+ The <STRONG>halfdelay</STRONG> routine is used for half-delay mode, which
+ is similar to <STRONG>cbreak</STRONG> mode in that characters typed by the
+ user are immediately available to the program. However,
+ after blocking for <EM>tenths</EM> tenths of seconds, ERR is
+ returned if nothing has been typed. The value of <STRONG>tenths</STRONG>
+ must be a number between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave
+ half-delay mode.
+
+ If the <STRONG>intrflush</STRONG> option is enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), when an
+ interrupt key is pressed on the keyboard (interrupt,
+ break, quit) all output in the tty driver queue will be
+ flushed, giving the effect of faster response to the
+ interrupt, but causing <STRONG>curses</STRONG> to have the wrong idea of
+ what is on the screen. Disabling (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the
+ option prevents the flush. The default for the option is
+ inherited from the tty driver settings. The window argu-
+ ment is ignored.
+
+ The <STRONG>keypad</STRONG> option enables the keypad of the user's termi-
+ nal. If enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a func-
+ tion key (such as an arrow key) and <STRONG>wgetch</STRONG> returns a sin-
+ gle value representing the function key, as in <STRONG>KEY_LEFT</STRONG>.
+ If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> does not treat function
+ keys specially and the program has to interpret the escape
+ sequences itself. If the keypad in the terminal can be
+ turned on (made to transmit) and off (made to work
+ locally), turning on this option causes the terminal key-
+ pad to be turned on when <STRONG>wgetch</STRONG> is called. The default
+ value for keypad is false.
+
+ Initially, whether the terminal returns 7 or 8 significant
+ bits on input depends on the control mode of the tty
+ driver [see <STRONG><A HREF="termio.7.html">termio(7)</A></STRONG>]. To force 8 bits to be returned,
+ invoke <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 equiva-
+ lent, under POSIX, to setting the CS7 flag on the termi-
+ nal. The window argument, <EM>win</EM>, is always ignored. If the
+ terminfo capabilities <STRONG>smm</STRONG> (meta_on) and <STRONG>rmm</STRONG> (meta_off) are
+ defined for the terminal, <STRONG>smm</STRONG> is sent to the terminal when
+ <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>) is called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>,
+ <STRONG>FALSE</STRONG>) is called.
+
+ The <STRONG>nodelay</STRONG> option causes <STRONG>getch</STRONG> to be a non-blocking call.
+ If no input is ready, <STRONG>getch</STRONG> returns <STRONG>ERR</STRONG>. If disabled (<EM>bf</EM>
+ is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits until a key is pressed.
+
+ While interpreting an input escape sequence, <STRONG>wgetch</STRONG> sets a
+ timer while waiting for the next character. If <STRONG>notime-</STRONG>
+ <STRONG>out(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is called, then <STRONG>wgetch</STRONG> does not set a
+ timer. The purpose of the timeout is to differentiate
+ between sequences received from a function key and those
+ typed by a user.
+
+ The <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out
+ of raw mode. Raw mode is similar to <STRONG>cbreak</STRONG> mode, in that
+ characters typed are immediately passed through to the
+ user program. The differences are that in raw mode, the
+ interrupt, quit, suspend, and flow control characters are
+ all passed through uninterpreted, instead of generating a
+ signal. The behavior of the BREAK key depends on other
+ bits in the tty driver that are not set by <STRONG>curses</STRONG>.
+
+ 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>
+ 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
+ the interrupt had not occurred, after the handler exits.
+
+ The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines set blocking or non-
+ blocking read for a given window. If <EM>delay</EM> is negative,
+ blocking read is used (<EM>i</EM>.<EM>e</EM>., waits indefinitely for
+ input). If <EM>delay</EM> is zero, then non-blocking read is used
+ (<EM>i</EM>.<EM>e</EM>., read returns <STRONG>ERR</STRONG> if no input is waiting). If <EM>delay</EM>
+ is positive, then read blocks for <EM>delay</EM> milliseconds, and
+ returns <STRONG>ERR</STRONG> if there is still no input. Hence, these rou-
+ tines provide the same functionality as <STRONG>nodelay</STRONG>, plus the
+ additional capability of being able to block for only
+ <EM>delay</EM> milliseconds (where <EM>delay</EM> is positive).
+
+ 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>
+ is called again. This allows faster response to commands
+ typed in advance. Normally, the input FILE pointer passed
+ to <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used,
+ will be used to do this typeahead checking. The <STRONG>typeahead</STRONG>
+ routine specifies that the file descriptor <EM>fd</EM> is to be
+ used to check for typeahead instead. If <EM>fd</EM> is -1, then no
+ typeahead checking is done.
+
+
+</PRE>
+<H2>RETURN VALUE</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
+ noted in the preceding routine descriptions.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+ These functions are described in the XSI Curses standard,
+ Issue 4.
+
+ The ncurses library obeys the XPG4 standard and the his-
+ torical practice of the AT&amp;T curses implementations, in
+ that the echo bit is cleared when curses initializes the
+ terminal state. BSD curses 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 portabil-
+ ity, set echo or noecho explicitly just after initializa-
+ tion, even if your program remains in cooked mode.
+
+
+</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>
+ 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>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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</PRE>
+<HR>
+<ADDRESS>
+Man(1) output converted with
+<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
+</ADDRESS>
+</BODY>
+</HTML>