本页介绍如何配合 wfview 使用 USB 连接的控制器来操控电台。
硬件控制器能极大改善调谐、切换模式、PTT 等操作的使用体验。


受支持的控制器
wfview 原生支持以下 USB 控制器:
- Icom RC-28
- Contour Shuttle Xpress,又称 Shuttle Express
- Contour ShuttlePRO V2
- XBox USB 控制器 TODO:待补充受支持设备的链接
- P.I. Engineering USB 3 Switch Interface SK3SWI
- sunSDR Pro Ecoder Plus
- Xencelabs Quick Keys 无线版
- Stream Deck:
- Mini、MiniV2、Original、Original V2、Original MK2、XL、XLV2、Pedal、Plus
- 阿里速卖通(AliExpress)上 Mirabox 出品的 Stream Deck 兼容产品(价格低廉),有时品牌标为“FHOOU”:
- 293、293S、N3
如果想了解完整列表,可以查看 usbcontrollers.cpp 的开头部分。
预备设置
你需要把 USB 设备连接到计算机。重要的是没有其他程序正在使用该设备。由于这些设备都“符合 HID 规范”,一般不需要驱动。因此,不要安装任何驱动或其他软件。wfview 需要独占访问该 USB 设备,不能有别的程序或软件同时使用它。
Windows 与 macOS 用户:应该不需要任何预备设置。直接跳到 wfview 控制器设置 一节。
ShuttlePro 的 Linux 设置
Linux 用户需要阻止桌面环境把 ShuttlePRO 滚轮当作滚轮使用。可以按下面这个取自该 reddit 帖子的 bash shell 脚本操作:
#!/bin/bash for DEV in `xinput --list | grep -i ShuttlePro | cut -d"=" -f2 | awk {'print $1'}` do xinput disable ${DEV} done
Linux 用户还需要下面这条 udev 规则,放在 /etc/udev/rules.d 中,它授予用户访问 shuttle 设备的权限:
/etc/udev/rules.d/99-shuttle.rules 的内容:
# for newer PRO model ATTRS{name}=="Contour Design ShuttlePro", MODE="0644"
for older PRO model
ATTRS{name}=="Contour Design ShuttlePRO v2", MODE="0644"
for the Xpress model
ATTRS{name}=="Contour Design ShuttleXpress" MODE="0644" SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b33", ATTRS{idProduct}=="0020", MODE="0666" SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b33", ATTRS{idProduct}=="0030", MODE="0666"
要让新规则生效,只需拔出 USB 插头再插回去,就这么简单。
wfview 控制器设置
你需要 wfview 1.57 或更高版本。推荐使用最新版本。
连接 USB 控制器,然后启动 wfview。点击“设置(Settings)”,再点击“外部控制(External Control)”。勾选“启用 USB 控制器(Enable USB Controllers)”复选框。然后点击“设置 USB 控制器(Setup USB Controller)”。

控制器设置窗口会出现。该窗口对每种受支持的 USB 控制器都不一样。以下是 Contour ShuttlePRO V2 的界面:

要给按钮指定功能,在所需的控制器按钮上点击右键。会出现两个弹出菜单。最上面的弹出菜单用于选择该按钮被按下时执行的功能,对大多数功能来说这就是多数用户需要的;下面的菜单用于选择按钮松开时会发生什么。通常下面的菜单应设为“None”。有时你需要右键点击空白处来收起菜单,以便看到其他按钮(我们正在研究更好的做法)。

要设置像手持话筒那样的传统 PTT 按钮——按下期间持续发射——把按下(上方)功能选为“PTT On”,把松开(下方)功能选为“PTT Off”。
以下是传统 PTT 按钮设置的截图:

对于 Icom 电台机身上的发射按钮那种 PTT“粘滞开关”功能,把上方菜单选为“PTT Toggle”,把松开(下方)菜单选为“None”。这样轻按一次即发射,再按一次恢复接收。
点击“确定(Ok)”。
重要:别忘了点击“保存设置(Save Settings)”!!
故障排查:
如果 wfview 中没有出现你的 USB 控制器的图形示意,点击“日志(Log)”按钮,查找“usbcontrol”相关消息。
Linux 用户很可能需要为其 USB 设备设置权限。用“lsusb”找到厂商与型号,然后编写一条与上面为 shuttle 控制器提供的规则类似的 udev 规则。
确保不要为这些控制器安装任何软件——它会与 wfview 争夺设备的使用权。在 wfview 中正确配置后,体验优于 OEM 工具所提供的效果。