使用 BPF 程序解决输入设备中的问题

Red Hat 的 X.Org 输入子系统维护人员 Peter Hutterer 推出了一个新实用程序 udev-hid-bpf,旨在自动加载 BPF 程序,修复 HID(人类输入设备)中的问题或根据用户的偏好更改其行为。要为键盘和鼠标等 HID 设备创建处理程序,需要使用 HID-BPF 子系统,该子系统出现在 Linux 6.3 内核中,允许您以 BPF 程序的形式创建输入设备驱动程序或处理 HID 子系统中的各种事件。

udev-hid-bpf 实用程序可以与 udev 机制结合使用,在连接新输入设备时自动激活 BPF 程序,或手动加载 BPF 程序。与 udev-hid-bpf 一起使用的 BPF 程序主要有两类:用于排除硬件或固件问题的程序,以及用于根据用户请求更改设备行为的程序。

在第一种情况下,解决了消除设备中的缺陷和错误的问题,例如坐标轴倒置、值范围不正确(例如,声明有 8 个按钮而不是 5 个)以及不合逻辑的事件顺序。在第二种情况下,我们正在讨论更改设备设置,例如,使用 BPF 程序可以交换按钮。预计经过修复的 BPF 程序最终将包含在主内核中,并且无需向内核添加补丁或单独的驱动程序即可实现。

来源: opennet.ru

添加评论