В настоящее время мне нужно предоставить несколько клавиатурных прерываний для программы. Есть ли простой способ сделать это с помощью класса сигналов? В настоящее время я использую SIGINT
/Ctrl+C
, но я не могу найти никаких других сопоставлений клавиатуры.
Было бы неплохо иметь более двух сигналов. Как я могу определить больше сигналов или есть лучший способ захватить "прерывание от пользователя"?
Вот высокоуровневый вид текущего кода:
def shutdown(signal, frame):
if(signal==2): #sigint
print 'do something'
elif signal==XX:
print 'do something else'
# continued...
signal.signal(signal.SIGINT, shutdown)
signal.signal(signal.SOMEOTHERTYPE, shutdown)
print 'start'
t = Thread(target=run)
t.setDaemon(True)
t.start()
print 'Done, press ctrl c, or ctrl ? '
signal.pause()