# s-lang output for DCT, by Shiar
+# 1.12.0 200411032145 - define main loop
+# - use slang key reading functions
# 1.11.0 200410291300 -
use strict;
use warnings;
-use Term::Slang qw(:common :screen :term :CONSTANTS);
+use Term::Slang qw(:all);
push @{$hook{init}}, sub {
SLtt_get_terminfo and exit;
SLsmg_write_string(" $error ");
SLsmg_refresh;
- ReadKey; # wait for confirm
- 1 while defined ReadKey(-1); # clear key buffer
+ SLang_getkey; # wait for confirm
+ SLang_getkey while SLang_input_pending(0)==1; # clear key buffer
}; # showerror
push @{$hook{showstack}}, sub {
SLsmg_refresh;
}; # showentry
+$hook{main} = sub {
+ while (1) {
+ draw();
+
+ my $key = chr SLang_getkey; # wait for user input
+ if ($key eq chr 27) {
+ $key .= chr SLang_getkey while SLang_input_pending(0)==1; # read additional keys
+ } # escape sequence
+# error(join " ", map ord, split //, $key); #debug
+ onkey($key);
+ } # input loop
+}; # main
+
return {
author => "Shiar",
title => "slang output",
- version => "1.11",
+ version => "1.12",
};