ncurses 6.0 - patch 20160130
[ncurses.git] / doc / html / man / curs_get_wch.3x.html
1 <!-- 
2   ****************************************************************************
3   * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc.              *
4   *                                                                          *
5   * Permission is hereby granted, free of charge, to any person obtaining a  *
6   * copy of this software and associated documentation files (the            *
7   * "Software"), to deal in the Software without restriction, including      *
8   * without limitation the rights to use, copy, modify, merge, publish,      *
9   * distribute, distribute with modifications, sublicense, and/or sell       *
10   * copies of the Software, and to permit persons to whom the Software is    *
11   * furnished to do so, subject to the following conditions:                 *
12   *                                                                          *
13   * The above copyright notice and this permission notice shall be included  *
14   * in all copies or substantial portions of the Software.                   *
15   *                                                                          *
16   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
17   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
18   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
19   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
20   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
21   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
22   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
23   *                                                                          *
24   * Except as contained in this notice, the name(s) of the above copyright   *
25   * holders shall not be used in advertising or otherwise to promote the     *
26   * sale, use or other dealings in this Software without prior written       *
27   * authorization.                                                           *
28   ****************************************************************************
29   * @Id: curs_get_wch.3x,v 1.8 2012/11/03 23:03:59 tom Exp @
30 -->
31 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
32 <HTML>
33 <HEAD>
34 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
35 <meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
36 <TITLE>curs_get_wch 3x</TITLE>
37 <link rev=made href="mailto:bug-ncurses@gnu.org">
38 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
39 </HEAD>
40 <BODY>
41 <H1 class="no-header">curs_get_wch 3x</H1>
42 <PRE>
43 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>                                       <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
44
45
46
47
48 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
49        <STRONG>get_wch</STRONG>,  <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get
50        (or push back) a wide character from curses terminal  key-
51        board
52
53
54 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
55        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
56
57        <STRONG>int</STRONG> <STRONG>get_wch(wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
58        <STRONG>int</STRONG> <STRONG>wget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
59        <STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
60        <STRONG>int</STRONG> <STRONG>mvwget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
61        <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
62
63
64 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
65        The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions
66        read a character from the  terminal  associated  with  the
67        current  or  specified  window.   In  no-delay mode, if no
68        input is waiting, the value <STRONG>ERR</STRONG>  is  returned.   In  delay
69        mode,  the  program  waits  until  the  system passes text
70        through to the  program.   Depending  on  the  setting  of
71        <STRONG>cbreak</STRONG>,  this  is  after  one  character (cbreak mode), or
72        after the first newline (nocbreak  mode).   In  half-delay
73        mode,  the  program waits until the user types a character
74        or the specified timeout interval has elapsed.
75
76        Unless <STRONG>noecho</STRONG> has been set, these routines echo the  char-
77        acter into the designated window.
78
79        If  the window is not a pad and has been moved or modified
80        since the last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will  be  called
81        before another character is read.
82
83        If  <STRONG>keypad</STRONG>  is  enabled,  these  functions  respond to the
84        pressing of a function key by setting the  object  pointed
85        to  by  <EM>wch</EM>  to  the  corresponding  <STRONG>KEY_</STRONG> value defined in
86        <STRONG>&lt;curses.h&gt;</STRONG> and returning  <STRONG>KEY_CODE_YES</STRONG>.   If  a  character
87        (such as escape) that could be the beginning of a function
88        key is received, curses sets a timer.  If the remainder of
89        the  sequence  does  arrive  within  the  designated time,
90        curses passes through  the  character;  otherwise,  curses
91        returns  the  function  key  value.  For this reason, many
92        terminals experience a  delay  between  the  time  a  user
93        presses the escape key and the time the escape is returned
94        to the program.
95
96        The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM>  back
97        onto the head of the input queue, so the wide character is
98        returned by the next call to <STRONG>get_wch</STRONG>.  The pushback of one
99        character  is  guaranteed.  If the program calls <STRONG>unget_wch</STRONG>
100        too many times without an intervening call to <STRONG>get_wch</STRONG>, the
101        operation may fail.
102
103
104 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
105        The  header  file  <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes the
106        header file <STRONG>&lt;stdio.h&gt;</STRONG>.
107
108        Applications should not define the escape key by itself as
109        a single-character function.
110
111        When  using  <STRONG>get_wch</STRONG>,  <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, or <STRONG>mvwget_wch</STRONG>,
112        applications should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at
113        the  same  time.  Depending on the state of the tty driver
114        when each character is  typed,  the  program  may  produce
115        undesirable results.
116
117        All functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be macros.
118
119
120 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
121        When  <STRONG>get_wch</STRONG>,  <STRONG>wget_wch</STRONG>,  <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> func-
122        tions successfully report the pressing of a function  key,
123        they return <STRONG>KEY_CODE_YES</STRONG>.  When they successfully report a
124        wide character, they return <STRONG>OK</STRONG>.   Otherwise,  they  return
125        <STRONG>ERR</STRONG>.
126
127        Upon  successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>.  Other-
128        wise, the function returns <STRONG>ERR</STRONG>.
129
130        Functions with a "mv" prefix first perform a cursor  move-
131        ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
132        outside the window, or if the window pointer is null.
133
134
135 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
136        <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_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>,
137        <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(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>
138
139
140
141                                                        <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
142 </PRE>
143 <div class="nav">
144 <ul>
145 <li><a href="#h2-NAME">NAME</a></li>
146 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
147 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
148 <li><a href="#h2-NOTES">NOTES</a></li>
149 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
150 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
151 </ul>
152 </div>
153 </BODY>
154 </HTML>