3D鼠标
- 这些设备也被称为蝙蝠、飞行鼠标或魔杖,通常通过超声波工作,并提供至少三个自由度。 可能最著名的例子是 20 世纪 90 年代早期的 3DConnexion/Logitech 的 SpaceMouse。
注意: 以下说明已在最基本的型号(Space Navigator)上测试并证明有效。
专有驱动程序自 2014 年以来未更新,并且需要潜在的不安全破解才能使其工作。
安装
spacenav 项目维护了一个用于 3Dconnexion 设备的开源驱动程序。 从支持 spacenavd 的软件的简短列表中,我们可以列举
- Blender
- Freecad
- OpenSCAD
要使其工作,必须满足三件事
- 设备必须被内核识别为输入设备
- spacenavd 守护进程必须正在运行
- 应用程序必须使用 spacenav 支持进行编译。(blender 应该是)
第一个要求应该在插入设备后自动满足。 可以通过查看设备是否在 /proc/bus/input/devices
中列出来检查。
$ grep 3Dconnexion /proc/bus/input/devices
N: Name="3Dconnexion SpaceNavigator"
对于第二点,安装 libspnav 和 spacenavdAUR。 为了测试,最好在前台模式下启动守护进程。 输出应该类似于这样
# spacenavd -v -d
Spacenav daemon 0.5 Device detection, parsing /proc/bus/input/devices using device: /dev/input/event21 device name: 3Dconnexion SpaceNavigator trying to open X11 display ":0" XAUTHORITY=/home/user/.Xauthority
如果它工作,您可以简单地通过点击 Ctrl+c
关闭守护进程,并使用以下服务 启动 守护进程(应该随 spacenavd 一起提供)。
/etc/systemd/system/spacenavd.service
[Unit] Description=Userspace Daemon of the spacenav driver. [Service] Type=forking PIDFile=/var/run/spnavd.pid Environment=XAUTHORITY=/run/user/1000/gdm/Xauthority ExecStart=/usr/bin/spacenavd [Install] WantedBy=multi-user.target
现在一切都已启动并运行,每个受支持的应用程序都应该能够使用 3D 鼠标。
故障排除
如果您遇到设备输入访问错误,例如
failed to open device: Permission denied
按照 udev#允许普通用户使用设备 来允许用户访问输入设备。