diff options
Diffstat (limited to 'init/init.c')
-rw-r--r-- | init/init.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/init/init.c b/init/init.c index e8a5f74d3..af10f98f0 100644 --- a/init/init.c +++ b/init/init.c @@ -201,6 +201,7 @@ static void message(int device, char *fmt, ...) } } +#define CTRLCHAR(ch) ((ch)&0x1f) /* Set terminal settings to reasonable defaults */ void set_term(int fd) @@ -210,14 +211,14 @@ void set_term(int fd) tcgetattr(fd, &tty); /* set control chars */ - tty.c_cc[VINTR] = 3; /* C-c */ - tty.c_cc[VQUIT] = 28; /* C-\ */ - tty.c_cc[VERASE] = 127; /* C-? */ - tty.c_cc[VKILL] = 21; /* C-u */ - tty.c_cc[VEOF] = 4; /* C-d */ - tty.c_cc[VSTART] = 17; /* C-q */ - tty.c_cc[VSTOP] = 19; /* C-s */ - tty.c_cc[VSUSP] = 26; /* C-z */ + tty.c_cc[VINTR] = CTRLCHAR('C'); /* Ctrl-C */ + tty.c_cc[VQUIT] = CTRLCHAR('\\'); /* Ctrl-\ */ + tty.c_cc[VERASE] = CTRLCHAR('?'); /* Ctrl-? */ + tty.c_cc[VKILL] = CTRLCHAR('U'); /* Ctrl-U */ + tty.c_cc[VEOF] = CTRLCHAR('D'); /* Ctrl-D */ + tty.c_cc[VSTOP] = CTRLCHAR('S'); /* Ctrl-S */ + tty.c_cc[VSTART] = CTRLCHAR('Q'); /* Ctrl-Q */ + tty.c_cc[VSUSP] = CTRLCHAR('Z'); /* Ctrl-Z */ /* use line dicipline 0 */ tty.c_line = 0; |