Browse Source

+ Added examples 4 to 7

michael 24 years ago
parent
commit
b41cfaef2b
6 changed files with 114 additions and 2 deletions
  1. 2 2
      docs/kbdex/Makefile
  2. 4 0
      docs/kbdex/README
  3. 26 0
      docs/kbdex/ex4.pp
  4. 33 0
      docs/kbdex/ex5.pp
  5. 27 0
      docs/kbdex/ex6.pp
  6. 22 0
      docs/kbdex/ex7.pp

+ 2 - 2
docs/kbdex/Makefile

@@ -32,8 +32,8 @@ endif
 
 .PHONY: all tex clean
 
-OBJECTS=ex1 ex2 ex3
-# ex4 ex5 ex6 ex7 ex8 ex9 \
+OBJECTS=ex1 ex2 ex3 ex4 ex5 ex6 ex7
+# ex8 ex9 \
 #        ex10 ex11 ex12 ex13  ex14 ex15 ex16 ex17 ex18
 
 TEXOBJECTS=$(addsuffix .tex, $(OBJECTS))

+ 4 - 0
docs/kbdex/README

@@ -5,3 +5,7 @@ keybutil.pp contains some routines to convert keyevents to readable strings.
 ex1.pp contains an example of the GetKeyEvent function.
 ex2.pp contains an example of the GetKeyEventCode function.
 ex3.pp contains an example of the GetKeyEventShiftState function.
+ex4.pp contains an example of the PollKeyEvent function.
+ex5.pp contains an example of the PutKeyEvent function.
+ex6.pp contains an example of the PollShiftStateEvent function.
+ex7.pp contains an example of the IsFunctionKey function.

+ 26 - 0
docs/kbdex/ex4.pp

@@ -0,0 +1,26 @@
+program example4;
+
+{ This program demonstrates the PollKeyEvent function }
+
+uses keyboard, keybutil;
+
+Var
+  K : TKeyEvent;
+
+begin
+  InitKeyBoard;
+  Writeln('Press keys, press "q" to end.');
+  Repeat
+    K:=PollKeyEvent;
+    If k<>0 then
+      begin
+      K:=GetKeyEvent;
+      K:=TranslateKeyEvent(K);
+      writeln;
+      Writeln('Got key : ',KeyEventToString(K));
+      end
+    else
+      write('.');
+  Until (GetKeyEventChar(K)='q');
+  DoneKeyBoard;
+end.

+ 33 - 0
docs/kbdex/ex5.pp

@@ -0,0 +1,33 @@
+program example5;
+
+{ This program demonstrates the PutKeyEvent function }
+
+uses keyboard, keybutil;
+
+Var
+  K,k2 : TKeyEvent;
+
+begin
+  InitKeyBoard;
+  Writeln('Press keys, press "q" to end.');
+  K2:=0;
+  Repeat
+    K:=GetKeyEvent;
+    If k<>0 then
+      begin
+      if (k2 mod 2)=0 then
+        K2:=K+1
+      else
+        K2:=0;
+      K:=TranslateKeyEvent(K);
+      Writeln('Got key : ',KeyEventToString(K));
+      if (K2<>0) then
+        begin
+        PutKeyEvent(k2);
+        K2:=TranslateKeyEVent(K2);
+        Writeln('Put key : ',KeyEventToString(K2))
+        end
+      end
+  Until (GetKeyEventChar(K)='q');
+  DoneKeyBoard;
+end.

+ 27 - 0
docs/kbdex/ex6.pp

@@ -0,0 +1,27 @@
+program example6;
+
+{ This program demonstrates the PollShiftStateEvent function }
+
+uses keyboard, keybutil;
+
+Var
+  K : TKeyEvent;
+
+begin
+  InitKeyBoard;
+  Writeln('Press keys, press "q" to end.');
+  Repeat
+    K:=PollKeyEvent;
+    If k<>0 then
+      begin
+      K:=PollShiftStateEvent;
+      Writeln('Got shift state : ',ShiftStateToString(K,False));
+      // Consume the key. 
+      K:=GetKeyEvent;
+      K:=TranslateKeyEvent(K);
+      end
+{    else
+      write('.')};
+  Until (GetKeyEventChar(K)='q');
+  DoneKeyBoard;
+end.

+ 22 - 0
docs/kbdex/ex7.pp

@@ -0,0 +1,22 @@
+program example1;
+
+{ This program demonstrates the GetKeyEvent function }
+
+uses keyboard, keybutil;
+
+Var
+  K : TKeyEvent;
+
+begin
+  InitKeyBoard;
+  Writeln('Press keys, press "q" to end.');
+  Repeat
+    K:=GetKeyEvent;
+    K:=TranslateKeyEvent(K);
+    If IsFunctionKey(K) then
+      Writeln('Got function key : ',KeyEventToString(K))
+    else
+      Writeln('not a function key.');  
+  Until (GetKeyEventChar(K)='q');
+  DoneKeyBoard;
+end.