]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/curs_getch.3x.html
ncurses 6.0 - patch 20170114
[ncurses.git] / doc / html / man / curs_getch.3x.html
index 1df5dd04f0b12e5ca3879ce56fc97a376b80706f..d19c4b87454eea094ac47dad7dec1e085756245e 100644 (file)
@@ -1,7 +1,7 @@
 <!-- 
   * t
   ****************************************************************************
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2015,2016 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            *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_getch.3x,v 1.43 2015/09/19 22:25:05 tom Exp @
+  * @Id: curs_getch.3x,v 1.49 2016/10/15 16:44:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 
 
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get
        (or push back) characters from <STRONG>curses</STRONG> terminal keyboard
 
 
        <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get
        (or push back) characters from <STRONG>curses</STRONG> terminal keyboard
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>getch(void);</STRONG>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>getch(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
 
 
        <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 
-</PRE>
-<H3><a name="h3-Reading-characters">Reading characters</a></H3><PRE>
+</PRE><H3><a name="h3-Reading-characters">Reading characters</a></H3><PRE>
        The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines  read  a
        character  from the window.  In no-delay mode, if no input
        is waiting, the value <STRONG>ERR</STRONG> is returned.  In delay mode, the
        The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines  read  a
        character  from the window.  In no-delay mode, if no input
        is waiting, the value <STRONG>ERR</STRONG> is returned.  In delay mode, the
        called before another character is read.
 
 
        called before another character is read.
 
 
-</PRE>
-<H3><a name="h3-Keypad-mode">Keypad mode</a></H3><PRE>
+</PRE><H3><a name="h3-Keypad-mode">Keypad mode</a></H3><PRE>
        If  <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the to-
        ken for that function key is returned instead of  the  raw
        If  <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the to-
        ken for that function key is returned instead of  the  raw
-       characters.   Possible function keys are defined in <STRONG>&lt;curs-</STRONG>
-       <STRONG>es.h&gt;</STRONG> as macros with values outside  the  range  of  8-bit
-       characters  whose names begin with <STRONG>KEY_</STRONG>.  Thus, a variable
-       intended to hold the return value of a function  key  must
-       be of short size or larger.
+       characters:
+
+       <STRONG>o</STRONG>   The  predefined function keys are listed in <STRONG>&lt;curses.h&gt;</STRONG>
+           as macros with values outside the range of 8-bit char-
+           acters.  Their names begin with <STRONG>KEY_</STRONG>.
+
+       <STRONG>o</STRONG>   Other  (user-defined)  function  keys which may be de-
+           fined using <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> have no names, but also are
+           expected  to  have  values  outside the range of 8-bit
+           characters.
+
+       Thus, a variable intended to hold the return  value  of  a
+       function key must be of short size or larger.
 
        When a character that could be the beginning of a function
        key is received (which, on modern terminals, means an  es-
 
        When a character that could be the beginning of a function
        key is received (which, on modern terminals, means an  es-
        experience a delay between the time a user presses the es-
        cape key and the escape is returned to the program.
 
        experience a delay between the time a user presses the es-
        cape key and the escape is returned to the program.
 
+       In <STRONG>ncurses</STRONG>, the timer normally expires after the value  in
+       <STRONG>ESCDELAY</STRONG>  (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).  If <STRONG>notimeout</STRONG> is <STRONG>TRUE</STRONG>,
+       the timer does not expire; it  is  an  infinite  (or  very
+       large) value.  Because function keys usually begin with an
+       escape character, the terminal may appear to hang  in  no-
+       timeout  mode  after pressing the escape key until another
+       key is pressed.
 
 
-</PRE>
-<H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE>
+
+</PRE><H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE>
        The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to
        be returned by the next call to <STRONG>wgetch</STRONG>.  There is just one
        input queue for all windows.
 
 
        The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to
        be returned by the next call to <STRONG>wgetch</STRONG>.  There is just one
        input queue for all windows.
 
 
-</PRE>
-<H3><a name="h3-Predefined-key-codes">Predefined key-codes</a></H3><PRE>
-       The following special keys, defined in <STRONG>&lt;curses.h&gt;</STRONG>, may  be
-       returned  by <STRONG>getch</STRONG> if <STRONG>keypad</STRONG> has been enabled.  Not all of
-       these are necessarily supported on any  particular  termi-
-       nal.
+</PRE><H3><a name="h3-Predefined-key-codes">Predefined key-codes</a></H3><PRE>
+       The following special keys are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
+
+       <STRONG>o</STRONG>   Except for the special case <STRONG>KEY_RESIZE</STRONG>, it  is  neces-
+           sary to enable <STRONG>keypad</STRONG> for <STRONG>getch</STRONG> to return these codes.
+
+       <STRONG>o</STRONG>   Not all of these are necessarily supported on any par-
+           ticular terminal.
+
+       <STRONG>o</STRONG>   The naming convention may seem obscure, with some  ap-
+           parent  misspellings  (such  as "RSUME" for "resume").
+           The names correspond to the long  terminfo  capability
+           names  for the keys, and were defined long ago, in the
+           1980s.
 
             <EM>Name</EM>            <EM>Key</EM> <EM>name</EM>
             -------------------------------------------------
 
             <EM>Name</EM>            <EM>Key</EM> <EM>name</EM>
             -------------------------------------------------
             KEY_SR          Scroll 1 line backward (reverse)
             KEY_NPAGE       Next page
             KEY_PPAGE       Previous page
             KEY_SR          Scroll 1 line backward (reverse)
             KEY_NPAGE       Next page
             KEY_PPAGE       Previous page
+
             KEY_STAB        Set tab
             KEY_CTAB        Clear tab
             KEY_CATAB       Clear all tabs
             KEY_STAB        Set tab
             KEY_CTAB        Clear tab
             KEY_CATAB       Clear all tabs
             KEY_FIND        Find key
             KEY_HELP        Help key
             KEY_MARK        Mark key
             KEY_FIND        Find key
             KEY_HELP        Help key
             KEY_MARK        Mark key
-
             KEY_MESSAGE     Message key
             KEY_MOUSE       Mouse event read
             KEY_MOVE        Move key
             KEY_MESSAGE     Message key
             KEY_MOUSE       Mouse event read
             KEY_MOVE        Move key
             KEY_SREDO       Shifted redo key
             KEY_SREPLACE    Shifted replace key
             KEY_SRIGHT      Shifted right arrow
             KEY_SREDO       Shifted redo key
             KEY_SREPLACE    Shifted replace key
             KEY_SRIGHT      Shifted right arrow
+
             KEY_SRSUME      Shifted resume key
             KEY_SSAVE       Shifted save key
             KEY_SSUSPEND    Shifted suspend key
             KEY_SRSUME      Shifted resume key
             KEY_SSAVE       Shifted save key
             KEY_SSUSPEND    Shifted suspend key
                          +-----+------+-------+
                          | <STRONG>C1</STRONG>  | <STRONG>down</STRONG> |  <STRONG>C3</STRONG>   |
                          +-----+------+-------+
                          +-----+------+-------+
                          | <STRONG>C1</STRONG>  | <STRONG>down</STRONG> |  <STRONG>C3</STRONG>   |
                          +-----+------+-------+
-       A few of these predefined values do <EM>not</EM>  correspond  to  a
+       A  few  of  these predefined values do <EM>not</EM> correspond to a
        real key:
 
        real key:
 
-       <STRONG>o</STRONG>   <STRONG>KEY_RESIZE</STRONG>  is  returned  when the <STRONG>SIGWINCH</STRONG> signal has
-           been detected (see  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>  and  <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>).
-           This  code  is returned whether or not <STRONG>keypad</STRONG> has been
+       <STRONG>o</STRONG>   <STRONG>KEY_RESIZE</STRONG> is returned when the  <STRONG>SIGWINCH</STRONG>  signal  has
+           been  detected  (see  <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>).
+           This code is returned whether or not <STRONG>keypad</STRONG>  has  been
            enabled.
 
            enabled.
 
-       <STRONG>o</STRONG>   <STRONG>KEY_MOUSE</STRONG>   is   returned   for   mouse-events    (see
+       <STRONG>o</STRONG>   <STRONG>KEY_MOUSE</STRONG>    is   returned   for   mouse-events   (see
            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>).  This code relies upon whether or not
            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>).  This code relies upon whether or not
-           <STRONG><A HREF="keypad.3x.html">keypad(3x)</A></STRONG> has been enabled, because (e.g., with <EM>xterm</EM>
-           mouse  prototocol) ncurses must read escape sequences,
+           <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> has been enabled, because (e.g., with <EM>xterm</EM>
+           mouse prototocol) ncurses must read escape  sequences,
            just like a function key.
 
 
            just like a function key.
 
 
-</PRE>
-<H3><a name="h3-Testing-key-codes">Testing key-codes</a></H3><PRE>
-       The <STRONG>has_key</STRONG> routine takes a key-code value from the  above
-       list,  and  returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to whether the
+</PRE><H3><a name="h3-Testing-key-codes">Testing key-codes</a></H3><PRE>
+       The  <STRONG>has_key</STRONG> routine takes a key-code value from the above
+       list, and returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to  whether  the
        current terminal type recognizes a key with that value.
 
        The library also supports these extensions:
 
           <STRONG>define_key</STRONG>
        current terminal type recognizes a key with that value.
 
        The library also supports these extensions:
 
           <STRONG>define_key</STRONG>
-               defines a key-code for a  given  string  (see  <STRONG>de-</STRONG>
+               defines  a  key-code  for  a given string (see <STRONG>de-</STRONG>
                <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG>).
 
           <STRONG>key_defined</STRONG>
                <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG>).
 
           <STRONG>key_defined</STRONG>
-               checks  if there is a key-code defined for a given
+               checks if there is a key-code defined for a  given
                string (see <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>).
 
 
                string (see <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>).
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon  failure  and  an
-       integer value other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of ungetch())
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All  routines  return  the integer <STRONG>ERR</STRONG> upon failure and an
+       integer value other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case  of  <STRONG>ungetch</STRONG>)
        upon successful completion.
 
           <STRONG>ungetch</STRONG>
                returns ERR if there is no more room in the FIFO.
 
           <STRONG>wgetch</STRONG>
        upon successful completion.
 
           <STRONG>ungetch</STRONG>
                returns ERR if there is no more room in the FIFO.
 
           <STRONG>wgetch</STRONG>
-               returns ERR if the window pointer is null,  or  if
-               its timeout expires without having any data.
+               returns  ERR  if the window pointer is null, or if
+               its timeout expires without having any data, or if
+               the  execution  was interrupted by a signal (<STRONG>errno</STRONG>
+               will be set to <STRONG>EINTR</STRONG>).
 
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
+       Functions with a "mv" prefix first perform a cursor  move-
+       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
        outside the window, or if the window pointer is null.
 
 
        outside the window, or if the window pointer is null.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Use of the escape key by a programmer for a single charac-
        Use of the escape key by a programmer for a single charac-
-       ter function is discouraged, as it will cause a  delay  of
+       ter  function  is discouraged, as it will cause a delay of
        up to one second while the keypad code looks for a follow-
        ing function-key sequence.
 
        up to one second while the keypad code looks for a follow-
        ing function-key sequence.
 
-       Some keys may be the same as commonly used  control  keys,
-       e.g.,  <STRONG>KEY_ENTER</STRONG>  versus  control/M,  <STRONG>KEY_BACKSPACE</STRONG> versus
+       Some  keys  may be the same as commonly used control keys,
+       e.g., <STRONG>KEY_ENTER</STRONG>  versus  control/M,  <STRONG>KEY_BACKSPACE</STRONG>  versus
        control/H.  Some curses implementations may differ accord-
        control/H.  Some curses implementations may differ accord-
-       ing  to  whether  they  treat these control keys specially
-       (and ignore the terminfo), or  use  the  terminfo  defini-
-       tions.   <STRONG>Ncurses</STRONG> uses the terminfo definition.  If it says
-       that <STRONG>KEY_ENTER</STRONG> is control/M, <STRONG>getch</STRONG> will  return  <STRONG>KEY_ENTER</STRONG>
+       ing to whether they treat  these  control  keys  specially
+       (and  ignore  the  terminfo),  or use the terminfo defini-
+       tions.  <STRONG>Ncurses</STRONG> uses the terminfo definition.  If it  says
+       that  <STRONG>KEY_ENTER</STRONG>  is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG>
        when you press control/M.
 
        when you press control/M.
 
-       Generally,  <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the
+       Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by  the
        <EM>Enter</EM> key on the numeric keypad:
 
        <STRONG>o</STRONG>   the terminal description lists the most useful keys,
 
        <EM>Enter</EM> key on the numeric keypad:
 
        <STRONG>o</STRONG>   the terminal description lists the most useful keys,
 
-       <STRONG>o</STRONG>   the <EM>Enter</EM> key on the regular keyboard is already  han-
+       <STRONG>o</STRONG>   the  <EM>Enter</EM> key on the regular keyboard is already han-
            dled by the standard ASCII characters for carriage-re-
            turn and line-feed,
 
            dled by the standard ASCII characters for carriage-re-
            turn and line-feed,
 
-       <STRONG>o</STRONG>   depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was  called,  pressing
-           "Enter"  on  the  regular keyboard may return either a
+       <STRONG>o</STRONG>   depending  on  whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing
+           "Enter" on the regular keyboard may  return  either  a
            carriage-return or line-feed, and finally
 
            carriage-return or line-feed, and finally
 
-       <STRONG>o</STRONG>   "Enter or send" is the standard description  for  this
+       <STRONG>o</STRONG>   "Enter  or  send" is the standard description for this
            key.
 
            key.
 
-       When  using  <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak
+       When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or  <STRONG>mvwgetch</STRONG>,  nocbreak
        mode (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at
        mode (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at
-       the  same  time.  Depending on the state of the tty driver
-       when each character is typed, the program may produce  un-
+       the same time.  Depending on the state of the  tty  driver
+       when  each character is typed, the program may produce un-
        desirable results.
 
        Note that <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be macros.
 
        Historically, the set of keypad macros was largely defined
        desirable results.
 
        Note that <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be macros.
 
        Historically, the set of keypad macros was largely defined
-       by the extremely function-key-rich keyboard  of  the  AT&amp;T
-       7300,  aka  3B1,  aka Safari 4.  Modern personal computers
-       usually have only a small subset of these.   IBM  PC-style
-       consoles   typically  support  little  more  than  <STRONG>KEY_UP</STRONG>,
-       <STRONG>KEY_DOWN</STRONG>,   <STRONG>KEY_LEFT</STRONG>,   <STRONG>KEY_RIGHT</STRONG>,   <STRONG>KEY_HOME</STRONG>,    <STRONG>KEY_END</STRONG>,
+       by  the  extremely  function-key-rich keyboard of the AT&amp;T
+       7300, aka 3B1, aka Safari 4.   Modern  personal  computers
+       usually  have  only a small subset of these.  IBM PC-style
+       consoles  typically  support  little  more  than   <STRONG>KEY_UP</STRONG>,
+       <STRONG>KEY_DOWN</STRONG>,    <STRONG>KEY_LEFT</STRONG>,   <STRONG>KEY_RIGHT</STRONG>,   <STRONG>KEY_HOME</STRONG>,   <STRONG>KEY_END</STRONG>,
        <STRONG>KEY_NPAGE</STRONG>, <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12.  The
        Ins key is usually mapped to <STRONG>KEY_IC</STRONG>.
 
 
        <STRONG>KEY_NPAGE</STRONG>, <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12.  The
        Ins key is usually mapped to <STRONG>KEY_IC</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The *get* functions are described in the XSI Curses  stan-
-       dard,  Issue  4.   They  read single-byte characters only.
-       The standard specifies that they return  <STRONG>ERR</STRONG>  on  failure,
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       The  *get* functions are described in the XSI Curses stan-
+       dard, Issue 4.  They  read  single-byte  characters  only.
+       The  standard  specifies  that they return <STRONG>ERR</STRONG> on failure,
        but specifies no error conditions.
 
        but specifies no error conditions.
 
-       The  echo  behavior of these functions on input of <STRONG>KEY_</STRONG> or
-       backspace characters was not specified in the  SVr4  docu-
+       The echo behavior of these functions on input of  <STRONG>KEY_</STRONG>  or
+       backspace  characters  was not specified in the SVr4 docu-
        mentation.  This description is adopted from the XSI Curs-
        es standard.
 
        mentation.  This description is adopted from the XSI Curs-
        es standard.
 
-       The behavior of <STRONG>getch</STRONG> and friends in the presence of  han-
-       dled  signals  is  unspecified  in the SVr4 and XSI Curses
-       documentation.  Under historical  curses  implementations,
-       it  varied depending on whether the operating system's im-
-       plementation  of  handled  signal  receipt  interrupts   a
-       <STRONG>read(2)</STRONG>  call in progress or not, and also (in some imple-
-       mentations) depending on whether an input timeout or  non-
+       The  behavior of <STRONG>getch</STRONG> and friends in the presence of han-
+       dled signals is unspecified in the  SVr4  and  XSI  Curses
+       documentation.   Under  historical curses implementations,
+       it varied depending on whether the operating system's  im-
+       plementation   of  handled  signal  receipt  interrupts  a
+       <STRONG>read(2)</STRONG> call in progress or not, and also (in some  imple-
+       mentations)  depending on whether an input timeout or non-
        blocking mode has been set.
 
        <STRONG>KEY_MOUSE</STRONG> is mentioned in XSI Curses, along with a few re-
        lated terminfo capabilities, but no higher-level functions
        blocking mode has been set.
 
        <STRONG>KEY_MOUSE</STRONG> is mentioned in XSI Curses, along with a few re-
        lated terminfo capabilities, but no higher-level functions
-       use  the feature.  The implementation in ncurses is an ex-
+       use the feature.  The implementation in ncurses is an  ex-
        tension.
 
        tension.
 
-       <STRONG>KEY_RESIZE</STRONG> is an extension first implemented for  ncurses.
+       <STRONG>KEY_RESIZE</STRONG>  is an extension first implemented for ncurses.
        NetBSD curses later added this extension.
 
        Programmers concerned about portability should be prepared
        NetBSD curses later added this extension.
 
        Programmers concerned about portability should be prepared
-       for either of two cases: (a) signal receipt does  not  in-
-       terrupt  <STRONG>getch</STRONG>;  (b)  signal  receipt interrupts <STRONG>getch</STRONG> and
-       causes it to return ERR with <STRONG>errno</STRONG> set  to  <STRONG>EINTR</STRONG>.   Under
-       the  <STRONG>ncurses</STRONG>  implementation, handled signals never inter-
-       rupt <STRONG>getch</STRONG>.
-
-       The <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>.   We  recommend
-       that  any  code  using it be conditionalized on the <STRONG>NCURS-</STRONG>
+       for  either  of two cases: (a) signal receipt does not in-
+       terrupt <STRONG>getch</STRONG>; (b) signal  receipt  interrupts  <STRONG>getch</STRONG>  and
+       causes it to return ERR with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>.
+
+       The  <STRONG>has_key</STRONG>  function is unique to <STRONG>ncurses</STRONG>.  We recommend
+       that any code using it be conditionalized  on  the  <STRONG>NCURS-</STRONG>
        <STRONG>ES_VERSION</STRONG> feature macro.
 
 
        <STRONG>ES_VERSION</STRONG> feature macro.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><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_inopts.3x.html">curs_inopts(3x)</A></STRONG>,       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,       <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,   <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,   <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,   <STRONG>re-</STRONG>
-       <STRONG><A HREF="resizeterm.3x.html">sizeterm(3x)</A></STRONG>.
+       <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,      <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,      <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
 
 
-       Comparable functions in the wide-character (ncursesw)  li-
+       Comparable  functions in the wide-character (ncursesw) li-
        brary are described in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
 
 
        brary are described in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.