Newsgroup: it.comp.os.linux.software
Titolo: usb gamepad problema per esperti

Ho il seguente problema,credo sia dovuto alla parte di codice del kernel 
per qua
nto riguarda l'usb:
Posseggo il joypud trust sight fighter digital plus e dato che ho un pad 
già att
accato alla scheda video ho deciso di metterlo su usb.
Caricando i vari moduli(joydev.o,hid.o) con mia somma meraviglia mi sono 
accorto
  che me lo riconosce perfettamente come FLYING USB PAD (proprio come in 
win).
vado felice felice per giocare ma accade qualcosa di strano.
Sia che vada a dx che se a sx la direzione del movimento è sempre dx!!!
La stessa cosa per l'altro asse (quello up/down)
Allora provo la calibrazione ecco i risultati:
Move axis 0 to minimum position and push any button.
Axis 0:       -1 (se vado a sinistra)
Axis 0:      127 (fermo al centro)
Axis 0:        0 (se vado a sinistra)
La stessa cosa succede per l' up/down...
Ora mi chiedo...come mai mi da questi valori (-1,127,0) e non 0 e 255 
(come il pad su scheda video),o almeno valori interi???
Forse è un problema nel codice del modulo hid.o sull'imput del 
joypad...ma se fosse così,a chi devo chiedere?
(scusate il crosspost ma su it.comp.os.linux.iniziare non ho avuto risposte)
-- 
*************************
*                       *
* Linux Registered User *
*      #251515          *
*                       *
*************************
the linux has you
Andrea Richiardi
UIN: 106701708

 Axis 0:        0 (se vado a sinistra)
Ma tu vai sempre a sinistra? ;P
Cmq, in binario:
  0 = 00000000
127 = 01111111
 -1 = 11111111 = 255
E` un problema di variabili con o senza segno.
In pratica, se fai 127+1 ottieni -128 e non 128 come ti aspetteresti,
perche` va in overflow. Credo sia un problema o del gioco che usa il
valore assoluto di quello che gli torna il driver (quindi trasforma
-1 in 1 e va dalla parte opposta) oppure del driver che fa casino tra
signed e unsigned.
Bye.

 Ma tu vai sempre a sinistra? ;P
[cut]


 facendo jstest /dev/js1 mi compaiono questi valori
Uhm... se e` un joystick usb devi usare /dev/input/jsX e non /dev/jsX.
Io ho provato (Creative Cobra USB) e funziona perfettamente (-32768 per
alto e sinistra, 32768 per basso e destra, e riconosce tutti e 12 i
pulsanti)
# ls -la /dev/input/js*
crw-r--r--    1 root     root      13,   0 feb 17  2001 /dev/input/js0
crw-r--r--    1 root     root      13,   1 feb 17  2001 /dev/input/js1
crw-r--r--    1 root     root      13,   2 feb 17  2001 /dev/input/js2
crw-r--r--    1 root     root      13,   3 feb 17  2001 /dev/input/js3
Pero` noto che anche /dev/jsX hanno gli stessi major e minor... mi sa
che e` un bug del driver. Se e` una versione vecchia del kernel prova
ad aggiornare, senno fai un bug-report all'autore.
Bye.

cmq /dev/jsX è un link simbolico a /dev/input/jsX,come si fa un bug report?
E lo devo fare al sito 
kernel.org?
??
Alessandro Pellizzari wrote:



 E lo devo fare al sito 
kernel.org?
??
Rintraccia il file sorgente del modulo che tuo joypad. Sara` sotto
/usr/src/linux/drivers/usb. Guarda nel sorgente e scopri chi e` il
maintainer, e gli mandi una mail.
Prima accertati di avere l'ultimo kernel. Magari nel frattempo l'hanno
gia` corretto. :)
Bye.

 


Scusate se mi intrometto ma visto che si parla di gamepad ho anche io un 
quesito:
Ho un gamepad pro della gravis, attaccato ad una SB Live!, il problema è 
questo, una volta caricati i moduli(joydev,gameport,emu10k1-gp,grip se non 
ricordo male) passo a calibrarlo e viene calibrato in modo regolare, ma 
quando vado ad usarlo in qualsiasi emulatore o gioco non si muove in 
nessuna direzione, funzionano solo i tasti di fuoco ne sapete qualcosa d+?