1Curses(3)             User Contributed Perl Documentation            Curses(3)
2
3
4

NAME

6       Curses - terminal screen handling and optimization
7

SYNOPSIS

9           use Curses;
10
11           initscr;
12           ...
13           endwin;
14

DESCRIPTION

16       "Curses" is the interface between Perl and your system's curses(3)
17       library.  For descriptions on the usage of a given function, variable,
18       or constant, consult your system's documentation, as such information
19       invariably varies (:-) between different curses(3) libraries and
20       operating systems.  This document describes the interface itself, and
21       assumes that you already know how your system's curses(3) library
22       works.
23
24   Unified Functions
25       Many curses(3) functions have variants starting with the prefixes w-,
26       mv-, and/or wmv-.  These variants differ only in the explicit addition
27       of a window, or by the addition of two coordinates that are used to
28       move the cursor first.  For example, "addch()" has three other
29       variants: "waddch()", "mvaddch()", and "mvwaddch()".  The variants
30       aren't very interesting; in fact, we could roll all of the variants
31       into original function by allowing a variable number of arguments and
32       analyzing the argument list for which variant the user wanted to call.
33
34       Unfortunately, curses(3) predates varargs(3), so in C we were stuck
35       with all the variants.  However, "Curses" is a Perl interface, so we
36       are free to "unify" these variants into one function.  The section
37       "Available Functions" below lists all curses(3) functions "Curses"
38       makes available as Perl equivalents, along with a column listing if it
39       is unified.  If so, it takes a varying number of arguments as follows:
40
41           "function( [win], [y, x], args );"
42
43           win is an optional window argument, defaulting to "stdscr" if not
44           specified.
45
46           y, x is an optional coordinate pair used to move the cursor,
47           defaulting to no move if not specified.
48
49           args are the required arguments of the function.  These are the
50           arguments you would specify if you were just calling the base
51           function and not any of the variants.
52
53       This makes the variants obsolete, since their functionality has been
54       merged into a single function, so "Curses" does not define them by
55       default.  You can still get them if you want, by setting the variable
56       $Curses::OldCurses to a non-zero value before using the "Curses"
57       package.  See "Perl 4.X "cursperl" Compatibility" for an example of
58       this.
59
60   Wide-Character-Aware Functions
61       The following are the preferred functions for working with strings,
62       though they don't follow the normal unified function naming convention
63       (based on the names in the Curses library) described above.  Despite
64       the naming, each corresponds to a Curses library function.  For
65       example, a "getchar" call performs a Curses library function in the
66       "getch" family.
67
68       In addition to these functions, The "Curses" module contains
69       corresponding functions with the conventional naming (e.g. "getch");
70       the duplication is for historical reasons.  The preferred functions
71       were new in Curses 1.29 (April 2014).  They use the wide character
72       functions in the Curses library if available (falling back to using the
73       traditional non-wide-character versions).  They also have a more Perl-
74       like interface, taking care of some gory details under the hood about
75       which a Perl programmer shouldn't have to worry.
76
77       The reason for two sets of string-handling functions is historical.
78       The original Curses Perl module predates Curses libraries that
79       understand multiple byte character encodings.  Moreover, the module was
80       designed to have a Perl interface that closely resembles the C
81       interface syntactically and directly passes the internal byte
82       representation of Perl strings to C code.  This was probably fine
83       before Perl got Unicode function, but today, Perl stores strings
84       internally in either Latin-1 or Unicode UTF-8 and the original module
85       was not sensitive to which encoding was used.
86
87       While most of the problems could be worked around in Perl code using
88       the traditional interface, it's hard to get right and you need a wide-
89       character-aware curses library (e.g. ncursesw) anyway to make it work
90       properly.  Because existing consumers of the Curses module may be
91       relying on the traditional behavior, Curses module designers couldn't
92       simply modify the existing functions to understand wide characters and
93       convert from and to Perl strings.
94
95       None of these functions exist if Perl is older than 5.6.
96
97       "getchar"
98
99       This calls "wget_wch()".  It returns a character -- more precisely, a
100       one-character (not necessarily one-byte!) string holding the character
101       -- for a normal key and a two-element list "(undef, key-number)" for a
102       function key.  It returns "undef" on error.
103
104       If you don't expect function keys (i.e. with "keypad(0))", you can
105       simply do
106
107               my $ch = getchar;
108               die "getchar failed" unless defined $ch;
109
110       If you do expect function keys (i.e. with keypad(1)), you can still
111       assign the result to a scalar variable as above.  Because of of the way
112       the comma operator works, that variable will receive either "undef" or
113       the string or the number, and you can decode it yourself.
114
115               my $ch = getchar;
116               die "getchar failed" unless defined $ch;
117               if (<$ch looks like a number >= 0x100>) {
118                       <handle function key>
119               } else {
120                       <handle normal key>
121               }
122
123       or do
124
125               my ($ch, $key) = getchar;
126               if (defined $key) {
127                       <handle function key $key>
128               } else if (defined $ch) {
129                       <handle normal key $ch>
130               } else {
131                       die "getchar failed";
132               }
133
134       If "wget_wch()" is not available (i.e. The Curses library does not
135       understand wide characters), this calls "wgetch()", but returns the
136       values described above nonetheless.  This can be a problem because with
137       a multibyte character encoding like UTF-8, you will receive two one-
138       character strings for a two-byte-character (e.g. "Ã" and "¤" for
139       "ä").  If you append these characters to a Perl string, that string
140       may internally contain a valid UTF-8 encoding of a character, but Perl
141       will not interpret it that way. Perl may even try to convert what it
142       believes to be two characters to UTF-8, giving you four bytes.
143
144       "getstring"
145
146       This calls "wgetn_wstr" and returns a string or "undef".  It cannot
147       return a function key value; the Curses library will itself interpret
148       KEY_LEFT and KEY_BACKSPACE.
149
150       If "wgett_wstr()" is unavailable, this calls "wgetstr()".
151
152       In both cases, the function allocates a buffer of fixed size to hold
153       the result of the Curses library call.
154
155               my $s = getstring();
156               die "getstring failed" unless defined $s;
157
158       "addstring"/"insstring"
159
160       This adds/inserts the Perl string passed as an argument to the Curses
161       window using "waddnwstr()"/"wins_nwstr()" or, if unavailable,
162       "waddnstr()"/"winsnstr()".  It returns a true value on success, false
163       on failure.
164
165               addstring("Hällö, Wörld") || die "addstring failed";
166
167       "instring"
168
169       This returns a Perl string (or "undef" on failure) holding the
170       characters from the current cursor position up to the end of the line.
171       It uses "winnwstr()" if available, and otherwise "innstr()".
172
173               my $s = instring();
174               die "instring failed" unless defined $s;
175
176       "ungetchar"
177
178       This pushes one character (passed as a one-character Perl string) back
179       to the input queue. It uses "unget_wch()" or "ungetch()".  It returns a
180       true value on success, false on failure.  It cannot push back a
181       function key; the Curses library provides no way to push back function
182       keys, only characters.
183
184               ungetchar("X") || die "ungetchar failed";
185
186       The "Curses" module provides no interface to the complex-character
187       routines ("wadd_wch()", "wadd_wchnstr()", "wecho_wchar()", "win_wch()",
188       "win_wchnstr()", "wins_wch()") because there is no sensible way of
189       converting from Perl to a C "cchar_t" or back.
190
191   Objects
192       Objects work.  Example:
193
194           $win = new Curses;
195           $win->addstr(10, 10, 'foo');
196           $win->refresh;
197           ...
198
199       Any function that has been marked as unified (see "Available Functions"
200       below and "Unified Functions" above) can be called as a method for a
201       Curses object.
202
203       Do not use "initscr()" if using objects, as the first call to get a
204       "new Curses" will do it for you.
205
206   Security Concerns
207       It has always been the case with the curses functions, but please note
208       that the following functions:
209
210           getstr()   (and optional wgetstr(), mvgetstr(), and mvwgetstr())
211           inchstr()  (and optional winchstr(), mvinchstr(), and mvwinchstr())
212           instr()    (and optional winstr(), mvinstr(), and mvwinstr())
213
214       are subject to buffer overflow attack.  This is because you pass in the
215       buffer to be filled in, which has to be of finite length, but there is
216       no way to stop a bad guy from typing.
217
218       In order to avoid this problem, use the alternate functions:
219
220          getnstr()
221          inchnstr()
222          innstr()
223
224       which take an extra "size of buffer" argument or the wide-character-
225       aware getstring() and instring() versions.
226

