" Usínající?=" =?iso-8859-2?Q?klávesnice u notebooku

Vaclav Blaha vblaha na iol.cz
Pondělí Únor 7 23:24:16 CET 2000


Veros Kaplan wrote:
> DOS: Standardní ovladač klávesnice je v BIOSu a při stisku klávesy
> překládá ScanCode na ASCII-hodnotu a ukládá je do bufferu klávesnice
> (vyhrazená oblast někde v paměti). DOS pro klávesy chodí přes rutinu
> BIOSu, která tahá znaky z tohoto bufferu.


BIOS je taky jen obycejny program, ktery taky pri startu povesi svou
obsluhu na patricne irq. na teto urovni to ve vsech systemech funguje
stejne (i kdyz u m$ bych veril i na polling portu 0x60 :).
 
> Linux: Funguje to podobně, ovladač klávesnice sedí na přerušení, chytá
> klávesy a sází je do vlastních bufferů (pro každou VC jeden).

 
> Rozdíl by mohl být v tom, že při stisku klávesy v DOSu se volá
> přerušení, na kterém by teoreticky mohl viset "probouzeč" klávesnice.
> Windows3 toto přerušení ale také přepisují a neusínají.

povesit "probouzec" na preruseni pro cteni klaves (obdoba systemoveho
volani znameho z operacnich systemu - program nastavi par registru,
udela int xy a  registrech najde neco jineho) by bylo nerozumne. 
spousta programu (hry, ruzne rezidenty pro mapovani klavesnice) berou
sw obsluhu klavesnice zcela do sve rezie.
 
> Druhá myšlenka: většina DOSových ovladačů klávesnice zapisuje klávesy do
> bufferu klávesnice, je možné, že by si počítač hlídal zápis do této
> oblasti paměti? Jako řešení mi to připadá dost krkolomné a nevím, zda je
> to vůbec reálné.

rekl bych ze ne. BIOS ma buffer klavesnice nekde okolo 0x400,
ale jak uz bylo receno, ne vzdy se o klavesnici stara on.
ten monitoring by byl asi taky dost pracny. ze by hw reseni?
podivejte se na vase (S|D)IMMY, jestli vam z nejakeho bitu nevede
dratek k podezrelemu svabu na desce...

-- 
NOTE FOR WINDOWS (TM) USERS: I AM NOT LIABLE TO YOU FOR ANY SOFTWARE OR
HARDWARE DAMAGE, SYSTEM MALFUNCTION OR DATA LOSS ARISING OUT WHILE YOU
ARE READING THIS TEXT.


Další informace o konferenci Linux