Figure toi que j'ai aussi un pad X360 qui a une fâcheuse tendance a avoir un '0' qu traine plutôt près de '8000' maxi.
Donc, sans deadzone configurée, ça pose probleme. Des mouvements se produisent spontanément.
'Mon' soft ne gère pas les deadzones, par contre, je le fais sous Python quand j'ai besoin des joysticks dans mon script.
Mais, il y a une solution, pas contre, j'ai testé que sur /dev/input/js0
, la commande jscal
Je crois qu'elle est dispo sous Recalbox d'origine.
Exemple, avant la calibration :
![text alternatif](https://img4.hostingpics.net/pics/139050capture1.png)
On peut voir que les 2 sticks (axes 0/1 et 2/3) ont des valeurs non nuls malgré le fait qu'on ne touche pas a la manette.
Pour avoir des infos sur le joystick 1 :
jscal /dev/input/js0
On voit que le gamepad Xbox360 a 6 axes et 13 butons.
| Joystick has 6 axes and 13 buttons. |
| Correction for axis 0 is broken line, precision is 16. |
| Coeficients are: 0, 0, 16513, 16513 |
| Correction for axis 1 is broken line, precision is 16. |
| Coeficients are: 0, 0, 16513, 16513 |
| Correction for axis 2 is broken line, precision is 16. |
| Coeficients are: 0, 0, 16513, 16513 |
| Correction for axis 3 is broken line, precision is 16. |
| Coeficients are: -128, 128, 16513, 16513 |
| Correction for axis 4 is broken line, precision is 0. |
| Coeficients are: 0, 0, 536870912, 536870912 |
| Correction for axis 5 is broken line, precision is 0. |
| Coeficients are: 0, 0, 536870912, 536870912 |
On va créé un fichier de config :
# jscal -p /dev/input/js0 > /tmp/joystick.cal
Ce qui donne :
jscal -s 6,1,16,-128,128,16513,16513,1,16,-128,128,16513,16513,1,16,-128,128,16513,16513,1,16,-128,128,16513,16513,1,0,0,0,536870912,536870912,1,0,0,0,536870912,536870912 /dev/input/js0
Je modifie le seuil mini pour les axes 0,1,2,3 à 8000 et maxi a 32768:
jscal -s 6,1,16,-8000,8000,32768,32768,1,16,-8000,8000,32768,32768,1,16,-8000,8000,32768,32768,1,16,-8000,8000,32768,32768,1,0,0,0,536870912,536870912,1,0,0,0,536870912,536870912 /dev/input/js0
Bon, je dois avoué que j'ai pas tout compris ces chiffres, j'ai pas cherché dans la mesure ou cela fonctionne.
Le résultat (apres avoir manipulé les axes) :
![text alternatif](https://img4.hostingpics.net/pics/548474capture2.png)
Maintenant, a voir si on peut faire la meme chose avec les 'events'...