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

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

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

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

答案1

xboxdrv 可以做到这一点,但只有当 PS3 控制器通过 USB 连接时才可以:

至于 ID,我在下面列出了它们,但它们实际上对您没有太大帮助。如您所见,Xbox360 USB 和 Xbox360 Wireless 使用不同的 ID,大多数游戏都不在乎哪种方式,它们只是一个接一个地使用按钮,而不关心哪个按钮映射到哪个物理按钮,您必须在每个游戏中手动重新映射它们。

至于 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

相关内容