Autor: Marcin 'Qrczak' Kowalczyk (qrczak_at_knm.org.pl)
Data: Wed 03 Feb 1999 - 15:31:02 MET
Followup-To: pl.comp.programming
On Wed, 3 Feb 1999, Darek Uzar wrote:
> > W 9? W życiu. Klawisza jeszcze nie ma bufora klawiatury. Przerwanie 9
> > dopiero ma za zadanie go tam wsadzić.
>
> A co powiesz gdyby zrobic tak, zeby w nowej obsludze przerwania 9
> najpierw wywolac stare, a pozniej odczytac co wstawilo do bufora
> klawiatury ?
Czym odczytać? 16h / ReadKey bierze nie z tego końca bufora co trzeba
(chyba że nasz program wszystkie klawisze konsumuje sam i zadbamy
o wyczyszczenie bufora na początku programu - tak żeby w buforze siedział
zawsze najwyżej jeden klawisz).
Dobrą metodą przy "filtrowaniu" klawiszy jest zapamiętanie słowa spod
40h:1Ch i wywołanie oryginalnego przerwania. Jeśli teraz 40h:1Ch się
zmieniło, to w słowie pod 40h:[zapamiętana wartość] mamy przed chwilą
wciśnięty klawisz (z tym że jeśli pod spodem siedzi jakiś inny rezydent
zmieniający działanie klawiatury, to teoretycznie jest możliwe, że
naciśnięcie klawisza wypluło więcej rzeczy do bufora - jeśli ten rezydent
to jakieś zapamiętywanie ciągów klawiszy i odtwarzanie).
-- __("< Marcin Kowalczyk * qrczak_at_knm.org.pl http://kki.net.pl/qrczak/ \__/ GCS/M d- s+:-- a22 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++ ^^ W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t QRCZAK 5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-
To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 18:09:59 MET DST