Pour l'utilisation de la base de données de DevNewton.
J'ai copier cette partie vers un fichier joy_bind_cfg.py:
#Bouton pour limiter la vitesse du pointeur
LIMITER=7
# Association des bouton de la manette a une action
#
# binds= {bouton:(materiel, code), ...}
# bouton: numero du bouton de la manette
# materiel: 0=souris, 1=clavier
# code: keycode de la touche pour un clavier,
# numero du bouton pour une souris
binds={0:(0, 1), # souris bouton de gauche
1:(0, 3), # souris bouton de droite
2:(1, 36), # clavier Echap
3:(1,9), # clavier Entrer
4:(1, 117), # clavier pg suivante
5:(1,112), # clavier pg precedente
6:(1,37), # clavier ctrl
#~ 7:(1,50), # clavier Shift
#~ 9:(1,64), # clavier Alt
}
et je l'ai remplacé par:
#import la config des boutons
from joy_bind_cfg import *
ensuite j'ai créé le script autoconf_joy.py qui permet de créer le nouveau fichier joy_bind_cfg.py en fonction de la manette.
import urllib
import pygame,os
pygame.init()
mon_joystick = pygame.joystick.Joystick(0)
mon_joystick.init()
jname= mon_joystick.get_name()
joydb=eval(urllib.urlopen('http://dl.bci.im/gamepad_db/gamepad_db.json').read())
joydsc=[ i for i in joydb if i["name"]==jname]
if len(joydsc)>0:
try:
mapping={}
for k,v in joydsc[0]["mappings"].iteritems():
if 'button' in v.keys():
mapping[k]=v['button']
cfg="""
#Bouton pour limiter la vitesse du pointeur
LIMITER=%(righttrigger)d
# Association des bouton de la manette a une action
#
# binds= {bouton:(materiel, code), ...}
# bouton: numero du bouton de la manette
# materiel: 0=souris, 1=clavier
# code: keycode de la touche pour un clavier,
# numero du bouton pour une souris
binds={%(a)d :(0, 1), # souris bouton de gauche
%(x)d :(0, 3), # souris bouton de droite
%(y)d:(1, 36), # clavier Echap
%(b)d:(1,9), # clavier Entrer
%(leftshoulder)d:(1, 117), # clavier pg suivante
%(lefttrigger)d:(1,112), # clavier pg precedente
%(rightshoulder)d:(1,37), # clavier ctrl
}
""" %mapping
open("joy_bind_cfg.py","w").write( cfg)
except:
print "configuration auto impossible"
else:
print "Configuration auto OK"
else:
print "Votre manette n'est pas dans la base, vous pouvez soumettre votre configuration ici:\
http://devnewton.bci.im/fr/gamepad_db"
#force la fermeture de pygame
pid= os.getpid()
os.kill(pid,6)
Et voilà le travail... C'est bien crade mais ça marche!
[^] # Re: bonne idée!
Posté par Wrap . En réponse au journal Un petit script pour les utilisateurs de manette. Évalué à 1.
Pour l'utilisation de la base de données de DevNewton.
J'ai copier cette partie vers un fichier joy_bind_cfg.py:
et je l'ai remplacé par:
ensuite j'ai créé le script autoconf_joy.py qui permet de créer le nouveau fichier joy_bind_cfg.py en fonction de la manette.
Et voilà le travail... C'est bien crade mais ça marche!