ncurses 5.9 - patch 20130608
[ncurses.git] / doc / html / man / curs_inopts.3x.html
index 7eec3eda04c43de636fc0ff5dbd4556c622a2d60..214f949f4fe8f107405c38aa610204aa437bfab4 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2010,2012 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            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_inopts.3x,v 1.13 2005/05/15 16:18:07 tom Exp @
+  * @Id: curs_inopts.3x,v 1.17 2012/04/28 19:09:15 tom Exp @
 -->
 <HTML>
 <HEAD>
        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>
+       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>
+       <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><A HREF="termio.7.html">termio(7)</A></STRONG>