python获取键盘上哪个键按下

devtools/2024/9/25 3:49:06/

当在Windows系统中,termios模块并不可用,因为termios是Unix系统(包括Linux和macOS)上的一个用于终端输入输出信息的接口,而Windows没有这样的系统调用。

如果你需要在Windows上使用类似termios的功能,你可以考虑以下替代方案:

  1. 使用Windows特有的库,如msvcrt(Microsoft Visual C Runtime),它提供了一些终端操作的功能。

import os
import sys
import tty
import termiosdef getkey():old_settings = termios.tcgetattr(sys.stdin)tty.setcbreak(sys.stdin.fileno())try:while True:b = os.read(sys.stdin.fileno(), 3).decode()if len(b) == 3:k = ord(b[2])else:k = ord(b)key_mapping = {127: 'backspace',10: 'return',32: 'space',9: 'tab',27: 'esc',65: 'up',66: 'down',67: 'right',68: 'left'}return key_mapping.get(k, chr(k))except TypeError:passfinally:termios.tcsetattr(sys.stdin, termios.TCSADRAIN, old_settings)if __name__ == '__main__':try:while True:key = getkey()if key == 'esc':breakelse:print("key= ",key);except (KeyboardInterrupt, SystemExit):os.system('stty sane')print('stopping.')

运行程序按下键盘上的按键,会在终端打印对应的按键名


http://www.ppmy.cn/devtools/4349.html

相关文章

深入了解Java Stream中的distinct()方法:按一个或多个指定对象字段进行去重

深入了解Java Stream中的distinct()方法:按一个或多个指定对象字段进行去重 在Java编程中,Stream API为我们提供了丰富的操作方法来处理集合数据。其中,distinct()方法是一种常用的方法,用于去除Stream中的重复元素。然而&#x…

个人网站开(九)五系统前端react

前言 为什么要开始学react呢,感觉很大原因是因为本人最近拿到了团子的暑期实习offer,想着先熟悉熟悉技术栈,所以开始学习react了 正文 总之先开篇讲一下我的react学习方法,先大概看了B站的视频,然后就是去看网上的教程,最后就是直接开写,毕竟实践出真知,这个系统主要做的是文…

电感与磁珠

电感是什么? 电感会通过产生感应电动势的方式来阻碍电流的变化,电流变化率越大,产生的感应电动势越大阻碍电流效果越明显。 [一]品质因数Q: 电感的品质因数Q值定义:电感的Q值也叫作品质因数,其为无功功率除以有功功率…

Redis系列2:数据持久化提高可用性

1 介绍 从上一篇的 《深刻理解高性能Redis的本质》 中可以知道, 我们经常在数据库层上加一层缓存(如Redis),来保证数据的访问效率。 这样性能确实也有了大幅度的提升,但是本身Redis也是一层服务,也存在宕机…

公园高速公路景区校园IP网络广播音柱SIP音柱

公园高速公路景区校园IP网络广播音柱SIP音柱 适用于学校、车站、教堂、工厂、仓库、公园停车场及露天市场高速公路等场所播放录制语音文件或背景音乐节目,专业一体化音箱设计,高强度防水设计,符合IP54防护等认证,数字化产品&…

HCIP的学习(8)

OSPF数据报文 OSPF头部信息(公共固定) 版本:OSPF版本,在IPv4网络中版本字段恒定为数值2(v1属于实验室版本,v3属于IPv6)类型:代表具体是哪一种报文,按照1~5排序&#xff…

constinit

类的静态成员在类内初始化 class Test{ public: const static int var1; } 这个变量的值不可修改;

Conmi的正确答案——ESP32获取MAC地址

ESP-IDF版本&#xff1a;v5.2.1 ESP32芯片型号&#xff1a;ESP32C3&#xff08;4M flash版本&#xff09; ESP支持的MAC地址有&#xff1a; typedef enum {ESP_MAC_WIFI_STA, /**< MAC for WiFi Station (6 bytes) */ESP_MAC_WIFI_SOFTAP, /**< MAC for WiFi Sof…