ncurses_wgetch
(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)
ncurses_wgetch — Reads a character from keyboard (window)
Description
int ncurses_wgetch
( resource
$window
)Warning
This function is currently not documented; only its argument list is available.
Parameters
-
window
-
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с командной строкой
- Ncurses Terminal Screen Control
- ncurses_addch
- ncurses_addchnstr
- ncurses_addchstr
- ncurses_addnstr
- ncurses_addstr
- ncurses_assume_default_colors
- ncurses_attroff
- ncurses_attron
- ncurses_attrset
- ncurses_baudrate
- ncurses_beep
- ncurses_bkgd
- ncurses_bkgdset
- ncurses_border
- ncurses_bottom_panel
- ncurses_can_change_color
- ncurses_cbreak
- ncurses_clear
- ncurses_clrtobot
- ncurses_clrtoeol
- ncurses_color_content
- ncurses_color_set
- ncurses_curs_set
- ncurses_def_prog_mode
- ncurses_def_shell_mode
- ncurses_define_key
- ncurses_del_panel
- ncurses_delay_output
- ncurses_delch
- ncurses_deleteln
- ncurses_delwin
- ncurses_doupdate
- ncurses_echo
- ncurses_echochar
- ncurses_end
- ncurses_erase
- ncurses_erasechar
- ncurses_filter
- ncurses_flash
- ncurses_flushinp
- ncurses_getch
- ncurses_getmaxyx
- ncurses_getmouse
- ncurses_getyx
- ncurses_halfdelay
- ncurses_has_colors
- ncurses_has_ic
- ncurses_has_il
- ncurses_has_key
- ncurses_hide_panel
- ncurses_hline
- ncurses_inch
- ncurses_init_color
- ncurses_init_pair
- ncurses_init
- ncurses_insch
- ncurses_insdelln
- ncurses_insertln
- ncurses_insstr
- ncurses_instr
- ncurses_isendwin
- ncurses_keyok
- ncurses_keypad
- ncurses_killchar
- ncurses_longname
- ncurses_meta
- ncurses_mouse_trafo
- ncurses_mouseinterval
- ncurses_mousemask
- ncurses_move_panel
- ncurses_move
- ncurses_mvaddch
- ncurses_mvaddchnstr
- ncurses_mvaddchstr
- ncurses_mvaddnstr
- ncurses_mvaddstr
- ncurses_mvcur
- ncurses_mvdelch
- ncurses_mvgetch
- ncurses_mvhline
- ncurses_mvinch
- ncurses_mvvline
- ncurses_mvwaddstr
- ncurses_napms
- ncurses_new_panel
- ncurses_newpad
- ncurses_newwin
- ncurses_nl
- ncurses_nocbreak
- ncurses_noecho
- ncurses_nonl
- ncurses_noqiflush
- ncurses_noraw
- ncurses_pair_content
- ncurses_panel_above
- ncurses_panel_below
- ncurses_panel_window
- ncurses_pnoutrefresh
- ncurses_prefresh
- ncurses_putp
- ncurses_qiflush
- ncurses_raw
- ncurses_refresh
- ncurses_replace_panel
- ncurses_reset_prog_mode
- ncurses_reset_shell_mode
- ncurses_resetty
- ncurses_savetty
- ncurses_scr_dump
- ncurses_scr_init
- ncurses_scr_restore
- ncurses_scr_set
- ncurses_scrl
- ncurses_show_panel
- ncurses_slk_attr
- ncurses_slk_attroff
- ncurses_slk_attron
- ncurses_slk_attrset
- ncurses_slk_clear
- ncurses_slk_color
- ncurses_slk_init
- ncurses_slk_noutrefresh
- ncurses_slk_refresh
- ncurses_slk_restore
- ncurses_slk_set
- ncurses_slk_touch
- ncurses_standend
- ncurses_standout
- ncurses_start_color
- ncurses_termattrs
- ncurses_termname
- ncurses_timeout
- ncurses_top_panel
- ncurses_typeahead
- ncurses_ungetch
- ncurses_ungetmouse
- ncurses_update_panels
- ncurses_use_default_colors
- ncurses_use_env
- ncurses_use_extended_names
- ncurses_vidattr
- ncurses_vline
- ncurses_waddch
- ncurses_waddstr
- ncurses_wattroff
- ncurses_wattron
- ncurses_wattrset
- ncurses_wborder
- ncurses_wclear
- ncurses_wcolor_set
- ncurses_werase
- ncurses_wgetch
- ncurses_whline
- ncurses_wmouse_trafo
- ncurses_wmove
- ncurses_wnoutrefresh
- ncurses_wrefresh
- ncurses_wstandend
- ncurses_wstandout
- ncurses_wvline
Коментарии
Heres a function to get a string from a specific window and return it on ENTER.
// Dynamic String Input (converts INT ASCII to CHAR)
function ncurses_wgetstr($win){
$strlen = 1;
for ($sx=0;$sx<$strlen;$sx++){
$strlen++;
$ch = ncurses_wgetch($win);
if ($ch == 13){
return $str;
break 2;
}
$str .= chr($ch);
}
}
Example:
$ncurse = ncurses_init();
$fullscreen = ncurses_newwin (0,0, 0,0);
ncurses_border(0,0, 0,0, 0,0, 0,0);
ncurses_refresh();
while (1){
$keyPressed = ncurses_wgetstr($fullscreen);
ncurses_wrefresh($fullscreen);
}
By default ncurses_wgetch does not return keypad keys. If you need to use function or arrow keys in a sub window, simply do this first.
ncurses_keypad($win, TRUE);
Something worth noting here; I noticed that with ncurses_wgetch function keys are broken into multiple codes while ncurses_getch returns only one attributed code.
For example, with ncurses_wgetch pressing an up arrow results in three codes 27 91 65 (an ascii escape sequence). The problem is subsequent calls to ncurses_wgetch are required to acquire all three codes. Unfortunately, pressing an “A” key for example would result in only a single code of 65. This makes it hard to trap for both function keys and regular keys.
However, with ncurses_getch an up arrow results in a single attributed code of 259 or the “NCURSES_KEY_UP” key constant. An “A” key is still 65.