So ich habe jetzt einen tastaturtreiber geschrieben; allerdings habe ich das problem, dass wenn ich die funktionen in einer Schleife verwende, ein Buchstabe mehrmals ausgelesen wird.
Das will ich nicht, ich will, dass danach einfach 0x00 aus dem Tastaturpuffer gelesen wird;
in einem tutorial wird das geschrieben:
irgendwie funktioniert das nicht wie ich mir das vorstelle;
wie kann ich es denn umgehen, dass das zeichen, dann mehrmals ausgelesen wird, muss ich dann unbedingt auf die break codes warten???
Das will ich nicht, ich will, dass danach einfach 0x00 aus dem Tastaturpuffer gelesen wird;
in einem tutorial wird das geschrieben:
Code: [Auswählen]
int temp = inportb(0x61);
outportb(0x61,temp | 0x80); // disable
outportb(0x61,temp & 0x7F); // and re-enable
so das habe ich mit nasm versucht umzusetzenCode: [Auswählen]
in al, 0x61; read
mov ah, al
or al, 10000000b
out 0x61, al; disablen
mov al, ah
and al, 01111111b
out 0x61, al; re-enablenirgendwie funktioniert das nicht wie ich mir das vorstelle;
wie kann ich es denn umgehen, dass das zeichen, dann mehrmals ausgelesen wird, muss ich dann unbedingt auf die break codes warten???

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken


Gespeichert
(wenn man mal kernelthreads außen vor lässt und einen monolithischen kernel annimmt)