+
+ (* End time? *)
+ (match !end_time with
+ | None -> ()
+ | Some end_time ->
+ let (_, time, _, _, _, _, _, _) = state in
+ let delay_secs = float !delay /. 1000. in
+ if end_time <= time +. delay_secs then quit := true
+ );
+
+ (* Batch mode or script mode. We didn't call get_key_press above, so
+ * we didn't sleep. Sleep now, unless we are about to quit.
+ *)
+ if batch_mode || script_mode then
+ if not !quit then
+ usleep !delay;