python实时检测键盘输入函数的示例


Posted in Python onJuly 17, 2019

在嵌入式、尤其是机器人的python编程中,经常需要实时检测用户的键盘输入来随时控制机器人,这段代码可以帮助我们提取用户输入的字符,并在按下键盘的时候作出反应。

import sys
import tty
import termios

def readchar():
  fd = sys.stdin.fileno()
  old_settings = termios.tcgetattr(fd)
  try:
    tty.setraw(sys.stdin.fileno())
    ch = sys.stdin.read(1)
  finally:
    termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
  return ch

def readkey(getchar_fn=None):
  getchar = getchar_fn or readchar
  c1 = getchar()
  if ord(c1) != 0x1b:
    return c1
  c2 = getchar()
  if ord(c2) != 0x5b:
    return c1
  c3 = getchar()
  return chr(0x10 + ord(c3) - 65)

while True:
  key=readkey()
  if key=='w':
    #go_forward()
  if key=='a':
    #go_back()
  if key=='s':
    #go_left()
  if key=='d':
  	#go_right()
  if key=='q':
  	break

key = readkey()即可使用

以上这篇python实时检测键盘输入函数的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现的登陆Discuz!论坛通用代码分享
Jul 11 Python
如何解决django配置settings时遇到Could not import settings 'conf.local'
Nov 18 Python
Python读写Excel文件方法介绍
Nov 22 Python
Python读取ini文件、操作mysql、发送邮件实例
Jan 01 Python
Python的re模块正则表达式操作
May 25 Python
详解Python 数据库的Connection、Cursor两大对象
Jun 25 Python
Python  unittest单元测试框架的使用
Sep 08 Python
Django model 中设置联合约束和联合索引的方法
Aug 06 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
python 星号(*)的多种用途
Sep 21 Python
用PYTHON去计算88键钢琴的琴键频率和音高
Apr 10 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 #Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 #Python
Django model update的多种用法介绍
Mar 28 #Python
Django model select的多种用法详解
Jul 16 #Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 #Python
Python split() 函数拆分字符串将字符串转化为列的方法
Jul 16 #Python
python实现字符串完美拆分split()的方法
Jul 16 #Python
You might like
基于mysql的bbs设计(五)
2006/10/09 PHP
php 全文搜索和替换的实现代码
2008/07/29 PHP
PHP header函数分析详解
2011/08/06 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
php Session无效分析资料整理
2016/11/29 PHP
javascript实现的listview效果
2007/04/28 Javascript
JTrackBar水平拖动效果
2007/07/15 Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
2014/04/10 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
JS获取多维数组中相同键的值实现方法示例
2017/01/06 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
JavaScript编写开发动态时钟
2020/07/29 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
selenium 安装与chromedriver安装的方法步骤
2019/06/12 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
新闻网站实习自我鉴定
2013/09/25 职场文书
员工年终演讲稿
2014/01/03 职场文书
简历里的自我评价
2014/01/31 职场文书
学生手册评语
2014/05/05 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
未婚证明书模板
2014/10/08 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
中学生社会实践教育活动总结
2015/05/06 职场文书
小学美术教学反思
2016/02/17 职场文书
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript