Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Ncurses Terminal Screen Control Functions : ncurses_wgetch

ncurses_wgetch

Reads a character from keyboard (window) (PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)
int ncurses_wgetch ( resource window )


Code Examples / Notes » ncurses_wgetch

johns

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.


gf3 dot bm3

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);
}


john

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);


Change Language


Follow Navioo On Twitter
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
eXTReMe Tracker