home *** CD-ROM | disk | FTP | other *** search
- {MaxonPASCAL3-Anpassung / Test: Falk Zühlsdorff (PackMAN) 1994 }
-
- Program KeyCodes;
- Var
- Zeiger: ^Byte;
- LastKey: Byte;
-
- Procedure Decode(i: integer);
- { Bezeichnung der Taste mit dem Code "i" ausgeben }
- Var Zeile1, Zeile2, Zeile3, Zeile4: String[16];
- Begin
- Zeile1:= '~1234567890ß´\';
- Zeile2:= 'QWERTZUIOPÜ+';
- Zeile3:= 'ASDFGHJKLÖÄ#';
- Zeile4:= '<YXCVBNM,.-';
-
- If (i >= $50) and (i <= $59) Then
- write('Funktionstaste ', i-$4f)
- Else
- If (i >= $00) and (i <= $0d) Then
- write(Zeile1[i+1])
- Else
- If (i >= $10) and (i <= $1b) Then
- write(Zeile2[i-$0f])
- Else
- If (i >= $20) and (i <= $2b) Then
- write(Zeile3[i-$1f])
- Else
- If (i >= $30) and (i <= $3a) Then
- write(Zeile4[i-$2f])
- Else
- Case i of
- $40: write('Space');
- $41: write('Backspace');
- $42: write('Tab');
- $43: write('Enter');
- $44: write('Return');
- $45: write('Escape');
- $46: write('Delete');
- $4b: write('- im Ziffernblock');
- $4c: write('Cursor Hoch');
- $4d: write('Cursor Runter');
- $4e: write('Cursor Rechts');
- $4f: write('Cursor Links');
- $5e: write('+ im Ziffernblock');
- $5f: write('Help');
- $60: write('Linkes Shift');
- $61: write('Rechtes Shift');
- $62: write('Caps Lock');
- $63: write('Ctrl');
- $64: write('Linkes Alt');
- $65: write('Rechtes Alt');
- $66: write('C=');
- $67: write('Amiga');
- Otherwise
- write('Unbekannte Taste Nr. ',i);
- End;
- End;
-
- Begin
- Zeiger := Ptr($bfec01);
- LastKey := Zeiger^;
- writeln('Beenden mit RETURN');
- writeln;
- Repeat
- While Zeiger^ = LastKey Do ; { auf andere Taste warten }
- LastKey := Zeiger^;
- Decode((LastKey div 2) xor $7f);
- If odd(LastKey) Then
- writeln(' gedrückt.')
- Else
- writeln(' losgelassen.');
- Until LastKey=2*$3b
- End.
-