fpc/packages/ncurses/examples/tevent.pp
2008-05-04 15:51:26 +00:00

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.