安装 Input Remapper
见 https://github.com/sezanzeb/input-remapper?tab=readme-ov-file#installation
适用于 ArchLinux
yay -S input-remapper-gitsudo systemctl enable --now input-remapper
连接遥控器
将遥控器模式修改至 PhoenixRC
, 打开开关 (若修改模式前已开启, 请关闭再打开)
TIP理论上修改为任意模式方可, 但不同模式的输入轴可能不同
设置轴映射
-
打开 Input Remapper, 在
Device
选项卡找到含有PhoenixRC Controller
字样的设备, 单击 -
在
Presets
选项卡选择new preset
, 或使用现有 preset -
在
Editor
选项卡的 Input 面板单击+ Add
, 后选中项 (默认已自动选中) 单击两次Record
(不知道为什么直接移动遥感没有用), 移动你想要映射的摇杆, 待添加的项名称自动更改, 再次单击Record
停止监听 -
选中项, 单击
Advanced
修改高级选项, 删除非目标轴, 并在界面右下角勾选Use as analog
以使用轴 (线性) 输入. 如下为不同轴名称与物理操作以及 PS5 标准轴对应的表格 (我的遥控器是左侧遥感上下不会自动回中的美国手遥控器)Joystick-RX Trigger Left Joystick-X Joystick-Y 左侧摇杆左右 左侧摇杆上下 右侧摇杆左右 右侧遥感上下 ABS_Z ABS_Y ABS_X ABS_RX -
在右侧
Output
面板中, 选择Analog Axis
面板,Target
改为gamepad
(游戏手柄), 更改为对应轴即可
可以前往 https://www.onlinemictest.com/zh/controller-tester/ 查看轴运动方向是否正确
https://www.9slab.com/gamepad/home 查看具体输入数值 -
测试完成后, 在
Rename
(重命名
) 输入框内填入映射名称, 并单击右侧的保存按钮, 配置文件将被保存在~/.config/input-remapper-2/presets/<device>/<name>.json
. 其中,<device>
字样是你的设备名称,<name>
是你的映射名称
TIP如果发现左侧摇杆向上移动至中心位置输入已达到
1.0
, 请前往PhoenixRC
航模模拟器进行校准一个可能的下载链接 (第三方网站, 不保证安全性和可访问性, 后果自负): https://www.flugsimulatoren.ch/Phoenix-RC.php
更多内容, 请参阅官方文档 https://github.com/sezanzeb/input-remapper/blob/main/readme/usage.md
一个可能的配置文件
可能含有设备配置项, 需要修改
如果需要导入, 请直接复制内容并在 ~/.config/input-remapper-2/presets/<device>/
下新建任意合法名称的 JSON
文件. 其中, <device>
字样是你的设备名称, 如果设备名称文件夹没有被创建, 可以按照 步骤 2 新建并保存后, 再找到设备名称文件夹
[ { "input_combination": [ { "type": 3, "code": 2, "origin_hash": "3c827f8aaf14aed91058174eae560b57" } ], "target_uinput": "gamepad", "output_type": 3, "output_code": 1, "name": "left-y", "mapping_type": "analog", "deadzone": 0.0, "gain": -1.33, "expo": 0.15 }, { "input_combination": [ { "type": 3, "code": 3, "origin_hash": "3c827f8aaf14aed91058174eae560b57" } ], "target_uinput": "gamepad", "output_type": 3, "output_code": 0, "name": "left-x", "mapping_type": "analog", "deadzone": 0.0, "gain": 1.11 }, { "input_combination": [ { "type": 3, "code": 1, "origin_hash": "3c827f8aaf14aed91058174eae560b57" } ], "target_uinput": "gamepad", "output_type": 3, "output_code": 3, "name": "right-y", "mapping_type": "analog", "deadzone": 0.0, "gain": -1.27 }, { "input_combination": [ { "type": 3, "code": 0, "origin_hash": "3c827f8aaf14aed91058174eae560b57" } ], "target_uinput": "gamepad", "output_type": 3, "output_code": 2, "name": "right-x", "mapping_type": "analog", "deadzone": 0.0, "gain": 1.06 }]