[App Sharing] Deepinv23系统下cadMouse无线鼠标设置工具
Tofloor
poster avatar
MeGusta
deepin
2024-09-19 23:21
Author

之前购入了一款制图用的三键鼠标 3DConnexion CadMouse Compact Wireless,有无线、有线、蓝牙三种模式,样子长这样:

遇到的问题是,由于3DConnexion没有开发Linux环境下的驱动及控制程序,导致鼠标的轮询率无法设置,烦人的智能滚动也无法关闭。用google,必应找了一下,发现有个项目cadMousePro是针对这个问题开发的,于是把界面汉化了一下,然后把代码中默认的250Hz轮询率设置为1000Hz,最后写了systemd的服务单元,打包成deepin的包格式。

项目官方说只要是CadMouse鼠标都支持,插入鼠标无线适配器时,会自动设置参数,如果刚好在用的朋友可以试一下。

deb包:

cadMousePro-Utils-0.5.0-1-zh-cn.deb.zip

原始cpp源代码及汉化后的源代码.zip

不过唯一的遗憾是,目前鼠标在使用有线连接Linux的时候,鼠标会在3秒后失去响应,目前没找到解决办法,只能用无线连接了。

另外,还有个小问题,不知道为什么:在UOS v20的upower v0.99版本,电池电量可以直接显示;但是到了deepin v23 的upower 1.90版本,需要systemctl restart upower重启upower服务,才会显示电池电量。

Reply Favorite View the author
All Replies
晚秋(lateautumn)
Moderator
2024-09-20 09:04
#1

厉害,谢谢分享。like

Reply View the author
Ziggy
deepin
2024-09-20 11:29
#2

重启upower服务这个现在是只能在终端手动重启么,我看好像直接exec 'systemctl restart upower'会自动调起弹窗。

不知道写到shell里做成启动脚本有没有希望做成在应用启动前重启这个服务呢?

类似这种

#!/bin/bash
systemctl restart upower.service
dde-file-manager
Reply View the author
MeGusta
deepin
2024-09-20 12:38
#3
Ziggy

重启upower服务这个现在是只能在终端手动重启么,我看好像直接exec 'systemctl restart upower'会自动调起弹窗。

不知道写到shell里做成启动脚本有没有希望做成在应用启动前重启这个服务呢?

类似这种

#!/bin/bash
systemctl restart upower.service
dde-file-manager
其实问题在于,每次插拔无线接收器,都要重启一下upower服务,才能在upower -e命令中看到鼠标电池。一个好的方法,应该是编写udev rules规则文件,让系统识别到无线接收器时,就重启upower服务。在deb里面,在插入接收器就自动设置参数,也是用的这个方法,就是/etc/udev/rules.d/99-cadMousePro.rules这个文件。
我之前按照必应copilot的建议增加了一个rules,好像没生效,因为没时间,就没继续往下试。
Reply View the author
MeGusta
deepin
2024-09-20 12:39
#4
Ziggy

重启upower服务这个现在是只能在终端手动重启么,我看好像直接exec 'systemctl restart upower'会自动调起弹窗。

不知道写到shell里做成启动脚本有没有希望做成在应用启动前重启这个服务呢?

类似这种

#!/bin/bash
systemctl restart upower.service
dde-file-manager
而且upower 1.90要重启的这个问题,在arch linux中也是一样的,不是deepin v23的独有问题。
Reply View the author
Ziggy
deepin
2024-09-20 13:37
#5
MeGusta
其实问题在于,每次插拔无线接收器,都要重启一下upower服务,才能在upower -e命令中看到鼠标电池。一个好的方法,应该是编写udev rules规则文件,让系统识别到无线接收器时,就重启upower服务。在deb里面,在插入接收器就自动设置参数,也是用的这个方法,就是/etc/udev/rules.d/99-cadMousePro.rules这个文件。
我之前按照必应copilot的建议增加了一个rules,好像没生效,因为没时间,就没继续往下试。

可以通过论坛的deepin id账户直接登录网站deepin社区应用投递

这样就可以把这款tool投递到deepin系统自带的官方应用商店了,这样其他用户也能直接通过应用商店下载,也不用怕下载链接临时无法访问的问题了applaud

Reply View the author
MeGusta
deepin
2024-09-20 15:08
#6
Ziggy

重启upower服务这个现在是只能在终端手动重启么,我看好像直接exec 'systemctl restart upower'会自动调起弹窗。

不知道写到shell里做成启动脚本有没有希望做成在应用启动前重启这个服务呢?

类似这种

#!/bin/bash
systemctl restart upower.service
dde-file-manager
刚才又测试了一下,在udev的规则文件中添加:
 
RUN+="/bin/bash -c 'sleep 5; systemctl restart upower'"
就可以在识别到鼠标之后延迟5秒重启upower服务。
延迟时间设置为5s,是因为大致在无线接收器5秒之后,电池信息才完成初始化,这也是之前设置重启无效的原因。
Reply View the author
MeGusta
deepin
2024-09-20 15:09
#7
Ziggy

可以通过论坛的deepin id账户直接登录网站deepin社区应用投递

这样就可以把这款tool投递到deepin系统自带的官方应用商店了,这样其他用户也能直接通过应用商店下载,也不用怕下载链接临时无法访问的问题了applaud

我充分测试完毕之后,再投递,谢谢建议。
Reply View the author