testkbd.pas 766 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. uses
  2. Keyboard;
  3. function hexstr(val : longint;cnt : byte) : string;
  4. const
  5. HexTbl : array[0..15] of char='0123456789ABCDEF';
  6. var
  7. i : longint;
  8. begin
  9. hexstr[0]:=char(cnt);
  10. for i:=cnt downto 1 do
  11. begin
  12. hexstr[i]:=hextbl[val and $f];
  13. val:=val shr 4;
  14. end;
  15. end;
  16. var
  17. Key: TKeyEvent;
  18. Chr: Char;
  19. begin
  20. InitKeyboard;
  21. Chr := #0;
  22. while Chr <> #27 do begin
  23. Key := GetKeyEvent;
  24. writeln('KeyEvent: ',hexstr(key,8));
  25. Key:=translatekeyevent(key);
  26. if IsFunctionKey(Key) then begin
  27. WriteLn('Function key was pressed, Code: ', GetKeyEventCode(Key));
  28. end
  29. else begin
  30. Chr := GetKeyEventChar(Key);
  31. WriteLn('Normal key was pressed, character: ', Chr, ' (', Ord(Chr), ')');
  32. end;
  33. end;
  34. DoneKeyboard;
  35. end.