Dualshock 4 Configuração do controlador com xboxdrv

2

Estou tentando configurar meu novo controlador Dualshock 4 usando xboxdrv.

Ele aparece como um gamepad genérico e gostaria de mapear os eventos para os 360 eventos correspondentes.

Eu consegui mapear o eixo corretamente, mas o botão pressionado não está funcionando. Eu usei o exemplo de configuração do DS3 do repositório do xboxdrv, apontando o / dev / para o dispositivo correto.

#!/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 #

Algum conselho?

    
por Gardiner 26.12.2013 / 17:16

2 respostas

1

# 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

O acima é o que eu uso. Parece funcionar muito bem quando usado com o --mimic-xpad. Também funciona muito bem para o SteamOS e alguns jogos. Mas há um monte de jogos que não usam os novos mapeamentos, como Teleglitch ou Proteus.

Espero muito que a Valve force uma biblioteca padrão de entrada em desenvolvedores para o linux, para que todos usem as mesmas entradas libs.

    
por Luke_Nukem 27.12.2013 / 00:33
0

Depois de tantos anos, me encontrei com o mesmo problema, mas agora isso pode ser resolvido facilmente.

  • Instale o link
  • ds4drv --hidraw --emulate-xpad

Existem mais opções, vale a pena dar uma olhada no README, mas isso resolveu para mim.

    
por Telegrapher 27.05.2018 / 23:33