Home XBIOSXBIOS SpezialbefehleSpezialbefehle VIDIX-XBIOS-ErweiterungVIDIX-XBIOS-Erweiterung

4.21 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.21.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.
 
Seit KAOS 1.4.2 und MagiC liefert die Funktion einen Zeiger auf die Struktur: KEYBDPARMS
 
Verfügbar: Alle TOS Versionen
 
Gruppe: Tastaturfunktionen
 
Querverweis: Binding   Keytbl   Sconfig
 

4.21.1.1 Bindings für Bioskeys

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

4.21.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.21.2.1 Bindings für Kbrate

C: #include <tos.h>
 
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.21.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.21.3.1 Bindings für Keytbl

C: #include <tos.h>
 
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

Home XBIOSXBIOS SpezialbefehleSpezialbefehle VIDIX-XBIOS-ErweiterungVIDIX-XBIOS-Erweiterung