22.04 wine的xbox控制器有错误,如何修复?

22.04 wine的xbox控制器有错误,如何修复?
  1. 首先,我wine按照以下步骤进行安装本网站无需安装winehq 因为这,还可以安装更多,输入以下命令:

$ sudo apt-get install wine32

$ sudo apt-get install winetricks

$ winetricks dotnet45

$ export WINEPREFIX="$HOME/.wine"

$ wineboot

  1. wine64 uninstaller我输入了添加包的命令:
  1. xboxdrv我按照安装的步骤进行操作本网站与我的 xbox 360 操纵杆配合使用。

  2. 我安装了打开-操纵杆-显示-2.8.0-x64-linux.deb检查我的 xbox360 操纵杆的输入:

游戏手柄_Ubuntu

  1. 我安装了打开-操纵杆-显示-2.8.0-x64-windows.exe通过 wine 检查我的 xbox360 操纵杆的输入:

Gamepad_wine

  1. 我输入了以下命令来检查 Ubuntu(左侧)和 wine(右侧)的控制器之间的区别:

$ jstest.gtk

$ wine control joy.cpl

  • 我检查了 Ubuntu 的控制器,发现它工作正常,而 wine 的控制器有错误,例如如上图所示,它不是有四个轴,而是有四个按钮,而且 Rz 轴根本不起作用。

Gampepad_Ubuntu-wine

有人能告诉我如何修复吗?

答案1

  • 我发现问题出在 wine 上Registry Editor,它不需要安装任何驱动程序,所以我删除了DirectInput Force Feedback Driver for XInput - Masahiko Morii属于的xi.win7.x86.en.msixi.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添加了数字以操作控制器)1POV

在此处输入图片描述

最后,按照本网站; 在 中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 ToolAntiMicroX,它也会生成值,但与末尾的值只有两位数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 的更多信息,在这个网站上

在此处输入图片描述

相关内容