网站开发三层结构,小程序网站做多大尺寸,网站建设填空题,非官方网站建设1. 设置设备权限
(1) 默认情况下#xff0c;普通用户可能没有权限访问 HID 设备#xff0c;可以通过设置 udev 规则解决#xff1a;
cd /etc/udev/rules.d
sudo touch 99-spacemouse.rules
sudo gedit 99-spacemouse.rules在新建的99-spacemouse.rules中添加以下内容
SUB…1. 设置设备权限
(1) 默认情况下普通用户可能没有权限访问 HID 设备可以通过设置 udev 规则解决
cd /etc/udev/rules.d
sudo touch 99-spacemouse.rules
sudo gedit 99-spacemouse.rules在新建的99-spacemouse.rules中添加以下内容
SUBSYSTEMinput, GROUPinput, MODE0660
KERNELhidraw*, ATTRS{idVendor}046d, ATTRS{idProduct}c62b, MODE0666idVendor 和 idProduct 的值可以通过运行以下命令找到
lsusb找到类似 Bus 001 Device 013: ID 256f:c652 3Dconnexion 3Dconnexion Universal Receiver 的设备这里的 256f 是 Vendor IDc652 是 Product ID。
(2) 重新加载 udev 规则
sudo udevadm control --reload-rules
sudo udevadm trigger(3) 断开并重新连接 SpaceMouse Wireless 确保当前用户属于 input 组
sudo usermod -a -G input $USER(4) 注销并重新登录ubuntu
2. 安装pyspacemouse
ubuntu20下按已下命令安装
pip install pyspacemouse
sudo apt-get install libhidapi-dev
pip install githttps://github.com/bglopez/python-easyhid.git3. 测试pyspacemouse
运行以下程序
import pyspacemouse
import timesuccess pyspacemouse.open(DeviceNumber0)
if success:while 1:state pyspacemouse.read()print(state.x, state.y, state.z)time.sleep(0.01)终端会输出以下信息
3Dconnexion Universal Receiver found
3Dconnexion Universal Receiver found
3Dconnexion Universal Receiver found
3Dconnexion Universal Receiver found
3Dconnexion Universal Receiver found
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0.0 -0.005714285714285714 -0.08
0.0 0.0 -0.005714285714285714
0.011428571428571429 0.0 -0.03428571428571429
0.08857142857142856 0.0 0.0
0.04285714285714286 0.0 -0.002857142857142857
0.0 0.0 -0.05142857142857143
0.0 0.0 -0.05142857142857143
0.0 0.0 0.0移动spacemouse的摇杆终端会输出对应的xyz值。 如果终端提示easyhid.easyhid.HIDException: Failed to open device尝试DeviceNumber为0-4应该会有一个能正常打开设备。