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 1  >  Klasse Keyboard_Controller

Klasse Keyboard_Controller

Einordnung in die Gesamtstruktur

Modul
machine
Basisklassen
keine
abgeleitete Klassen
noch keine
Erstellungszeitpunkt
Aufgabe 1
Dateien
keyctrl.h keyctrl.cc

Beschreibung

Die Klasse Keyboard_Controller dient dazu, die PC Tastatur zu initialisieren und aus den gesendeten Make- und Break-Codes den Scan- und ASCII Code der gedrückten Taste zu bestimmen.

öffentliche Methoden

void init ()
Hiermit wird die Tastatur initialisiert.
Key key_hit ()
Holt den Code des letzten Tastendrucks vom Tastaturcontroller. Wenn eine sinnvolle Interpretation möglich ist, werden der Scancode, die gegebenenfalls gleichzeitig gedrückten "Modifier" Tasten (Shift, Ctrl, Alt, Capslock, usw.) und der ASCII Code der Taste als Objekt der Klasse Key zurückgeliefert. Wenn dagegen bloß eine der Spezialtasten Shift, Alt, CapsLock usw. gedrückt wurde, liefert die Methode ein ungültiges Key Objekt zurück. Ob das Ergebnis gültig oder nicht gültig ist, kann mit der Methode Key::valid() geprüft werden.
void reboot ()
Löst beim Prozessor ein Reset aus, das ein Neustarten des PCs bewirkt.
set_repeat_rate (int speed, int delay)
Mit dieser Methode kann die Wiederholungsrate der Tastatur festgelegt werden. Dabei bestimmt delay, wie lange eine Taste gedrückt gehalten werden muß, bevor die Tastaturwiederholung einsetzt. Möglich sind die Werte 0 für 250ms, 1 für 500ms, 2 für 750ms und 3 für 1000ms. Mit speed wird die eigentliche Wiederholungsrate festgelegt. Hierbei sind Werte zwischen 0 für 30 Zeichen pro Sekunde und 31 für 2 Zeichen pro Sekunde möglich.
void set_led (char led, bool on)
Hiermit kann eine der drei Tastatur-LEDs led::caps_lock, led::num_lock oder led::scroll_lock ein- bzw. ausgeschaltet werden.


  Impressum Stand: 2007-11-26 10:17   AG, WH