From f74fc98b4739054fa8e9077acfab204f357f2dcd Mon Sep 17 00:00:00 2001 From: hpa Date: Wed, 1 Dec 2004 03:02:40 +0000 Subject: [PATCH] Use the extended keyboard handling functions. --- conio.inc | 8 ++++++-- ui.inc | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/conio.inc b/conio.inc index a0a2063..4210061 100644 --- a/conio.inc +++ b/conio.inc @@ -323,7 +323,7 @@ getchar: RESET_IDLE .again: DO_IDLE - mov ah,1 ; Poll keyboard + mov ah,11h ; Poll keyboard int 16h jnz .kbd ; Keyboard input? mov bx,[SerialPort] @@ -343,8 +343,12 @@ getchar: xchg dx,bx ; Data port in al,dx ret -.kbd: xor ax,ax ; Get keyboard input +.kbd: mov ah,10h ; Get keyboard input int 16h + cmp al,0E0h + jz .not_ext + xor al,al +.not_ext: and al,al jz .func_key mov bx,KbdMap ; Convert character sets diff --git a/ui.inc b/ui.inc index 8883381..796d5da 100644 --- a/ui.inc +++ b/ui.inc @@ -36,10 +36,10 @@ enter_command: ; out, or receive a character press at this time. Some dorky BIOSes stuff ; a return in the buffer on bootup, so wipe the keyboard buffer first. ; -clear_buffer: mov ah,1 ; Check for pending char +clear_buffer: mov ah,11h ; Check for pending char int 16h jz get_char_time - xor ax,ax ; Get char + mov ah,10h ; Get char int 16h jmp short clear_buffer get_char_time: -- 2.7.4