Logitech 赛车方向盘
本文介绍如何在 Arch Linux 上设置罗技赛车方向盘,例如 Formula Force GP 或 G27/G29 赛车方向盘。
安装
识别
当方向盘插入后,可以使用以下命令来识别方向盘
# dmesg
usb 5-2: new low speed USB device using uhci_hcd and address 6
$ lsusb
Bus 005 Device 006: ID 046d:c293 Logitech, Inc. WingMan Formula Force GP
如果使用罗技方向盘,请确保将其设置为 PS3 模式,否则将无法工作。
检查输入设备
$ cat /proc/bus/input/devices
I: Bus=0003 Vendor=046d Product=c293 Version=0100 N: Name="Logitech Inc. WingMan Formula Force GP" P: Phys=usb-0000:00:1a.2-2/input0 S: Sysfs=/devices/pci0000:00/0000:00:1a.2/usb5/5-2/5-2:1.0/input/input30 U: Uniq= H: Handlers=event15 js0 B: EV=20001b B: KEY=3f 0 0 0 0 0 0 0 0 0 B: ABS=3 B: MSC=10 B: FF=1 40000 0 0
如果您没有看到您的罗技设备被列为输入设备,您需要安装 usb_modeswitch 软件包。请记住 Handlers,这里是 event15 和 js0,因为这些将是调用工具来测试和配置方向盘所必需的。
测试
为了测试方向盘,有多种工具可以通过命令行访问。一个常用的工具是 jstest
,可以通过 joyutils 或 linuxconsole 软件包安装。另一种选择是 evtest
,可以通过 evtest 软件包安装。jstest
的图形化版本在 AUR 中可用,名为 jstest-gtk-gitAUR。
要使用 jstest
测试方向盘,只需使用设备处理程序调用它(在本例中对于 G29 方向盘是 js0)
$ jstest /dev/input/js0
Driver version is 2.1.0. Joystick (Logitech G29 Driving Force Racing Wheel) has 6 axes (X, Y, Z, Rz, Hat0X, Hat0Y) and 25 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4, BaseBtn5, BaseBtn6, ?, ?, ?, BtnDead, (null), (null), (null), (null), (null), (null), (null), (null), (null)). Testing ... (interrupt to exit) Axes: 0: -923 1: 32767 2: 32767 3: 32767 4: 0 5: 0 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off 10:off 11:off 12:off 13:off 14:off 15:off 16:off 17:off 18:off 19:off 20:off 21:off 22:off 23:off 24:off
每当输入发生变化时,jstest
将打印设备的完整状态。如果只应显示事件,则可以添加 --event
标志。
当使用 evtest
进行测试时,需要使用 eventX 而不是 js0 作为设备处理程序,在本例中 Formula Force GP 方向盘是 event15。然后 evtest
会显示来自方向盘的事件
$ evtest /dev/input/event15
Input driver version is 1.0.0 Input device ID: bus 0x3 vendor 0x46d product 0xc293 version 0x100 Input device name: "Logitech Inc. WingMan Formula Force GP" Supported events: Event type 0 (Reset) Event code 0 (Reset) Event code 1 (Key) Event code 3 (Absolute) Event code 4 (?) Event code 21 (ForceFeedback) Event type 1 (Key) Event code 288 (Trigger) Event code 289 (ThumbBtn) Event code 290 (ThumbBtn2) Event code 291 (TopBtn) Event code 292 (TopBtn2) Event code 293 (PinkieBtn) Event type 3 (Absolute) Event code 0 (X) Value 438 Min 0 Max 1023 Fuzz 3 Flat 63 Event code 1 (Y) Value 124 Min 0 Max 255 Flat 15 Event type 4 (?) Event code 4 (?) Event type 21 (ForceFeedback) Event code 82 (?) Event code 96 (?) Testing ... (interrupt to exit) Event: time 1295173625.476950, type 3 (Absolute), code 0 (X), value 439 Event: time 1295173625.476983, type 0 (Reset), code 0 (Reset), value 0 Event: time 1295173625.484827, type 3 (Absolute), code 0 (X), value 428
ffcfstress
,由 joyutils 提供,可以用于测试力反馈。方向盘应该开始振荡
# ffcfstress -d /dev/input/event15
position center force <-----------|****+------> <-----------|*******----> <-----------|**+-------->^C
配置
罗技方向盘可以通过 oversteerAUR 软件包中的 oversteer
工具进行配置。对于也可能适用于罗技方向盘的通用游戏手柄或操纵杆设置,请参阅 游戏手柄 wiki 页面。
截至 0.6.0 版本,oversteer
包含以下方向盘的兼容模式
- Driving Force / Formula EX
- Driving Force Pro
- Driving Force GT
- G25 赛车方向盘
- G27 赛车方向盘
- G29 赛车方向盘
除了测试方向盘,oversteer
还允许配置方向盘的以下方面
- 转向硬件锁(以度为单位)
- 将踏板组合成一个轴
- 全局力反馈强度
- 手动自动居中力
通过安装 new-lg4ff-dkms-gitAUR 设备驱动程序,可能会启用其他设置。特别是转向硬件锁在某些赛车游戏中很有用,例如 F1 2017 和 Dirt Rally,通过将硬件锁角度设置为实际车辆的值(例如,F1 赛车为 360,现代拉力赛车为 540),可以获得更真实的转向体验。
游戏
Flatout 2
方向盘在 Flatout 2 中无需任何 wine 配置即可工作。只需要以下游戏内配置
- 力反馈:开启
- 力等级:100%
- 灵敏度:100%
- 死区:0%
- 控制器:Logitech Inc...
- 油门:Y 轴 左
- 刹车:Y 轴 右
- 左转:X 轴 左
- 右转:X 轴 右
极限竞速 地平线 5
极限竞速 地平线 5 在 PC 模式下与 G920 方向盘配合良好。您可以添加此规则以自动将方向盘切换到 PC 模式(需要 usb_modeswitch)
/etc/usb_modeswitch.d/046d:c261
# Logitech G920 Racing Wheel DefaultVendor=046d DefaultProduct=c261 MessageEndpoint=01 ResponseEndpoint=01 TargetClass=0x03 MessageContent="0f00010142"
在此 博客文章 中阅读更多内容。
故障排除
Logitech G923 Xbox 版本
此赛车方向盘每次插入时都需要发送信号来更改其 usb 模式。为了完成此操作
- 安装 usb_modeswitch
- 当方向盘插入时运行
# usb_modeswitch -v 046d -p c26d -M 0f00010142 -C 0x03 -m 01 -r 01
然后方向盘将自身重置到中心位置,并在游戏中作为赛车方向盘可用。