我目前正在基于pygame事件处理程序编写pygame键盘记录程序。 我的旧版本基于测试应用程序所需的所有可用键,但是现在,由于旧版本的处理能力大量损失,我将其基于检索未处理的按键信息,并在按键中查找其位置。列表,并使pygame发出其连贯的字符串。 我已经完成了第一个功能版本,并希望获得一些改进意见。
special = '''+#-.,´ß0987654321^<'''
konverted = '''*\'_:;`?=)(/&%$§"!°>'''
print(special, konverted)
def key_get():
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
key = pygame.key.get_pressed()
for i in range(0, 253, 1): #empirisch gemessen für 'ü' (letztes bei umlauten)
if key[i]:
name = pygame.key.name(i)
mod = pygame.key.get_mods()
if mod & pygame.KMOD_SHIFT:
if all([str(x) != str(name) for x in special]):
name = name.upper()
elif any([str(y) == str(name) for y in special]):
for y in range(0, len(special), 1):
if str(special[y])== str(name):
name = konverted[y]
elif event.type == pygame.MOUSEBUTTONDOWN:name = "mousebuttondown"
elif event.type == pygame.QUIT:name = False
elif event.type == pygame.VIDEORESIZE:
screen = pygame.display.set_mode(event.dict['size'], pygame.HWSURFACE | pygame.DOUBLEBUF | pygame.RESIZABLE)
pygame.display.flip()
答案 0 :(得分:1)
我不太确定您对我们意味着什么,但这是您想要的吗?
for event in pygame.event.get()
if event.type == pygame.KEYDOWN:
key_name = event.unicode