{***********************************************************************}
{									}
{ __FFlshKey  Fast flush of the keyboard buffer 			}
{									}
{ procedure __FFlshKey; 						}
{									}
{ Description This procedure flushes the keyboard buffer, that is, all	}
{	      remaining keystrokes are removed from the buffer.  It	}
{	      does no damage to flush an empty buffer.	The buffer is	}
{	      flushed by setting the head and tail pointers of the	}
{	      keyboard buffer equal.  This is very fast, does not	}
{	      call DOS, but does access the hardware directly and is	}
{	      therefore, quite machine dependent.  The procedure	}
{	      __FlushKey uses DOS to flush the keyboard buffer. 	}
{									}
{ Version     4.00 (C)Copyright Blaise Computing Inc.  1987		}
{_______________________________________________________________________}

procedure __FFlshKey;

  var
    KeyBuffer : _KeyBoard absolute _BIOSSEG:$001A;

  begin {__FFlshKey}

    Inline($FA);		       { Disable interrupts while	}
    with Keybuffer do		       { altering the keyboard buffer	}
      _BufferTail := _BufferHead;      { pointers.			}
    Inline($FB)

  end;	{__FFlshKey}
