以下内容源于朱有鹏《物联网大讲堂》课程的学习,如有侵权,请告知删除。

一、input设备应用层编程实践1

1、确定设备文件名

(1)应用层操作驱动有2条路:/dev目录下的设备文件,/sys目录下的属性文件

(2)input子系统用的/dev目录下的设备文件,具体一般都是在 /dev/input/eventn

(3)用cat命令来确认某个设备文件名对应哪个具体设备。

  • 实测的键盘是event1,而鼠标是event3。

2、标准接口打开并读取文件

3、解析struct input_event

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/input.h>
#include <string.h>#define DEVICE_KEY         "/dev/input/event1"
#define DEVICE_MOUSE        "/dev/input/event3"int main(void)
{int fd = -1, ret = -1;struct input_event ev;// 第1步:打开设备文件fd = open(DEVICE_KEY, O_RDONLY);if (fd < 0){perror("open");return -1;}while (1){// 第2步:读取一个event事件包memset(&ev, 0, sizeof(struct input_event));ret = read(fd, &ev, sizeof(struct input_event));if (ret != sizeof(struct input_event)){perror("read");close(fd);return -1;}// 第3步:解析event包,才知道发生了什么样的输入事件printf("%s.\n", (unsigned char *)&ev);   }// 第4步:关闭设备close(fd);return 0;
}

二、input设备应用层编程实践2

1、解析键盘事件数据、鼠标事件数据

即更换设备文件,第三步换成下面代码,运行查看。

// 第3步:解析event包,才知道发生了什么样的输入事件printf("-------------------------\n");printf("type: %hd\n", ev.type);printf("code: %hd\n", ev.code);printf("value: %d\n", ev.value);printf("\n");

2、事件类型分析(type)

input子系统基础之按键2——input设备应用层编程实践相关推荐

  1. input子系统基础之按键3——input子系统架构总览

    以下内容源于朱有鹏<物联网大讲堂>课程的学习,如有侵权,请告知删除. 1.input子系统分为三层 整体驱动分为三层(不是说应用层和驱动层的关系,而是驱动分层) (1)最上层:输入事件驱动 ...

  2. 8.input子系统基础之按键

    转自 https://edu.csdn.net/lecturer/505 朱老师物联网大讲堂 <5.linux驱动开发-第5部分-5.8.input子系统基础之按键> 第一部分.章节目录 ...

  3. input子系统基础之按键4——输入核心层源码分析

    以下内容源于朱有鹏<物联网大讲堂>课程的学习,如有侵权,请告知删除. 主要分析input.c文件 一.输入核心层源码分析1 1.核心模块注册:input_init函数 (1)class_r ...

  4. input子系统基础之按键1——什么是input子系统?

    以下内容源于朱有鹏<物联网大讲堂>课程的学习,如有侵权,请告知删除. 参考:http://www.cnblogs.com/deng-tao/p/6094049.html 本节全面介绍inp ...

  5. input子系统基础之按键5——按键驱动

    以下内容源于朱有鹏<物联网大讲堂>课程的学习,如有侵权,请告知删除. 1.模板(参考input_programming.txt) (1)input类设备驱动模式非常固定,用参考模版修改即可 ...

  6. linux input子系统 pdf,Linux下的Input子系统.pdf

    计 算 机 系 统 应 用 ||ww.c·S-a.org.cn 2013年 第 22卷 第 l2期 Linux下的Input子系统① 朱银瑞,吴庆洪,吴华玲 (辽宁科技大学 电子与信息工程学院,鞍山) ...

  7. linux input子系统 pdf,Linux下的Input子系统①.PDF

    Linux下的Input子系统①.PDF 计 算 机 系 统 应 用 2013 年 第 22 卷 第 12 期 Linux 下的Input 子系统① 朱银瑞, 吴庆洪, 吴华玲 (辽宁科技大学 电子与 ...

  8. linux内核input子系统解析,ARM Linux内核Input输入子系统浅解

    struct list_head      node;      //该链表头用于将设备链接到input_dev_list }; Input_dev是一个很强大的结构体,它把所有的input设备(触摸 ...

  9. Linux--内核Uevent事件机制 与 Input子系统【转】

    阅读目录 Uevent在kernel中的位置 Uevent的内部逻辑解析 转自:http://blog.csdn.net/lxl584685501/article/details/46379453 [ ...

最新文章

  1. Libgdx学习笔记:Simple text input
  2. 可以用javascript实现的10种图片特效
  3. 《深入理解计算机系统(英文版.第2版)》
  4. latex中的对号和错号
  5. layui登录源码_基于springboot+thymeleaf+mysql+layui实现的论坛系统
  6. rabbitmq python高性能开发_RabbitMQ工作队列实现高性能任务的负载分发[Python实例]...
  7. MySQL可视化管理工具之SQLyog的简介以及使用方法
  8. 机器人学导论,课后习题答案。
  9. Oracle不常用函数
  10. mathtype过期,不用每次都去回顾教程
  11. Linux之zip命令
  12. Spring Boot应用在kubernetes的sidecar设计与实战,mysql分表分库技术实现
  13. 计算机用户名和初始密码,电脑默认的用户名和密码是多少
  14. 使用dd命令测试裸盘性能评测
  15. EUI组件之HScrollBar VScrollBar (动态设置滑块图片)
  16. JavaSE学习笔记(十)IO流_part2
  17. Linux下minikube启动失败(It seems like the kubelet isn't running or healthy)
  18. 基金前15大重仓股持仓股排名
  19. Cocos creator 学习笔记(2)
  20. 大学生可以选择加盟零食店么

热门文章

  1. TKmybatis和mybatisplus哪个好用
  2. UVA 11383 - Golden Tiger Claw(二分图完美匹配扩展)
  3. ceph中查看一个rbd的image的真实存储位置
  4. Oracle学习之merge
  5. 团队项目第二次冲刺(4)
  6. js操作json数据的一些感受
  7. 第 11 章 Paragraphs
  8. 《塑造互联网思维的企业》一一第4章 全球商务向社会化媒体的转变
  9. 好雨云帮如何对接Git Server
  10. 《深入剖析Tomcat》阅读(三)