python获取键盘上哪个键按下
当在Windows系统中,termios
模块并不可用,因为termios
是Unix系统(包括Linux和macOS)上的一个用于终端输入输出信息的接口,而Windows没有这样的系统调用。
如果你需要在Windows上使用类似termios
的功能,你可以考虑以下替代方案:
-
使用Windows特有的库,如
msvcrt
(Microsoft Visual C Runtime),它提供了一些终端操作的功能。
import os
import sys
import tty
import termios
def 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:
pass
finally:
termios.tcsetattr(sys.stdin, termios.TCSADRAIN, old_settings)
if __name__ == '__main__':
try:
while True:
key = getkey()
if key == 'esc':
break
else:
print("key= ",key);
except (KeyboardInterrupt, SystemExit):
os.system('stty sane')
print('stopping.')
运行程序按下键盘上的按键,会在终端打印对应的按键名
原文地址:https://blog.csdn.net/weixin_42670590/article/details/137998771
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!