termios.c
来自「一个C源代码分析器」· C语言 代码 · 共 61 行
C
61 行
#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <termios.h>/* Use this variable to remember original terminal attributes. */struct termios saved_attributes;void reset_input_mode (void){ tcsetattr (STDIN_FILENO, TCSANOW, &saved_attributes);}void set_input_mode (void){ struct termios tattr; char *name; /* Make sure stdin is a terminal. */ if (!isatty (STDIN_FILENO)) { fprintf (stderr, "Not a terminal.\n"); exit (EXIT_FAILURE); } /* Save the terminal attributes so we can restore them later. */ tcgetattr (STDIN_FILENO, &saved_attributes); atexit (reset_input_mode);/*@group*/ /* Set the funny terminal modes. */ tcgetattr (STDIN_FILENO, &tattr); tattr.c_lflag &= ~(ICANON|ECHO); /* Clear ICANON and ECHO. */ tattr.c_cc[VMIN] = 1; tattr.c_cc[VTIME] = 0; tcsetattr (STDIN_FILENO, TCSAFLUSH, &tattr);}/*@end group*/intmain (void){ char c; set_input_mode (); while (1) { read (STDIN_FILENO, &c, 1); if (c == '\004') /* @kbd{C-d} */ break; else putchar (c); } return EXIT_SUCCESS;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?