Salut Ian et les autres,
J'ai un petit problème de configuration. Tout marche au poil avec le RAsPiCade sur ma borne maintenant sauf un détail mais qui remet en cause toute l'ergonomie du truc. sur mon panel (contrôle par un kadedevice), certains des boutons ne sont pas reconnus.
J'ai essayé plusieurs configuration pour le kadedevice mais le résultat est toujours le même.
Du coup, j'ai été voir sur evtest, et le résultat est étrange de mon point de vue (ou alors il y a un truc que je n'ai pas suivi avec les codes).
En effet, evtest ne m'annonce jamais les mêmes codes que ceux du fichier SDL\keysym.h (par exemple, haut bas gauche droite devrait être 273, 274, 275 et 276 et evtest m'annonce 103, 108, 105, 106 ou alors 44 pour Z au lieu de 122 ou 45 pour X au lieu de 120). Tous les codes sont donc différents et pourtant tout marche sauf L-ctrl (devrait être 306 et evtest indique 29), L-Alt (56 au lieu de 308) et L-Shift (42 au lieu de 304).
Quelqu'un aurait-il une idée de l'erreur que je fais et de comment régler mon problème ?
Si non, j'ai vu que si j'assigne les touches concernées à des touches plus classiques (par exemple z plutôt que L-Ctrl pour le bouton A), cela marche donc j'imagine que la solution sera de re configurer tous les émulateurs pour les 3 touches qui me posent problème.
Yann, si je dois faire ça :
(1) pourrais-tu me rappeler la liste de 4 ou 5 fichiers qu'il me faudra modifier ?
(2) j'ai vu comment tu avais par exemple modifier le fichier cfg de mame4all-pi mais que faut-il changer exactement, que le code ou aussi la référence de lettre qui y correspond ?
Merci.
Toberum
Hello
pas de panique pour les codes, evtest me renvoie aussi un code 29 pour Left_control sur mon clavier hp
Testing ... (interrupt to exit)
Event: time 1403420660.854066, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1403420660.854066, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1403420660.854066, -------------- SYN_REPORT ------------
Event: time 1403420660.974059, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1403420660.974059, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1403420660.974059, -------------- SYN_REPORT ------------
et cela semble cohérent avec la liste des evènements supportés
/dev/input/event2: CHICONY HP Basic USB Keyboard
Select the device event number [0-2]: 2
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x3f0 product 0x24 version 0x110
Input device name: "CHICONY HP Basic USB Keyboard"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 1 (KEY_ESC)
...
Event code 27 (KEY_RIGHTBRACE)
Event code 28 (KEY_ENTER)
Event code 29 (KEY_LEFTCTRL)
Event code 30 (KEY_A)
Event code 31 (KEY_S)
Event code 32 (KEY_D)
Event code 33 (KEY_F)
idem pour left-alt et left-shift
Event: time 1403420981.750862, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1403420981.750862, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 0
Event: time 1403420981.750862, -------------- SYN_REPORT ------------
Event: time 1403420998.734908, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e1
Event: time 1403420998.734908, type 1 (EV_KEY), code 42 (KEY_LEFTSHIFT), value 1
Event: time 1403420998.734908, -------------- SYN_REPORT ------------
donc a priori tout semble normal. A priori il y a correspondance sur le nom de la touche KEY_LEFTALT entre SDL et evtest et non sur le code. je me suis donc trompé.
SDL ne se base pas sur le scancode (propre à chaque matériel) mais sur le symbol (sym de type SDLKey
http://sdl.beuc.net/sdl.wiki/SDLKey dans la structure ) c'est à dire KEY_quelquechose cf.
http://sdl.beuc.net/sdl.wiki/Handling_the_Keyboard#eventsdu coup ton pb est bizarre. As tu un autre clavier de branché en usb? quelle version de rAsPiCade utilises tu? as tu fais des modif de keymaps (loadkeys pas exemple?) As tu le numlock activé, la touche MAJ? Y a il une config dans ton cade qui autorise ou supprime l'accès aux touches spacial (Compose key etc...) C'est un matériel que je ne connais pas.
dans /etc.rc.local
pi@rAsPiCade ~ $ more /etc/rc.local
vérifir que tu as cela à la fin du fichier
#launch support pour GPIO at startup
#/home/pi/Retrogame-2players/retrogame &
#launch pikeyd deamon to support mcp modules
#/home/pi/pikeyd/pikeyd -d
exit 0
retrogame et pikeyd sont désactivés par défaut :
ensuite vérifie que tes fichiers de configuration possèdent les mêmes raccourcis de touches. Ce sont aussi les fichiers à modifier pour mettre tes nouvelles touches si on ne trouve pas le soucis avec les touches CTRL ALT et SHIFT
pimenu :
https://github.com/ian57/RAsPiCade-configuration-files/blob/master/pimenu/pimenu.cfgpisnes:
https://github.com/ian57/RAsPiCade-configuration-files/blob/master/pisnes/snes9x.cfgpifba :
https://github.com/ian57/RAsPiCade-configuration-files/blob/master/pifba/fba2x.cfgmame4all-pi :
https://github.com/ian57/RAsPiCade-configuration-files/blob/master/mame4all-pi/mame.cfgsi tu changes des razccourcis, n'oublies pas dans mame (touche TAB pendant un jeu) de refaire la configuration pour le joueur 1 qui utilise les touches CTRL ALT et SHIFT)
pour le mame.cfg, il faut juste changer le code de la touche correspondante (a prendre dans le keysym.h)
gngeo :
https://github.com/ian57/RAsPiCade-configuration-files/blob/master/.gngeo/gngeorcSi tu veux faire des changement dans ce fichier il faut changer ses droits (il est en lecture seul : imposé sinon j'ai des soucis de réécriture/réinitialisation du fichier par gngeo) :
chmod 644 ~/.gngeo/gngeorc
tu modifies
chmod 444 ~/.gngeo/gngeorc
mais ça reste étrange. As tu testé d'autre touches de type control. la version RIGHT par exemple pour voir si c'est similaire.
Les code renvoyés par evtest semble OK? je ne vois pas pourquoi les touches ne fonctionnent pas avec les programmes.
Tiens nous au courant.