Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mvwgetch(3x) — CX/UX 6.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

curses(3X)



curs_getch(3X)                                     curs_getch(3X)



NAME
     cursgetch:  getch, wgetch, mvgetch, mvwgetch, ungetch - get
     (or push back) characters from curses terminal keyboard

SYNOPSIS
     #include <curses.h>

     int getch(void);
     int wgetch(WINDOW *win);
     int mvgetch(int y, int x);
     int mvwgetch(WINDOW *win, int y, int x);
     int ungetch(int ch);

DESCRIPTION
     With the getch, wgetch, mvgetch and mvwgetch, routines a
     character is read from the terminal associated with the win-
     dow.  In no-delay mode, if no input is waiting, the value
     ERR is returned.  In delay mode, the program waits until the
     system passes text through to the program.  Depending on the
     setting of cbreak, this is after one character (cbreak
     mode), or after the first newline (nocbreak mode).  In
     half-delay mode, the program waits until a character is
     typed or the specified timeout has been reached.  Unless
     noecho has been set, the character will also be echoed into
     the designated window.

     If the window is not a pad, and it has been moved or modi-
     fied since the last call to wrefresh, wrefresh will be
     called before another character is read.

     If keypad is TRUE, and a function key is pressed, the token
     for that function key is returned instead of the raw charac-
     ters.  Possible function keys are defined in <curses.h> with
     integers beginning with 0401, whose names begin with KEY.
     If a character that could be the beginning of a function key
     (such as escape) is received, curses sets a timer.  If the
     remainder of the sequence does not come in within the desig-
     nated time, the character is passed through; otherwise, the
     function key value is returned.  For this reason, many ter-
     minals experience a delay between the time a user presses
     the escape key and the escape is returned to the program.
     Since tokens returned by these routines are outside the
     ASCII range, they are not printable.

     The ungetch routine places ch back onto the input queue to
     be returned by the next call to wgetch.

     Function Keys
     The following function keys, defined in <curses.h>, might be
     returned by getch if keypad has been enabled.  Note that not
     all of these may be supported on a particular terminal if
     the terminal does not transmit a unique code when the key is



Page 1                        CX/UX Programmer's Reference Manual





curs_getch(3X)                                     curs_getch(3X)



     pressed or if the definition for the key is not present in
     the terminfo database.
     __________________________________________________________________
     Name                 Key name
     __________________________________________________________________
     KEYBREAK            Break key
     KEYDOWN             The four arrow keys ...
     KEYUP
     KEYLEFT
     KEYRIGHT
     KEYHOME             Home key (upward+left arrow)
     KEYBACKSPACE        Backspace
     KEYF0               Function keys; space for 64 keys is reserved.
     KEYF(n)             For 0 < n < 63
     KEYDL               Delete line
     KEYIL               Insert line
     KEYDC               Delete character
     KEYIC               Insert char or enter insert mode
     KEYEIC              Exit insert char mode
     KEYCLEAR            Clear screen
     KEYEOS              Clear to end of screen
     KEYEOL              Clear to end of line
     KEYSF               Scroll 1 line forward
     KEYSR               Scroll 1 line backward (reverse)
     KEYNPAGE            Next page
     KEYPPAGE            Previous page
     KEYSTAB             Set tab
     KEYCTAB             Clear tab
     KEYCATAB            Clear all tabs
     KEYENTER            Enter or send
     KEYSRESET           Soft (partial) reset
     KEYRESET            Reset or hard reset
     KEYPRINT            Print or copy
     KEYLL               Home down or bottom (lower left).  Keypad is
                          arranged like this:
                               A1    up    A3
                              left   B2   right
                               C1   down   C3
     KEYA1               Upper left of keypad
     KEYA3               Upper right of keypad
     KEYB2               Center of keypad
     KEYC1               Lower left of keypad
     KEYC3               Lower right of keypad
     KEYBTAB             Back tab key
     KEYBEG              Beg(inning) key
     KEYCANCEL           Cancel key
     KEYCLOSE            Close key
     KEYCOMMAND          Cmd (command) key
     KEYCOPY             Copy key
     KEYCREATE           Create key





Page 2                        CX/UX Programmer's Reference Manual





curs_getch(3X)                                     curs_getch(3X)



     KEYEND              End key
     KEYEXIT             Exit key
     KEYFIND             Find key
     KEYHELP             Help key
     KEYMARK             Mark key
     KEYMESSAGE          Message key
     KEYMOVE             Move key
     KEYNEXT             Next object key
     KEYOPEN             Open key
     KEYOPTIONS          Options key
     KEYPREVIOUS         Previous object key
     KEYREDO             Redo key
     KEYREFERENCE        Ref(erence) key
     KEYREFRESH          Refresh key
     KEYREPLACE          Replace key
     KEYRESTART          Restart key
     KEYRESUME           Resume key
     KEYSAVE             Save key
     KEYSBEG             Shifted beginning key
     KEYSCANCEL          Shifted cancel key
     KEYSCOMMAND         Shifted command key
     KEYSCOPY            Shifted copy key
     KEYSCREATE          Shifted create key
     KEYSDC              Shifted delete char key
     KEYSDL              Shifted delete line key
     KEYSELECT           Select key
     KEYSEND             Shifted end key
     KEYSEOL             Shifted clear line key
     KEYSEXIT            Shifted exit key
     KEYSFIND            Shifted find key
     KEYSHELP            Shifted help key
     KEYSHOME            Shifted home key
     KEYSIC              Shifted input key
     KEYSLEFT            Shifted left arrow key
     KEYSMESSAGE         Shifted message key
     KEYSMOVE            Shifted move key
     KEYSNEXT            Shifted next key
     KEYSOPTIONS         Shifted options key
     KEYSPREVIOUS        Shifted prev key
     KEYSPRINT           Shifted print key
     KEYSREDO            Shifted redo key
     KEYSREPLACE         Shifted replace key
     KEYSRIGHT           Shifted right arrow
     KEYSRSUME           Shifted resume key
     KEYSSAVE            Shifted save key
     KEYSSUSPEND         Shifted suspend key
     KEYSUNDO            Shifted undo key
     KEYSUSPEND          Suspend key
     KEYUNDO             Undo key

RETURN VALUE
     All routines return the integer ERR upon failure and an



Page 3                        CX/UX Programmer's Reference Manual





curs_getch(3X)                                     curs_getch(3X)



     integer value other than ERR upon successful completion.

NOTES
     The header file <curses.h> automatically includes the header
     files <stdio.h> and <unctrl.h>.

     Use of the escape key by a programmer for a single character
     function is discouraged.

     When using getch, wgetch, mvgetch, or mvwgetch, nocbreak
     mode (nocbreak) and echo mode (echo) should not be used at
     the same time.  Depending on the state of the tty driver
     when each character is typed, the program may produce
     undesirable results.

     Note that getch, mvgetch, and mvwgetch may be macros.

SEE ALSO
     curses(3X), cursinopts(3X), cursmove(3X),
     cursrefresh(3X).



































Page 4                        CX/UX Programmer's Reference Manual



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026