setterm.c

来自「操作系统源代码」· C语言 代码 · 共 77 行

C
77
字号
#include <curses.h>#include "curspriv.h"_PROTOTYPE( static void ttysetflags, (void) );static void ttysetflags(){  _tty.c_iflag |= ICRNL | IXON;  _tty.c_oflag |= OPOST | ONLCR;  _tty.c_lflag |= ECHO | ICANON | IEXTEN | ISIG;  if (_cursvar.rawmode) {	_tty.c_iflag &= ~(ICRNL | IXON);	_tty.c_oflag &= ~(OPOST);	_tty.c_lflag &= ~(ICANON | IEXTEN | ISIG);  }  if (_cursvar.cbrkmode) {	_tty.c_lflag &= ~(ICANON);  }  if (!_cursvar.echoit) {	_tty.c_lflag &= ~(ECHO | ECHONL);  }  if (NONL) {	_tty.c_iflag &= ~(ICRNL);	_tty.c_oflag &= ~(ONLCR);  }  tcsetattr(0, TCSANOW, &_tty);}				/* ttysetflags */void raw(){  _cursvar.rawmode = TRUE;  ttysetflags();}				/* raw */void noraw(){  _cursvar.rawmode = FALSE;  ttysetflags();}				/* noraw */void echo(){  _cursvar.echoit = TRUE;  ttysetflags();}void noecho(){  _cursvar.echoit = FALSE;  ttysetflags();}void nl(){  NONL = FALSE;  ttysetflags();}				/* nl */void nonl(){  NONL = TRUE;  ttysetflags();}				/* nonl */void cbreak(){  _cursvar.cbrkmode = TRUE;  ttysetflags();}				/* cbreak */void nocbreak(){  _cursvar.cbrkmode = FALSE;  ttysetflags();}				/* nocbreak */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?