That didn't work. I've even tried using the example that comes with FreePascal, but that didn't work either:

[pascal]program example1;

{ This program demonstrates the GetKeyEvent function }

uses keyboard;

Var
K : TKeyEvent;

begin
InitKeyBoard;
Writeln('Press keys, press "q" to end.');
Repeat
K:=GetKeyEvent;
K:=TranslateKeyEvent(K);
Write('Got key event with ');
Case GetKeyEventFlags(K) of
kbASCII : Writeln('ASCII key');
kbUniCode : Writeln('Unicode key');
kbFnKey : Writeln('Function key');
kbPhys : Writeln('Physical key');
kbReleased : Writeln('Released key event');
end;
K:=TranslateKeyEvent(K);
Writeln('Got key : ',KeyEventToString(K));
Until (GetKeyEventChar(K)='q');
DoneKeyBoard;
end.
[/pascal]

Can anybody get the above code to report 'Released key event'?