Xpad

paroj paroj
Dépôt créer le : 06/06/2015
Forks: 218 Watcher: 0 964
Choisir une liste...
FR

ko-fi

Mise à jour du pilote de noyau Linux Xpad

Pilote pour les contrôleurs Xbox/ Xbox 360/ Xbox 360 sans fil/ Xbox One

Ce pilote inclut les dernières modifications dans le noyau linux en amont et porte en outre les modifications suivantes :

  • prise en charge de dispositifs plus compatibles
  • prise en charge des contrôleurs de classe xbox360, qui nécessitent une initialisation
  • support Guitar Hero Live xbox un contrôleur

Contrôleurs Xbox One

Ce pilote n'est utilisé que si vous connectez le contrôleur par USB.

Connexion via Bluetooth
Si vous dépassez les problèmes d'appariement, le contrôleur fonctionnera dans le profil générique HID bluetooth.
Le pilote xpad ne sera pas utilisé.

Connexion via l'adaptateur sans fil XBox One (WiFi)
L'adaptateur a besoin de démon dans l'espace utilisateur, voir: médusalix/xow
Opinion: plutôt obtenir un contrôleur qui soutient bluetooth.

Installation

sudo git clone https://github.com/paroj/xpad.git /usr/src/xpad-0.4
sudo dkms install -m xpad -v 0.4

Mise à jour

cd /usr/src/xpad-0.4
sudo git fetch
sudo git checkout origin/master
sudo dkms remove -m xpad -v 0.4 --all
sudo dkms install -m xpad -v 0.4

Suppression

sudo dkms remove -m xpad -v 0.4 --all
sudo rm -rf /usr/src/xpad-0.4

Utilisation

Ce pilote crée trois périphériques pour chaque gamepad attaché

  1. /dev/input/jsN
    • exemple jstest /dev/input/js0
  2. /sys/class/leds/xpadN/Brightness
    • exemple echo COMMAND > /sys/class/leds/xpad0/brightness où COMMAND est l'un des
      • 0: hors
      • 1: tout clignement, puis réglage précédent
      • 2: 1/ clignote du haut à gauche, puis sur
      • 3: 2/en haut à droite, puis en haut
      • 4: 3/clignement bas-gauche, puis sur
      • 5: 4/en bas à droite, puis sur
      • 6: 1/ en haut à gauche
      • 7: 2/ en haut à droite
      • 8: 3/ en bas à gauche
      • 9: 4/en bas à droite
      • 10 : rotation
      • 11: clignement, basé sur le réglage précédent
      • 12: clignotement lent, basé sur le réglage précédent
      • 13: tourner avec deux feux
      • 14: lent et persistant tout clignement
      • 15: cligne une fois, puis réglage précédent
  3. le dispositif d'événement générique
    • exemple fftest /dev/input/by-id/usb-*360*event*

Déboguement

En tant qu'utilisateur ordinaire non privilégié

Console de configuration pour afficher le journal du noyau.
dmesg --level=debug --follow

Ouvrez une nouvelle console et accédez au périphérique avec jstest.
jstest /dev/input/jsX

Interagir avec l'appareil et observer que les paquets de données reçus de l'appareil sont imprimés dans le journal du noyau.

[ 3968.772128] xpad-dbg: 00000000: 20 00 b5 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 40 fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3968.772135] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3968.804137] xpad-dbg: 00000000: 20 00 b6 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 fc fd 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3968.804145] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3969.152120] xpad-dbg: 00000000: 20 00 b7 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 b8 fd 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3969.152129] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Enregistrer le tampon dmesg et attacher au rapport de bogue, n'oubliez pas de décrire les séquences de boutons dans le rapport de bogue.
dmesg --level=debug > dmesg.txt

Ctrl+C fermer les sessions de console interactives une fois terminées.

Envoi en amont

  1. git format-patch --cover-letter upstream..master
  2. git send-email --to xxx *.patch

Contributeurs GitHub

lbschenkel
lbschenkel
2 contributions
endrift
endrift
7 contributions
paroj
paroj
29 contributions
cgutman
cgutman
16 contributions
benpicco
benpicco
6 contributions
Plagman
Plagman
5 contributions
dantob
dantob
3 contributions
nate-yocom
nate-yocom
3 contributions
appsforartists
appsforartists
2 contributions
dtor
dtor
2 contributions
Swyter
Swyter
2 contributions
HP-HX-maxster
HP-HX-maxster
2 contributions
belozer
belozer
2 contributions
arndb
arndb
1 contributions
ArvindYadavCs
ArvindYadavCs
1 contributions
lzye
lzye
1 contributions
tititiou36
tititiou36
1 contributions
chaorace
chaorace
1 contributions
ccalmels
ccalmels
1 contributions
dynamix1337
dynamix1337
1 contributions
darioscarpa
darioscarpa
1 contributions
DD3Boh
DD3Boh
1 contributions
flibitijibibo
flibitijibibo
1 contributions
auxym
auxym
1 contributions
Oblomov
Oblomov
1 contributions
ProjectSynchro
ProjectSynchro
1 contributions
Radon86222
Radon86222
1 contributions
uejji
uejji
1 contributions
doublej472
doublej472
1 contributions
JuliaLawall
JuliaLawall
1 contributions