$ sudo apt-get install wine32
$ sudo apt-get install winetricks
$ winetricks dotnet45
$ export WINEPREFIX="$HOME/.wine"
$ wineboot
wine64 uninstaller
我输入了添加包的命令:
- wine-mono-7.4.0.msi
- wine-gecko-2.47.2-x86.msi和wine-gecko-2.47.2-x86_64.msi
- .NET-桌面-运行时-6.0.10-x86和.NET-桌面-运行时-6.0.10-x64
- xi.win7.x86.en.msi(我的xbox360操纵杆的原始驱动程序)
- xi.win7.x64.en.msi(我无法安装,因此选择修复选项)
xboxdrv
我按照安装的步骤进行操作本网站与我的 xbox 360 操纵杆配合使用。我安装了打开-操纵杆-显示-2.8.0-x64-linux.deb检查我的 xbox360 操纵杆的输入:
- 我安装了打开-操纵杆-显示-2.8.0-x64-windows.exe通过 wine 检查我的 xbox360 操纵杆的输入:
- 我输入了以下命令来检查 Ubuntu(左侧)和 wine(右侧)的控制器之间的区别:
$ jstest.gtk
$ wine control joy.cpl
- 我检查了 Ubuntu 的控制器,发现它工作正常,而 wine 的控制器有错误,例如如上图所示,它不是有四个轴,而是有四个按钮,而且 Rz 轴根本不起作用。
有人能告诉我如何修复吗?
答案1
- 我发现问题出在 wine 上
Registry Editor
,它不需要安装任何驱动程序,所以我删除了DirectInput Force Feedback Driver for XInput - Masahiko Morii
属于的xi.win7.x86.en.msi
(xi.win7.x64.en.msi
我之前安装过的)只需在终端中输入:wine64 uninstaller
我按照以下步骤解决了该问题本网站;首先,进入 wineRegistry Editor
终端并输入:
$ wine regedit
然后,转到关键路径HKEY_CURRENT_USER -> Software -> Wine -> DirectInput
并在右侧窗口中单击鼠标右键并选择New -> String Value
,在 wine 中设置与操纵杆控制器相同的名称,如图所示上图,在我的情况下,它是Xbox Gamepad (userspace driver) (event)
并设置所有棒的相同值,如字符串中相同的图片所示:
- 第一棒:
X,Y
- 第二根棍子:
Rx,Ry
- 第三棒:
Z,Rz
- 第四根棍子:
POV
因此,字符串中不带任何空格的值为:(我在旁边X,Y,Rx,Ry,Z,Rz,POV1
添加了数字以操作控制器)1
POV
最后,按照本网站; 在 中Registry Editor
,转到密钥路径HKEY_CURRENT_MACHINE -> System -> CurrentControlSet -> Services -> winebus
,在右侧窗口中单击鼠标右键并选择New -> Key
并设置名称Map
,单击Map
左侧窗口中的密钥,然后在右侧窗口中单击鼠标右键并选择New -> String Value
,在 wine 中设置与操纵杆控制器相同的名称并设置 的值Mapping String
(下面是如何获取的说明)并关闭Registry Editor
,就这样。要在 wine 中测试操纵杆控制器,请在终端中输入:
$ wine control joy.cpl
SDL2 Gamepad Tool
我安装了从 Linux 下载的应用程序本网站;打开应用程序并单击[Create A New Mapping]
与 wine 中的操纵杆控制器相同的名称,而不是 Ubuntu(我xbox360
错误地输入了不同的名称,但这没有问题)然后单击[Copy Mapping String]
,这是我得到的值:
0000000058626f782047616d65706100,xbox360,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b8,start:b7,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4,platform:Linux,
xbox360
我将此值中的名称更改为Xbox Gamepad (userspace driver) (event)
以修复我的错误。
的替代方案SDL2 Gamepad Tool
是AntiMicroX
,它也会生成值,但与末尾的值只有两位数Mapping String
的差别:Gamepad GUID
0000000058626f782047616d65706100
来自 SDL2 游戏手柄工具0000000058626f782047616d6570610000
来自 AntiMicroX
安装AntiMicroX
是在终端中输入:
$ sudo add-apt-repository ppa:ryochan7/antimicro
$ sudo apt-get update
$ sudo apt-get install antimicro
有关如何使用 AntiMicroX 的更多信息,在这个网站上。