mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 11:29:24 +02:00
+ 83/84-key keyboard support added to unit crt
git-svn-id: trunk@25445 -
This commit is contained in:
parent
766b7745bd
commit
76cbda0983
@ -348,9 +348,24 @@ End;
|
||||
*************************************************************************}
|
||||
|
||||
var
|
||||
keyboard_type: byte; { 0=83/84-key keyboard, $10=101/102+ keyboard }
|
||||
is_last : boolean;
|
||||
last : char;
|
||||
|
||||
procedure DetectKeyboard;
|
||||
var
|
||||
regs: registers;
|
||||
begin
|
||||
keyboard_type:=0;
|
||||
if (Mem[$40:$96] and $10)<>0 then
|
||||
begin
|
||||
regs.ax:=$1200;
|
||||
intr($16,regs);
|
||||
if regs.ax<>$1200 then
|
||||
keyboard_type:=$10;
|
||||
end;
|
||||
end;
|
||||
|
||||
function readkey : char;
|
||||
var
|
||||
char2 : char;
|
||||
@ -364,7 +379,7 @@ begin
|
||||
end
|
||||
else
|
||||
begin
|
||||
regs.ah:=$10;
|
||||
regs.ah:=keyboard_type;
|
||||
intr($16,regs);
|
||||
if (regs.al=$e0) and (regs.ah<>0) then
|
||||
regs.al:=0;
|
||||
@ -391,7 +406,7 @@ begin
|
||||
end
|
||||
else
|
||||
begin
|
||||
regs.ah:=$11;
|
||||
regs.ah:=keyboard_type+1;
|
||||
intr($16,regs);
|
||||
keypressed:=((regs.flags and fZero) = 0);
|
||||
end;
|
||||
@ -780,6 +795,8 @@ end;
|
||||
var
|
||||
x,y : longint;
|
||||
begin
|
||||
{ Detect keyboard type }
|
||||
DetectKeyboard;
|
||||
{ Load startup values }
|
||||
ScreenWidth:=GetScreenWidth;
|
||||
ScreenHeight:=GetScreenHeight;
|
||||
|
Loading…
Reference in New Issue
Block a user