summaryrefslogtreecommitdiff
path: root/conio.inc
diff options
context:
space:
mode:
authorhpa <hpa>2004-12-01 03:02:40 +0000
committerhpa <hpa>2004-12-01 03:02:40 +0000
commitf74fc98b4739054fa8e9077acfab204f357f2dcd (patch)
tree868dad5e6b367e8d5f35a0d408b8af8b47a46fcd /conio.inc
parentc355263ecb372c2a4981241ed43a0c2719563db3 (diff)
downloadsyslinux-f74fc98b4739054fa8e9077acfab204f357f2dcd.tar.gz
Use the extended keyboard handling functions.
Diffstat (limited to 'conio.inc')
-rw-r--r--conio.inc8
1 files changed, 6 insertions, 2 deletions
diff --git a/conio.inc b/conio.inc
index a0a2063b..4210061e 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