This is an old version from the tos.hyp. The new is on GitHub!

HomeXBIOSSpezialbefehleXBIOS-Funktionsliste

4.20 Tastaturfunktionen

Bioskeys Bios-Tabelle für Tastaturcodes zurücksetzen.
Kbrate Auto-Repeat der Tastatur ändern oder ermitteln.
Keytbl Neue Tabelle für Tastaturcodes vorgeben.

Querverweis: ASCII-Tabelle   Scan-Code Tabelle

4.20.1 Bioskeys

Name: »Bios standard keys« - Tastatur reinitialisieren.
Xbiosnummer: 24
Deklaration: void Bioskeys( void );
Beschreibung: Bioskeys ist eine XBIOS-Routine zur Re-Initialisierung der Tastatur-Codes. Dies ist meist nur dann nötig, wenn die Tastatur mit Hilfe der Funktion Keytbl umprogrammiert wurde.
Ergebnis: Die Funktion liefert kein Ergebnis.
Verfügbar: Alle TOS Versionen
Gruppe: Tastaturfunktionen
Querverweis: Binding   Keytbl

4.20.1.1 Bindings für Bioskeys

C: #include

void Bioskeys( void );
Assembler:
move.w    #24,-(sp)    ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #2,sp        ; Stack korrigieren

4.20.2 Kbrate

Name: »keyboard rate« - legt die Autorepeat-Rate der Tastatur fest.
Xbiosnummer: 35
Deklaration: int16_t Kbrate( int16_t initial, int16_t repeat );
Beschreibung: Die XBIOS-Routine Kbrate ermittelt oder ändert die aktuelle Auto-Repeat-Geschwindigkeit der Tastatur. Es gilt:
Parameter Bedeutung
initial Ansprechzeit bis zur ersten Wiederholung (in 20ms). Ein Wert von -1 bedeutet keine Veränderung.
repeat Wiederholungsgeschwindigkeit in 20ms. Ein Wert von -1 bedeutet in diesem Zusammenhang keine Veränderung.
Ergebnis: Die Funktion liefert als Ergebnis die Einstellung des Auto-Repeat-Modus, und zwar wie folgt:

Bits 0..7 : bisheriger repeat-Wert
Bits 8..15: bisheriger initial-Wert
Verfügbar: Alle TOS Versionen.
Gruppe: Tastaturfunktionen
Querverweis: Binding

4.20.2.1 Bindings für Kbrate

C: #include

int16_t Kbrate( int16_t initial, int16_t repeat );
Assembler:
move.w    repeat,-(sp)  ; Offset 4
move.w    initial,-(sp) ; Offset 2
move.w    #35,-(sp)     ; Offset 0
trap      #14           ; XBIOS aufrufen
addq.l    #6,sp         ; Stack korrigieren

4.20.3 Keytbl

Name: »key table« - definiert die Umsetzungstabelle der Tastatur von Scan-Codes in Tastatur-Codes.
Xbiosnummer: 16
Deklaration: KEYTAB *Keytbl( void *unshift, void *shift, void *capslock );
Beschreibung: Keytbl ist eine XBIOS-Funktion mit deren Hilfe eine neue Tastatur-Tabelle für die Umsetzung von Scan-Codes in Tastatur-Codes vorgenommen werden kann. Es gilt:
Parameter Bedeutung
   
unshift Zeiger auf unshift-Tabelle, oder -1
shift Zeiger auf shift-Tabelle, oder -1
capslock Zeiger auf capslock-Tabelle, oder -1


Hinweis: Ein Code wird umgerechnet, indem der Scancode der betreffenden Taste als Index in die Tabelle (von ASCII-Zeichen) verwendet wird. Jede der Tabellen besitzt Platz für 128 Einträge, obwohl Tastenkombinationen mit höherem Scancode existieren.
Ergebnis: Die Funktion liefert als Ergebnis einen Zeiger auf die Struktur KEYTAB.
Verfügbar: Alle TOS Versionen.
Gruppe: Tastaturfunktionen
Querverweis: Binding   Bioskeys   ASCII-Tabelle   Scan-Codes

4.20.3.1 Bindings für Keytbl

C: #include

KEYTAB *Keytbl( void *unshift, void *shift, void *capslock );
Assembler:
pea       capslock     ; Offset 10
pea       shift        ; Offset  6
pea       unshift      ; Offset  2
move.w    #16,-(sp)    ; Offset  0
trap      #14          ; XBIOS aufrufen
lea       $E(sp),sp    ; Stack korrigieren

HomeXBIOSSpezialbefehleXBIOS-Funktionsliste