Sziasztok!
Nincs más input eszközöm, az egér úgyis szabad, így az egér gombjait kapcsolom relével. A gép vékony kliens, az oprendszer: Damn Small Linux, az egér USB-s, biztonság kedvéért az optikai érzékelőt leragasztottam, X nem fut.
Hogyan oldjam meg Bash-ből az egér gombjainak lekérdezését? Fontos lenne, hogy megkapjak minden eseményt (lenyomást és felengedést), vagy le tudjam kérdezni az állapotot.
Jelenleg az eseményekről kapok üzenetet:
cat /dev/input/mice | sajat_script.sh
És a scriptemben hexdump-pal olvastatok be 1 byte-ot (-n opció) egy ciklusban: a hexdump-nál megakad, ha jön input, akkor továbblép, feldolgozás, stb. Általában tökéletesen működik. Baj az, hogy néha megbolondul, és végtelen ciklusba esik (a hexdump nem olvas ki semmit, de nem is vár). Foylamatosan dolgozik a scripttel, 100% proci használat, és onnantól kezdve az eseményeket sem kapom meg. Mi lehet a hiba? Más megoldás?
Ha nem pipe-pal csinálom, akkor meg lehet oldani, hogy minden byte-ot megkapjak? Azokat is, amelyek akkor jönnek, amikor az előző bemenet még feldolgozás alatt áll.
A read és társai nem jöhetnek szóba. Szükségem lenne a 10-es kódra (jobb egérgomb lenyomásakor generálódik), ami egyébként valami kocsi vissza jel. Ezt bash-ben ha elmentem egy változóba, akkor az a változó utána üres marad.
Ha van rá jobb módszer, hogy az egér állapotát lekérdezzük, akkor is érdekelne, hogy bash-ben ilyet hogyan kell megoldani.
Köszi.
Petya