
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. Mehr ...
#include <device/keyboard.h>
Öffentliche Methoden | |
Keyboard () | |
Konstruktor. Mehr ... | |
void | plugin () |
'Anstöpseln' der Tastatur. Mehr ... | |
void | trigger () |
Bearbeitung der Tastaturunterbrechung. Mehr ... | |
![]() | |
Gate () | |
Konstruktor. Mehr ... | |
virtual | ~Gate () |
Destruktor. Mehr ... | |
![]() | |
Keyboard_Controller () | |
Konstruktor; Initialisierung der Tastatur. Mehr ... | |
Key | key_hit () |
Dient der Tastaturabfrage nach dem Auftreten einer Tastatur- unterbrechung. Mehr ... | |
void | set_repeat_rate (int speed, int delay) |
Funktion zum Einstellen der Wiederholungsrate der Tastatur. Mehr ... | |
void | set_led (LED led, bool on) |
Setzt oder löscht die angegebene Leuchtdiode. Mehr ... | |
Weitere Geerbte Elemente | |
![]() | |
enum | LED { LED_SCROLL_LOCK = 1 << 0, LED_NUM_LOCK = 1 << 1, LED_CAPS_LOCK = 1 << 2 } |
Namen der LEDs. Mehr ... | |
![]() | |
static void | reboot () |
Führt einen Neustart des Rechners durch. Ja, beim PC macht das der Tastaturcontroller. Mehr ... | |
![]() | |
void | drainKeyboardBuffer () |
Leert den Tastaturpuffer vollständig. Mehr ... | |
![]() | |
Key_Decoder () | |
Konstruktor für den Tastendekoder. | |
Key | decode (unsigned char code) |
Interpretiert die Make und Break-Codes der Tastatur und liefert den Scancode und Informationen darüber, welche zusätzlichen Tasten wie Shift und Ctrl gedrückt wurden. Mehr ... | |
![]() | |
static void | send_command (unsigned char cmd, unsigned char data) |
Sendet einen Befehl an den Tastaturprozessor. Mehr ... | |
static void | send_byte (unsigned char byte) |
Sendet ein Datum an den Tastaturprozessor. Mehr ... | |
![]() | |
bool | status [Key::Scancode::KEYS] |
Aktueller Status (gedrückt oder losgelassen) der Tasten. | |
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.
|
inline |
Konstruktor.
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 – bei levelgesteuerten Unterbrechungen (sonst könnte eine weitere CPU einen IRQ erhalten bevor die erste Abarbeitung abgeschlossen ist).
|
virtual |
Bearbeitung der Tastaturunterbrechung.
Hier soll die Bearbeitung des von der Tastatur ausgelösten Interrupts erfolgen. trigger gibt dazu entsprechend gültige Zeichen auf einer eigenen Zeile auf dem Bildschirm aus. Wird die Tastenkombination [ctrl]-[alt]-[delete]
gedrückt, soll ein Reboot ausgelöst werden.
Implementiert Gate.