XFree86 event

Fórumok

XFree86 event

Hozzászólások

Udv mindenkinek!

Programot irok X-ala (XFree86) es nem boldogulok.
Ha van itt olyan akinek van tapasztalata, kerem segitsen.

Szeretnek egy egergomb lenyomas / felengedes esemenyt
generalni a programbol. Ugy gondoltam hogy az XPutBackEvent
segitsegevel berakok egy esemenyt az esemenysorba.
Remenyeim szerint igy azt erem el mintha a felhasznalo
kattintott volna egyet.

A kodreszlet a kovetkezo:

[code:1:1879b9af65]
/* kurzor mozgatasa a megfelelo pozicioba */
XWarpPointer(Display,NoneXRootWin,0,0,0,0,x,y);

/* gomb lenyomas */
event.xbutton.type=ButtonPress;
event.xbutton.serial=0x12345678;
event.xbutton.send_event=1;
event.xbutton.display=Display
event.xbutton.window=XRootWin; /* root ablak */
event.xbutton.root=0;
event.xbutton.subwindow=0;
event.xbutton.time = 0;
event.xbutton.x=x;
event.xbutton.y=y;
event.xbutton.x_root=0;
event.xbutton.y_root=0;
event.xbutton.state=0;
event.xbutton.button=Button1;
event.xbutton.same_screen=1;
XPutBackEvent(Display,&event);

/* gomb felengedes */
event.xbutton.type=ButtonRelease;
XPutBackEvent(Display,&event);
[/code:1:1879b9af65]

Az a baj hogy a gomb lenyomas es felengedes nem mukodik.
Valoszinuleg rosszul allitom be az esemeny parametereit.

A dokumentaciot olvasva nem talaltam konkret peldat es az altalanos magyarazatokbol nekem nem egyertelmu a dolog.

Valaki tudna segiteni a helyes ertekek megadasaban?

Kérdés: Ha van gomb és valóban kattintasz rajta, akkor
tudsz-e eseményt elkapni? (Én ezzel kezdeném)

Szívesen adok át X(t)-s kódokat, töméntelen mennyiséget írtam
az elmúlt 10 évben.

[quote:9981b4e3df="meditor"]Kérdés: Ha van gomb és valóban kattintasz rajta, akkor
tudsz-e eseményt elkapni? (Én ezzel kezdeném)

Igzából a programom egy különleges beviteli eszköz "driver"-e.
Az egeret helyettesítené.
Sajnos nem lehet kernel szinten megoldani a dolgot mert ahol
fel lesz használva, ott nem akarják bántani a rendszert. Ezért
arra gondoltam hogy akkor egy programot futatva és eseményt
beszurva megoldható a dolog.

Kérdésedre visszatérve nem is próbáltam eseményt elkapni...
A fentebb említett okok miatt tulajdonképen nincs semmilyen
objektum (ablak, gomb, bármi...) ami a programomhoz tartozna.
Ettől függetlenül az eseménykezelés működését tesztelendő,
megpróbálok eseményt elkapni (olvasni). Köszi a tippet.

Az egérkurzor mozgatása jól működik, bár az nem esemény
beszúrásával megy hanem közvetlen úton.

[quote:9981b4e3df="meditor"]
Szívesen adok át X(t)-s kódokat, töméntelen mennyiséget írtam
az elmúlt 10 évben.

Na az ilyen önzetlen segítségért szeretem az itteni, és úgy
általában az OpenSource közösséget. :)

[quote:1217afd5dc="maszili"][quote:1217afd5dc="meditor"]Kérdés: Ha van gomb és valóban kattintasz rajta, akkor
tudsz-e eseményt elkapni? (Én ezzel kezdeném)

Igzából a programom egy különleges beviteli eszköz "driver"-e.
Az egeret helyettesítené.

Na az ilyen önzetlen segítségért szeretem az itteni, és úgy
általában az OpenSource közösséget. :)

1. Én nem az X, hanem az egérdriver oldaláról közelíteném
meg a dolgot. Azaz átírányítanám az egérdrivert az eszközömre.

