Mercurial > emacs
changeset 15203:5bda3e000c2c
(prev_console_mode): New variable.
(unset_kbd): Use prev_console_mode.
(reset_kbd): Set prev_console_mode. Call Fset_input_mode.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 10 May 1996 20:33:26 +0000 |
parents | 0a9e62f4f10b |
children | 881e3b9247f8 |
files | src/w32console.c |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/w32console.c Fri May 10 20:31:20 1996 +0000 +++ b/src/w32console.c Fri May 10 20:33:26 1996 +0000 @@ -80,6 +80,7 @@ HANDLE prev_screen, cur_screen; UCHAR char_attr, char_attr_normal, char_attr_reverse; HANDLE keyboard_handle; +DWORD prev_console_mode; /* Setting this as the ctrl handler prevents emacs from being killed when @@ -521,15 +522,18 @@ void unset_kbd (void) { - SetConsoleMode (keyboard_handle, ENABLE_PROCESSED_INPUT | ENABLE_LINE_INPUT | - ENABLE_ECHO_INPUT | ENABLE_MOUSE_INPUT); + SetConsoleMode (keyboard_handle, prev_console_mode); } void reset_kbd (void) { keyboard_handle = GetStdHandle (STD_INPUT_HANDLE); + GetConsoleMode (keyboard_handle, &prev_console_mode); SetConsoleMode (keyboard_handle, ENABLE_MOUSE_INPUT | ENABLE_WINDOW_INPUT); + + /* Try to use interrupt input; if we can't, then start polling. */ + Fset_input_mode (Qt, Qnil, Qt, Qnil); } typedef int (*term_hook) ();