diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
| commit | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch) | |
| tree | adf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man3/curses_tty.3 | |
| parent | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff) | |
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man3/curses_tty.3')
| -rw-r--r-- | static/netbsd/man3/curses_tty.3 | 389 |
1 files changed, 389 insertions, 0 deletions
diff --git a/static/netbsd/man3/curses_tty.3 b/static/netbsd/man3/curses_tty.3 new file mode 100644 index 00000000..fe13509f --- /dev/null +++ b/static/netbsd/man3/curses_tty.3 @@ -0,0 +1,389 @@ +.\" $NetBSD: curses_tty.3,v 1.15 2025/04/11 23:48:40 uwe Exp $ +.\" +.\" Copyright (c) 2002 +.\" Brett Lymn (blymn@NetBSD.org, brett_lymn@yahoo.com.au) +.\" +.\" This code is donated to the NetBSD Foundation by the Author. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the Author may not be used to endorse or promote +.\" products derived from this software without specific prior written +.\" permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" +.Dd February 17, 2017 +.Dt CURSES_TTY 3 +.Os +.Sh NAME +.Nm curses_tty , +.Nm baudrate , +.Nm beep , +.Nm flash , +.Nm curs_set , +.Nm def_prog_mode , +.Nm reset_prog_mode , +.Nm def_shell_mode , +.Nm reset_shell_mode , +.Nm echo , +.Nm noecho , +.Nm delay_output , +.Nm erasechar , +.Nm flushinp , +.Nm gettmode , +.Nm halfdelay , +.Nm has_ic , +.Nm has_il , +.Nm idcok , +.Nm idlok , +.Nm intrflush , +.Nm noqiflush , +.Nm qiflush , +.Nm killchar , +.Nm meta , +.Nm napms , +.Nm nl , +.Nm nonl , +.Nm cbreak , +.Nm nocbreak , +.Nm raw , +.Nm noraw , +.Nm typeahead , +.Nm savetty , +.Nm resetty +.Nd curses terminal manipulation routines +.Sh LIBRARY +.Lb libcurses +.Sh SYNOPSIS +.In curses.h +.Ft int +.Fn baudrate "void" +.Ft int +.Fn beep "void" +.Ft int +.Fn flash "void" +.Ft int +.Fn curs_set "int visibility" +.Ft int +.Fn def_prog_mode "void" +.Ft int +.Fn reset_prog_mode "void" +.Ft int +.Fn def_shell_mode "void" +.Ft int +.Fn reset_shell_mode "void" +.Ft int +.Fn echo "void" +.Ft int +.Fn noecho "void" +.Ft int +.Fn delay_output "int ms" +.Ft char +.Fn erasechar "void" +.Ft int +.Fn flushinp "void" +.Ft int +.Fn gettmode "void" +.Ft bool +.Fn has_ic "void" +.Ft bool +.Fn has_il "void" +.Ft int +.Fn idcok "WINDOW *win" "bool flag" +.Ft int +.Fn idlok "WINDOW *win" "bool flag" +.Ft int +.Fn intrflush "WINDOW *win" "bool flag" +.Ft void +.Fn noqiflush "void" +.Ft void +.Fn qiflush "void" +.Ft char +.Fn killchar "void" +.Ft int +.Fn meta "WINDOW *win" "bool flag" +.Ft int +.Fn napms "int ms" +.Ft int +.Fn nl "void" +.Ft int +.Fn nonl "void" +.Ft int +.Fn cbreak "void" +.Ft int +.Fn nocbreak "void" +.Ft int +.Fn halfdelay "int" +.Ft int +.Fn raw "void" +.Ft int +.Fn noraw "void" +.Ft int +.Fn typeahead "int filedes" +.Ft int +.Fn savetty "void" +.Ft int +.Fn resetty "void" +.Sh DESCRIPTION +These functions manipulate curses terminal settings. +.Pp +The +.Fn baudrate +function extracts the output speed of the terminal +and returns it in bits per second. +.Pp +The +.Fn beep +function rings the terminal bell, if this is possible. +Failing that, the terminal screen will be flashed. +If neither of these are possible, then no action will be taken. +.Fn flash +will flash the terminal screen if possible. +Failing that, the terminal bell will be rung. +If neither of these are possible then no action will be taken. +.Pp +The cursor +visibility can be set by calling +.Fn curs_set . +The following visibility settings are valid for +.Fn curs_set : +.Pp +.Bl -column -offset indent "Visibility" +.It Visibility Ta Effect +.It 0 Ta cursor is invisible. +.It 1 Ta cursor is normal visibility +.It 2 Ta cursor is high visibility +.El +.Pp +A successful call to +.Fn curs_set +will return the previous visibility setting for the cursor. +.Pp +The +.Fn delay_output +function pauses the output to the terminal by sending the appropriate +number of terminal pad characters such that the transmission time of +the pad characters will take +.Fa ms +milliseconds. +.Pp +Calling +.Fn def_prog_mode +will cause the current terminal curses setting to be saved. +A subsequent call to +.Fn reset_prog_mode , +will restore the saved settings. +This is useful when calls to external programs are made that may +reset the terminal characteristics. +.Pp +The +.Fn def_shell_mode +function saves the current terminal line settings. +These settings are the ones that will be restored when the curses +application exits. +Conversely, +.Fn reset_shell_mode +will save the current terminal curses settings for later restoration and +restores the previously saved terminal line settings. +.Pp +The +.Fn echo +function turns on curses echo mode, characters entered will be echoed +to the terminal by curses. +The +.Fn noecho +function disables this feature. +.Pp +The current erase character for the terminal can be determined by +calling the +.Fn erasechar +function. +.Pp +The +.Fn flushinp +function discards any pending input for the current screen. +.Pp +The modes +for the current terminal can be reset by calling +.Fn gettmode , +this will perform the initialisation on the terminal that is normally +done by curses at start up. +.Pp +The +.Fn has_ic +function returns either +.Dv TRUE +or +.Dv FALSE +depending on whether or not the terminal has a insert character +capability or not. +Similarly the +.Fn has_il +function does the same test but for a insert line capability. +.Pp +The use of the insert character capability in curses operations can be +enabled or disabled by calling +.Fn idcok +on the desired window. +Similarly, the use of the insert line capability can be controlled using the +.Fn idlok +function. +.Pp +The +.Fn intrflush +function controls whether or not a flush of the input buffer is +performed when an interrupt key (kill, suspend or quit) is pressed. +The +.Fa win +parameter is ignored. +The +.Fn noqiflush +function is equivalent to +.Fn intrflush stdscr FALSE . +The +.Fn qiflush +function is equivalent to +.Fn intrflush stdscr TRUE . +.Pp +The character that performs the line kill function can be determined +by calling the +.Fn killchar +function. +.Pp +The +.Fn meta +function turns on and off the generation of 8 bit characters by the +terminal, if +.Fa flag +is +.Dv FALSE +then only 7 bit characters will be returned, if +.Fa flag +is +.Dv TRUE +then 8 bit characters will be returned by the terminal. +.Pp +The +.Fn napms +causes the application to sleep for the number of milliseconds +specified by +.Fa ms . +.Pp +Calling +.Fn nl +will cause curses to map all carriage returns to newlines on input, +this functionality is enabled by default. +The +.Fn nonl +function disables this behaviour. +.Pp +The +.Fn cbreak +function will put the terminal into cbreak mode, which means that +characters will be returned one at a time instead of waiting for a +newline character, line discipline processing will be performed. +The +.Fn nocbreak +function disables this mode. +.Pp +Calling +.Fn halfdelay +puts the terminal into the same mode as +.Fn cbreak +with the exception that if no character is received within the specified +number of tenths of a second then the input routine will return +.Dv ERR . +This mode can be cancelled by calling +.Fn nocbreak . +The valid range for the timeout is from 1 to 255 tenths of a second. +.Pp +The +.Fn noraw +function sets the input mode for the current terminal into Cooked mode, +that is input character translation and signal character processing is +performed. +The +.Fn raw +function puts the terminal into Raw mode, no input character +translation is done nor is signal character processing. +.Pp +The +.Fn typeahead +function controls the detection of typeahead during a refresh based on the +value of +.Ar filedes\^ : +.Bl -bullet +.It +If +.Ar filedes +is a valid file descriptor, typeahead is enabled during refresh; +Curses periodically checks +.Ar filedes +for input and aborts the refresh if any character is available. +The value of +.Ar filedes +need not be the file descriptor on which the refresh is occurring. +.It +If +.Ar filedes +is \-1, Curses does not check for typeahead during refresh. +.El +.Pp +The terminal +tty flags can be saved by calling +.Fn savetty +and may be restored by calling +.Fn resetty , +the use of these functions is discouraged as they may cause the +terminal to be put into a state that is incompatible with curses +operation. +.Sh RETURN VALUES +Functions returning pointers will return +.Dv NULL +if an error is detected. +The functions that return an int will return one of the following +values: +.Pp +.Bl -tag -width Dv -compact +.It Dv OK +The function completed successfully. +.It Dv ERR +An error occurred in the function. +.El +.Sh SEE ALSO +.Xr getch 3 , +.Xr termios 4 +.Sh NOTES +The +.Fn idcok +and +.Fn idlok +currently have no effect on the curses code at all, currently curses +will always use the terminal insert character and insert line +capabilities if available. +.Sh STANDARDS +The +.Nx +Curses library complies with the X/Open Curses specification, part of the +Single Unix Specification. +.Sh HISTORY +The Curses package appeared in +.Bx 4.0 . |
