宁宁波吧 关注:7贴子:11
  • 0回复贴,共1

【2011.03.04】keypad按键控制

只看楼主收藏回复

#include <unistd.h>
#include <stdlib.h>
#include <curses.h>
#define   LOCAL_ESCAPE_KEY 27
int main()
{
     int key;
     initscr();
     crmode();
     keypad(stdscr,TRUE);
     noecho();
     clear();
     mvprintw(35,5,"Key pad demonstration,Press 'q' to quit");
     move(36,5);
     refresh();
     key=getch();
     while(key != ERR && key!= 'q')
     {
         clrtoeol();
        
         if((key >= 'A' && key <= 'Z') || (key >= 'a' && key <= 'z'))
             printw("Key was %C",(char)key);
         else
         {
             switch(key)
             {
             case LOCAL_ESCAPE_KEY:printw("%s","Escape key");break;
             case KEY_END: printw("%s","END key");break;
             case KEY_BEG: printw("%s","BEGINNING key");break;
             case KEY_RIGHT: printw("%s","RIGHT key");break;
             case KEY_LEFT: printw("%s","LEFT key");break;
             case KEY_UP: printw("%s","UP key");break;
             case KEY_DOWN: printw("%s","DOWN key");break;
             default: printw("Unmatched = %d",key);break;
             }/*swtich*/
         }/*else*/
     refresh();
     key = getch();
     }/*while*/
     endwin();
     exit(EXIT_SUCCESS);
}


1楼2011-03-04 08:25回复