Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Techniques informatiques

Quelques réglages Batocera/Recalbox

22/08/2025
Personnalisez votre machine de retrogaming sur Batocera/Recalbox avec ces réglages pour EmulationStation et Retroarch.

EmulationStation

Utiliser un clavier avec une disposition AZERTY

Par défaut sur Batocera, la disposition du clavier est en QWERTY. Il y a bien les options system.kblayout et system.kbvariant dans batocera.conf mais je n'ai remarqué aucune différence lorsque je les modifie. Ce comportement est recencé sur le forum de Batocera mais sans réponse satisfaisante. Aussi, après différents essais, je vous présente ici ma solution.

Batocera utilise Sway pour configurer le clavier. Lorsque l'on passe en ligne de commande, la commande suivante applique convenablement la disposition AZERTY, ce qui est très encourageant :

sway input type:keyboard xkb_layout fr

Seulement, au redémarrage, ce paramétrage n'est pas conservé et le fichier de paramétrage de Sway est écrasé à chaque redémarrage, annulant toute éventuelle modification... Sur Batocera, l'utilisation de fichiers de configuration étant obsolète depuis la version 38, je vous propose de créer un service qui fonctionne de façon similaire : il s'agit d'un script shell à placer à un endroit approprié pour être automatiquement pris en compte par EmulationStation. Ce script va :

  • Attendre le démarrage d'EmulationStation et de Sway.
  • Rechercher les périphériques de type clavier 5 fois avec des pauses de 3 secondes.
  • Une fois un clavier détecté, il va demander la disposition FR à Sway. En cas d'échec, une pause de 7 secondes est réalisée.

Cette modification peut être appliquée soit en ligne de commande (en allant dans /userdata/system), soit via le répertoire réseau partagé (en allant dans <PARTAGE>\share\system).

  • Créez le répertoire /userdata/system/services (ou <PARTAGE>\share\system\services si vous le faites depuis un partage réseau)
  • Créez dans ce répertoire un fichier texte (nommé clavier_fr, sans extension) avec le contenu suivant :
    #!/bin/bash
    # Service Clavier FR, lançant la disposition du clavier en mode AZERTY
    # Eric Quillévéré - 08/2025
    #
    echo "Service clavier FR"

    function ajoute_date {
        echo -n "$(date +"%Y-%m-%dT%H:%M:%S.%3N");$(whoami);" >> $1
        }

    #alias ll='ls -lh --group-directories-first --color=auto'

    case "$1" in
        start)
            fichier_log="/userdata/system/clavier_fr.log"
            echo "" > $fichier_log
            ajoute_date $fichier_log
            echo "EmulationStation : attente détection..." >> $fichier_log
            while ! pgrep -x swaybg > /dev/null || ! batocera-es-swissknife --espid >> /dev/null; do
                sleep 1
            done

            # La variable d'environnement de Wayland (Sway) n'est pas disponible dans le service
            # => on la récupère en listant le répertoire
            export SWAYSOCK=$(ls /var/run/sway-ipc.* | head -n 1)

            ajoute_date $fichier_log
            echo "Clavier : attente détection..." >> $fichier_log
            clavier_detecte=false
            nb_essais_restants=5

            while [[ "$clavier_detecte" != "true" && "$nb_essais_restants" -gt 0 ]]; do

                for device in /dev/input/event*; do
                    # Utilise udevadm pour obtenir des informations sur le type de périphérique

                    if udevadm info "$device" | grep -q "ID_INPUT_KEYBOARD=1"; then

                        ajoute_date $fichier_log
                        echo "Périphérique clavier détecté : $device" >> $fichier_log
                        clavier_detecte=true

                        ajoute_date $fichier_log
                        if /usr/bin/sway input type:keyboard xkb_layout fr | grep -q '{ "success": true }'; then
                            echo "Lancement SWAY OK" >> $fichier_log
                        else
                            echo "Échec du lancement de SWAY" >> $fichier_log
                            nb_essais_restants=$((nb_essais_restants - 1))
                            clavier_detecte=false
                            sleep 7
                        fi

                        break
                    fi
                done

                if ! $clavier_detecte; then
                    sleep 3
                fi
            done

            ajoute_date $fichier_log
            if $clavier_detecte; then
                echo "Fin de l'exécution" >> $fichier_log
            else
                echo "Abandon de l'exécution" >> $fichier_log
                env >> $fichier_log
            fi
            ;;

        stop)
            sway input type:keyboard xkb_layout us
            ;;

     *)
        echo "Usage: $0 {start|stop|restart}"
        ;;
    esac

    exit $?
  • Redémarrez Batocera puis allez dans le menu principal, système et services. Vous y verrez le nouveau service "Clavier FR", que vous pouvez activer et qui lancera la disposition AZERTY. Si vous arrêtez le service, le script est appelé et rebascule en clavier US (QWERTY).
  • Enfin, en cas de souci, le fichier log /userdata/system/clavier_fr.log permet de voir ce qu'il se passe (ou <PARTAGE>\share\system\clavier_fr.log si vous le faites depuis un partage réseau).

Ecouter ses propres musiques

Placer dans le répertoire share/music des fichiers MP3 afin qu'ils soient lus en continu sur EmulationStation. Les musiques de Remix Kwed s'y prêtent particulièrement, vu qu'il s'agit de remake de musiques de jeux.

Retroarch

Voici quelques réglages intéressants pour Retroarch. Sur Batocera, ils peuvent s'appliquer dans le fichier share/system/batocera.conf afin de les centraliser (cela permet à un seul endroit d'avoir les paramètres sur tous les systèmes ou appliqué à un système en particulier).

Activer le 1er plan des jeux DOS/Windows

Si les jeux sont lancés en arrière plan, les touches de raccourci fonctionnent immédiatement, donc autant le faire autant que possible. Par contre, pour les jeux DOS ou Windows, le clavier est souvent nécessaire, d'où une mise au premier plan par défaut.

global.retroarch.input_auto_game_focus = "0"
dos.retroarch.input_auto_game_focus = "1"

Accélérer l'exécution des jeux DOS

Par défaut, les jeux DOS peuvent être trop ralentis au chargement et à l'exécution. Pour les rendre plus rapide, il faut modifier le fichier share/system/configs/retroarch/config/DOSBox-puredos.opt comme ceci :

dosbox_pure_cycles = "max"
dosbox_pure_memory_size = "512"

Conserver 15 sauvegardes maximum et tournantes

Les sauvegardes consommant de l'espace disque, il n'est pas utile d'en conserver 1000. En fixant un maximum plus faible (ici 15) et en indiquant qu'elles sont auto-incrémentées (valeur 2 de savestates), cela permet de limiter l'espace utilisé.

global.savestates=2
global.retroarch.savestate_max_keep = "15"

Utiliser une seconde manette pour le joueur 1

Redirigez le port 3 vers le joueur 1 :

global.retroarch.input_remap_port_p3 = "0"
Dernière modification le 22/08/2025 - Quillevere.net

Commentaires

Aucune inscription n'est requise si vous souhaitez

Rechercher sur le site

fr en rss RSS info Informations