<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2010 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.11 2003/12/27 18:45:42 tom Exp @
+ * @Id: curs_inopts.3x,v 1.15 2010/12/04 18:40:45 tom Exp @
-->
<HTML>
<HEAD>
<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>
+<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>
- <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
+ <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
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
+ ing (interrupt and flow control characters are unaffect-
+ ed), making characters typed by the user immediately
available to the program. The <STRONG>nocbreak</STRONG> routine returns
the terminal to normal (cooked) mode.
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>.]
+ Echoing by the tty driver is always disabled, but initial-
+ ly <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>
+ after blocking for <EM>tenths</EM> tenths of seconds, ERR is re-
+ turned 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.
+ flushed, giving the effect of faster response to the in-
+ terrupt, 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 inher-
+ ited from the tty driver settings. The window argument 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-
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.
+ turned on (made to transmit) and off (made to work local-
+ ly), turning on this option causes the terminal keypad 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
+ 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-
+ 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,
+ 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 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.
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
+ timer. The purpose of the timeout is to differentiate be-
+ tween 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
+ characters typed are immediately passed through to the us-
+ er program. The differences are that in raw mode, the in-
+ terrupt, 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>.
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 (i.e., waits indefinitely for
- input). If <EM>delay</EM> is zero, then non-blocking read is used
+ blocking read is used (i.e., waits indefinitely for in-
+ put). If <EM>delay</EM> is zero, then non-blocking read is used
(i.e., 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).
+ 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
looking for typeahead periodically while updating the
than <STRONG>ERR</STRONG>") upon successful completion, unless otherwise
noted in the preceding routine descriptions.
+ X/Open does not define any error conditions. In this im-
+ plementation, functions with a window parameter will re-
+ turn an error if it is null. Any function will also re-
+ turn an error if the terminal was not initialized. Also,
+
+ <STRONG>halfdelay</STRONG>
+ returns an error if its parameter is outside
+ the range 1..255.
+
</PRE>
<H2>PORTABILITY</H2><PRE>
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-
+ call turned it off as a side-effect. For best portabili-
+ ty, set echo or noecho explicitly just after initializa-
tion, even if your program remains in cooked mode.
- <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>
<HR>
<ADDRESS>