Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Übungen zu BS - Aufgaben (WS 2013/14)

Die Klasse Keyboard stellt die Abstraktion der Tastatur dar. Mehr ...

#include <keyboard.h>

Klassendiagramm für Keyboard:
Zusammengehörigkeiten von Keyboard:

Öffentliche Methoden

 Keyboard ()
 Konstruktor.
void plugin ()
 'Anstöpseln' der Tastatur.
void trigger ()
 Unterbrechungsbehandlungsroutine.
- Öffentliche Methoden geerbt von Gate
 Gate ()
 Konstruktor.
virtual ~Gate ()
 Destruktor.
- Öffentliche Methoden geerbt von Keyboard_Controller
 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.

Weitere Geerbte Elemente

- Öffentliche Typen geerbt von Keyboard_Controller
enum  led_t { led_caps_lock = 4, led_num_lock = 2, led_scroll_lock = 1 }
 Namen der LEDs. Mehr ...
- Geschützte Methoden geerbt von Keyboard_Controller
void drainKeyboardBuffer ()
 Leert den Tastaturpuffer vollständig.

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::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.

void Keyboard::trigger ( )
virtual

Unterbrechungsbehandlungsroutine.

Diese Methode wird sofort nach Auftreten der Unterbrechung asynchron zu anderen Kernaktivitäten ausgeführt. Da sie als rein virtuelle Methode implementiert ist, muss sie durch die abgeleiteten Klassen spezifiziert werden.

Implementiert Gate.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: