我正在写一个程序来获得键盘输入。下面是代码:
key = 0
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == pygame.KEYDOWN:
for key in keys:
if event.key == key:
key = key
if key != None:
print(key)
print(chr(key))
return chr(key)
else:
return
问题是ASCII
中的键太大,chr()
无法处理。例如,当我按Caps Lock时,它会向我吐出一个错误。我要做的是获得pygame.keydown
的整数并将其转换为ASCII
字符,然后返回该字符。除了chr()
之外,还有什么方法不会给我这个错误吗?
ValueError: chr() arg not in range(0x110000)
用户友好的密钥名称可以通过pygame.key.name()
:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
print(pygame.key.name(event.key))