获取键盘输入不适用于箭头键



我想检查在等待输入时按了什么键,就像getch()一样。

我试着:

from msvcrt import getch
ch = ord(getch())

import readchar
ch = readchar.readkey()
ch = readchar.readchar()

然后我打印ch看看下面是什么

print(ch)

适用于字母,但对于箭头键,它总是返回相同的值,无论键:

对于ord(getch()),为224readchar.readkey()Nonereadchar.readchar()b'xe0'

我使用的是Microsoft Visual Studio Python 3.8。

有什么办法修复它,做它,同时使它像getch()一样工作?(等待输入)

当您第一次运行getch()并单击任何箭头时,它将返回b'xe0',但当第二次运行getch()时,它将返回b'H'b'P'b'K'b'M'

def read_keys():
while True:
key = getch()
if (key == b'x00' or key ==b'xe0'):
key = getch()
print('Arrow key', ord(key))
else:
print("Else", ord(key))
read_keys()

最新更新