Arduino Leonardo problema con funzione Mouse.move()

Ciao a tutti. Devo creare per un progetto universitario un sistema basato su arduino per implementare uno stress test di un'applicazione standalone. A tale scopo vorrei utilizzare l'arduino Leonardo come mouse.

Ho risolto il problema del move con coordinate relative posizionando prima di ogni mossa il cursore nell'angolo in alto a sinistra mediante un ciclo for. A questo punto nasce il mio problema. Lo schermo del mio PC ha una risoluzione di 1920x1080. Se passo questi valori alla funzione Mouse.move() purtroppo il cursore non raggiunge l'angolo in basso a destra.

Ho provato ad utilizzare la funzione map per mappare le coordinate all'nterno del range ammesso ma anche in questo caso non ho raggiunto la posizione desiderata. Senza farmi perdere d'animo ho cercato di capire quali fossero le dimensioni effettive dello schermo viste dall'arduino, così ho iniziato a far muovere il mouse di una posizione alla volta (Mouse.move(1,0,0)) all'interno di un ciclo for fino a che questo non ha raggiunto l'estremità opposta dello schermo. Facendo questa prova ho visto che secondo arduino il mio schermo ha 3400x1900 punti e che questi valori variano a seconda della velocità del mouse impostata nelle preferenze del sistema operativo.

Volevo sapere se qualcuno di voi si è già imbattuto in questo problema e se esiste una soluzione. Grazie mille.

Tidus: Lo schermo del mio PC ha una risoluzione di 1920x1080. Se passo questi valori alla funzione Mouse.move() purtroppo il cursore non raggiunge l'angolo in basso a destra.

Non so come lavora la funzione mouse.move() di Arduino, però in ambiente Windows/Linux le coordinate mouse variano tra 0,0 (angolo in alto a sinistra) e 32767,32767 (angolo in basso a destra) indipendentemente dalla risoluzione dello schermo. Tieni presente che il mouse può funzionare in due distinte modalità, quella incrementale dove il parametro velocità influenza di quanti pixel sposti per ogni mm di movimento del mouse, quella assoluta dove il parametro velocità non ha alcuna influenza. La modalità incrementale è quella normalmente utilizzata, la modalità assoluta, utilizzata con i touch, è quella che ti serve se vuoi posizionare il cursore in un punto esatto dello schermo, per ottenerla devi modificare il descrittore del device HID.

Tidus: Ciao a tutti.

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni e a leggere il regolamento: Regolamento - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - qui le pinout delle varie schede by xxxPighi: Pinout - qui una serie di link [u]generali[/u] utili: Link Utili

@astrobeed grazie mille ho provato ad effettuare ciò che mi hai consigliato. Ma purtroppo non ho raggiunto lo scopo desiderato. Puoi dirmi secondo te come modificare il file HID? Ciao