几天前我从 W10 切换到 Ubuntu 18.04 LTS,到目前为止,我已经找到了有关所有新手问题的解决方案。
但最近,我安装了 Steam,并尝试安装精英危险:地平线。我用鼠标启动了 Proton 4.11-7,但玩游戏时我一直在 Windows 10 上使用我信赖的 Logitech Extreme 3D Pro 操纵杆,但当我尝试在 Ubuntu 上设置操纵杆时,我立即遇到了很多问题。当我查看“常规控制器设置”时,我可以看到 Steam 出于某种原因认为我的操纵杆是通用游戏手柄??
我觉得这很奇怪,当我启动游戏时,Elite Dangerous 也是这样认为的。Steam 认为我的操纵杆是通用游戏手柄,我不知道为什么?
我尝试过的:
- 我尝试重新安装 Elite Dangerous。没有效果。
- 我尝试将“Steam 输入每游戏设置”设置为“强制关闭”。没有效果。
- 用 测试了操纵杆
jstest-gtk
。它正确识别它是操纵杆! - 我也尝试在大屏幕模式下启动 ED,并尝试 Steam Beta 版本... 完全没有效果。
请帮忙。任何帮助都将不胜感激!
答案1
我知道人们通过以下方式取得了成功: https://github.com/redmcg/wine/wiki/Peripherals#logitech-extreme-3d-pro
- 通过关闭“启用 SDL”来禁用 SDL(使用:wine64 reg add 'HKLM\System\CurrentControlSet\Services\WineBus' /v '启用 SDL' /t REG_DWORD /d 0 /f);并且
- 删除所有带有您的 PID 和 VID 的注册表项(例如:查看 system.reg 并删除任何带有 VID_046D&PID_C215 的行)
编辑:
抱歉 - 今天早上我一有空就复制粘贴了上面的内容。但您可能会发现以下内容更有帮助:
如果您使用 protontricks,第一步可以通过运行:
protontricks 359320 regedit
然后导航到:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WineBus
并创建一个名为 的新 DWORD 值,Enable SDL
其值为0
。这将禁用 SDL。
然后您可以单击该字符串HKEY_LOCAL_MACHINE\System
并执行 (Ctrl+F) 操作,删除找到的每个条目。Find
VID_046D&PID_C215
VID = 供应商 ID (0x046D = Logitech)
PID = 产品 ID (0xC215 = Extreme 3D Pro 操纵杆)
您需要执行上述操作的原因是 SDL 错误地认为此设备是控制器。然后它会创建那些错误的注册表项,告诉 ED 它是一个控制器。
通过禁用 SDL - Wine 会回退到使用内核驱动程序(evdev,它不认为它是一个控制器),然后 Wine 将重写那些注册表项,告诉 ED 它是一个操纵杆。