diff options
author | Daniel Serpell <daniel.serpell@gmail.com> | 2020-05-11 20:55:01 -0400 |
---|---|---|
committer | Daniel Serpell <daniel.serpell@gmail.com> | 2020-05-11 20:55:01 -0400 |
commit | caa49053f601df1dbb62194d62f69b533e003608 (patch) | |
tree | 4451a316a2ea338c4d3471fab9c06d7a8ba20679 | |
parent | ef46cac9c795acf9511c2337fc329f23fa2f057c (diff) | |
download | emu2-caa49053f601df1dbb62194d62f69b533e003608.tar.gz |
Suspend raw keyboard handling before READ from CON.
-rw-r--r-- | src/dos.c | 1 | ||||
-rw-r--r-- | src/keyb.c | 8 | ||||
-rw-r--r-- | src/keyb.h | 1 |
3 files changed, 9 insertions, 1 deletions
@@ -1320,6 +1320,7 @@ void int21() if(devinfo[cpuGetBX()] == 0x80D3) { int i, max = cpuGetCX(), cr = 0; + suspend_keyboard(); for(i = 0; i < max; i++) { int c = fgetc(f); @@ -392,8 +392,14 @@ static void init_keyboard(void) exit(1); } atexit(exit_keyboard); - set_raw_term(1); } + set_raw_term(1); +} + +// Disables keyboard support - will be enabled again if needed +void suspend_keyboard(void) +{ + set_raw_term(0); } int kbhit(void) @@ -6,3 +6,4 @@ int getch(int detect_brk); int kbhit(void); void int16(void); uint8_t keyb_read_port(unsigned port); +void suspend_keyboard(void); |