Die Klasse Keyboard stellt die Abstraktion der Tastatur dar.
Mehr ...
#include <keyboard.h>
Öffentliche Methoden |
| Keyboard () |
| Konstruktor.
|
void | plugin () |
| 'Anstöpseln' der Tastatur.
|
bool | prologue () |
| Prolog der Tastaturunterbrechung.
|
void | epilogue () |
| Epilog der Tastaturunterbrechung.
|
| Gate () |
| Konstruktor: Initialisierung der Attribute.
|
virtual | ~Gate () |
| Destruktor.
|
void | queued (bool q) |
| Speichert, ob das jeweilige Objekt sich gerade in einer Epilog-Warteschlange befindet.
|
bool | queued () |
| Methode zum Abfragen, ob sich das jeweilige Objekte gerade in einer Epilog-Warteschlange befindet.
|
| Keyboard_Controller () |
| Konstruktor; Initialisierung der Tastatur.
|
Key | key_hit () |
| Dient der Tastaturabfrage nach dem Auftreten einer Tastatur- unterbrechung.
|
void | reboot () |
| Führt einen Neustart des Rechners durch. Ja, beim PC macht das der Tastaturcontroller.
|
void | set_repeat_rate (int speed, int delay) |
| Funktion zum Einstellen der Wiederholungsrate der Tastatur.
|
void | set_led (led_t led, bool on) |
| Setzt oder löscht die angegebene Leuchtdiode.
|
Ausführliche Beschreibung
Die Klasse Keyboard stellt die Abstraktion der Tastatur dar.
Sie sorgt für die korrekte Initialisierung und vor allem für die Unterbrechungsbehandlung. Später wird Keyboard auch die Tastaturabfrage durch die Anwendung ermöglichen.
Dokumentation der Elementfunktionen
void Keyboard::epilogue |
( |
| ) |
|
|
virtual |
Epilog der Tastaturunterbrechung.
Hier wird das im Rahmen der Prolog-Behandlung ausgelesene Zeichen auf dem Bildschirm mit Hilfe des globalen CGA_Stream Objekts kout ausgegeben.
Erneute Implementation von Gate.
void Keyboard::plugin |
( |
| ) |
|
'Anstöpseln' der Tastatur.
Initialisierung der Tastatur und aktivieren der spezifischen Interruptbehandlung. Dazu muss sich das Keyboard Objekt bei der Plugbox plugbox anmelden und dem IOAPIC Objekt ioapic mitteilen, dass Unterbrechungen der Tastatur fortan dem Prozessor gemeldet werden sollen.
bool Keyboard::prologue |
( |
| ) |
|
|
virtual |
Prolog der Tastaturunterbrechung.
Mit dieser Methode wird auf die Unterbrechungen durch die Tastatur reagiert. Da bei jedem Tastendruck mehrere Unterbrechungen ausgelöst werden, ist nicht in jedem Fall mit einem verwertbaren ASCII Code zu rechnen. Nur wenn die Methode key_hit der Basisklasse Keyboard_Controller einen gültigen Key liefert, konnte ein vollständiger Scancode ermittelt werden. Für "normale" Tasten existiert dann auch ein ASCII Code ungleich Null.
Es soll die Ausführung eines Epilogs angefordert werden.
Implementiert Gate.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: