跳转至内容

3D Mouse (3D 鼠标)

来自 ArchWiki

来自 Wikipedia:3d mouse#3D mice

这些设备也称为蝙蝠(bats)、飞行鼠标(flying mice)或魔杖(wands),通常通过超声波工作,并提供至少三个自由度。1990年代初,3DConnexion/罗技的SpaceMouse可能是最著名的例子。

更多信息: https://web.archive.org/web/20200731022623/https://www.3dconnexion.com/products/spacemouse.html#panel-whatis

注意 以下说明已在最基础的型号(Space Navigator)上进行测试并证明有效。

专有驱动程序自2014年以来未更新,需要进行可能不安全的黑客操作才能使其工作。

安装

有一个由spacenav项目维护的3Dconnexion设备的开源驱动程序。从支持spacenavd的软件简列表中,我们可以列出:

  • Blender
  • Freecad
  • OpenSCAD

为了使其工作,必须满足三个条件:

  1. 设备必须被内核识别为输入设备
  2. spacenavd守护进程必须正在运行
  3. 应用程序必须使用spacenav支持进行编译。(blender 应该如此)

第一个要求应该在连接设备后自动满足。可以通过查看设备是否列在/proc/bus/input/devices来检查。

$ grep 3Dconnexion /proc/bus/input/devices
N: Name="3Dconnexion SpaceNavigator"

对于第二个点,请安装libspnavspacenavdAUR。为了测试,最好以前台模式启动守护进程。输出应该类似于:

# 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#允许普通用户使用设备的说明操作,以允许用户访问输入设备。

参见