aboutsummaryrefslogtreecommitdiff
path: root/engines/mortevielle/keyboard.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mortevielle/keyboard.h')
-rw-r--r--engines/mortevielle/keyboard.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/engines/mortevielle/keyboard.h b/engines/mortevielle/keyboard.h
new file mode 100644
index 0000000000..9f8423a41f
--- /dev/null
+++ b/engines/mortevielle/keyboard.h
@@ -0,0 +1,59 @@
+char readkey1()
+ {
+ char c;
+
+ char readkey1_result;
+ input >> kbd >> c;
+ readkey1_result= c;
+ return readkey1_result;
+ }
+
+integer testou()
+ {
+ char ch;
+
+ integer testou_result;
+ input >> kbd >> ch;
+ switch (ch) {
+ case '\23' : sonoff= ! sonoff; break;
+ case '\1':
+ case '\3':
+ case '\5' : {
+ newgd= (cardinal)pred(integer,ord(ch)) >> 1;
+ testou_result= 61;
+ return testou_result;
+ }
+ break;
+ case '\10' : {
+ newgd= her;
+ testou_result= 61;
+ return testou_result;
+ }
+ break;
+ case '\24' : {
+ newgd= tan;
+ testou_result= 61;
+ return testou_result;
+ }
+ break;
+ case '\26' : if (set::of(1,2, eos).has(c_zzz))
+ {
+ zzuul(adcfiec+161,0,1644);
+ c_zzz=succ(integer,c_zzz);
+ testou_result=61;
+ return testou_result;
+ }
+ break;
+ case '\33' : if (keypressed()) input >> kbd >> ch; break;
+ }
+ testou_result=ord(ch);
+ return testou_result;
+ }
+
+void teskbd()
+ {
+ integer dum;
+
+ if (keypressed()) dum=testou();
+ }
+