diff options
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.html | 280 |
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><curses.h></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&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> |