ncurses 6.1 - patch 20191005
[ncurses.git] / man / curs_get_wch.3x
index 26ff2d4c436a08a3d21ca26df17dd701b5c4e329..dd2b4c32e82c5fa19b1a3d52be97ac6fb2a9fcf4 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 2002-2017,2018 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_get_wch.3x,v 1.3 2002/05/18 21:48:53 tom Exp $
+.\" $Id: curs_get_wch.3x,v 1.11 2018/07/28 22:20:54 tom Exp $
 .TH curs_get_wch 3X ""
+.na
+.hy 0
+.de bP
+.ie n  .IP \(bu 4
+.el    .IP \(bu 2
+..
 .SH NAME
 \fBget_wch\fR,
 \fBwget_wch\fR,
 \fBmvget_wch\fR,
 \fBmvwget_wch\fR,
 \fBunget_wch\fR \- get (or push back) a wide character from curses terminal keyboard
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .sp
-\fBint get_wch(win_t *\fR\fIwch\fR\fB);\fR
+\fBint get_wch(wint_t *\fR\fIwch\fR\fB);\fR
 .br
-\fBint wget_wch(WINDOW *\fR\fIwin\fR\fB, win_t *\fR\fIwch\fR\fB);\fR
+\fBint wget_wch(WINDOW *\fR\fIwin\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR
 .br
-\fBint mvget_wch(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, win_t *\fR\fIwch\fR\fB);\fR
+\fBint mvget_wch(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR
 .br
-\fBint mvwget_wch(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, win_t *\fR\fIwch\fR\fB);\fR
+\fBint mvwget_wch(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR
 .br
 \fBint unget_wch(const wchar_t \fR\fIwch\fR\fB);\fR
 .SH DESCRIPTION
@@ -64,25 +72,20 @@ or after the first newline (nocbreak mode).
 In half-delay mode,
 the program waits until the user types a character or the specified
 timeout interval has elapsed.
-
+.PP
 Unless \fBnoecho\fR has been set,
 these routines echo the character into the designated window.
-
+.PP
 If the window is not a pad and has been moved or modified since the
 last call to \fBwrefresh\fR,
 \fBwrefresh\fR will be called before another character is read.
-
+.PP
 If \fBkeypad\fR is enabled,
 these functions respond to
 the pressing of a function key by setting the object pointed to by
 \fIwch\fR
-to the corresponding
-\fBKEY_\fR
-value defined
-in
-\fB<curses.h>\fR
-and returning
-\fBKEY_CODE_YES\fR.
+to the keycode assigned to the function key,
+and returning \fBKEY_CODE_YES\fR.
 If a character (such as escape) that could be the
 beginning of a function key is received, curses sets a timer.
 If the remainder
@@ -92,6 +95,18 @@ For this
 reason, many terminals experience a delay between the time a user presses
 the escape key and the time the escape is returned to the program.
 .PP
+The keycodes returned by these functions are the same as those
+returned by \fBwgetch\fP:
+.bP
+The predefined function
+keys are listed in \fB<curses.h>\fR as macros with values outside the range
+of 8-bit characters.
+Their names begin with \fBKEY_\fR.
+.bP
+Other (user-defined) function keys
+which may be defined using \fBdefine_key\fP(3X) have no names,
+but also are expected to have values outside the range of 8-bit characters.
+.PP
 The
 \fBunget_wch\fR
 function pushes the wide character
@@ -130,9 +145,9 @@ at the same time.
 Depending on the state of the tty driver when each character
 is typed, the program may produce undesirable results.
 .PP
-All functions except \fBwget_wch\fR and \fBunget_wch\fR 
+All functions except \fBwget_wch\fR and \fBunget_wch\fR
 may be macros.
-.SH RETURN VALUES
+.SH RETURN VALUE
 When
 \fBget_wch\fR,
 \fBwget_wch\fR,
@@ -152,6 +167,10 @@ returns
 \fBOK\fR.
 Otherwise, the function returns
 \fBERR\fR.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
 .SH SEE ALSO
 \fBcurses\fR(3X),
 \fBcurs_getch\fR(3X),