]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/curs_inopts.3x.html
ncurses 6.0 - patch 20151205
[ncurses.git] / doc / html / man / curs_inopts.3x.html
index d85164234c5a0acc31afaa1a09a70cb1aa71ca16..f0b188735e23c8331952bd6a503e5061d1acf29e 100644 (file)
@@ -1,7 +1,6 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2013,2015 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.20 2015/11/28 19:03:12 Benno.Schulenberg 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">
 </HEAD>
 <BODY>
-<H1>curs_inopts 3x</H1>
-<HR>
+<H1 class="no-header">curs_inopts 3x</H1>
 <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
@@ -54,7 +54,7 @@
 
 
 </PRE>
-<H2>SYNOPSIS</H2><PRE>
+<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>cbreak(void);</STRONG>
 
 
 </PRE>
-<H2>DESCRIPTION</H2><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.   Oth-
+       ers apply only to a specific window.  Window-specific set-
+       tings are not automatically applied to new or derived win-
+       dows.   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-process-
        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>.]
 
+
+</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>getch</STRONG> as they  are  typed.
        Echoing by the tty driver is always disabled, but initial-
        [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 available to the program.  However,
        after blocking for <EM>tenths</EM> tenths of seconds,  ERR  is  re-
-       turned  if  nothing  has  been typed.  The value of <STRONG>tenths</STRONG>
+       turned  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.
 
-       If  the <STRONG>intrflush</STRONG> option is enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), when an
+
+</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
+       break,  quit),  all output in the tty driver queue will be
        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.
+       is on the screen.  Disabling the option (<EM>bf</EM> is <STRONG>FALSE</STRONG>) pre-
+       vents  the flush.  The default for the option is inherited
+       from the tty driver settings.  The window argument is  ig-
+       nored.
 
+
+</PRE>
+<H3><a name="h3-keypad">keypad</a></H3><PRE>
        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-
        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.
+       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 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,
        <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.
        tween 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 immediately passed through to the us-
        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><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
        the interrupt had not occurred, after the handler exits.
 
+
+</PRE>
+<H3><a name="h3-timeout_wtimeout">timeout/wtimeout</a></H3><PRE>
        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  in-
        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
+
+</PRE>
+<H3><a name="h3-typeahead">typeahead</a></H3><PRE>
+       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>
+<ul>
+<li><a href="#h3-cbreak">cbreak</a></li>
+<li><a href="#h3-echo_noecho">echo/noecho</a></li>
+<li><a href="#h3-halfdelay">halfdelay</a></li>
+<li><a href="#h3-intrflush">intrflush</a></li>
+<li><a href="#h3-keypad">keypad</a></li>
+<li><a href="#h3-meta">meta</a></li>
+<li><a href="#h3-nodelay">nodelay</a></li>
+<li><a href="#h3-raw_noraw">raw/noraw</a></li>
+<li><a href="#h3-noqiflush">noqiflush</a></li>
+<li><a href="#h3-timeout_wtimeout">timeout/wtimeout</a></li>
+<li><a href="#h3-typeahead">typeahead</a></li>
+</ul>
+</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>