美文网首页
Linux增加event事件上报机制

Linux增加event事件上报机制

作者: Kai_Yan | 来源:发表于2021-03-17 23:53 被阅读0次

    linux4.9版本增加event事件上报流程

        1:先声明一个input_dev设备,并初始化为空。

            static struct input_dev* sif_input_dev = NULL;

        2:在驱动入口函数中申请input_dev设备空间。

            sif_input_dev  = input_allocate_device();

        3:设置event事件名

            sif_input_dev->name = "sif_event";

        4:配置event事件类型和code

            set_bit(EV_MSC,  sif_input_dev->evbit);

            set_bit(MSC_RAW, sif_input_dev->mscbit);

        5:将初始化后的event事件注册进入input子系统

            input_register_device(sif_input_dev)

        6:设置event事件对应code的值和上报

            input_event(sif_input_dev, EV_MSC, MSC_RAW, 1);

            input_sync(sif_input_dev);

    应用层监听该event事件

        1:使用阻塞方式打开上述驱动创建的设备节点

            open(INPUT_DEV, O_RDONLY);

        2:阻塞读取该设备数据

            read(fd, &event, sizeof(event));

        3:获取底层上报的类型/code/和code的值

            printf("type:%d, code:%d, value:%d\n", event.type, event.code, event.value);

    相关文章

      网友评论

          本文标题:Linux增加event事件上报机制

          本文链接:https://www.haomeiwen.com/subject/glpecltx.html