Problème de contrôle (manette ps3) avec ScummVm
-
Merci @Bart pour tes explications bon ben impossible de trouver ce qu il faut ce soir, j essaierai demain
-
Bonjour à tous, Vu que c'est mon premier post sur ce forum, j'en profite pour féliciter Retroboy et toute l'équipe pour ce formidable outil ! Je me permets de répondre à la question initiale car j'ai cherché et j'ai finalement réussi à utiliser mon gamepad sur Scummvm. En fait, j'utilise l'émulation souris/clavier du programme xboxdrv, comme expliqué ici: http://askubuntu.com/questions/14457/remapping-both-mouse-and-keyboard-to-a-gamepad J'ai modifié le script de démarrage emulatorlauncher.sh et j'ai ajouter quelques lignes autour du lancement de scummvm : xboxdrv --config /recalbox/configs/xboxdrv-mouse.ini & xboxdrv_pid=$! /recalbox/scripts/runcommand.sh 2 "scummvm --path="$dirName" "$filenameNoExt"" kill $xboxdrv_pid Donc, je "convertis" mon gamepad en clavier+souris juste avant le démarrage de ScummVM, puis je stoppe en sortie. Le fichier /recalbox/configs/xboxdrv-mouse.ini est le suivant : ------ [xboxdrv] evdev=/dev/input/event0 silent=true [evdev-absmap] ABS_X=x1 ABS_Y=y1 [ui-axismap] x1=REL_X:10 y1=REL_Y:-10 [evdev-keymap] BTN_A=a BTN_B=b BTN_START=start [ui-buttonmap] a=BTN_LEFT b=BTN_RIGHT start=KEY_F5 ------ Ce qui permet d'utiliser le stick analogique gauche pour déplacer le curseur de souris et de mapper A vers clic gauche et B vers clic droit. L'accès au menu est réalisé par le bouton start (F5). Cela fonctionne assez bien pour mon Logitech F710 mais je ne sais pas si c'est applicable tel quel pour tout le monde. De plus, idéalement, il faudrait enlever "Retourner au Launcher" du menu. En espérant que cela puisse aider d'autres ... Laurent.
-
Suite ... J'ai aussi mappé les touches "espace" (bouton BACK) et "ESC" (bouton Y) respectivement pour réaliser une pause ou passer certaines cinématiques. Mais il reste des problèmes avec certains jeux qui demandent impérativement des interactions clavier (pour taper les codes de sécurité, taper les commandes pour les vieux jeux Sierra - pour les courageux, ...). Je vois qu'il est possible d'activer un clavier virtuel dans Scummvm via le paramètre <b>--enable-vkeybd</b> au moment du script de configuration (lors de la compilation): voir http://wiki.scummvm.org/index.php/Virtual_Keyboard Il serait alors possible d'ouvrir ce clavier virtuel via la touche F7, qui pourrait être mappée sur un autre bouton du gamepad. Pensez-vous que cela soit imaginable ?
-
Bonjour @Laurent merci pour ton partage. As tu essayé de mapper cette touche F7 pour voir si le clavier virtuel apparaissait ?
-
Oui, mais ça ne fonctionne pas ! Apparemment, l'option n'est pas activée par défaut. Je vais essayer de recompiler scummvm avec cette option. On verra bien si cela change quelque chose ...
-
Hello, pour info, le non support des manettes dans scummvm sera résolu dans la 4.0 de recalbox. Cette dernière contiendra une version patché de SDL qui permettra de faire fonctionner out of the box tous les contrôleurs sur scummvm.
-
Ha chouette. C'est bon à savoir. Y aura-t-il aussi le clavier virtuel dans scummvm ?
-
Humm je jetterai un coup d'oeil, peu être une option à ajouter à la compilation.
-
Voilà, finalement, j'ai recompilé scummvm (vanfanel) avec l'option --enable-vkeybd au moment du configure et remplacé la version /usr/bin/scummvm par celle que j'obtiens. Pour que cela fonctionne, il faut encore : - mapper un bouton du pad vers CTRL-F7 - récupérer les fichiers de définition du clavier (vkeybd_default.zip et vkeybd_small.zip) et les placer quelque part (chez moi, c'est dans /usr/share/scummvm/) puis associer le répertoire dans la configuration : ----- .scummvmrc ----- [scummvm] vkeybdpath=/usr/share/scummvm ------------ Par contre, je trouve les menus ScummVM fort petits. Les jeux s'ouvrent chez moi en 1920x1080 (x3) mais je suspecte que les menus gardent leurs tailles d'origine, ce qui les rend illisibles de loin. Quelqu'un aurait une idée ? J'ai tenté de changer la résolution en remplaçant le mode vidéo de 2 vers 3 au lancement de runcommand.sh. Le jeu se lance alors en 640x480 mais ScummVM semble continuer à utiliser la résolution 1920x1080 ... donc, je ne visualise qu'une partie de l'écran !
-
Sinon, j'en profite aussi pour poster une autre astuce: Chez moi, j'ai modifié la structure des "ROMs" ScummVM. Ma nouvelle structure est : -> Répertoire du jeu avec l'extension .scummvm (ex: Day of the Tentacle.scummvm) --> qui contient tous les fichiers du jeu + tentacle.scummvm (le nom court attendu par ScummVM) En gros, je ne fais que renommer le répertoire en y ajoutant une extension .scummvm Ceci empêche ES de rentrer dans le répertoire et il exécute directement le jeu. J'ai du adapter un peu le script /recalbox/scripts/emulatorlauncher.sh comme suit : ------ if [[ "$emulator" == "scummvm" ]]; then scummFile=$(ls "$1"/.scummvm) scummFilename=$(basename "$scummFile") scummId=${scummFilename%.} /recalbox/scripts/runcommand.sh 2 "scummvm --path="$1" "$scummId"" fi ------ Les avantages de cette technique sont : 1) Plus besoin de rentrer dans le répertoire pour l'exécution du jeu (je trouve l'interface plus propre) 2) Le scrapping se base sur le nom de répertoire plutôt que le nom court ScummVM, ce qui donne de bien meilleurs résultats Si cela peut intéresser quelqu'un ...
-
Nice, merci pour ces feedbacks. Je regarderai tout ça quand je mettrai scummvm à jour dans la 4.0.0
-
Alors je viens de jeter un coup d'oeil à scummvm ok pour le clavier virtuel. Par contre une idée de comment je peux assignée un bouton de la manette au clavier virtuel. Car dans l'état je suis obligé de passer par le clavier, ctrl+f7 pour faire apparaître le clavier virtuel
-
Ok j'ai trouvé, https://github.com/vanfanel/scummvm/blob/master/backends/events/sdl/sdl-events.cpp#L44 Plus qu'à patcher les sources.
-
Salut rockaddicted, Pour le moment, j'utilise xboxdrv pour mapper mes boutons pad vers des événements clavier/souris. Mon script complet est : ------ if [[ "$emulator" == "scummvm" ]]; then scummFile=$(ls "$1"/.scummvm) scummFilename=$(basename "$scummFile") scummId=${scummFilename%.} xboxdrv --config /usr/share/scummvm/xboxdrv-scummvm.ini & xboxdrv_pid=$! /recalbox/scripts/runcommand.sh 2 "scummvm --path="$1" "$scummId"" kill $xboxdrv_pid fi ------ Et le fichier xboxdrv-scummvm.ini : ------- [xboxdrv] ui-clear=true evdev=/dev/input/event0 silent=true extra-events=false [evdev-absmap] ABS_X=x1 ABS_Y=y1 [ui-axismap] x1=REL_X:10 # Left analogic stick = mouse movement y1=REL_Y:-10 [evdev-keymap] BTN_A=a BTN_B=b BTN_X=x BTN_Y=y BTN_START=start BTN_SELECT=back [ui-buttonmap] a=BTN_LEFT # A button = mouse left button (select) b=BTN_RIGHT # B button = mouse right button (default action) x=KEY_SPACE # X button = keyboard SPACE (pause) y=KEY_ESC # Y button = keyboard ESC (skip sequence) back=KEY_LEFTCTRL+KEY_F7 # SELECT/BACK button = CTRL-F7 (open virtual keyboard) start=KEY_F5 # START button = F5 (open ScummVM menu) ---------
-
Tu en profites pour passer en SDL 2 pour corriger le problème de joystick alors ?
-
Yep à la base je comptais passer sur une version patchée de SDL1 pour résoudre le soucis de joystick. Mais finalement vu que le scummvm officiel vient de switcher sur SDL2, je pars la dessus. Pour le clavier virtuel, j'ai patché les sources, pour qu'une pression du bouton 7 de la manette affiche/retire ce dernier de l'écran. Par contre les contrôles étant hardcoded, on ne pourra pas faire de modif de la configuration de la manette.
-
OK, c'est déjà super. Merci !
-
Rockaddicted, Je viens de penser à une chose. Dans le fichier de configuration de Scummvm (/root/.scummvmrc), ne serait-il pas intéressant de mettre par défaut : savepath=/recalbox/share/saves Ainsi les sauvegardes ScummVM seront à l'emplacement standard.