Obligement - L'Amiga au maximum

Samedi 24 juin 2017 - 00:15  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


En pratique : paramétrage d'une manette USB avec Poseidon
(Article écrit par Sylvain Aumercier - mai 2005)


Poseidon est une pile USB créée par Chris Hodges qui permet donc de gérer différents matériels USB. Celle-ci est extrêmement puissante mais, vous l'aurez sans doute remarqué, sur Amiga comme ailleurs, la puissance est souvent synonyme de complexité notamment dans la configuration des préférences.

Trident, l'interface de préférence de Poseidon, n'échappe pas à cette règle et quand on n'a pas la chance de tomber sur un périphérique qui marche à merveille du premier coup, arriver à ses fins devient alors souvent un véritable calvaire.

Ce tutoriel a pour vocation de vous montrez, étape par étape, comment paramétrer une manette USB à travers Trident, que vous désiriez changer une simple caractéristique de votre manette ou tout simplement le faire marcher vous devriez y trouver un intérêt.

Comme il s'agit ici de solutionner un maximum de problémes, j'ai choisi une manette particulièrement hors-norme dans ces caractéristiques, une horreur du genre, j'ai nommé le Microsoft (une fois n'est pas coutume) Sidewinder GamePAD USB... la messe est dite, on se retrousse les manches. :)

Joypad Microsoft Sidewinder

HID the road ! mais bloqué en haut à gauche

C'est le premier réflexe à avoir quand on branche son nouveau périphérique USB tout droit sorti de Carrefour, consultez le fichier-journal de Poseidon, si vous avez un message de la hid.class de genre "HID The Road" suivit du nom de votre manette toute reluisante de propreté, c'est que les choses s'annoncent plutôt bien.

Trident

