web-dev-qa-db-fra.com

Configuration du contrôleur Dualshock 4 avec xboxdrv

J'essaie de configurer mon nouveau contrôleur Dualshock 4 à l'aide de xboxdrv.

Il se présente comme un gamepad générique et j'aimerais mapper les événements sur les 360 événements correspondants.

J'ai réussi à mapper correctement l'axe, mais les pressions sur les boutons ne fonctionnent pas. J'ai utilisé l'exemple de configuration DS3 du référentiel de xboxdrv, en pointant le/dev/vers le bon périphérique.

#!/bin/sh

# Example configuration for the PlayStation 3 controller
#
# Note this only works when connected with USB, when using Bluetooth a
# different configuration is required.

xboxdrv \
  --evdev /dev/input/by-id/usb-Sony_Computer_Entertainment_Wireless_Controller-event-joystick \
  \
  --evdev-absmap ABS_X=x1,ABS_Y=y1 \
  --evdev-absmap ABS_Z=x2,ABS_RZ=y2 \
  --evdev-absmap ABS_#48=lt,ABS_#49=rt \
  \
  --evdev-keymap BTN_THUMB=tl,BTN_THUMB2=tr \
  --evdev-keymap BTN_BASE5=lb,BTN_BASE6=rb \
  --evdev-keymap KEY_#1=a,KEY_#0=b,KEY_#2=x,KEY_#3=y \
  --evdev-keymap BTN_TRIGGER=back,KEY_#720=guide,BTN_TOP=start \
  --evdev-keymap BTN_TOP2=du,BTN_PINKIE=dr,BTN_BASE=dd,BTN_BASE2=dl \
  \
  --axismap -y1=y1,-y2=y2 \
  "$@"

# EOF #

Aucun conseil?

2
Gardiner
# PlayStation 4 Controller
# ========================

[xboxdrv]
# Using the 'by-id' name is recomment, as it is static, while an
# /dev/input/eventX name can change depending on what other USB
# devices you use.
evdev = /dev/input/by-id/usb-Sony_Computer_Entertainment_Wireless_Controller-event-joystick

# This displays events received from the controller, if you are
# working on a configuration you want to set this to true:
evdev-debug = true

# Grabbing the device prevents other applications from accessing it,
# this is needed most of the time te prevent applications from
# receiving events twice.
evdev-grab = true

[evdev-absmap]
ABS_HAT0X = dpad_x
ABS_HAT0Y = dpad_y

ABS_X = X1
ABS_Y = Y1

ABS_Z = X2
ABS_RZ = Y2

ABS_RX = LT
ABS_RY = RT

[evdev-keymap]
BTN_TL = LT
BTN_TR = RT
BTN_A = X
BTN_X = Y
BTN_B = A
BTN_C = B

BTN_Y = LB
BTN_Z = RB

BTN_SELECT = TL
BTN_START = TR

BTN_TR2 = start

BTN_TL2 = back

BTN_MODE = guide

Ce qui précède est ce que j'utilise. Semble fonctionner très bien avec --mimic-xpad. Cela fonctionne également très bien pour SteamOS et quelques jeux. Mais il y a aussi beaucoup de jeux qui n'utiliseront pas du tout les nouveaux mappages, tels que Teleglitch ou Proteus.

J'espère vraiment que Valve impose aux développeurs Linux une bibliothèque d'entrée standard pour qu'ils utilisent tous les mêmes bibliothèques d'entrée.

1
Luke_Nukem

Après tant d'années, je me suis retrouvé avec le même problème, mais maintenant, il peut être résolu facilement.

Il y a plus d'options, cela vaut la peine de jeter un coup d'œil au fichier README, mais cela a résolu le problème pour moi.

0
Telegrapher