COMPATIBILITY

228   Perl 4.X "cursperl" Compatibility
229       "Curses" was written to take advantage of features of Perl 5 and later.
230       The author thought it was better to provide an improved curses
231       programming environment than to be 100% compatible.  However, many old
232       "curseperl" applications will probably still work by starting the
233       script with:
234
235           BEGIN { $Curses::OldCurses = 1; }
236           use Curses;
237
238       Any old application that still does not work should print an
239       understandable error message explaining the problem.
240
241       Some functions and variables are not available through "Curses", even
242       with the "BEGIN" line.  They are listed under "Curses items not
243       available through Perl Curses".
244
245       The variables $stdscr and $curscr are also available as functions
246       "stdscr" and "curscr".  This is because of a Perl bug.  See the
247       LIMITATIONS section for details.
248
249   Incompatibilities with previous versions of "Curses"
250       In previous versions of this software, some Perl functions took a
251       different set of parameters than their C counterparts.  This is not
252       true in the current version.  You should now use "getstr($str)" and
253       "getyx($y, $x)" instead of "$str = getstr()" and "($y, $x) = getyx()".
254

DIAGNOSTICS

256       ·   Curses function '%s' called with too %s arguments at ...
257
258           You have called a "Curses" function with a wrong number of
259           arguments.
260
261       ·   argument %d to Curses function '%s' is not a Curses %s at ...
262
263       ·   argument is not a Curses %s at ...
264
265           The argument you gave to the function wasn't of a valid type for
266           the place you used it.
267
268           This probably means that you didn't give the right arguments to a
269           unified function.  See the DESCRIPTION section on "Unified
270           Functions" for more information.
271
272       ·   Curses function '%s' is not defined in your Curses library at ...
273
274           Your code has a call to a Perl "Curses" function that your system's
275           Curses library doesn't provide.
276
277       ·   Curses variable '%s' is not defined in your Curses library at ...
278
279           Your code has a Perl "Curses" variable that your system's Curses
280           library doesn't provide.
281
282       ·   Curses constant '%s' is not defined in your Curses library at ...
283
284           Your code references the specified "Curses" constant, and your
285           system's Curses library doesn't provide it.
286
287       ·   Curses::Vars::FETCH called with bad index at ...
288
289       ·   Curses::Vars::STORE called with bad index at ...
290
291           You've been playing with the "tie" interface to the "Curses"
292           variables.  Don't do that.  :-)
293
294       ·   Anything else
295
296           Check out the perldiag man page to see if the error is in there.
297

