Xboxdrvを使用して、新しいDualshock 4コントローラーを構成しようとしています。
これは一般的なゲームパッドとして表示され、イベントを対応する360イベントにマップしたいと思います。
軸を正しくマッピングできましたが、ボタンを押しても機能しません。 xboxdrvのレポからサンプルのDS3構成を使用して、/ dev /が正しいデバイスを指すようにしました。
#!/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 #
何かアドバイス?
# 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
上記は私が使用するものです。 --mimic-xpadとともに使用すると、うまく機能するようです。また、SteamOSおよびいくつかのゲームにも適しています。ただし、TeleglitchやProteusなど、新しいマッピングをまったく使用しないゲームがたくさんあります。
ValveがLinuxの開発者に入力標準ライブラリを強制し、それらがすべて同じ入力ライブラリを使用することを非常に期待しています。
長い年月を経て、私は同じ問題に直面しましたが、今では簡単に解決できます。
より多くのオプションがあります。READMEを見る価値がありますが、これで解決しました。