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 variants:
29       waddch(), mvaddch(), and mvwaddch().  The variants aren't very
30       interesting; in fact, we could roll all of the variants into original
31       function by allowing a variable number of arguments and analyzing the
32       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
139       "▽" for "∽").  If you append these characters to a Perl string,
140       that string may internally contain a valid UTF-8 encoding of a
141       character, but Perl will not interpret it that way. Perl may even try
142       to convert what it believes to be two characters to UTF-8, giving you
143       four bytes.
144
145       "getstring"
146
147       This calls "wgetn_wstr" and returns a string or "undef".  It cannot
148       return a function key value; the Curses library will itself interpret
149       KEY_LEFT and KEY_BACKSPACE.
150
151       If wgett_wstr() is unavailable, this calls wgetstr().
152
153       In both cases, the function allocates a buffer of fixed size to hold
154       the result of the Curses library call.
155
156               my $s = getstring();
157               die "getstring failed" unless defined $s;
158
159       "addstring"/"insstring"
160
161       This adds/inserts the Perl string passed as an argument to the Curses
162       window using waddnwstr()/wins_nwstr() or, if unavailable,
163       waddnstr()/winsnstr().  It returns a true value on success, false on
164       failure.
165
166               addstring("H∽ll‡, W‡rld") || die "addstring failed";
167
168       "instring"
169
170       This returns a Perl string (or "undef" on failure) holding the
171       characters from the current cursor position up to the end of the line.
172       It uses winnwstr() if available, and otherwise innstr().
173
174               my $s = instring();
175               die "instring failed" unless defined $s;
176
177       "ungetchar"
178
179       This pushes one character (passed as a one-character Perl string) back
180       to the input queue. It uses unget_wch() or ungetch().  It returns a
181       true value on success, false on failure.  It cannot push back a
182       function key; the Curses library provides no way to push back function
183       keys, only characters.
184
185               ungetchar("X") or die "ungetchar failed";
186
187       The "Curses" module provides no interface to the complex-character
188       routines (wadd_wch(), wadd_wchnstr(), wecho_wchar(), win_wch(),
189       win_wchnstr(), wins_wch()) because there is no sensible way of
190       converting from Perl to a C "cchar_t" or back.
191
192   Objects
193       Objects work.  Example:
194
195           $win = new Curses;
196           $win->addstr(10, 10, 'foo');
197           $win->refresh;
198           ...
199
200       Any function that has been marked as unified (see "Available Functions"
201       below and "Unified Functions" above) can be called as a method for a
202       Curses object.
203
204       Do not use initscr() if using objects, as the first call to get a "new
205       Curses" will do it for you.
206
207   Security Concerns
208       It has always been the case with the curses functions, but please note
209       that the following functions:
210
211           getstr()   (and optional wgetstr(), mvgetstr(), and mvwgetstr())
212           inchstr()  (and optional winchstr(), mvinchstr(), and mvwinchstr())
213           instr()    (and optional winstr(), mvinstr(), and mvwinstr())
214
215       are subject to buffer overflow attack.  This is because you pass in the
216       buffer to be filled in, which has to be of finite length, but there is
217       no way to stop a bad guy from typing.
218
219       In order to avoid this problem, use the alternate functions:
220
221          getnstr()
222          inchnstr()
223          innstr()
224
225       which take an extra "size of buffer" argument or the wide-character-
226       aware getstring() and instring() versions.
227

COMPATIBILITY

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

DIAGNOSTICS

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

LIMITATIONS

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

AUTHOR

308       William Setzer <William_Setzer@ncsu.edu>
309

SYNOPSIS OF PERL CURSES AVAILABILITY

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