mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-28 00:23:52 +02:00
40 lines
867 B
ObjectPascal
40 lines
867 B
ObjectPascal
program test_event;
|
|
|
|
{$MODE OBJFPC}
|
|
|
|
uses
|
|
ncurses, sysutils;
|
|
|
|
|
|
var
|
|
ch: chtype;
|
|
begin
|
|
try
|
|
initscr();
|
|
noecho();
|
|
clear();
|
|
cbreak();
|
|
keypad(stdscr, TRUE);
|
|
meta(stdscr, TRUE);
|
|
mousemask(1, nil);
|
|
|
|
mvaddstr(1, 1,'press F10 or q to exit');
|
|
mvaddstr(2, 1,'press 1 to cbreak mode');
|
|
mvaddstr(3, 1,'press 2 to raw mode');
|
|
mvaddstr(4, 1,'press 3 to halfdelay(10) mode');
|
|
repeat
|
|
ch := getch;
|
|
mvaddstr(LINES - 1, 1,' ');
|
|
case ch of
|
|
ERR: mvaddstr(LINES - 1, 1,'timeout: 1 sec');
|
|
chtype('1'): cbreak();
|
|
chtype('2'): raw();
|
|
chtype('3'): halfdelay(10);
|
|
else
|
|
mvaddstr(LINES - 1, 1,PChar(Format('name:%-14s code:%d', [ keyname(ch), ch ] )));
|
|
end;
|
|
until (ch = chtype('q')) OR (ch = KEY_F(10));
|
|
finally
|
|
endwin();
|
|
end;
|
|
end. |