-<!-- Manpage converted by man2html 3.0.1 -->
-
-</PRE>
-<H2>NAME</H2><PRE>
- <B>cbreak</B>, <B>nocbreak</B>, <B>echo</B>, <B>noecho</B>, <B>halfdelay</B>, <B>intrflush</B>, <B>key-</B>
- <B>pad</B>, <B>meta</B>, <B>nodelay</B>, <B>notimeout</B>, <B>raw</B>, <B>noraw</B>, <B>noqiflush</B>,
- <B>qiflush</B>, <B>timeout</B>, <B>wtimeout</B>, <B>typeahead</B> - <B>curses</B> input
- options
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <B>#include</B> <B><curses.h></B>
-
- <B>int</B> <B>cbreak(void);</B>
- <B>int</B> <B>nocbreak(void);</B>
- <B>int</B> <B>echo(void);</B>
- <B>int</B> <B>noecho(void);</B>
- <B>int</B> <B>halfdelay(int</B> <B>tenths);</B>
- <B>int</B> <B>intrflush(WINDOW</B> <B>*win,</B> <B>bool</B> <B>bf);</B>
- <B>int</B> <B>keypad(WINDOW</B> <B>*win,</B> <B>bool</B> <B>bf);</B>
- <B>int</B> <B>meta(WINDOW</B> <B>*win,</B> <B>bool</B> <B>bf);</B>
- <B>int</B> <B>nodelay(WINDOW</B> <B>*win,</B> <B>bool</B> <B>bf);</B>
- <B>int</B> <B>raw(void);</B>
- <B>int</B> <B>noraw(void);</B>
- <B>void</B> <B>noqiflush(void);</B>
- <B>void</B> <B>qiflush(void);</B>
- <B>int</B> <B>notimeout(WINDOW</B> <B>*win,</B> <B>bool</B> <B>bf);</B>
- <B>void</B> <B>timeout(int</B> <B>delay);</B>
- <B>void</B> <B>wtimeout(WINDOW</B> <B>*win,</B> <B>int</B> <B>delay);</B>
- <B>int</B> <B>typeahead(int</B> <B>fd);</B>
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Normally, the tty driver buffers typed characters until a
- newline or carriage return is typed. The <B>cbreak</B> 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 <B>nocbreak</B> routine returns
- the terminal to normal (cooked) mode.
-
- Initially the terminal may or may not be in <B>cbreak</B> mode,
- as the mode is inherited; therefore, a program should call
- <B>cbreak</B> or <B>nocbreak</B> explicitly. Most interactive programs
- using <B>curses</B> set the <B>cbreak</B> mode. Note that <B>cbreak</B> over-
- rides <B>raw</B>. [See <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B> for a discussion of how
- these routines interact with <B>echo</B> and <B>noecho</B>.]
-
- The <B>echo</B> and <B>noecho</B> routines control whether characters
- typed by the user are echoed by <B>getch</B> as they are typed.
- Echoing by the tty driver is always disabled, but ini-
- tially <B>getch</B> 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
- <B>noecho</B>. [See <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B> for a discussion of how these
- routines interact with <B>cbreak</B> and <B>nocbreak</B>.]
-
- The <B>halfdelay</B> routine is used for half-delay mode, which
- is similar to <B>cbreak</B> mode in that characters typed by the
- user are immediately available to the program. However,
- after blocking for <I>tenths</I> tenths of seconds, ERR is
- returned if nothing has been typed. The value of <B>tenths</B>
- must be a number between 1 and 255. Use <B>nocbreak</B> to leave
- half-delay mode.
-
- If the <B>intrflush</B> option is enabled, (<I>bf</I> is <B>TRUE</B>), 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 <B>curses</B> to have the wrong idea of
- what is on the screen. Disabling (<I>bf</I> is <B>FALSE</B>), the
- option prevents the flush. The default for the option is
- inherited from the tty driver settings. The window argu-
- ment is ignored.
-
- The <B>keypad</B> option enables the keypad of the user's termi-
- nal. If enabled (<I>bf</I> is <B>TRUE</B>), the user can press a func-
- tion key (such as an arrow key) and <B>wgetch</B> returns a sin-
- gle value representing the function key, as in <B>KEY_LEFT</B>.
- If disabled (<I>bf</I> is <B>FALSE</B>), <B>curses</B> 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 <B>wgetch</B> 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 <B><A HREF="termio.7.html">termio(7)</A></B>]. To force 8 bits to be returned,
- invoke <B>meta</B>(<I>win</I>, <B>TRUE</B>); this is equivalent, under POSIX,
- to setting the CS8 flag on the terminal. To force 7 bits
- to be returned, invoke <B>meta</B>(<I>win</I>, <B>FALSE</B>); this is equiva-
- lent, under POSIX, to setting the CS8 flag on the termi-
- nal. The window argument, <I>win</I>, is always ignored. If the
- terminfo capabilities <B>smm</B> (meta_on) and <B>rmm</B> (meta_off) are
- defined for the terminal, <B>smm</B> is sent to the terminal when
- <B>meta</B>(<I>win</I>, <B>TRUE</B>) is called and <B>rmm</B> is sent when <B>meta</B>(<I>win</I>,
- <B>FALSE</B>) is called.
-
- The <B>nodelay</B> option causes <B>getch</B> to be a non-blocking call.
- If no input is ready, <B>getch</B> returns <B>ERR</B>. If disabled (<I>bf</I>
- is <B>FALSE</B>), <B>getch</B> waits until a key is pressed.
-
- While interpreting an input escape sequence, <B>wgetch</B> sets a
- timer while waiting for the next character. If <B>notime-</B>
- <B>out(</B><I>win</I>, <B>TRUE</B>) is called, then <B>wgetch</B> 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 <B>raw</B> and <B>noraw</B> routines place the terminal into or out
- of raw mode. Raw mode is similar to <B>cbreak</B> 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 <B>curses</B>.
-
- When the <B>noqiflush</B> routine is used, normal flush of input
- and output queues associated with the <B>INTR</B>, <B>QUIT</B> and <B>SUSP</B>
- characters will not be done [see <B><A HREF="termio.7.html">termio(7)</A></B>]. When <B>qiflush</B>
- is called, the queues will be flushed when these control
- characters are read. You may want to call <B>noqiflush()</B> in
- a signal handler if you want output to continue as though
+<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><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 options
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></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><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>ncurses</STRONG> library provides several functions which let an application
+ change the way input from the terminal is handled. Some are global,
+ applying to all windows. Others apply only to a specific window. Win-
+ dow-specific settings are not automatically applied to new or derived
+ windows. An application must apply these to each window, if the same
+ behavior is needed.
+
+
+</PRE><H3><a name="h3-cbreak">cbreak</a></H3><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-processing (interrupt and flow control charac-
+ ters are unaffected), 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> explic-
+ itly. Most interactive programs using <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode.
+ Note that <STRONG>cbreak</STRONG> overrides <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>.]
+
+
+</PRE><H3><a name="h3-echo_noecho">echo/noecho</a></H3><PRE>
+ The <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> routines control whether characters typed by the
+ user are echoed by <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG> as they are typed. Echoing by the tty
+ driver is always disabled, but initially <STRONG>getch</STRONG> is in echo mode, so
+ characters typed are echoed. Authors of most interactive programs pre-
+ fer 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>.]
+
+
+</PRE><H3><a name="h3-halfdelay">halfdelay</a></H3><PRE>
+ 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 avail-
+ able to the program. However, after blocking for <EM>tenths</EM> tenths of sec-
+ onds, <STRONG>ERR</STRONG> is returned if nothing has been typed. The value of <EM>tenths</EM>
+ must be a number between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave half-delay
+ mode.
+
+
+</PRE><H3><a name="h3-intrflush">intrflush</a></H3><PRE>
+ If the <STRONG>intrflush</STRONG> option is enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), and 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 the option (<EM>bf</EM> is <STRONG>FALSE</STRONG>) prevents the flush.
+ The default for the option is inherited from the tty driver settings.
+ The window argument is ignored.
+
+
+</PRE><H3><a name="h3-keypad">keypad</a></H3><PRE>
+ The <STRONG>keypad</STRONG> option enables the keypad of the user's terminal. If en-
+ abled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a function key (such as an arrow
+ key) and <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> returns a single 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 se-
+ quences 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 keypad to be turned on when <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> is called.
+ The default value for keypad is <STRONG>FALSE</STRONG>.
+
+
+</PRE><H3><a name="h3-meta">meta</a></H3><PRE>
+ Initially, whether the terminal returns 7 or 8 significant bits on in-
+ put depends on the control mode of the tty driver [see <STRONG>termios(3)</STRONG>]. To
+ force 8 bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); this is equiva-
+ lent, 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, under
+ POSIX, to setting the CS7 flag on the terminal. 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 termi-
+ nal 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.
+
+
+</PRE><H3><a name="h3-nodelay">nodelay</a></H3><PRE>
+ 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><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> sets a timer
+ while waiting for the next character. If <STRONG>notimeout(</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.
+
+
+</PRE><H3><a name="h3-raw_noraw">raw/noraw</a></H3><PRE>
+ 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 imme-
+ diately 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>.
+
+
+</PRE><H3><a name="h3-noqiflush">noqiflush</a></H3><PRE>
+ 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>termios(3)</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