web-dev-qa-db-fra.com

Configuration de la manette ignorée par les jeux

J'ai récemment eu un gamepad filaire (USB) XBox 360. C'était presque plug-and-play sur mon ordinateur portable sous Ubuntu 12.04. Cependant, certains axes de contrôle ont été mélangés. J'ai utilisé jstest-gtk pour reconfigurer le mappage et jscal-store afin (soi-disant) de sauvegarder la nouvelle configuration. Cependant, lorsque je lance Xonotic ou Nexuiz (First Person Shooters), ils utilisent toujours le mappage mélangé d’origine. Comment faire en sorte que ces jeux reconnaissent la nouvelle configuration? BTW, je suis plus préoccupé par le travail de Xonotic, je me fous de Nexuiz. S'il vous plaît, ne vous disputez pas pour savoir pourquoi je devrais rester avec une souris et un clavier pour les jeux. [:-) Merci d'avance.

4
Symba

Le problème est que jstest-gtk modifie uniquement le mappage du joystick, c'est-à-dire /dev/input/js0. Cependant, la plupart des jeux modernes utilisant SDL n'utilisent plus le joystick, mais plutôt evdev, c'est-à-dire/dev/input/eventX, ce qui ne permet aucun remappage.

La solution la plus rapide consiste à définir une variable d'environnement:

export SDL_JOYSTICK_DEVICE=/dev/input/js0

Cela obligera les applications basées sur SDL à utiliser l'ancien périphérique de joystick et à respecter ainsi le mappage. Cela ne vous aidera pas avec les applications non-SDL.

Une autre alternative est xboxdrv , il s'agit d'un pilote Xbox360 en espace utilisateur qui permet une grande variété d'options de configuration au niveau du pilote (y compris l'émulation du clavier et de la souris). Cela fonctionnera pour tous les jeux.

4
Grumbel

Dans les paramètres avancés de Xonotic, il existe deux variables: joy_axispitch et joy_axisyaw qui doivent être modifiées. Malheureusement, Xonotic les réinitialise à la fermeture du jeu. Ce que j'ai fait pour résoudre ce problème était dans le répertoire /home/username/.xonotic/data j'ai ajouté un fichier que j'ai appelé "config-mods.cfg". Dans ce fichier sont deux lignes:
"joy_axispitch" "4"
"joy_axisyaw" "3"

Enfin, j’ai réalisé un script shell simple avec ces deux lignes de code:
cat /home/username/.xonotic/data/config-mods.cfg >> /home/username/.xonotic/data/config.cfg

/home/username/Applications/Xonotic/xonotic-linux64-sdl -basedir  /home/username/Applications/Xonotic/`

J'exécute ce script au lieu de lancer le jeu directement et ajoute les deux lignes nécessaires au support du joystick.

1
Symba