C - programovaci techniky.

Alexandr Malusek malusek na hroch.ujf.cas.cz
Pondělí Duben 27 19:12:50 CEST 1998


drak na brailcom.cz (Roman Vesely) writes:

> > > Potrebuji dodelat do jednoho daemona funkci, ktera vrati posledne
> > > stisknutou klavesu.(Mela by umet i Fxx (0<x<13), sipky).
> > > Mela by fungovat na vsech konzolich, takze /dev/console pouzit nejde...
> > > Jak NATO ?
> > 
> >    (2) Naposledy stisknuta klavesa se nikde nearchivuje, takze takovou
> > funkci neni rozumne mozne napsat.
> 
> A jestlize mam dany casovy interval, ve kterem mohu systemu "vzit"
> klavesnici, a koukat, co z ni jde, to by slo rozumne napsat ?

Neni mi zcela jasne, co je cilem. Nasledujici berte s rezervou,
protoze do hloubky to neznam:

Domnivam se, ze pokud nejaka aplikace precte z terminaloveho driveru
znak, pak jiz jina nema sanci tento znak precist, protoze driver znak
"zapomene". Tedy pokud napisete demona, ktery bude cist znaky z
klavesnice (pres terminalovy driver), pak se tyto znaky k one aplikaci
vubec nedostanou. (Leda ze by ji je demon predal - pak by ale aplikace
necetla z terminaloveho driveru)

Asi by slo rozsirit terminalovy driver tak, aby si ony posledni
stisknute klavesy pamatoval v nejake strukture, ke ktere by se dalo
pristupovat pres ioctl(). Demon by pak volanim ioctl() tyto klavesy
zjistil. To ale vyzaduje modifikaci a rekompilaci jadra, je to
neprenosne, ...

--
A. Malusek (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux