Browse Source

+ added an interactive keyboard unit test

git-svn-id: branches/unicodekvm@40088 -
nickysn 6 years ago
parent
commit
82b2e8a080
2 changed files with 33 additions and 0 deletions
  1. 1 0
      .gitattributes
  2. 32 0
      packages/rtl-console/tests/kbd1.pp

+ 1 - 0
.gitattributes

@@ -7421,6 +7421,7 @@ packages/rtl-console/src/win16/crt.pp svneol=native#text/plain
 packages/rtl-console/src/win16/keyboard.pp svneol=native#text/plain
 packages/rtl-console/src/win16/keyboard.pp svneol=native#text/plain
 packages/rtl-console/src/win16/mouse.pp svneol=native#text/plain
 packages/rtl-console/src/win16/mouse.pp svneol=native#text/plain
 packages/rtl-console/src/win16/video.pp svneol=native#text/plain
 packages/rtl-console/src/win16/video.pp svneol=native#text/plain
+packages/rtl-console/tests/kbd1.pp svneol=native#text/plain
 packages/rtl-extra/Makefile svneol=native#text/plain
 packages/rtl-extra/Makefile svneol=native#text/plain
 packages/rtl-extra/Makefile.fpc svneol=native#text/plain
 packages/rtl-extra/Makefile.fpc svneol=native#text/plain
 packages/rtl-extra/Makefile.fpc.fpcmake svneol=native#text/plain
 packages/rtl-extra/Makefile.fpc.fpcmake svneol=native#text/plain

+ 32 - 0
packages/rtl-console/tests/kbd1.pp

@@ -0,0 +1,32 @@
+program kbd1;
+
+uses
+  keyboard;
+
+procedure ShowKeyEvent(K: TKeyEvent);
+begin
+  case GetKeyEventFlags(K) of
+    kbASCII    : Writeln('ASCII key');
+    kbUniCode  : Writeln('Unicode key');
+    kbFnKey    : Writeln('Function key');
+    kbPhys     : Writeln('Physical key');
+    kbReleased : Writeln('Released key event');
+  end;
+  Writeln('Got key : ', KeyEventToString(K));
+end;
+
+var
+  K: TKeyEvent;
+begin
+  InitKeyboard;
+  Writeln('Press keys, press "q" to end.');
+  repeat
+    K:=GetKeyEvent;
+    Write('Before translation: ');
+    ShowKeyEvent(K);
+    K:=TranslateKeyEvent(K);
+    Write('After translation: ');
+    ShowKeyEvent(K);
+  until (GetKeyEventChar(K)='q');
+  DoneKeyboard;
+end.