是否可以使用 PS3 控制器来模拟 xbox 控制器?

Cas*_*per 6 emulation gamepad ps3

我的 PS3 控制器通过 USB 连接,虽然工作正常,但似乎没有应用程序支持它的键盘映射。所以我的问题是是否有可能让它模拟类似于 MotionInJoy 在 Windows 上所做的那样的 xbox 控制器?

我已经做了一些谷歌搜索,但无济于事。我偶然发现了 QtSixA,它允许我为控制器的按钮分配键,但我不知道 xbox 使用什么键 ID。

Gru*_*bel 6

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)