Send mouse events from code

herculesthemad | Δευ, 10/27/2008 - 22:18 | 2' | 5

Θα ήθελα λίγη βοήθεια,

Γράφω μία εφαρμογή για remote desktop.

Είμαι στο στάδιο του τεσταρίσματος σε Windows OS. Το πρόγραμμα είναι σε managed κωδικα (C#) εκτώς απο ένα void όπου κάνει inoke ένα dll τον windows(

 

για να στέλνει mouse events(left click down, left click up....).

Τώρα με ποιόν τρόπο θα μπορούσα να το μεταφέρω σε linux?? Υπάρχει κάποιος τρόπος να στέλνω  mouse events?? στον X Server δεν πρέπει ??? Δεν έχω πρόβλημα αν θα είναι σε μη managed κωδικα πχ σε C++ ή C γιατί λογικά θα μπορώ να το κάνω Invoke και να φτιάξω ενα interface και μέτα να το αντικαθηστώ ανάλογα με την πλατφόρμα και να το καλώ σε ένα object.

Ευχαριστώ

Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Επειδή η δική μου μικρή εμπειρία προσανατολίζεται σε c++ και Qt, θα σε παραπέμψω στην κλάση QMouseEvent η οποία έχει πολλά μέλη που θα μπορούσαν να σε βοηθήσουν.

Τώρα, αν υπάρχει και λύση χωρίς χρήση βιβλιοθηκών Qt (σίγουρα θα υπάρχει) αγνοώ :-)

Ευχαριστώ,

αλλα η κλάση της qt δέν είναι για να στέλνεις mouse events αλλα για να περιγράφει ένα event όταν γίνετε.

Μήπως ξέρετε αν είναι κάποια βιβλιοθήκη απο τον X που να στέλνει event???

Η γρήγορη απάντηση είναι ότι φυσικά κ γίνεται μέσω των βιβλιοθηκών του X server. Δυστυχώς επίσης δεν έχω ασχοληθεί, οπότε το μόνο που μπορώ να πω με σιγουριά, είναι ότι υπάρχει. Αν δεν ξέρει κανείς άλλος, θα το ψάξουμε.

man XSendEvent

(edit: tora pou to thymithika, gia ayto pou kaneis isos einai akoma pio katalilo to XTest extension, rikse mia matia kai se ayto).