Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultšt Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
Betriebssysteme
 
  Vorlesung
    - UnivIS-Infos
    - Inhalt
    - Folien
 
  Übungen
    - UnivIS-Infos
    - Inhalt
    - Ergänzendes Material
    - Terminübersicht
    - Aufgaben
       * Umgebung
       * Typische Fehler
       * A 1
       * A 2
       * A 3
       * A 4
       * A 5
       * A 6
       * A 7
 
  Evaluation
Department Informatik  >  Informatik 4  >  Lehre  >  WS 2007/08  >  Betriebssysteme  >  Übungen  >  Aufgaben  >  Aufgabe 5  >  Klasse Keyboard

Klasse Keyboard

Einordnung in die Gesamtstruktur

Modul
device
Basisklassen
Gate und Keyboard_Controller
abgeleitete Klassen
keine
Erstellungszeitpunkt
Aufgabe 2
Dateien
keyboard.h keyboard.cc

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.

öffentliche Methoden

void plugin ()
Mit dieser Methode wird die Tastatur initialisiert und "angestöpselt". Dazu muss sich das Keyboard Objekt bei der Plugbox plugbox anmelden und dem PIC Objekt pic mitteilen, dass Unterbrechungen der Tastatur fortan dem Prozessor gemeldet werden sollen.
bool prologue ()
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.

void epilogue ()
Hier wird das im Rahmen der Prolog-Behandlung ausgelesene Zeichen auf dem Bildschirm mit Hilfe des globalen CGA_Stream Objekts kout ausgegeben.
  Impressum   Datenschutz Stand: 2007-11-26 17:57   AG, WH