news 2026/10/15 3:59:30

linux获取屏幕输入

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
linux获取屏幕输入

一、app访问硬件的四种方式

1、查询机制:app不断查询硬件的状态

2、休眠-唤醒机制:app休眠等待硬件唤醒

这两者的代码区别就在于在调用open函数是是否传入O_NONBLOCK参数,如图所示

如果使用非阻塞的方式打开设备,read硬件的时候,只会读一次没有数据就返回失败。使用阻塞的方式打开设备之后,read会一直阻塞直到设备有数据传来时,退出休眠。

3、poll机制:app休眠一段时间等待硬件唤醒,时间过去了之后app继续工作

4、异步通知:app正常工作,硬件有消息会通知app

异步通知是通过信号量来实现的,app需要注册信号处理函数,设置信号类型,告诉内核当前进程号,使能信号,在硬件有消息时会执行信号处理函数的代码。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 3:59:10

第154篇 Navigation 组件:单 Activity 架构的路由方案

先把结论放在前面:Navigation 组件的核心是三件事——NavController 管理一个目的地栈(back stack)、NavHostFragment 负责在容器里替换内容、转场动画由框架统一维护(不复用 Activity 跳转动画)。 围绕这三件事,最值得答的细节在于"栈里存的是什么"——存的是…

作者头像 李华
网站建设 2026/10/15 3:56:38

HART转Modbus TCP网关实战:光伏车间温度变送器接入上位机监控

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/15 3:55:26

小团队搞数字化,卡点从来不是钱,是人——

一个三四人的配送小队,真正决定要不要上系统的,往往不是报价单。是凌晨两点,老板娘在微信里接完最后一单,抬头看见分拣的老张还在对着纸质单子一笔笔抄;是新来的司机跑错两趟,因为地址写在送货单的背面&…

作者头像 李华
网站建设 2026/10/15 3:55:26

上门预约系统:预约状态和进度通知接口怎么拆

上门预约系统若把 push 发送写在状态事务里,通道超时会导致状态回滚或半成功。宜事务内只改 appointment 行,通知走 outbox 异步。结论 状态真相在 appointments 表;notifier 读 event 推送,失败可重试。 func (s *Service) Dispa…

作者头像 李华