Cas*_*per 6 emulation gamepad ps3
我的 PS3 控制器通过 USB 连接,虽然工作正常,但似乎没有应用程序支持它的键盘映射。所以我的问题是是否有可能让它模拟类似于 MotionInJoy 在 Windows 上所做的那样的 xbox 控制器?
我已经做了一些谷歌搜索,但无济于事。我偶然发现了 QtSixA,它允许我为控制器的按钮分配键,但我不知道 xbox 使用什么键 ID。
xboxdrv 可以做到这一点,但只有当 PS3 控制器通过 USB 连接时:
至于 id,我在下面列出了它们,但它们不会真正帮助你。如您所见,Xbox360 USB 和 Xbox360 Wireless 使用不同的,大多数游戏都不关心任何一种方式,它们只是一个接一个地使用按钮,而不关心哪个按钮映射到哪个物理按钮,您必须重新映射它们在每场比赛中手动。
至于 Wine,Wine 只支持 DirectInput 而缺乏 Xinput 支持,许多现代游戏都需要 Xinput。为了解决这个问题,您必须使用 Xinput 仿真 .dll(您必须在带有旧游戏手柄的 Windows 上使用相同的技巧),我自己还没有尝试过,但在此处进行了描述:
——
USB Xbox360 Controller
======================
start BTN_START
guide BTN_MODE
back BTN_SELECT
a BTN_A
b BTN_B
x BTN_X
y BTN_Y
lb BTN_TL
rb BTN_TR
tl BTN_THUMBL
tr BTN_THUMBR
x1 ABS_X:-32768:32767:16:128
y1 ABS_Y:-32768:32767:16:128
x2 ABS_RX:-32768:32767:16:128
y2 ABS_RY:-32768:32767:16:128
lt ABS_Z:0:255:0:0
rt ABS_RZ:0:255:0:0
dpad_x ABS_HAT0X:-1:1:0:0
dpad_y ABS_HAT0Y:-1:1:0:0
Wireless Xbox360 Controller
======================
dpad_up BTN_0
dpad_down BTN_1
dpad_left BTN_LEFT
dpad_right BTN_RIGHT
start BTN_START
guide BTN_MODE
back BTN_SELECT
a BTN_A
b BTN_B
x BTN_X
y BTN_Y
lb BTN_TL
rb BTN_TR
tl BTN_THUMBL
tr BTN_THUMBR
x1 ABS_X:-32768:32767:0:0
y1 ABS_Y:-32768:32767:0:0
x2 ABS_RX:-32768:32767:0:0
y2 ABS_RY:-32768:32767:0:0
lt ABS_Z:0:255:0:0
rt ABS_RZ:0:255:0:0
Run Code Online (Sandbox Code Playgroud)