Le deuxième réflexe à avoir est de se jeter brutalement sur un jeu ou un émulateur qui se sert de la lowlevel.library (c'est-à-dire qui passe à travers le système pour ce qui est de la gestion de la manette), je trouve Snes9x de Fabien Coeurjoly particulièrement bien adapté à ce genre de test.

Je lance donc ledit émulateur avec le jeu Super Aleste et je m'imagine déjà en train de "blaster" de l'alien dans le cosmos mais que neni, je constate dans un premier temps que le bouton "Start" ne semble pas paramétré sur ma merveilleuse manette et que, horreur absolue, une seule direction fonctionne, tandis que deux autres (haut et gauche) semble toujours actives. J'hésite alors entre faire avaler ma manette au revendeur de Carrefour ou me venger des vils aliens en leur montrant comme je manipule bien le clavier mais dans un élan d'intelligence je me souvient que Poseidon a des préférences !

Mode wizard quand t'es pas là, bah t'es pas là !

Me voilà donc face à face avec Trident, si c'est pour vous la première fois ça donne la vague impression d'être un singe de laboratoire devant la console de contrôle d'une usine à gaz russe des années 1960. Je clique donc, le doigt tremblant, sur "Devices" et vois apparaître la liste des périphériques USB que voit Poseidon.

Trident

Je double-clique alors sur mon périphérique dans la liste, une fenêtre s'ouvre alors me donnant les informations données par ma manette à Poseidon, ainsi que la classe qu'utilise ce dernier, la fameuse "HID class".

Trident

HIDeux ma bonne dame !

Je double-clique maintenant sur la ligne "HID interface (x)" et la fenêtre de paramétrage de la classe HID s'ouvre devant mes yeux ébahis. Trois onglets sont à notre disposition, seuls "General" et "Action" nous intéressent en ce qui concerne une manette. Dans l'onglet "General", assurez-vous juste dans l'encart "LowlLevel Library joypad emulation" que le port 1 est en "Merge with USB". Le port 0 (souris), 2 et 3 ne nous intéressent pas, nous avons qu'une seule manette, mettez-les donc, si ce n'est pas déjà le cas en "Don't touch".

Trident

Action, ça se complique

Je passe maintenant à l'onglet "Action", c'est ici que les choses sérieuses commencent.

En effet, c'est ici qu'on étalonne la croix directionnelle de sa manette et qu'on attribue des fonctions aux divers boutons. Dans le cadre en haut à gauche "Reports and Collections" vous constaterez comme dans l'image suivante, "Pointer (Game Pad)" qui correspond à la croix directionnelle, "Game Pad" qui correspond aux divers boutons ainsi que "Extra" qui, dans le cas présent, ne nous intéresse pas.

Trident

Etalonnage de la croix directionnelle

Sélectionnez "Pointer (Game Pad)" pour étalonner la croix de direction de notre manette. La première chose à faire et de cocher la case "Track incoming events" ainsi que "Reports current values", il s'agit en fait de recueillir les valeurs transmises par la manette quand la croix est en position nulle, quand on sélectionne droite, gauche, haut puis bas. Attention, si la croix directionnelle de votre manette marche parfaitement, il est inutile d'en modifier le paramétrage, nombreux sont les manettes qui emploient des valeurs standards (celles par défaut de Poseidon).

Dans mon cas présent, avec ma manette Sidewinder, je constate que la valeur nulle est de 63 sur l'axe X et Y, comprenez que quand je touche à rien, la manette envoie la valeur 63 sur ces deux axes, ce n'est pas du tout standard (merci Microsoft), la logique voudrait que ça soit une valeur de 0. Ceci explique pourquoi mon vaisseau vient se caller irrémédiablement en haut à gauche quand je ne touche à rien dans le jeu Super Aleste.

Ma valeur nulle est donc de 63, je note. Quand je presse la position droite de ma manette, j'ai la valeur de 127 sur les X, quand je presse la position gauche j'ai la valeur 0 sur les X, et enfin 127 pour bas et 0 pour haut sur l'axe Y. Fort de cette constatation, une certaine logique se dessine et nous donne le schéma suivant :

La croix

N'hésitez pas à gribouiller un schéma similaire c'est toujours plus simple quand on a une représentation graphique.

Il s'agit maintenant de transposer les valeurs obtenues dans "Performed actions" pour les quatre actions des axes X et Y (soit huit actions). Sélectionnez pour chaque axe les quatre actions, donc dans le tableau en bas à gauche. Vous devriez avoir "release left" et "release right" (gauche et droite) et "push left" et "push right" sur l'axe des X et la même chose pour "down" et "up" (bas et haut) sur l'axe des Y. A titre d'information, l'action "Push" correspond à une pression brève et "Release" à un maintien du bouton ou direction, ceci à son importance pour, par exemple, configurer un tire automatique (auto-fire).

Nous transposons donc facilement les valeurs obtenues sur nos huit actions à l'aide de notre schéma. Gardez juste à l'esprit que "Left constant" est la valeur "non" d'une direction et "Right constant" est sa valeur "oui" (0 et 1 logique), cette terminologie peut porter à confusion.

Ainsi pour notre Sidewinder :

Release ou Push Left (gauche) donne un Left contant de 63 et un Right constant de 0 (voir image suivante).
Release ou Push Right (droit) donne un Left constant de 63 et un Right constant de 127.
Release ou Push Up (haut) donne un Left constant de 63 et un Right constant de 0.
Release et Push Down (bas) donne un Left constant de 63 et un Right constant de 127.

Trident

Une fois cette laborieuse étape terminée, je vous invite à constater l'efficacité des réglages en pratique avant de passer aux paramétrages des boutons de feux. N'oubliez pas de sauvegarder vos réglages, il serait fâcheux de recommancer.

Attributions des boutons de feux

Rassurez-vous, cette dernière étape et nettement moins fastidieuse que celle de l'étalonnage de la croix directionnelle. De plus, vous devriez commencer à comprendre la logique toute particulière qu'est celle de Poseidon.

Sélectionnez donc "Game Pad" dans le tableau "Reports and Collections", vous constaterez une liste de boutons d'une longueur variable selon votre manette dans le tableau "Usage handling".

Trident

Une nouvelle fois cochez les cases "Track incomming events" et "Report current values", il s'agit de savoir à quels boutons logiques correspond tel ou tel bouton physique sur votre manette. Pour chacun d'eux, dans le "Performed actions", vous avez alors la possibilité de lui attribuer (assign) les valeurs suivantes : Red (rouge), Blue (bleue), green (vert), yellow (jaune), Forward, Reverse et Pause, qui correspondent aux boutons d'une manette CD32 standard utilisée dans les jeux et émulateurs Amiga.

Un bouton doit être configuré comme suit :
Type : Digital Joystick
Trigger : Any

A noter que vous pouvez également attribuer une direction aux divers boutons feux.

Conclusion

Vous l'aurez sans doute remarqué, nous avons été délibérément au but, les préférences de Poseidon sont si vastes qu'elles offrent bien d'avantage de possibilités, même pour un périphérique qui semble aussi simple qu'une manette. Il ne s'agit pas ici de faire une documentation complète de la classe HID et encore moins de Poseidon, un livre de 500 pages ne suffirait pas. Tâchez déjà d'assimiler ce que vous venez de faire vous devriez déjà commencer à cerner la logique de la bête.

Je me tiens à votre disposition si des passages vous semble difficile à surmonter même avec ce tutoriel. Mon adresse suivante : sas "at" neuf "point" fr, ou en IRC sur de3.arcnet.vapor.com port:6667 #amigaimpact.


[Retour en haut] / [Retour aux articles]