View Full Version : [linux prgramming] Eventi del mouse
Devo sviluppare un programma che simuli (sotto X) la presenza di eventi provenienti dal mouse, ma nn so bene da dove partire, qualcuno mi può aiutare, anche indicandomi un programma di cui leggere il codice?
Devo lavorare a livello di XLib?
Grazie a tutti!:mc:
Sapere la lingua sarebbe di grande giovamento :D
Se hai un SDK Java (di solito nelle distibuzioni Linux ce n'è uno, vecchio come il mondo ma c'è):
class Applicazione1 {
public static void main(String[] argomenti) {
try {
java.awt.Robot robot = new java.awt.Robot();
robot.mouseMove(50, 50);
} catch(java.awt.AWTException e) {
System.out.println("Azz., robot non può essere creato");
return;
}
}
}
Robot ha un tot di metodi per simulare eventi di basso livello, tra cui tutto il necessario per trastullarsi col mouse :D.
Ciao.
eh eh, mi piacerebbe molto poter lavorare in Java che è il linguaggio che uso normalmente ( e tutte le mie instllazioni hanno il SDK + recente installato!) il problema è che io devo gestire gli eventi del mouse a livello globale, non solo nella mia applicazione!
(il linguaggio è C)
Ops, pardon, avevo capito che dovessi simulare eventi del mouse, non intercettare gli eventi del mouse generati un po' da tutto.
effetivamente non ho capito cosa devi fare, se generare o prendere gli eventi mouse
cmq se sei sotto X le chiamate per gestire gli eventi tramite Xlib sono XNextEvent(3) e affini che tornano un XEvent, una struttura con una union di vari eventi.
per quel poco che ho visto gli eventi di X son piuttosto a basso livello, cioe con molti dettagli per la gestione delle finestre, tipo anche exposing , gerarchia delle finestre,ecc non molto mascherati, ecc.
altre man pages interessanti sono XMaskEvent XMotionEvent XButtonEvent.
io sinceramente eviterei le xlib, le ho viste poco ma mi sembrano un po troppo generiche.
se hai bisogno solo di librerie per la gestione del mouse in una finestra userei le sdl, anche se sono inderizzate sopratutto ad uso opengl(cmq qualcosa nella finestra devi mettercela,e se usi textarea o cose simili userei delle librerie con widgets), pero visto che gestiscono mouse senza widgets penso possano fare al caso tuo, sicuramene sono le piu famose in questo layer afaik
se invece pensi di utilizzare anche widgets allora puoi benissimo usare gtk qt fox wxwindows ecc
se invece devi gestirti proprio il mouse senza bisogno di un server su cui renderizzare allora penso che puoi usare ncurses, ma ho solo visto che ha un interfaccia per il mouse e non so dirti di piu,cmq dipende molto da quello che vuoi fare.
scusatemi perchè credo di essermi spiegato abbastanza male....devo sostityire il mouse quindi devo generare gli eventi del mouse e metterli nella (se esiste) coda globale degli eventi, ecco perchè ho pensato a xlib!
non e che ne sappia molto cmq, per quel poco che ho trovato:
XSendEvent nelle man di X11
XTest http://nscp.upenn.edu/aix4.3html/x11/specs/pdf/xtest.PDF
questo prg potrebbe esserti utile(dovrebbe usare xtest) http://hoopajoo.net/projects/xautomation.html
ancora devo leggere bene ma dopo una prima occhiata...Grazie assai!!!!!!!!!!!!!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.