You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenSUSE 15.3下如何基于VID:PID自定义UDEV规则以覆盖系统默认HID设备规则?

当然可以!你完全可以通过设备的VID(供应商ID)和PID(产品ID)创建专属的udev规则,轻松覆盖系统预装的通用规则。下面是一步步的实现方法和关键注意事项:

  • 第一步:获取目标设备的VID和PID
    插入你的HID设备后,在终端运行lsusb命令,找到对应设备的行,比如:

    Bus 001 Device 007: ID 1234:5678 My Custom HID Device
    

    这里的1234就是VID,5678就是PID,记下来备用(注意是小写十六进制格式)。

  • 第二步:创建自定义udev规则文件
    udev规则的优先级由文件命名和存放目录决定:/etc/udev/rules.d/下的规则会优先于/usr/lib/udev/rules.d/的系统默认规则,且文件名数字前缀越大,执行顺序越靠后(后执行的规则会覆盖先执行的)。
    建议创建一个后缀数字比系统默认的60-更大的文件,比如运行sudo touch /etc/udev/rules.d/99-my-custom-hid.rules,这样能确保你的规则最后执行,完全覆盖系统规则。

  • 第三步:编写专属规则内容
    用文本编辑器打开刚才创建的文件(比如sudo nano /etc/udev/rules.d/99-my-custom-hid.rules),添加类似下面的规则:

    SUBSYSTEM=="input", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", MODE="660", GROUP="users"
    

    解释一下核心字段:

    • SUBSYSTEM=="input":匹配输入类设备,和系统默认规则的匹配范围保持一致
    • ATTRS{idVendor}=="1234"和ATTRS{idProduct}=="5678":精准锁定你的目标设备
    • MODE="660":设置你想要的设备权限(替换成你需要的数值即可)
    • 你还可以额外添加OWNER="your-username"或GROUP="your-group"来指定设备的所属用户/组
  • 第四步:让新规则生效
    保存规则文件后,在终端运行以下命令重新加载udev规则:

    sudo udevadm control --reload-rules
    

    然后重新插拔你的HID设备,或者用以下命令触发规则应用到已连接的设备:

    sudo udevadm trigger
    
  • 验证规则是否生效
    你可以通过查看设备节点的权限来确认:找到设备对应的/dev/input/eventX节点(可以用evtest工具或者udevadm info查找),然后运行ls -l /dev/input/eventX,检查权限是否符合你设置的MODE。

内容的提问来源于stack exchange,提问作者Torsten Mohr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 13:02:50