tp virtualkeys

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lf12345678910/article/details/74518832

android/vendor/xxx/proprietary/xxx/mmi/input.cpp:563:    strlcpy(path, "/sys/board_properties/virtualkeys.", sizeof(path));
android/kernel/drivers/sensors/xxx.c:2332: pr_err("failed to create board_properties\n");
android/kernel/drivers/input/touchscreen/gen_vkeys.c:187:vkey_obj = kobject_create_and_add("board_properties", NULL);
android/kernel/drivers/input/touchscreen/xxx.c:496:vkey_kobj = kobject_create_and_add("board_properties", NULL);
android/kernel/drivers/input/touchscreen/xxx.c:3421:* 2. Create /sys/board_properties/virtual_keys.<devicename>
android/kernel/drivers/input/touchscreen/xxx/xxx.c:2537:vkey_kobj = kobject_create_and_add("board_properties", NULL);


android\kernel\arch\arm\boot\dts\xxx\xxx.dtsi
gen-vkeys {
compatible = "xxx,gen-vkeys";
label = "goodix-ts";
xxx,disp-maxx = <720>;
xxx,disp-maxy = <1280>;
xxx,panel-maxx = <720>;
xxx,panel-maxy = <1350>;
xxx,key-codes = <139 172 158>;
xxx,y-offset = <0>;
};

android/kernel/drivers/input/touchscreen/gen_vkeys.c:187:vkey_obj = kobject_create_and_add("board_properties", NULL);

snprintf(name, MAX_BUF_SIZE,
"virtualkeys.%s", pdata->name);
vkey_obj_attr.attr.name = name;

vkey_obj = kobject_create_and_add("board_properties", NULL);
if (!vkey_obj) {
dev_err(&pdev->dev, "unable to create kobject\n");
return -ENOMEM;
}
//sysfs_create_group 创建属性文件
ret = sysfs_create_group(vkey_obj, &vkey_grp);
if (ret) {
dev_err(&pdev->dev, "failed to create attributes\n");
goto destroy_kobj;
}
return 0;

/sys/board_properties/virtualkeys.

猜你喜欢

转载自blog.csdn.net/lf12345678910/article/details/74518832
TP