Posted By: Pharook (wearing heart like clown.) on 'CZprogram'
Title:     Re: CTRL-ALT-DEL
Date:      Thu Jan 30 12:53:24 1997

> Podobny dotaz jako Mikes - Jak ignorovat v PAS stlaceni CTRL-ALT-DEL ?

   to je vetsi problem, nez crtl-break a ctrl-c. skautsky pozdrav nema sve 
specialni preruseni. coz znamena, ze je nutne se posadit na preruseni 
009h a zjistovat tam z portu 060h sam stisknute klavesy. v normalnim 
pripade si nastavis nejake flagy, podle toho, zda je stisknuta ci 
pustena klavesa ctrl, alt, del, pokud najednou zjistis, ze jsou stisknuty 
vsechny tri, NEZAVOLAS puvodni obsluhu (ktera by rebootovala stroj).
   klavesu ctes na zacatku obsluhy z portu 060h, t.j. in al, 060h, resp. 
neco := port[$60]; resp. neco = inp(0x60); scancody jsou
   ctrl - 01Dh, alt - 038h, del - 053h, pokud je nastaven sedmy bit, t.j. 
jsou o 080h vetsi, znamena to pusteni klavesy.
   nezavolas-li potom puvodni obsluhu, je nutne na konci rutiny oznamit 
klavesnici, ze jsi klavesu prijal a radici preruseni, ze preruseni je 
zpracovano. magicka seqence zni (tohle uz si do prislusneho jazyka preloz 
sam >=] )(kopirovano z at-helpu):

         in      al,61H             ;zjisti hodnotu rizeni klavesnice
         mov     ah,al              ; uloz ji
         or      al,80h             ;nastav bit "povoleni klavesnice"
         out     61H,al             ; a zapis to na ridici port
         xchg    ah,al              ;vezmi originalni hodnotu rizeni portu
         out     61H,al             ; a zapis ji zpatky

         mov     al,20H             ;posli signal KonecPreruseni
         out     20H,al             ; na radic preruseni 8259

   to je jen strucny vytah (ktery ale k zakazani skautskeho pozdravu 
staci), ale doporucuji v nejakem helpu (sysman, cshelp, athelp atp.) 
dukladneji prostudovat obsluhu preruseni klavesnice.

   hodne zdaru.

______________________________________________________________________________
                                                                       pharook
"mesic je dulezitejsi, nez slunce," reklo dite, "protoze sviti, kdyz je tma."

Search the boards