12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- {
- Keyboard example for the PTCPas library
- This source code is in the public domain
- }
- program KeyboardExample3;
- {$MODE objfpc}
- uses
- ptc;
- procedure DumpKey(AKey: IPTCKeyEvent);
- begin
- Writeln('Code=', AKey.Code:3, ', Unicode=$', HexStr(AKey.Unicode, 4),
- ', Press=', AKey.Press:5, ', Shift=', AKey.Shift:5, ', Alt=', AKey.Alt:5,
- ', Control=', AKey.Control:5);
- end;
- var
- console: IPTCConsole;
- format: IPTCFormat;
- key: IPTCKeyEvent;
- Done: Boolean;
- begin
- try
- try
- { create console }
- console := TPTCConsoleFactory.CreateNew;
- { enable key release events }
- console.KeyReleaseEnabled := True;
- { create format }
- format := TPTCFormatFactory.CreateNew(32, $00FF0000, $0000FF00, $000000FF);
- { open the console }
- console.open('Keyboard example 3', format);
- { main loop }
- Done := False;
- repeat
- { check for key press/release }
- while console.KeyPressed do
- begin
- console.ReadKey(key);
- case key.code of
- PTCKEY_ESCAPE:
- begin
- Done := True;
- Break;
- end;
- else
- DumpKey(key);
- end;
- end;
- { update console }
- console.update;
- until Done;
- finally
- if Assigned(console) then
- console.close;
- end;
- except
- on error: TPTCError do
- { report error }
- error.report;
- end;
- end.
|