home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / MAXONPASCAL3.DMS / in.adf / DEMOS-OS1.3 / SysProg / KeyCodes.p < prev    next >
Encoding:
Text File  |  1994-07-23  |  2.0 KB  |  75 lines

  1. {MaxonPASCAL3-Anpassung / Test:  Falk Zühlsdorff (PackMAN) 1994 }
  2.  
  3. Program KeyCodes;
  4. Var
  5.  Zeiger: ^Byte;
  6.  LastKey: Byte;
  7.  
  8.  Procedure Decode(i: integer);
  9.    { Bezeichnung der Taste mit dem Code "i" ausgeben }
  10.    Var Zeile1, Zeile2, Zeile3, Zeile4: String[16];
  11.    Begin
  12.      Zeile1:= '~1234567890ß´\';
  13.      Zeile2:= 'QWERTZUIOPÜ+';
  14.      Zeile3:= 'ASDFGHJKLÖÄ#';
  15.      Zeile4:= '<YXCVBNM,.-';
  16.  
  17.      If (i >= $50) and (i <= $59) Then
  18.        write('Funktionstaste ', i-$4f)
  19.      Else
  20.       If (i >= $00) and (i <= $0d) Then
  21.         write(Zeile1[i+1])
  22.       Else
  23.       If (i >= $10) and (i <= $1b) Then
  24.         write(Zeile2[i-$0f])
  25.        Else
  26.        If (i >= $20) and (i <= $2b) Then
  27.         write(Zeile3[i-$1f])
  28.        Else
  29.         If (i >= $30) and (i <= $3a) Then
  30.          write(Zeile4[i-$2f])
  31.         Else
  32.          Case i of
  33.           $40: write('Space');
  34.           $41: write('Backspace');
  35.           $42: write('Tab');
  36.           $43: write('Enter');
  37.           $44: write('Return');
  38.           $45: write('Escape');
  39.           $46: write('Delete');
  40.           $4b: write('- im Ziffernblock');
  41.           $4c: write('Cursor Hoch');
  42.           $4d: write('Cursor Runter');
  43.           $4e: write('Cursor Rechts');
  44.           $4f: write('Cursor Links');
  45.           $5e: write('+ im Ziffernblock');
  46.           $5f: write('Help');
  47.           $60: write('Linkes Shift');
  48.           $61: write('Rechtes Shift');
  49.           $62: write('Caps Lock');
  50.           $63: write('Ctrl');
  51.           $64: write('Linkes Alt');
  52.           $65: write('Rechtes Alt');
  53.           $66: write('C=');
  54.           $67: write('Amiga');
  55.          Otherwise
  56.           write('Unbekannte Taste Nr. ',i);
  57.          End;
  58.    End;
  59.  
  60. Begin
  61.  Zeiger := Ptr($bfec01);
  62.  LastKey := Zeiger^;
  63.  writeln('Beenden mit RETURN');
  64.  writeln;
  65.  Repeat
  66.    While Zeiger^ = LastKey Do ; { auf andere Taste warten }
  67.    LastKey := Zeiger^;
  68.    Decode((LastKey div 2) xor $7f);
  69.    If odd(LastKey) Then
  70.      writeln(' gedrückt.')
  71.    Else
  72.      writeln(' losgelassen.');
  73.  Until LastKey=2*$3b
  74. End.
  75.