up through example 4.7

This commit is contained in:
Dan Buch 2009-11-18 19:57:50 -05:00
parent b45b438a4f
commit da3ee678a8

View File

@ -1,31 +1,37 @@
#include <ncurses.h>
void _do_setup(){
initscr();
raw();
keypad(stdscr, TRUE);
noecho();
}
void _display_and_quit(){
refresh();
getch();
endwin();
}
int main()
{ int ch;
{
int ch;
_do_setup();
initscr(); /* Start curses mode */
raw(); /* Line buffering disabled */
keypad(stdscr, TRUE); /* We get F1, F2 etc.. */
noecho(); /* Don't echo() while we do getch */
printw("Type any character to see it in bold\n");
ch = getch(); /* If raw() hadn't been called
* we have to press enter before it
* gets to the program */
if(ch == KEY_F(1)) /* Without keypad enabled this will */
printw("F1 Key pressed");/* not get to us either */
/* Without noecho() some ugly escape
* charachters might have been printed
* on screen */
else
{ printw("The pressed key is ");
printw("Type any character to see it in bold\n");
ch = getch();
if(ch == KEY_F(1)){
printw("F1 Key pressed");
} else {
printw("The pressed key is ");
attron(A_BOLD);
printw("%c", ch);
attroff(A_BOLD);
}
refresh(); /* Print it on to the real screen */
getch(); /* Wait for user input */
endwin(); /* End curses mode */
_display_and_quit();
return 0;
}