At 03:49 AM 10/30/2007, Kent Johnson wrote: >Why do you need to call kbhit() at all? Why not just call getch() >and wait for the next character?
Like this?: <http://www.rcblue.com/Python/chessTimerForWebV9atest.py>. The every-5-seconds time report doesn't report. Compare ============================ #!/usr/bin/env python #coding=utf-8 # 21aForTutor.py import time import msvcrt timeNow = time.time() oldTimeNow = timeNow while True: if msvcrt.kbhit(): key = msvcrt.getch() if key == 'h': print 'Hello' if key == 'b': print 'Bye' if key == '\r': # Enter key break else: time.sleep(0.001) timeNow = time.time() if timeNow - oldTimeNow > 2: print "2 seconds passed" oldTimeNow = timeNow ================================== with =================================== #!/usr/bin/env python #coding=utf-8 # 21bForTutor.py import time import msvcrt timeNow = time.time() oldTimeNow = timeNow while True: #if msvcrt.kbhit(): key = msvcrt.getch() if key == 'h': print 'Hello' if key == 'b': print 'Bye' if key == '\r': # Enter key break else: time.sleep(0.001) timeNow = time.time() if timeNow - oldTimeNow > 2: print "2 seconds passed" oldTimeNow = timeNow ===================================== In 21bForTutor.py the 2-second report is screwed up. Maybe you can fix it? Dick _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor