Linux C高阶(21)监听键盘单个按键输入

1 前言

编写测试工具的时候,需要实时的读取终端的输入(不需要按下enter键才读取), 然后执行相应命令,所以研究了下如何在linux下监听键盘信息。本例子采用了阻塞读取串口终端的方式,可以修改成另起一个线程。

2 终端IO的三种模式

2.1 canonical 模式

这个模式也叫做cooked模式。在这种模式下,终端设置每次返回一行数据,换句话说就是遇到换行符才输出,返回的buffer里会包含换行符。所有的特殊字符都会被解释(例如: ^c, ^c)

2.2 nocanonical 模式

这种模式也叫做raw 模式。在这种模式下终端每次返回一个字符而不是先收集一行的数据再返回。特殊的字符也不会被特别对待,需要自己处理。终端的编辑器vi就处于这种模式下,可以完全控制输入输出字符。

2.3 raw 模式

奇妙之二进制 CSDN认证博客专家 嵌入式优质创作者
专注于Linux C/C++、嵌入式Linux开发,偶尔谈谈人生,目前致力于完成大约500篇的linux C/C++开发知识体系库,所有的文章都会一直保持更新(优化内容、排版),想学习的可以订阅我的专栏,也可以关注二进制人生公众号。
相关推荐
©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:白松林 返回首页
实付 39.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值