Selon les tags présents sur cette page, celle-ci n'a pas été vérifiée pour une des versions LTS supportées d'Ubuntu.
Apportez votre aide…

Ceci est une ancienne révision du document !


Manette de jeu : Généralités

  • Vous devez avoir activé les dépôts « Universe » dans votre fichier /etc/apt/sources.list ou à partir de Synaptic (plus d'informations sur la page des dépôts).
  • Une manette de jeu pour port jeu ou USB.
  • Une carte son SoundBlaster ou compatible (port jeu uniquement).
  • Savoir démarrer et utiliser un terminal (une console).

Cette page vous permet de faire fonctionner une manette de jeu sous Ubuntu ou Kubuntu 6.06 et 6.10.

Pour commencez, branchez votre manette. Dans 50% des cas, la manette est auto-détecté (Si c'est une manette à port jeu, un redémarrage de l'ordinateur sera nécessaire). Vous allez donc déjà tester cela. Si ça ne marche pas, reportez-vous à la suite.

Sachez aussi que la plupart des applications utilisent leur propre algorithme pour la détection des manettes (Même si il y a tout de même 2 API dominantes : LINUX et SDL). Ce n'est pas tout à fait comme M$ Windows, où il y a un seul outil centralisé qui gère la manette et ses propriétés (et où les jeux utilisent ces données là).


Vérifiez si vous avez bien les modules suivant cliqué sur le raccourci et amusez vous bien. http://www.trustonme.net/didactels/160.html#joyson

(note de adam0509 : pas terrible ce lien… on peut virer ?)

Nous allons vous présenter ici les différentes méthodes pour calibrer (mais surtout tester) votre manette de jeu.

Avec "jscalibrator"

NOTA : jscalibrator peut poser (beaucoup) de problèmes (voir section problèmes), ainsi donc, je vous le déconseille fortement !!


Installez le paquet :

sudo apt-get install jscalibrator

Puis calibrez la manette de jeu avec la commande :

jscalibrator

Cliquez sur le bouton « Calibrate »

Utilisez tous les axes et boutons de votre manette de jeu pour que le logiciel enregistre les valeurs minimales et maximales de votre manette.

Re-cliquez sur le bouton « Calibrate » pour que ces paramètres soient enregistrés.

Important : Une fois sauvées, les infos de calibrations sont stocké dans le fichier ".joystick" dans votre /home/user.

Par le Centre de configuration de KDE

Conseillé : installez le paquet kcontrol si vous n'utilisez pas KDE.

Dans le menu KDE, sélectionnez « Centre de configuration de KDE ».

Dans le Centre de configuration de KDE, cliquez sur la section « Périphériques ».

Et dans la section Périphériques, cliquez sur « Manette de jeu ».

Cela vous donnera une fenêtre qui ressemble à :

Cliquez sur le bouton « Calibrer », puis procédez au calibrage de la manette avec les instructions qui vous seront demandées.

Soyez attentifs aux demandes (Minimum, Centre et Maximum). Si vous vous trompez dans l'ordre, n'hésitez pas à annuler et reprendre la calibration.

Par le mode console

La méthode ultime !

sudo cat /dev/input/js0

Si vous voyez des signes bizarre qui bougent selon les boutons appuyé, c'est que ça doit marcher !

sudo apt-get install joystick

Joystick est un programme pour calibrer la manette en mode console et s'utilise avec les commandes :

jscal -c /dev/input/js0
jstest /dev/input/js0
man jscal  ## voir le manuel de jscal
man jstest ## voir le manuel de jstest

La manette n'est pas détectée ? Vous venez de brancher votre manette et ne voulez pas redémarer votre ordinateur ? OK !

1°/ Créer les port jeux dans Linux

Note : Cela semble être facultatif.

Dans un terminal (une console) :

Il faut se placer dans le bon répertoire avec la commande :

cd /dev/input

Créez le port jeux avec la commande :

sudo MAKEDEV js

Fermer le terminal.

2°/ Chargement des modules

Les manettes demande un certains nombre de "Pilotes". Sous Ubuntu, ce sont des modules qui doivent étre chargé avec le noyau linux.

Dans un premier temps, nous allons le faire manuellement. Si tout marche, on va modifier certains fichiers afin que tout soit fait au démarrage de l'ordinateur.

A/ Tester la solution avant de modifier les fichiers

Dans un terminal (une console) charger en mémoire les pilotes requis selon votre manette.

Par exemple, pour une SideWinder GamePad (/!\ cf plus bas pour connaitre les bons modules !! /!\) :

sudo modprobe joydev ## Pilote pour les manettes de jeu
sudo modprobe ns558 ## module du port jeu
sudo modprobe sidewinder ## module correspondant à la manette

A tout moment vous pouvez voir les modules chargé avec la commande :

lsmod
lsmod | grep gameport ## pour n'afficher que les lignes contenant "gameport"

Pour tester si le tout fonctionne essayez donc de calibrer votre manette :

Calibration (Ancre)

Si vous avez réussi la calibration de la manette c'est que vous avez charger les bons pilotes. Passez à la section suivante.

Si vous avez eu un message d'erreur et n'avez pas réussi la calibration de la manette c'est que vous devrez regarder le reste du présent document pour y trouver les bons pilotes.

Rappel : Pour décharger un module, il faut utiliser la commande modprobe -r (remove) :

sudo modprobe -r sidewinder

B/ Charger les modules automatiquement au démarrage

Pour cela, il faut éditer le fichier de configuration "/etc/modules". Dans un Terminal, entrez une des commande suivante :

sudo gedit /etc/modules    ## (Ubuntu)
sudo kate /etc/modules     ## (Kubuntu)
sudo mousepad /etc/modules ## (Xubuntu)

Prenez soin de respecter la casse. Ce fichier « modules » regroupe une partie des pilotes à charger avec votre noyau Linux.

Ajoutez à la fin du fichier, le texte suivant :

## Pilotes de manette de jeu (joystick)
joydev         ## Pilote pour les manettes de jeu
ns558          ## Pilote pour le port jeu
sidewinder     ## Pilote spécifique pour les manette MS-SideWinder

Cela donne un fichier /etc/modules qui devrait ressembler à ceci :

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

lp

## Pilotes de souris
psmouse
mousedev

## Pilotes de carte de son ALSA Ensoniq ES1371 AudioPCI-97
alias snd-card-0 snd-ens1371
below snd-es1371
snd-seq-device ## Optionnel, pour les séquenceur MIDI
snd-seq-midi   ## Optionnel, pour les séquenceur MIDI

## Pilotes de manette de jeu (joystick)
joydev         ## Pilote pour les manettes de jeu
ns558          ## Pilote pour le port jeu
sidewinder     ## Pilote spécifique pour les manette MS-SideWinder

En plus de cela, vous devez créer ou modifier le fichier /etc/modules.conf, pour y ajouter des lignes.

sudo gedit /etc/modules.conf    ## (Ubuntu)
sudo kate /etc/modules.conf     ## (Kubuntu)
sudo mousepad /etc/modules.conf ## (Xubuntu)

A la fin du fichier, copier les lignes suivante :

alias js0 input
above input joydev ns558 sidewinder

Enregistrez les modifications puis redémarrez votre ordinateur.

Port jeu (port MIDI)

Pour une carte son à base de ens1371

Si vous avez une carte-son à base de chipset ens1371 (Ex : Sounblaster 64 et 128), une petite manipulation préliminaire s'impose.

Tout d'abord, vérifier le modèle de votre carte son : dans une console tapez

lsmod | grep snd_ens1371

Si vous avez quelque chose, c'est bon, continuez, sinon, vous avez une autre carte son. (Mais vous pouvez tout de même tenter de continuer en remplaçant dans ce qui suit « joystick_port=1 » par « joystick=1 » ou « joystick » et en adaptant le nom du pilote de votre carte son.)

Editez le fichier /etc/modprobe.d/options :

sudo gedit /etc/modprobe.d/options    ## (Ubuntu)
sudo kate /etc/modprobe.d/options     ## (Kubuntu)
sudo mousepad /etc/modprobe.d/options ## (Xubuntu)

Et rajoutez y la ligne :

options snd_ens1371 joystick_port=1

Redémarrez, et refaites le tuto depuis le début.

(Merci PierreR)

Pour une carte son Aztech

(récupéré de l'ancienne page)

Apparemment, là aussi il faut activer le port son.

Donc dans /etc/modules.conf ajouter :

above snd-trident snd-pcm-oss
alias sound-slot-0 trident
alias js0 input
above input joydev pcigame analog adi

Pour éditer le fichier, utiliser la commande :

sudo gedit /etc/modules.conf    ## (Ubuntu)
sudo kate /etc/modules.conf     ## (Kubuntu)
sudo mousepad /etc/modules.conf ## (Xubuntu)
Classic ISA/PnP gameports
sudo modprobe ns558
Crystal SoundFusion gameports
sudo modprobe cs461x
Aureal Vortex and Trident 4DWave gameports
sudo modprobe pcigame
SoundBlaster Live! gameports
sudo modprobe emu10k1-gp
Autres
sudo modprobe gameport

Manettes/Joysticks

Pour une manette analogique

Ce pilote marche bien avec les manettes bas de gammes :

sudo modprobe analog
Pour une manette de jeu Microsoft SideWinder
sudo modprobe sidewinder
sudo modprobe analog ## A réserver a la gamme joystick
Pour une manette MS SideWinder ForceFeedBack Pro
sudo modprobe analog 
sudo modprobe sidewinder
sudo modprobe iforce ## Pilote pour le retour de force
sudo modprobe evdev ## Pilote pour "Input driver event char devices"
Pour une manette de jeu Logitech WingMan ADI digital
sudo modprobe adi
Pour "Assassin 3D and MadCatz Panther"
sudo modprobe a3d
Pour "Genius Flight2000 Digital joysticks and gamepads"
sudo modprobe gf2k
Pour "Gravis GrIP joysticks and gamepads"
sudo modprobe grip
Pour "InterAct digital joysticks and gamepads"
sudo modprobe interact
Pour "ThrustMaster DirectConnect joysticks and gamepads"
sudo modprobe tmdc
Pour une manette Guillemot dual analog gamepad (port jeu)
sudo modprobe guillemot
sudo modprobe analog ## A verifier
sudo modprobe iforce ## A verifier

Pensez aussi au bouton qui active/désactive les mini-sticks de cette manette.

Pour une manette Xbox (360?)
sudo modprobe xpad
Pour une manette de jeux pour port USB

(Inspiré par cet article)

Si l'auto détection ne fonctionne pas (cas très rare !)…

sudo modprobe usbhid
sudo modprobe joydev

Maintenant, si vous brancher votre manette (au cas ou vous ne l'aurez pas déjà fait) et testez-la.

Il ne vous restera plus qu'à mettre usbhid et joydev dans /etc/modules comme indiqué plus haut.

Autres manettes

Pour obtenir une liste complète des modules, vous pouvez tapez modprobe -l

Vous pouvez aussi installer le paquet modconf :

sudo apt-get install modconf

Lancez ensuite modconf en sudo (en ayant préalablement agrandi la fenêtre) :

sudo modconf

Vous atterrirez sur une liste COMPLÈTE de tous les modules disponibles. Rendez-vous dans le dossier joystick, et vous verrez tous les modules joystick possible et inimaginable ! :)

Je n'arrive pas à calibrer ma seconde manette

C'est apparemment un bug qui est présent dans jscalibrator. Mais cela n'est pas important dans la mesure ou chaque logiciel a son propre algorithme de détection de manette.

Le module analog se charge automatiquement

Il peut arriver qu'un module non-désiré se charge automatiquement au démarrage de l'ordinateur. L'exemple le plus fréquent est le module "analog", qui n'est pas nécéssaire pour toutes les manettes. Il faut donc le "black-lister" :

sudo gedit /etc/modprobe.d/blacklist

Et ajouter une ligne :

# analog module
blacklist analog

Enregistrez et quittez.

Mes directions ne fonctionnent pas

Vous devez surement être sur Ubuntu ou Xubuntu :)

Le fait est que la plupart des développeurs se basent sur des Axes de -32000 +32000, et ce, quel que soit votre manette.

Malheureusement, jscalibrator indique au noyau les valeur "réels" de vos Axes, tandis que le centre de contrôle de KDE indique les valeurs "émulée", quel que soit votre manette (genre il va mettre 32000 pour ma Sidewinder à axe simple).

Que faire ?

Il n'y a alors pas d'autres choix que d'installer le centre de contrôle KDE :

sudo apt-get install kcontrol

Rendez-vous dans la catégorie joystick et calibrer tout cela !!

Autre méthode

Ca marche aussi avec joystick (si vous savez utiliser le mode console) :

jscal -c /dev/input/js0

Voir dans la documentation du noyau ici : http://www.freelink.cx/joystick.html.

Une page compléte sur les joystick : http://www.charmed.com/txt/joystick.txt

Un HOWTO sympatique : http://ubuntuforums.org/showthread.php?t=330607

Concernant les volants : http://www.wingmanteam.com/linux.htm

Piloter Xorg avec une manette : http://forum.ubuntu-fr.org/viewtopic.php?pid=947925

English version : http://ubuntuforums.org/showthread.php?p=2685180


Contributeur(e)s : lami, adam0509.

  • materiel/joystick.1180648130.txt.gz
  • Dernière modification: Le 18/04/2011, 14:48
  • (modification externe)