LIMITATIONS

299       If you use the variables $stdscr and $curscr instead of their
300       functional counterparts ("stdscr" and "curscr"), you might run into a
301       bug in Perl where the "magic" isn't called early enough.  This is
302       manifested by the "Curses" package telling you $stdscr isn't a window.
303       One workaround is to put a line like "$stdscr = $stdscr" near the front
304       of your program.
305

AUTHOR

307       William Setzer <William_Setzer@ncsu.edu>
308

SYNOPSIS OF PERL CURSES AVAILABILITY

310   Available Functions
311           Available Function   Unified?     Available via $OldCurses[*]
312           ------------------   --------     ------------------------
313           addch                  Yes        waddch mvaddch mvwaddch
314           echochar               Yes        wechochar
315           addchstr               Yes        waddchstr mvaddchstr mvwaddchstr
316           addchnstr              Yes        waddchnstr mvaddchnstr mvwaddchnstr
317           addstr                 Yes        waddstr mvaddstr mvwaddstr
318           addnstr                Yes        waddnstr mvaddnstr mvwaddnstr
319           attroff                Yes        wattroff
320           attron                 Yes        wattron
321           attrset                Yes        wattrset
322           standend               Yes        wstandend
323           standout               Yes        wstandout
324           attr_get               Yes        wattr_get
325           attr_off               Yes        wattr_off
326           attr_on                Yes        wattr_on
327           attr_set               Yes        wattr_set
328           chgat                  Yes        wchgat mvchgat mvwchgat
329           COLOR_PAIR              No
330           PAIR_NUMBER             No
331           beep                    No
332           flash                   No
333           bkgd                   Yes        wbkgd
334           bkgdset                Yes        wbkgdset
335           getbkgd                Yes
336           border                 Yes        wborder
337           box                    Yes
338           hline                  Yes        whline mvhline mvwhline
339           vline                  Yes        wvline mvvline mvwvline
340           erase                  Yes        werase
341           clear                  Yes        wclear
342           clrtobot               Yes        wclrtobot
343           clrtoeol               Yes        wclrtoeol
344           start_color             No
345           init_pair               No
346           init_color              No
347           has_colors              No
348           can_change_color        No
349           color_content           No
350           pair_content            No
351           delch                  Yes        wdelch mvdelch mvwdelch
352           deleteln               Yes        wdeleteln
353           insdelln               Yes        winsdelln
354           insertln               Yes        winsertln
355           getch                  Yes        wgetch mvgetch mvwgetch
356           ungetch                 No
357           has_key                 No
358           KEY_F                   No
359           getstr                 Yes        wgetstr mvgetstr mvwgetstr
360           getnstr                Yes        wgetnstr mvgetnstr mvwgetnstr
361           getyx                  Yes
362           getparyx               Yes
363           getbegyx               Yes
364           getmaxyx               Yes
365           inch                   Yes        winch mvinch mvwinch
366           inchstr                Yes        winchstr mvinchstr mvwinchstr
367           inchnstr               Yes        winchnstr mvinchnstr mvwinchnstr
368           initscr                 No
369           endwin                  No
370           isendwin                No
371           newterm                 No
372           set_term                No
373           delscreen               No
374           cbreak                  No
375           nocbreak                No
376           echo                    No
377           noecho                  No
378           halfdelay               No
379           intrflush              Yes
380           keypad                 Yes
381           meta                   Yes
382           nodelay                Yes
383           notimeout              Yes
384           raw                     No
385           noraw                   No
386           qiflush                 No
387           noqiflush               No
388           timeout                Yes        wtimeout
389           typeahead               No
390           insch                  Yes        winsch mvinsch mvwinsch
391           insstr                 Yes        winsstr mvinsstr mvwinsstr
392           insnstr                Yes        winsnstr mvinsnstr mvwinsnstr
393           instr                  Yes        winstr mvinstr mvwinstr
394           innstr                 Yes        winnstr mvinnstr mvwinnstr
395           def_prog_mode           No
396           def_shell_mode          No
397           reset_prog_mode         No
398           reset_shell_mode        No
399           resetty                 No
400           savetty                 No
401           getsyx                  No
402           setsyx                  No
403           curs_set                No
404           napms                   No
405           move                   Yes        wmove
406           clearok                Yes
407           idlok                  Yes
408           idcok                  Yes
409           immedok                Yes
410           leaveok                Yes
411           setscrreg              Yes        wsetscrreg
412           scrollok               Yes
413           nl                      No
414           nonl                    No
415           overlay                 No
416           overwrite               No
417           copywin                 No
418           newpad                  No
419           subpad                  No
420           prefresh                No
421           pnoutrefresh            No
422           pechochar               No
423           refresh                Yes        wrefresh
424           noutrefresh            Yes        wnoutrefresh
425           doupdate                No
426           redrawwin              Yes
427           redrawln               Yes        wredrawln
428           scr_dump                No
429           scr_restore             No
430           scr_init                No
431           scr_set                 No
432           scroll                 Yes
433           scrl                   Yes        wscrl
434           slk_init                No
435           slk_set                 No
436           slk_refresh             No
437           slk_noutrefresh         No
438           slk_label               No
439           slk_clear               No
440           slk_restore             No
441           slk_touch               No
442           slk_attron              No
443           slk_attrset             No
444           slk_attr                No
445           slk_attroff             No
446           slk_color               No
447           baudrate                No
448           erasechar               No
449           has_ic                  No
450           has_il                  No
451           killchar                No
452           longname                No
453           termattrs               No
454           termname                No
455           touchwin               Yes
456           touchline              Yes
457           untouchwin             Yes
458           touchln                Yes        wtouchln
459           is_linetouched         Yes
460           is_wintouched          Yes
461           unctrl                  No
462           keyname                 No
463           filter                  No
464           use_env                 No
465           putwin                  No
466           getwin                  No
467           delay_output            No
468           flushinp                No
469           newwin                  No
470           delwin                 Yes
471           mvwin                  Yes
472           subwin                 Yes
473           derwin                 Yes
474           mvderwin               Yes
475           dupwin                 Yes
476           syncup                 Yes        wsyncup
477           syncok                 Yes
478           cursyncup              Yes        wcursyncup
479           syncdown               Yes        wsyncdown
480           getmouse                No
481           ungetmouse              No
482           mousemask               No
483           enclose                Yes        wenclose
484           mouse_trafo            Yes        wmouse_trafo
485           mouseinterval           No
486           BUTTON_RELEASE          No
487           BUTTON_PRESS            No
488           BUTTON_CLICK            No
489           BUTTON_DOUBLE_CLICK     No
490           BUTTON_TRIPLE_CLICK     No
491           BUTTON_RESERVED_EVENT   No
492           use_default_colors      No
493           assume_default_colors   No
494           define_key              No
495           keybound                No
496           keyok                   No
497           resizeterm              No
498           resize                 Yes        wresize
499           getmaxy                Yes
500           getmaxx                Yes
501           flusok                 Yes
502           getcap                  No
503           touchoverlap            No
504           new_panel               No
505           bottom_panel            No
506           top_panel               No
507           show_panel              No
508           update_panels           No
509           hide_panel              No
510           panel_window            No
511           replace_panel           No
512           move_panel              No
513           panel_hidden            No
514           panel_above             No
515           panel_below             No
516           set_panel_userptr       No
517           panel_userptr           No
518           del_panel               No
519           set_menu_fore           No
520           menu_fore               No
521           set_menu_back           No
522           menu_back               No
523           set_menu_grey           No
524           menu_grey               No
525           set_menu_pad            No
526           menu_pad                No
527           pos_menu_cursor         No
528           menu_driver             No
529           set_menu_format         No
530           menu_format             No
531           set_menu_items          No
532           menu_items              No
533           item_count              No
534           set_menu_mark           No
535           menu_mark               No
536           new_menu                No
537           free_menu               No
538           menu_opts               No
539           set_menu_opts           No
540           menu_opts_on            No
541           menu_opts_off           No
542           set_menu_pattern        No
543           menu_pattern            No
544           post_menu               No
545           unpost_menu             No
546           set_menu_userptr        No
547           menu_userptr            No
548           set_menu_win            No
549           menu_win                No
550           set_menu_sub            No
551           menu_sub                No
552           scale_menu              No
553           set_current_item        No
554           current_item            No
555           set_top_row             No
556           top_row                 No
557           item_index              No
558           item_name               No
559           item_description        No
560           new_item                No
561           free_item               No
562           set_item_opts           No
563           item_opts_on            No
564           item_opts_off           No
565           item_opts               No
566           item_userptr            No
567           set_item_userptr        No
568           set_item_value          No
569           item_value              No
570           item_visible            No
571           menu_request_name       No
572           menu_request_by_name    No
573           set_menu_spacing        No
574           menu_spacing            No
575           pos_form_cursor         No
576           data_ahead              No
577           data_behind             No
578           form_driver             No
579           set_form_fields         No
580           form_fields             No
581           field_count             No
582           move_field              No
583           new_form                No
584           free_form               No
585           set_new_page            No
586           new_page                No
587           set_form_opts           No
588           form_opts_on            No
589           form_opts_off           No
590           form_opts               No
591           set_current_field       No
592           current_field           No
593           set_form_page           No
594           form_page               No
595           field_index             No
596           post_form               No
597           unpost_form             No
598           set_form_userptr        No
599           form_userptr            No
600           set_form_win            No
601           form_win                No
602           set_form_sub            No
603           form_sub                No
604           scale_form              No
605           set_field_fore          No
606           field_fore              No
607           set_field_back          No
608           field_back              No
609           set_field_pad           No
610           field_pad               No
611           set_field_buffer        No
612           field_buffer            No
613           set_field_status        No
614           field_status            No
615           set_max_field           No
616           field_info              No
617           dynamic_field_info      No
618           set_field_just          No
619           field_just              No
620           new_field               No
621           dup_field               No
622           link_field              No
623           free_field              No
624           set_field_opts          No
625           field_opts_on           No
626           field_opts_off          No
627           field_opts              No
628           set_field_userptr       No
629           field_userptr           No
630           field_arg               No
631           form_request_name       No
632           form_request_by_name    No
633
634       [*] To use any functions in this column, the program must set the
635       variable $Curses::OldCurses variable to a non-zero value before using
636       the "Curses" package.  See "Perl 4.X cursperl Compatibility" for an
637       example of this.
638
639   Available Wide-Character-Aware Functions
640           Function    Uses wide-character call  Reverts to legacy call
641           --------    ------------------------  ----------------------
642           getchar     wget_wch                  wgetch
643           getstring   wgetn_wstr                wgetnstr
644           ungetchar   unget_wch                 ungetch
645           instring    winnwtr                   winnstr
646           addstring   waddnwstr                 waddnstr
647           insstring   wins_nwstr                winsnstr
648
649   Available Variables
650           LINES                   COLS                    stdscr
651           curscr                  COLORS                  COLOR_PAIRS
652
653   Available Constants
654           ERR                     OK                      ACS_BLOCK
655           ACS_BOARD               ACS_BTEE                ACS_BULLET
656           ACS_CKBOARD             ACS_DARROW              ACS_DEGREE
657           ACS_DIAMOND             ACS_HLINE               ACS_LANTERN
658           ACS_LARROW              ACS_LLCORNER            ACS_LRCORNER
659           ACS_LTEE                ACS_PLMINUS             ACS_PLUS
660           ACS_RARROW              ACS_RTEE                ACS_S1
661           ACS_S9                  ACS_TTEE                ACS_UARROW
662           ACS_ULCORNER            ACS_URCORNER            ACS_VLINE
663           A_ALTCHARSET            A_ATTRIBUTES            A_BLINK
664           A_BOLD                  A_CHARTEXT              A_COLOR
665           A_DIM                   A_INVIS                 A_NORMAL
666           A_PROTECT               A_REVERSE               A_STANDOUT
667           A_UNDERLINE             COLOR_BLACK             COLOR_BLUE
668           COLOR_CYAN              COLOR_GREEN             COLOR_MAGENTA
669           COLOR_RED               COLOR_WHITE             COLOR_YELLOW
670           KEY_A1                  KEY_A3                  KEY_B2
671           KEY_BACKSPACE           KEY_BEG                 KEY_BREAK
672           KEY_BTAB                KEY_C1                  KEY_C3
673           KEY_CANCEL              KEY_CATAB               KEY_CLEAR
674           KEY_CLOSE               KEY_COMMAND             KEY_COPY
675           KEY_CREATE              KEY_CTAB                KEY_DC
676           KEY_DL                  KEY_DOWN                KEY_EIC
677           KEY_END                 KEY_ENTER               KEY_EOL
678           KEY_EOS                 KEY_EVENT               KEY_EXIT
679           KEY_F0
680           KEY_FIND                KEY_HELP                KEY_HOME
681           KEY_IC                  KEY_IL                  KEY_LEFT
682           KEY_LL                  KEY_MARK                KEY_MAX
683           KEY_MESSAGE             KEY_MIN                 KEY_MOVE
684           KEY_NEXT                KEY_NPAGE               KEY_OPEN
685           KEY_OPTIONS             KEY_PPAGE               KEY_PREVIOUS
686           KEY_PRINT               KEY_REDO                KEY_REFERENCE
687           KEY_REFRESH             KEY_REPLACE             KEY_RESET
688           KEY_RESIZE              KEY_RESTART             KEY_RESUME
689           KEY_RIGHT
690           KEY_SAVE                KEY_SBEG                KEY_SCANCEL
691           KEY_SCOMMAND            KEY_SCOPY               KEY_SCREATE
692           KEY_SDC                 KEY_SDL                 KEY_SELECT
693           KEY_SEND                KEY_SEOL                KEY_SEXIT
694           KEY_SF                  KEY_SFIND               KEY_SHELP
695           KEY_SHOME               KEY_SIC                 KEY_SLEFT
696           KEY_SMESSAGE            KEY_SMOVE               KEY_SNEXT
697           KEY_SOPTIONS            KEY_SPREVIOUS           KEY_SPRINT
698           KEY_SR                  KEY_SREDO               KEY_SREPLACE
699           KEY_SRESET              KEY_SRIGHT              KEY_SRSUME
700           KEY_SSAVE               KEY_SSUSPEND            KEY_STAB
701           KEY_SUNDO               KEY_SUSPEND             KEY_UNDO
702           KEY_UP                  KEY_MOUSE               BUTTON1_RELEASED
703           BUTTON1_PRESSED         BUTTON1_CLICKED         BUTTON1_DOUBLE_CLICKED
704           BUTTON1_TRIPLE_CLICKED  BUTTON1_RESERVED_EVENT  BUTTON2_RELEASED
705           BUTTON2_PRESSED         BUTTON2_CLICKED         BUTTON2_DOUBLE_CLICKED
706           BUTTON2_TRIPLE_CLICKED  BUTTON2_RESERVED_EVENT  BUTTON3_RELEASED
707           BUTTON3_PRESSED         BUTTON3_CLICKED         BUTTON3_DOUBLE_CLICKED
708           BUTTON3_TRIPLE_CLICKED  BUTTON3_RESERVED_EVENT  BUTTON4_RELEASED
709           BUTTON4_PRESSED         BUTTON4_CLICKED         BUTTON4_DOUBLE_CLICKED
710           BUTTON4_TRIPLE_CLICKED  BUTTON4_RESERVED_EVENT  BUTTON_CTRL
711           BUTTON_SHIFT            BUTTON_ALT              ALL_MOUSE_EVENTS
712           REPORT_MOUSE_POSITION   NCURSES_MOUSE_VERSION   E_OK
713           E_SYSTEM_ERROR          E_BAD_ARGUMENT          E_POSTED
714           E_CONNECTED             E_BAD_STATE             E_NO_ROOM
715           E_NOT_POSTED            E_UNKNOWN_COMMAND       E_NO_MATCH
716           E_NOT_SELECTABLE        E_NOT_CONNECTED         E_REQUEST_DENIED
717           E_INVALID_FIELD         E_CURRENT               REQ_LEFT_ITEM
718           REQ_RIGHT_ITEM          REQ_UP_ITEM             REQ_DOWN_ITEM
719           REQ_SCR_ULINE           REQ_SCR_DLINE           REQ_SCR_DPAGE
720           REQ_SCR_UPAGE           REQ_FIRST_ITEM          REQ_LAST_ITEM
721           REQ_NEXT_ITEM           REQ_PREV_ITEM           REQ_TOGGLE_ITEM
722           REQ_CLEAR_PATTERN       REQ_BACK_PATTERN        REQ_NEXT_MATCH
723           REQ_PREV_MATCH          MIN_MENU_COMMAND        MAX_MENU_COMMAND
724           O_ONEVALUE              O_SHOWDESC              O_ROWMAJOR
725           O_IGNORECASE            O_SHOWMATCH             O_NONCYCLIC
726           O_SELECTABLE            REQ_NEXT_PAGE           REQ_PREV_PAGE
727           REQ_FIRST_PAGE          REQ_LAST_PAGE           REQ_NEXT_FIELD
728           REQ_PREV_FIELD          REQ_FIRST_FIELD         REQ_LAST_FIELD
729           REQ_SNEXT_FIELD         REQ_SPREV_FIELD         REQ_SFIRST_FIELD
730           REQ_SLAST_FIELD         REQ_LEFT_FIELD          REQ_RIGHT_FIELD
731           REQ_UP_FIELD            REQ_DOWN_FIELD          REQ_NEXT_CHAR
732           REQ_PREV_CHAR           REQ_NEXT_LINE           REQ_PREV_LINE
733           REQ_NEXT_WORD           REQ_PREV_WORD           REQ_BEG_FIELD
734           REQ_END_FIELD           REQ_BEG_LINE            REQ_END_LINE
735           REQ_LEFT_CHAR           REQ_RIGHT_CHAR          REQ_UP_CHAR
736           REQ_DOWN_CHAR           REQ_NEW_LINE            REQ_INS_CHAR
737           REQ_INS_LINE            REQ_DEL_CHAR            REQ_DEL_PREV
738           REQ_DEL_LINE            REQ_DEL_WORD            REQ_CLR_EOL
739           REQ_CLR_EOF             REQ_CLR_FIELD           REQ_OVL_MODE
740           REQ_INS_MODE            REQ_SCR_FLINE           REQ_SCR_BLINE
741           REQ_SCR_FPAGE           REQ_SCR_BPAGE           REQ_SCR_FHPAGE
742           REQ_SCR_BHPAGE          REQ_SCR_FCHAR           REQ_SCR_BCHAR
743           REQ_SCR_HFLINE          REQ_SCR_HBLINE          REQ_SCR_HFHALF
744           REQ_SCR_HBHALF          REQ_VALIDATION          REQ_NEXT_CHOICE
745           REQ_PREV_CHOICE         MIN_FORM_COMMAND        MAX_FORM_COMMAND
746           NO_JUSTIFICATION        JUSTIFY_LEFT            JUSTIFY_CENTER
747           JUSTIFY_RIGHT           O_VISIBLE               O_ACTIVE
748           O_PUBLIC                O_EDIT                  O_WRAP
749           O_BLANK                 O_AUTOSKIP              O_NULLOK
750           O_PASSOK                O_STATIC                O_NL_OVERLOAD
751           O_BS_OVERLOAD
752
753   Curses functions not available through Perl "Curses"
754           tstp _putchar fullname scanw wscanw mvscanw mvwscanw ripoffline
755           setupterm setterm set_curterm del_curterm restartterm tparm tputs
756           putp vidputs vidattr mvcur tigetflag tigetnum tigetstr tgetent
757           tgetflag tgetnum tgetstr tgoto tputs
758
759   Curses menu functions not available through Perl "Curses"
760           set_item_init item_init set_item_term item_term set_menu_init
761           menu_init set_menu_term menu_term
762
763   Curses form functions not available through Perl "Curses"
764           new_fieldtype free_fieldtype set_fieldtype_arg
765           set_fieldtype_choice link_fieldtype set_form_init form_init
766           set_form_term form_term set_field_init field_init set_field_term
767           field_term set_field_type field_type
768
769
770
771perl v5.30.1                      2020-01-29                         Curses(3)
Impressum