-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2012,2014 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_getch.3x,v 1.33 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_getch.3x,v 1.39 2014/05/24 20:16:31 tom Exp @
-->
<HTML>
<HEAD>
waits until a character is typed or the specified timeout
has been reached.
- Unless <STRONG>noecho</STRONG> has been set, then the character will also
- be echoed into the designated window according to the fol-
- lowing rules: if the character is the current erase char-
- acter, left arrow, or backspace, the cursor is moved one
- space to the left and that screen position is erased as if
- <STRONG>delch</STRONG> had been called. If the character value is any oth-
- er <STRONG>KEY_</STRONG> define, the user is alerted with a <STRONG>beep</STRONG> call.
- Otherwise the character is simply output to the screen.
+ If <STRONG>echo</STRONG> is enabled, and the window is not a pad, then the
+ character will also be echoed into the designated window
+ according to the following rules:
+
+ <STRONG>o</STRONG> If the character is the current erase character, left
+ arrow, or backspace, the cursor is moved one space to
+ the left and that screen position is erased as if
+ <STRONG>delch</STRONG> had been called.
+
+ <STRONG>o</STRONG> If the character value is any other <STRONG>KEY_</STRONG> define, the
+ user is alerted with a <STRONG>beep</STRONG> call.
+
+ <STRONG>o</STRONG> If the character is a carriage-return, and if <STRONG>nl</STRONG> is
+ enabled, it is translated to a line-feed after echo-
+ ing.
+
+ <STRONG>o</STRONG> Otherwise the character is simply output to the
+ screen.
If the window is not a pad, and it has been moved or modi-
fied since the last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be
ken for that function key is returned instead of the raw
characters. Possible function keys are defined in <STRONG><curs-</STRONG>
<STRONG>es.h></STRONG> as macros with values outside the range of 8-bit
- characters whose names begin with <STRONG>KEY_</STRONG>. Thus, a variable
+ 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.
that not all of these are necessarily supported on any
particular terminal.
-
<EM>Name</EM> <EM>Key</EM> <EM>name</EM>
+ -------------------------------------------------
KEY_BREAK Break key
KEY_DOWN The four arrow keys ...
KEY_UP
KEY_MESSAGE Message key
KEY_MOUSE Mouse event read
KEY_MOVE Move key
+
KEY_NEXT Next object key
KEY_OPEN Open key
KEY_OPTIONS Options key
KEY_REPLACE Replace key
KEY_RESIZE Screen resized
KEY_RESTART Restart key
-
KEY_RESUME Resume key
KEY_SAVE Save key
KEY_SBEG Shifted beginning key
integer value other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of ungetch())
upon successful completion.
- <STRONG>ungetch</STRONG>
- returns an error if there is no more room in
- the FIFO.
+ <STRONG>ungetch</STRONG>
+ returns ERR if there is no more room in the FIFO.
- <STRONG>wgetch</STRONG>
- returns an error if the window pointer is
- null, or if its timeout expires without having
- any data.
+ <STRONG>wgetch</STRONG>
+ returns ERR if the window pointer is null, or if
+ its timeout expires without having any data.
Functions with a "mv" prefix first perform a cursor move-
ment using <STRONG>wmove</STRONG>, and return an error if the position is
says that <STRONG>KEY_ENTER</STRONG> is control/M, <STRONG>getch</STRONG> will return
<STRONG>KEY_ENTER</STRONG> when you press control/M.
+ 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,
+
+ <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,
+
+ <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
+
+ <STRONG>o</STRONG> "Enter or send" is the standard description for this
+ key.
+
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
the same time. Depending on the state of the tty driver
documentation. Under historical curses implementations,
it varied depending on whether the operating system's im-
plementation of handled signal receipt interrupts a
- <STRONG><A HREF="read.2.html">read(2)</A></STRONG> call in progress or not, and also (in some imple-
+ <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.
</PRE>
<H2>SEE ALSO</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_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="resizeterm.3x.html">resizeterm(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>.
- 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>.