python 3 non-blocking read key input for windows using getch()
from msvcrt import kbhit,getch
#import time
stop = False
while not stop:
print ("Hello world!")
if kbhit():
#print ('kbhit')
#time.sleep(0.25)
#print (getch())
stop = getch()==bytes('q','ascii')
from msvcrt import kbhit,getch
import time
stop = False
while not stop:
#print ("Hello world!")
time.sleep(0.1)
if kbhit():
#print ('kbhit')
#print (getch())
#stop = getch()==bytes('q','ascii')
stop = getch()==bytes('\r','ascii')
from msvcrt import kbhit,getch
import time, sys, threading, re
key = ""
terminate_this = 0
class MyThreadWithArgs(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
global key, terminate_this
while True:
time.sleep(0.01)
if terminate_this == 1:
break
if kbhit():
key = ord(getch())
print(key)
if terminate_this == 1:
break
## if key == 113:
## return
pass
return
try:
t = MyThreadWithArgs()
t.start()
print (t)
while threading.active_count() > 1:
print ('do something here')
time.sleep(0.5)
if key == 113: # 'q' key to quit
terminate_this = 1
break
if key == 97: # 'a' key
print ('do something for a')
key = ""
pass
pass
except KeyboardInterrupt: #ctrl+c
terminate_this = 1
sys.exit()
sys.exit()
No comments:
Post a Comment