[Back to KEYBOARD SWAG index] [Back to Main SWAG index] [Original]
{From: MARK OUELLET}
{ FLUSH/STUFF Keyboard w/INT21}
PROGRAM StuffKbdTest;
uses dos;
  procedure FlushKbd; Assembler;
    asm
      Mov AX, $0C00;
      Int 21h;
    end;
  procedure StuffKbd(S:string);
        var
      Regs : registers;
      x : byte;
      BufferFull : boolean;
    begin
      FlushKbd;
      Inc(S[0]);
      S[byte(S[0])] := #13;
      x := 1;
      repeat
        Regs.AH := $05;
        Regs.CL := Byte(S[x]);
        Intr($16, Regs);
        BufferFull := boolean(Regs.AL);
        inc(x);
      until BufferFull or (x>byte(S[0]));
    end;
  begin
        StuffKbd('Dir C:\');
  end.
[Back to KEYBOARD SWAG index] [Back to Main SWAG index] [Original]