Linux:如何启用动态鼠标

Linux:如何启用动态鼠标

我有一个应用程序,除了内置触摸板外,它还可以读取通过 USB 插入的 4 个鼠标的输入。这对于 Ubuntu 9.10 来说没有问题:hald 注意到了新设备,udev 将它们称为/dev/input/mouse4...的全新条目mouse7

我的应用程序以普通用户应用程序的形式运行。其中的文件/dev属于root其他人,其他人无法读取。

我做一次没什么问题chmod a+r mouse?,但是每次重启以及每次插入或拔出该死的啮齿动物时,设备就会出现和消失。

有人可以告诉我一个脚本或者某些可以操作的东西以便让它chmod自动发生吗?

答案1

您可以阅读编写 udev 规则。我自己从未处理过这些事情,所以我现在无法给你一个彻底的解决方案,但我确信它在那份文件中。抱歉,RTFM 解决方案。希望其他人比我更有经验。

答案2

如果其他人遇到同样的问题,以下是我发现的情况:

作为 Debian,Ubuntu 将其大部分规则保留在 中/lib/udev/rules.d。目录/etc/udev/rules.d仅用于手动引入的例外情况;它们显然会覆盖 中的设置/lib/udev/rules.d

鼠标是 udev 处理的基本功能之一,我毫不惊讶地在 中找到了一些关于鼠标的设置lib/udev/rules.d/50-udev-default.rules。我感兴趣的段落是:

# input
KERNEL=="mouse*|mice|event*",   MODE="0640"
KERNEL=="ts[0-9]*|uinput",      MODE="0640"
KERNEL=="js[0-9]*",             MODE="0644"

我故意忽略了文件顶部的警告:

# do not edit this file, it will be overwritten on update

因为无论如何我都希望这个改变是暂时的。

我把第一个“640”改成了“644”,拔下并重新插上两个鼠标。然后,瞧,

crw-r----- 1 root root 13, 32 2009-11-16 19:14 mouse0
crw-r----- 1 root root 13, 33 2009-11-16 19:14 mouse1
crw-r--r-- 1 root root 13, 34 2009-11-16 21:58 mouse2
crw-r--r-- 1 root root 13, 35 2009-11-16 21:58 mouse3

mouse2mouse3变得可供全世界阅读。任务完成!

相关内容