当前位置: 首页 > news >正文

seo网站设计点击软件免费表格模板下载

seo网站设计点击软件,免费表格模板下载,济宁建设企业网站,万网放网站一、应用程序APP#xff0c;访问驱动程序/dev/input/enent1流程#xff1a; 假设用户程序直接访问 /dev/input/event0 设备节点#xff0c;或者使用 tslib 访问设备节点#xff0c;数据的流程如下#xff1a; APP 发起读操作#xff0c;若无数据则休眠#xff1b;用户操…一、应用程序APP访问驱动程序/dev/input/enent1流程 假设用户程序直接访问 /dev/input/event0 设备节点或者使用 tslib 访问设备节点数据的流程如下 APP 发起读操作若无数据则休眠用户操作设备硬件上产生中断。如用户点击触摸屏产生SIGIO信号输入系统驱动层对应的驱动程序处理中断 读取到数据转换为标准的输入事件向核心层汇报。 所谓输入事件就是一个“struct input_event”结构体。核心层可以决定把输入事件转发给上面哪个 handler 来处理。最常用的是 evdev_handler它只是把 input_event 结构体保存在内核 buffer 等。当 APP正在等待数据时evdev_handler 会把它唤醒这样 APP 就可以读取数据。 APP 对输入事件的处理 APP 获 得 数据 的 方 法 有 2 种 直 接 访 问 设 备 节 点 ( 比 如 /dev/input/event0,1,2,…)或者通过 tslib、libinput 这类库来间接访问设备节点。这些库简化了对数据的处理。 二、标准输入事件–struct input_event /* The event structure itself */ struct input_event {struct timeval time;__u16 type;__u16 code;__s32 value; };三、驱动程序同步通知方式 所谓同步就是“你慢我等你”。 fd open(/dev/input/event1, O_RDWR | O_NONBLOCK);设置驱动程序为“O_NONBLOCK”表示“非阻塞”。APP 调用 read 函数读取数据时如果驱动程序中有数据那么 APP 的 read函数会返回数据。如果驱动程序中没有数据APP会阻塞。 #include stdio.h #include fcntl.h #include unistd.h #include linux/input.hint main() {const char *inputDevicePath /dev/input/event0;int inputDeviceFd open(inputDevicePath, O_RDONLY);if (inputDeviceFd -1){perror(Failed to open input device);return 1;}struct input_event event;while (1){ssize_t bytesRead read(inputDeviceFd, event, sizeof(event));if (bytesRead -1){perror(Failed to read input event);break;}if (bytesRead sizeof(event)){// 处理输入设备事件printf(Event type: %d, code: %d, value: %d\n, event.type, event.code, event.value);}}close(inputDeviceFd);return 0; }四、驱动程序异步通知方式 所谓异步通知就是 APP 可以忙自己的事当驱动程序用数据时它会主动给APP 发信号这会导致 APP 执行信号处理函数。 驱动程序发信号流程 用户点击触摸屏触摸屏上的驱动从硬件上获得数据转化为标准输入事件–struct input_event event;驱动程序发信号SIGIO驱动程序常用信号表示有IO事件给应用程序APP。怎么发内核里提供有函数内核自动处理。 应用程序要做的事情有这几件 编写信号处理函数 void my_sig_handler(int sig) {struct input_event event;while (read(fd, event, sizeof(event)) sizeof(event)){printf(get event: type 0x%x, code 0x%x, value 0x%x\n, event.type, event.code, event.value); } }注册信号处理函数 signal(SIGIO, my_sig_handler);打开驱动程序 fd open(/dev/input/event0, O_RDWR);把APP的进程 ID 告诉驱动getpid()可以获得应用程序的进程id。这一步是核心告诉驱动程序应该把信号发给哪个APP fcntl(fd, F_SETOWN, getpid());使能驱动的 FASYNC 功能 flags fcntl(fd, F_GETFL); fcntl(fd, F_SETFL, flags | FASYNC);驱动程序的信号发给APP的关键是APP 要把自己的pid告诉驱动。 APP 收到后执行信号处理函数。 参考链接 Linux中如何获取输入设备如触摸屏、按键等的事件信息
http://www.dnsts.com.cn/news/19960.html

相关文章:

  • 科技成果展示网站建设方案制作一个网站怎么做的
  • nofollow标签对网站收录的影响谷歌seo算法规则
  • 百度给做网站吗做网站难么
  • 网站建设logo网站密码是什么情况
  • 详情页在线设计网站推荐顺德外贸网站建设
  • 济南正规的网站制作大数据营销是什么
  • 公司找人做网站wordpress特定账户注册
  • 安全生产门户网站建设wordpress页面模板是哪个
  • 网站订单模板网站开发加盟商怎么做
  • 知行网站建设wordpress调用分类标题
  • 上海住建部网站wordpress app插件
  • 网站开发 组织架构福安城乡建设与规划局网站
  • jsp网站怎么做的好看网站购物系统制作雨辰资讯电子商务类网站开发
  • 服装网站开发方案武陟县住房和城乡建设局网站
  • 创意灵感网站重庆网站推广产品
  • 为什么要更新网站修改wordpress入口地址
  • 网站的title网页制作网页
  • 网站首页结构布局哈尔滨建设网站的免费咨询
  • 一个企业做网站的目的网站推广运营公司
  • 达人设计网官方网站python做网站设计
  • 网站图片相册代码wordpress模板制作
  • 公司网站运营公司排名wordpress仿58同城
  • 绵阳网站建设信赖辉煌外贸公司网站怎么做
  • 计算机网站建设维护的基本知识摄影公司网站
  • 手机网站报价单模板下载最近的热点新闻
  • 游戏直播网站怎么做的wordpress 即将跳转
  • 手机网站模板源码区块链app开发价格
  • 网站的页面布局广州aso优化
  • 网站建设友链交换电脑十大免费游戏网站
  • 把自己做的网站进行app封包html改变字体大小代码