ROS中 Python/C++ 键盘按键监听事件
这几天在肝全国智能驾驶大赛,真就挺累的:抓狂思考,手搓代码,疯狂编译,要命运行。在这趟火车上,被各种各样的问题卡住甚至卡死,就很难受好吧。至今,我深深地领悟到:真正能够检验一个大学生能力的方法就是敲代码,能把代码手搓出来,就说明有本事;搓不出来,就是“烂人”一个。
在遇到的这一堆问题中,有一个看似很水,但是一直搞不定,最后还是用 opencv+rostopic pub 勉强变向解决掉了。他就是“键盘按键监听事件”,大致应用场景如下:在main函数中,需要获取键盘按键信息,如果监听到按下了f键(ASCII=102),则将机器人状态复原、打印状态信息并退出程序;若没有监听到按键信息,则机器人继续运行并打印状态信息。
1.下面是一种Python版本的代码实现:
import select,termios,tty,sys
## 获取键盘按键信息
def listenKey():
## sys.stdin表示标准化输入
## termios.tcgetattr(fd)返回一个包含文件描述符fd的tty属性的列表
property_list = termios.tcgetattr(sys.stdin)