Die Tastaturcodes des ST

Normale Eingaberoutinen (Read, Input, ...), egal welche Sprache, liefern meist nur den ASCII-Code des eingegebenen Zeichens. Beim ST ist jeder Taste allerdings ein weiterer Code zugeteilt, der SCAN-Code. Mit ihm kommt man auch an die Funk-tions- und andere Sondertasten heran, die keinem ASCII-Zeichen entsprechen.

Dazu ist im Betriebssystem eine Routine enthalten, die dem Anwender diese beiden Codes liefert. Diese Funktion (‘GEMDOS(l)’) trägt den Namen CO-NIN und ist durch den entsprechenden GEMDOS-Aufruf(Trap #1) erreichbar. Zurück bekommt man einen 16 Bit Wert, der in den oberen 8 Bit den SCAN-Code und in den unteren 8 Bit den ASCII-Code der gedrückten Tasten enthält. Der Aufruf dieser GEMDOS-Funktion ist eigentlich in allen Programmiersprachen (z. B. C, Pascal, Modula) und sogar in Basic kein Problem, zumindest in GfA- und Omikron-Basic.

Das Beispielprogramm wurde in GfA-Basic geschrieben und zeigt in einfacher Weise, wie man die Funktionstasten sowie die HELP und UNDO-Tasten abfragt. Die Abfragefunktion selbst wurde nicht durch CONIN, sondern über den ON MENU Befehl realisiert. Dieser ermöglicht eine komfortable Programmsteuerung, wie sie bisher in Basic unmöglich war. Er sorgt dafür, daß bei einem entsprechenden Ereignis, also in diesem Fall bei einer gedrückten Taste, zur Prozedur Tastenmenu verzweigt wird, wo die Auswertung erfolgt.

Der Tastenwert, also die 16 Bit, steht dort in der Variablen MENU(14) zur Verfügung. Aus dieser Zahl erhält man durch UND-Verknüpfen dieses Wertes mit 255 den ASCII-Code. Den SCAN-Code hingegen kann man durch

Teilen des 16-Bit-Wertes durch 256 ausfiltern. Die daraus entstehenden Zahlen stimmen mit der Tabelle überein.

Viel Erfolg beim Experimentieren.

    ' Programm Tastenbelegung
    '
    '
    On Menu Key Gosub Tastenmenu
    '
    Do
        On Menu
    Loop
    '
    '
    Procedure Tastenmenu 
        ' SCAN-Code sieben 
        Taste=Menu(14) Div 256 
        Print Hex$(Taste)''
        On Taste-&H3A Gosub F1.F2
        On Taste—&H60 Gosub Undo,Help
    Return
    '
    Procedure F1
        Alert 1,"Hier spricht F1",1," Toll ",Dum
    Return
    '
    Procedure F2
        Alert 1,"F2 hat auch|was zu sagen",1,"Na sowas",Dum
    Return
    '
    Procedure Undo
        Alert 1." Undo | ist auch | möglich",1," Wow !!", Dum
    Return
    '
    Procedure Help
        Alert 1." |Hilfe gibt's nicht",1,"Schade",Dum
    Return

Die Tastaturcodes



Links

Copyright-Bestimmungen: siehe Über diese Seite
Classic Computer Magazines
[ Join Now | Ring Hub | Random | << Prev | Next >> ]