Autor: Gregorio Kus (Grego_at_RMnet.IT)
Data: Wed 03 Jul 1996 - 21:26:41 MET DST
On Wed, 3 Jul 1996 16:09:38 +0200 you wrote:
>W jaki sposob mozna uzywajac Turbo Pascala lub asemblera ( dowolny typ )
>obslugiwac kilka klawiszy wcisnietych rownoczesnie na klawiaturze. Chodzi mi o
>dowolne klawisze, a nie tylko ALT, CTRL lub SHIFT .
trzeba przechwycic przerwanie od klawiatury (INT 9).
Nastepnie przeczytac 'scan code' z 8255 port A czyli 60H
nastepnie wyslac 'acknowledge' do procesora klawiatury
(zapalic i zgasic gorny bit portu B czyli 61H)
Scan code w XT ma zapalony najwyzszy bit jesli to jest 'make code'
(nacisniecie/repetycja) i zgaszonny jesli to jest 'break code'
(puszczenie klawisza, na pozostalych siedmiu bitach jest numer klawisza.
W AT bit 7 jest zawsze rowny 0, a 'break code' jest dwubajtowy
0F0H pierwszy bajt, wlasciwy scan code (numer klawisza) drugi bajt.
Grego
P.S. Przy dowolnej klawiaturze w ktorej klawisze sa stykami
na przecieciach siatki ("macierzy") - niektore kombinacje
trzech klawiszy nacisnietych rownoczesnie powoduja bledne
odczyty (z czysto "elektrycznych" przyczyn).
-- /------------------------------------------------------------------ Gregorio Kus Grego_at_RMnet.it Grego_at_cyberspace.org ROMA, Italy http://www.RMnet.it/~grego Grego_at_FreeNet.hut.fi
To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 12:48:12 MET DST