Affectation applicative joysticks hid (udev hidraw)

Bonjour,

je joue à Elite Dangerous Odyssey sous Steam avec Proton.
Pour cela j’utilise 4 joysticks:

Bus 009 Device 006: ID 0738:a221 Mad Catz, Inc. Saitek Pro Flight X-56 Rhino Throttle
Bus 009 Device 004: ID 044f:b352 ThrustMaster, Inc. F16 MFD 2
Bus 001 Device 009: ID 0738:2221 Mad Catz, Inc. Saitek Pro Flight X-56 Rhino Stick
Bus 001 Device 007: ID 044f:b352 ThrustMaster, Inc. F16 MFD 2

Ils sont tous reconnus. Cependant quand je lance le jeu, je me retrouve avec les deux MFD qui liés à steam et les deux Saitek liés au jeu et donc winedevice:

$ fuser -v /dev/input/event*
                     UTIL.       PID ACCÈS  COMMANDE
/dev/input/event20:  zargos    44696 F.... winedevice.exe
/dev/input/event21:  zargos    44696 F.... winedevice.exe
/dev/input/event6:   zargos    43966 F.... steam
/dev/input/event7:   zargos    43966 F.... steam

Comme Steam (qui se lance en premier) « grab » les deux MFD, ils ne sont pas récupérables par Elite Dangerous dans wine.
J’aimerais bien savoir comment je peux faire en sorte que Steam ne « grab » pas les MFD pour qu’ils soient utilisables par winedevice.

Ca doit être au niveau de udev j’imagine.
Si je ne lance que Steam, les Saitek ne lui sont pas liés.

En fait, après un peu plus de recherche, d’une part Steam les utilise dès son démarrage, et d’autre par il semble que wine ne les prennent pas en considération alros que celui-ci prend en considération d’autres périphériques gérés en hidraw (comme les Saitek X56)

Steam prend les contrôleurs et fourni des contrôleurs virtuels aux jeux.
Ce que tu peux essayer, c’est aller dans les paramètres du jeu, dans l’onglet « Contrôleur » et désactiver le Steam Input, des fois, ça peut résoudre le problème.

voici ce que j’ai, les Steam Input sont desactivés:
image

Il considère que c’est un controleur console/xbox
En fait les deux MFD Cougar et le X56 Throttle sont considérés comme tel.
Cependant, le x56 est utilisable dans Wine avec le X56 Joystick. Mais pas les deux MFD. Ceux-là sont pris par Steam et ne sont donc pas dispos pour le jeu.

Quand je teste, il voit bien mes touches sur lesquelles j’appuie. Mais comme une manette de jeu.

Comme Steam s’accapare les deux MFD ils ne sont plus disponibles pour le jeu :frowning:

J’ai envoyé une demande de support à steam, car j’ai essayé plein de solutions mais sans résultat. Steam ne voit mes MFD que comme des manettes de console.

Là, ce sont les paramètres de TOUT Steam, pas besoin de faire ça de façon aussi radicale, le faire seulement pour le jeu concerné suffit.
Mais, c’est finalement ce que je voulais te faire tester et ça ne semble pas mieux.

J’ai testé au niveau du jeu rien.
Par contre, j’ai activé Steam Input avec manette générique, et là ça a marché…Mais pour me mettre les commande d’une manette de console :frowning:

C’est une avancée. Mais je crois que je vais me diriger vers la possibilité de configurer mes manettes pour qu’elles envoie des touches de clavier.
Pas facile car les deux MFD ont chacun 28 touches.
Mais comme la configuration par défaut du jeu utilise pas mal de touches pourt tout ce qui n’est pas joystick « classique » et throttle, peut-être que ça va marcher.

C’est quand même dommage qu’en 2023 on puisse encore avoir ce genre de problème.

J’ai fini par trouver quelque chose:
Les deux périphériques sont vu comme xinput et donc des contrôleurs de console.
Pourtant, avec jstest-gtk le système détecte bien les deux MFD avec leurs 28 touches.
Un simple cat /dev/input/event20 envoie bien les informations attendues.
Avec Lutris j’ai manipulé la console wine, et dans la partie joystick, j’ai d’une part desactivé xinput pour les MFD puis les ai mis en 433799remplacement. Du coup j’ai les 4 joysticks qui sont au même endroit:
image

J’ai modifié& le lancement du jeu pour le lancer avec Lutris/Wine.
Il marche, mais il considère les MFD comme des joypad.
J’ai installé le pilote Thrustmaster dans wine mais je ne sais pas comment obligé Wine à l’utiliser.