2. Az rendben van, hogy szereted az OS közösséget, de kell-e
kód? (-:: [nem akarom rád tukmálni]

[quote:8efa61d9b9="meditor"]
1. Én nem az X, hanem az egérdriver oldaláról közelíteném
meg a dolgot. Azaz átírányítanám az egérdrivert az eszközömre.

Ez érdekesen hangzik...
A beviteli eszköz fizikailag a sorosportra csatlakozik
de sajátos protokollt beszél ami szerintem nem kompatibilis
semmivel. Ezért nem egyszrű a dolog. Tehát ha jól értem
akkor megoldható az hogy elindítom a saját programomat
(ez a legtöbb beavatkozás amit tehetek az idegen rendszeren)
es ha megfelelően be van beállítva az X, akkor a gyári egér
driver helyett az én programomat használja az egérmutató
kezelésére?

[quote:8efa61d9b9="meditor"]
2. Az rendben van, hogy szereted az OS közösséget, de kell-e
kód? (-:: [nem akarom rád tukmálni]

Mivel kezdő szinten mozgok XFree86 téren, köszönöm, nagyon
szívesen tanulmányoznám a kódot. Sokszor többet lehet
tanulni egy forráskódból mint a doksiból :)
Küldheted a maszili@freemail.hu -ra vagy ha elérhető a
hálózaton akkor letöltöm onnan.

Én így csinálnám:

1. Megkeresném a soros egérdriver forráskódját.
2. Megpróbálnám megérteni
3. A fizikai réteget átírnám a saját eszközömre.
4. A logikai réteget változatlanul hagynám (ha ez lehetséges)

Így az X-hez hozzá sem kell nyúlni.

[quote:629816c868="meditor"]
1. Megkeresném a soros egérdriver forráskódját.
2. Megpróbálnám megérteni
3. A fizikai réteget átírnám a saját eszközömre.
4. A logikai réteget változatlanul hagynám (ha ez lehetséges)
Így az X-hez hozzá sem kell nyúlni.

Valószínüleg ez lenne a kultúrált megoldás de mint fentebb
írtam a célrendszert nem hajlandók piszkálni semmilyen szinten.
Úgy gondolom (lehet hogy rosszul) hogy egy driver eléggé
rendszerközeli. A másik probléma hogy igazából semmilyen
információm nincs a célrendszerről, csak annyit tudok, hogy
valamilyen linux (vagy egyéb UNIX klón) és XFree86 van rajta.

A legtöbb amit tehetek, hogy adok egy programot amit elindítva
megoldja az egér helyettesítését az XFree86 által adott
eszközökkel.

Nem akarlak lebeszélni, de én ezt a feladatot nem vállalnám el.

1. Nincs bizalom (mi az, hogy azt feltételezik rólad, hogy
valamit elrontasz!!!)

2. Nincs elég információ (azt sem tudni milyen oprendszer!
A gépet és a helyszínt láttad már egyáltalán? Helyszíni szemle
nélkül még egy sima telepítésbe sem vágok bele szívesen!)

Lehet próbálkozni invariáns megoldásokkal, de ezekhez óriási
tapasztalat kell (óriási tapasztalat = rengeteg kudarcélmény
+ rengeteg sikerélmény), és elszántság kell.

Remélem minimum elszánt vagy (-::

Ps.: majd összeszedek neked egy pár X(t) + motif modult
tanulmányozás céljából. Ki fogom tenni az ftp-mre.

Most jut eszembe, hogy az ftp-men kint van az Xmedit szövegszerkesztő,
abban rengeteg X kód van. Töltsd le, nézegesd, sőt, ha kérdezel
szívesen válaszolok is!

ftp -p public@meditor.hu
passwd: [enter] (= nyomj eny entert)
cd ./xmedit

... és innen töltögesd le a cuccokat.

Sok szerencsét!

[quote:12461043ff="meditor"]Nem akarlak lebeszélni, de én ezt a feladatot nem vállalnám el.

Engem a segítő jószándék vezérel... :)
Megkértek hát elvállaltam...

[quote:12461043ff="meditor"]
Lehet próbálkozni invariáns megoldásokkal, de ezekhez óriási
tapasztalat kell (óriási tapasztalat = rengeteg kudarcélmény
+ rengeteg sikerélmény), és elszántság kell.

Remélem minimum elszánt vagy (-::

Igyekszem... :)

[quote:12461043ff="meditor"]
Ps.: majd összeszedek neked egy pár X(t) + motif modult
tanulmányozás céljából. Ki fogom tenni az ftp-mre.

Köszi

[quote:0364e39c5d="meditor"]Szívesen adok át X(t)-s kódokat, töméntelen mennyiséget írtam az elmúlt 10 évben.

Szia...!

Elérhetőek, vagy elkérhetőek ezek a kódok valahol? Az Xmedit forrását már letöltöttem.

[quote:9a2e37bd5f="nevergone"][quote:9a2e37bd5f="meditor"]Szívesen adok át X(t)-s kódokat, töméntelen mennyiséget írtam az elmúlt 10 évben.

Szia...!

Elérhetőek, vagy elkérhetőek ezek a kódok valahol? Az Xmedit forrását már letöltöttem.

Persze, a winchesteremen. Mire lenne szükséged?

[Ha konkrétan valakihöz címzel egy kérdést egy ősrégi topikban,
talán jobb lenne priviben kérdezni, mert tök véletlen, hogy
benéztem ide. Pár óra alatt kiesik a téma a topról és soha
nem látom meg az üzenetet.]

[quote:544a63a9ad="meditor"]Persze, a winchesteremen. Mire lenne szükséged?

Példákra, töménytelen mennyiségben. Van pár ötletem, aminek a megvalósításához idővel mélyebben meg szeretném ismerni az X alapú programozást.
Ebben pedig jó példák sokat segíthetnek.

[quote:1202602c13="meditor"][Ha konkrétan valakihöz címzel egy kérdést egy ősrégi topikban,
talán jobb lenne priviben kérdezni, mert tök véletlen, hogy
benéztem ide. Pár óra alatt kiesik a téma a topról és soha
nem látom meg az üzenetet.]

Nyilvánvaló, de elöbb úgy gondoltam, hogy egy próbát megér, itt is. Már csak azért is, mert esetleg más érdeklődőnek is hasznos lehet. :)

[quote:5ee2cf05b4="nevergone"]
Nyilvánvaló, de elöbb úgy gondoltam, hogy egy próbát megér, itt is. Már csak azért is, mert esetleg más érdeklődőnek is hasznos lehet. :)

indeed, engem is erdekelne.

[quote:db05d1bc77="blau"]indeed, engem is erdekelne.

Nos, ezt hívják előrelátásnak... :)