Я новичок в Python, и я только что сделал игру и меню на Python. Вопрос в том, что использование (raw_)input() требует, чтобы я нажимал ввод после каждого нажатия клавиши, я хотел бы сделать так, чтобы нажатие стрелки вниз мгновенно выбирало следующий пункт меню или перемещалось вниз в игре. На данный момент мне нужно набрать «вниз», а затем нажать «Ввод». Я также провел довольно много исследований, но я бы предпочел не загружать огромные модули (например, pygame) только для достижения одного метода keyDown(). Так есть ли более простые способы, которых я просто не смог найти?
Изменить: только что узнал, что msvcrt.getch()
поможет. Это не keyDown(), но работает. Тем не менее, я тоже не уверен, как его использовать, это кажется довольно странным, любая помощь здесь? Вот что я получил на данный момент:
from msvcrt import getch
while True:
key = getch()
print(key)
Тем не менее, он продолжает выдавать мне все эти бессмысленные байты, например, стрелка вниз:
b'\xe0'
b'P'
И я понятия не имею, как их использовать, я пытался сравнить с chr() и даже использовать ord(), но не могу сделать никаких сравнений. То, что я пытаюсь сделать, в основном это:
from msvcrt import getch
while True:
key = getch()
if key == escape:
break
elif key == downarrow:
movedown()
elif key == 'a':
...
И так далее... Любая помощь?
msvcrt
недоступен в дистрибутивах Python для Mac/Linux. - person cat   schedule 11.01.2016