• # Base de données pour configurer les manettes de jeu

    Posté par (site web personnel) . En réponse au journal Occupez votre été : contribuez à un jeu libre. Évalué à 10. Dernière modification le 04 juillet 2013 à 10:59.

    Outre l'empaquetage et la traduction, forcément spécifique à chaque jeu, il y a un moyen d'aider plusieurs projets: j'ai commencé une base de données pour avoir les correspondances des codes des axes et boutons des manettes de jeu avec une manette "idéale":

    Manette idéale

    Le but est de permettre l'autoconfiguration des manettes dans les jeux. On branche et ça marche!

    Pour cette "base", j'utilise le format de configuration de la bibliothèque SDL2 qui consiste en une de texte avec des champs séparés par des virgules:

    341a3608000000000000504944564944,Afterglow PS3 Controller,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7
    

    Le premier champ est l'uuid de la manette (récupérable via dmesg).

    Le deuxième est le nom de la manette.

    Ensuite il y a le mapping de type clef:valeur.

    La clef est un nom symbolique correspondant à la manette idéale.

    Les valeurs s'écrivent ainsi:

    • a0, a1, a2... pour les axes
    • b0, b1, b2... pour les boutons
    • h0.2, h0.4... pour je ne sais pas trop quoi :-)

    Pour ma manette, cela donne:

     0003:07B5:0312,Mega World USB Game Controllers,a:b2,b:b3,x:b0,y:b1,start:b9,back:b8,leftx:a0,lefty:a1,rightx:a3,righty:a2,leftshoulder:b4,rightshoulder:b6,lefttrigger:b5,righttrigger:b7
    

    Pour trouver ces valeurs, il suffit d'utiliser le programme jstest-gtk.

    Pour alimenter la base, il suffit de poster les configurations sur mon site, je sortirais ensuite une base plus propre à différents formats (json, xml...)

    Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board