问题描述
由于默认/dev/input下的event事件的标号是系统启动之后按照顺序自动生成的,有时候我们需要固定一个事件的默认编号,这样方便应用层监控使用
修改方法
找到input事件驱动注册函数,查看.name对应字段,该字段会在修改event编号处使用
static struct platform_driver gpio_keys_device_driver = {
.probe = gpio_keys_probe,
.shutdown = gpio_keys_shutdown,
.driver = {
.name = "gpio-keys",
.pm = &gpio_keys_pm_ops,
.of_match_table = gpio_keys_of_match,
.dev_groups = gpio_keys_groups,
}
};
在内核中修改event事件的编号
通过代码分析知道,内核中通过dev_set_name(&evdev->dev, "event%d", dev_no);函数来指定event的事件编号,所以我们只需要修改dev_no即可
修改方法
在apps_proc/src/kernel/msm-5.4/drivers/input/evdev.c文件中找到
本文介绍了如何修改/dev/input下event事件的编号,以便于应用层监控。通过分析内核代码,找到dev_set_name函数,并在evdev_connect函数中添加判断,修改事件编号。修改后,设备的event事件编号将固定为4,需要确认与Sysfs路径绑定。
订阅专栏 解锁全文
9808

被折叠的 条评论
为什么被折叠?



