Пример #1
0
int
main(int argc, char *argv[])
{
	tty_mode(0);
	set_cr_noecho_mode();
	initscr();
	clear();


	signal(SIGINT, sigint_handler);
	signal(SIGIO, on_input);	/* install input handler */
	setup_aio_buffer();		/* initialize aio ctrl buff */
	aio_read(&kbcbuf);		/* place a read request */

	signal(SIGALRM, on_alarm);	/* install alarm handler */
	set_ticker(delay);		/* start ticking */


	move(row, col);
	addstr(MSG);


	while (!done) {
		pause();
	}

	tty_mode(1);
	endwin();

	return 0;
}
Пример #2
0
int main (int argc, char * argv[])
{
	FILE *fp;
	tty_mode(ZERO);
	no_echo_mode();
	signal(SIGINT, ctrl_c);
	signal(SIGQUIT, SIG_IGN);
	if(argc > 2)
		ctrl_c();
	if(argc == 1)
	{
		printf("Type ^c to quit\n");
		do_more_stdin(stdin);
	}else{
		if((fp = fopen(argv[ONE], "r")) != NULL)
		{
			find_num_of_lines(fp);
			fileName = argv[ONE];
			do_more(fp);
			fclose(fp);
		}
	}
	tty_mode(NORM);
	return SUCCESS;
}
Пример #3
0
int printFile (const char* fileName)
{
  FILE* file;
  file = fopen(fileName,"r");
  if (!file) {
      perror("unable to open file");
      return -1;
  }
  tty_mode(0);
  int i = 0;
  int usrinput;
  printfile(file);
  printf("\033[7m");
  printf("%s",fileName);
  printf("\033[m");
  setNodelay();
  while((usrinput = fgetc(stdin))!= 'q' && fgetc(file) != EOF)
  {
    if(usrinput == ' '){
      printf("\b \b");
      printfile(file);
    }
    else if(usrinput == '\n'){
      printline(file);
    }
  }
  tty_mode(1);
  if (fclose (file)) {
      perror("unable to close file");
      return -1;
  }
  return 0;
}
Пример #4
0
int main(int argc, char *argv[]) {
  tty_mode(0); // save tty mode
  set_cr_noecho_mode();
  int response = get_response(QUESTION);
  tty_mode(1); // reload tty mode
  return response;
}
Пример #5
0
int main(int argc, char *argv[])
{
  FILE *fp;
  char *pFileName;

  tty_mode(0);

  set_tty_mode();
  if (argc == 1)
  {
    do_more(stdin);
  }
  else
  {
    while(--argc > 0)
    {
      pFileName = *++argv;
      if ((fp = fopen(pFileName, "r")) > 0)
      {
        do_more(fp);        
      }
      else
      {
        fprintf(stderr, "Open file %s error, errno = %d\n", pFileName, errno);
      }
    }
  }

  tty_mode(1);
  return 0;
}
Пример #6
0
int main(void) {
  tty_mode(0); // save tty mode
  set_timeout_mode();
  set_cr_noecho_mode();
  int response = get_response(QUESTION);
  tty_mode(1); // reload tty mode
  return response;
}
Пример #7
0
int main()
{
    int response;
    tty_mode(0);                        // save tty mode
    set_crmode();                       // set chr-by-chr mode
    response = get_response(QUESTION);
    tty_mode(1);                        // restore tty mode
    return response;
}
Пример #8
0
int main()
{
    int response;
    tty_mode(0);
    set_crmode();
    response = get_response(QUESTION);
    tty_mode(1);
    return response;
}
Пример #9
0
int main(void)
{
    int response;
    tty_mode(0);
    set_cr_noecho_mode();
    set_nodelay_mode();
    response = get_response(ASK, TRIES);
    tty_mode(1);
    return response;
}
Пример #10
0
main()
{
	int	response;

	tty_mode(0);				/* save tty mode	*/
	set_crmode();				/* set chr-by-chr mode	*/
	response = get_response(QUESTION);	/* get some answer	*/
	tty_mode(1);				/* restore tty mode	*/
	return response;
}
Пример #11
0
main()
{
    int response;
    tty_mode(0);
    set_cr_noecho_mode();           /* set -icanon, -echo   */
    set_nodelay_mode();         /* noinput => EOF   */
    response = get_response(ASK, 3);  /* get some answer  */
    tty_mode(1);           /* restore tty state    */
    return response;
}
void f(int signum)
{
    int response;
    tty_mode(0);
    set_crmode();
    response = get_response("interrupted! OK to quit(y/n)? ");
    tty_mode(1);

    if(response == 0)
        exit(0);
}
Пример #13
0
main()
{
	int	response;

	tty_mode(0);				/* save current mode	*/
	set_input_mode(TIMEOUT);		/* -icanon -echo vtime	*/
	response = get_response(ASK);		/* get some answer	*/
	tty_mode(1);				/* restore orig mode	*/
	putchar('\n');
	return response;
}
Пример #14
0
int main(int argc, char *argv[])
{
    int response;
    tty_mode(0);
    set_cr_noecho_mode();
    set_nodelay_mode();
    signal(SIGINT, ctrl_c_handler);
    signal(SIGQUIT, SIG_IGN);
    response = get_response(ASK, TRIES);
    tty_mode(1);
    return response;
}
Пример #15
0
int main(void) {
  tty_mode(0); // save tty mode
  signal(SIGINT, signal_handler);
  signal(SIGQUIT, signal_handler);
  signal(SIGTERM, signal_handler);
  set_cr_noecho_mode();
  int c;
  int line_len = 0;

  struct termios term;
  tcgetattr(0, &term);
  char erase_c = term.c_cc[VERASE];
  char line_erase_c = term.c_cc[VKILL];
  while ((c = getchar()) != EOF) {
    if (c == ' ') {
      putchar(' ');
      line_len++;
    }

    if (c == '\n') {
      puts("\r");
      line_len = 0;
    }

    if (c == erase_c) {
      fputs("\b \b", stdout);
      line_len--;
    }

    if (c == line_erase_c) {
      while (line_len != 0) {
        fputs("\b \b", stdout);
        line_len--;
      }
    }

    if (c == 'Q') {
      tty_mode(1);
      exit(EXIT_SUCCESS);
    }

    if (islower(c)) {
      if (c == 'z')
        c = 'a';
      else
        c++;
      putchar(c);
      line_len++;
    }
  }
  tty_mode(1);
  return EXIT_SUCCESS;
}
Пример #16
0
int main()
{
    int response;

    tty_mode(0);
    set_cr_noecho_mode();
    set_nodelay_mode();
    signal( SIGINT, ctrl_c_handler );
    signal( SIGQUIT, SIG_IGN );
    response = get_response( QUESTION, TRIES );
    tty_mode(1);
    return response;
}
Пример #17
0
main()
{
	int response;
	void ctrl_c_handler(int);

	tty_mode(0);
	set_cr_noecho_mode();
	set_nodelay_mode();
	signal(SIGINT, ctrl_c_handler);
	response = get_response(ASK, TRIES);
	tty_mode(1);
	return response;
}
Пример #18
0
int
main(int argc, char *argv[])
{
	int res;

	tty_mode(0);		/* save tty mode */
	set_cr_noecho_mode();	/* set -icanon, -echo */
	set_nodelay_mode();	/* no input == EOF */
	res = get_response(QUESTION, TRIES);
	tty_mode(1);		/* restore tty mode */

	return res;
}
main()
{
    int	response;
    void	ctrl_c_handler(int);

    tty_mode(0);				/* save current mode	*/
    set_cr_noecho_mode();			/* set -icanon, -echo	*/
    set_nodelay_mode();			/* noinput => EOF	*/
    signal( SIGINT, ctrl_c_handler );	/* handle INT		*/
    signal( SIGQUIT, SIG_IGN );		/* ignore QUIT signals	*/
    response = get_response(ASK, TRIES);	/* get some answer	*/
    tty_mode(1);				/* reset orig mode	*/
    return response;
}
Пример #20
0
int main()
{
	welcom();
	tty_mode(0);//储存TTY的模式
	initscr();
	crmode();
	noecho();
	clear();
	box(stdscr,'|','-');
	mvaddch(pos_x,pos_y,BALL);
	bpos_x=LINES-4;
	bpos_y=4;
	mvaddstr(bpos_x,bpos_y,BAN);
	move(LINES-1,COLS-1);			//移动光标到右下角
	refresh();
	signal(SIGALRM,jmove);
	delay=50;	//200ms=0.2s
	if(set_ticker(delay) == -1)
		perror("set_ticker");
	else
		while(1)
		{
			ndelay = 0;
			c=getch();
			if(c=='Q') break;
			if(c=='f' && delay > 2) ndelay = delay/2;
			if(c=='s') ndelay = delay*2;
			if(c==' ') bdir_y=-bdir_y;
			if(ndelay > 0) set_ticker (delay = ndelay);
			//重置定时器
		}
}
Пример #21
0
void
sigint_handler(int sig)
{
	tty_mode(1);
	set_ticker(0);
	endwin();
	exit(0);
}
Пример #22
0
int main()
{
    int c;

    tty_mode(0);			/* store it */
    set_cr_noecho_mode();		/* set -icanon, -echo */

    while ( ( c=getchar() ) != EOF && c != 'Q' ){
        if ( c == 'z' )  
            c = 'a';
        else if (islower(c))
            c++;
        putchar(c);
    }
    tty_mode(1);			/* restore it */
    return 0;
}
Пример #23
0
void ctrl_c_handler(int signum) {
	/*
	 * purpose: called if SIGINT is detected.
	 *  action: reset tty and scram
	 */
	tty_mode(1);
	exit(1);
}
Пример #24
0
int
main(int argc, char **argv)
{
    
    FILE *fp;
    tty_mode(0);
    rowCol();
    if (argc == 1){
        do_more(stdin);
    }else{
        set_cr_noecho_mode();
        while(--argc){
	    if ((fp = fopen(*++argv,"r")) != NULL){
	        do_more(fp);
		fclose(fp);
	    }else{
	        exit(1);
	    }//if
	}//while
    }
    tty_mode(1);
    return 0;
}
Пример #25
0
int main()
{
  tty_mode(0);
  signal(SIGQUIT, SIG_IGN);
  signal(SIGINT, ctrl_c_handler);
  set_crmode();
  // set_nodelay_mode();
  int ret;
  ret = atexit(exit_reset_mode);
  if(ret != 0) {
    perror("atexit");
    exit(1);
  }

  do_io();
}
Пример #26
0
void jmove()
{
	pos_xo=pos_x;
	pos_yo=pos_y;

	bpos_xo=bpos_x;
	bpos_yo=bpos_y;
	if(pos_x==(LINES-5)&&pos_y>(bpos_y-1)&&pos_y<(bpos_y+11)) 
	{
		scores+=5;
		dir_x=-dir_x;//碰到挡板就反向
	}
	if(pos_x<2)	dir_x=-dir_x;
	/*if((pos_x<2)||(pos_x>LINES-3))	dir_x=-dir_x;*/
	if((pos_y<2)||(pos_y>COLS-3))	dir_y=-dir_y;
	pos_x+=dir_x;
	pos_y+=dir_y;
	mvaddch(pos_xo,pos_yo,BALL_BLANK);	
	mvaddch(pos_x,pos_y,BALL);
	if(pos_x>LINES-1)	
	{
		tty_mode(1);//恢复tty的模式,否则退出程序后,终端没有回显功能,因为这个程序把终端的属性修改了
		if(scores==0)
		printf("\nScores:%d\nCome on kid,try again!\n",scores);
		else if(scores>=5&&scores<20)
			printf("\nScores:%d\nYou did good job!\n",scores);
		else if(scores>=20&&scores<40)
			printf("\nScores:%d\nGreat,have I told you how to do this?\n",scores);
		else if(scores>=40&&scores<60)
			printf("\nScores:%d\nYou are genius,congratulations!\n",scores);
		else if(scores>=60)
			printf("\nScores:%d\nI love you so much:)!\n",scores);
		exit(0);
	}
	//挡板的移动
	if(bpos_y<3||bpos_y==3||bpos_y>COLS-12) 	bdir_y=-bdir_y;
	bpos_y+=bdir_y;
	mvaddstr(bpos_xo,bpos_yo,BAN_BLANK);
	mvaddstr(bpos_x,bpos_y,BAN);
        //光标放在右下角
	move(LINES-1,COLS-1);
	refresh();
}
Пример #27
0
void signalResponse(int value){
    tty_mode(1);
    printf("terminal settings restored terminating...");
    exit(0);
}
Пример #28
0
extern void signal_handler(int signum) {
  tty_mode(1);
  exit(2);
}
Пример #29
0
void ctrl_c () {
	tty_mode(NORM);
	exit(FAILED);
}
Пример #30
0
void ctrl_c_handler(int signum)
{
	tty_mode(1);
	exit(1);
}