@@ -132,7 +132,6 @@ def __init__(
132132 self .height = 25
133133 self .__offset = 0
134134 self .event_queue : deque [Event ] = deque ()
135- self .key_repeat_queue : deque [Event ] = deque ()
136135 try :
137136 self .out = io ._WindowsConsoleIO (self .output_fd , "w" ) # type: ignore[attr-defined]
138137 except ValueError :
@@ -347,7 +346,7 @@ def move_cursor(self, x: int, y: int) -> None:
347346 raise ValueError (f"Bad cursor position { x } , { y } " )
348347
349348 if y < self .__offset or y >= self .__offset + self .height :
350- self .event_queue .insert ( 0 , Event ("scroll" , "" ))
349+ self .event_queue .appendleft ( Event ("scroll" , "" ))
351350 else :
352351 self ._move_relative (x , y )
353352 self .__posxy = x , y
@@ -395,9 +394,6 @@ def get_event(self, block: bool = True) -> Event | None:
395394 """Return an Event instance. Returns None if |block| is false
396395 and there is no event pending, otherwise waits for the
397396 completion of an event."""
398- if self .key_repeat_queue :
399- return self .key_repeat_queue .pop ()
400-
401397 if self .event_queue :
402398 return self .event_queue .pop ()
403399
@@ -420,7 +416,7 @@ def get_event(self, block: bool = True) -> Event | None:
420416 if event is not None :
421417 # Queue this key event to be repeated if wRepeatCount > 1, such as when a 'dead key' is pressed twice
422418 for _ in range (rec .Event .KeyEvent .wRepeatCount - 1 ):
423- self .key_repeat_queue .appendleft (event )
419+ self .event_queue .appendleft (event )
424420 elif block :
425421 # The key event didn't ectually type a character, block until next event
426422 continue
@@ -444,15 +440,15 @@ def _event_from_keyevent(self, key_event: KeyEvent) -> Event | None:
444440 key = f"ctrl { key } "
445441 elif key_event .dwControlKeyState & ALT_ACTIVE :
446442 # queue the key, return the meta command
447- self .event_queue .insert ( 0 , Event (evt = "key" , data = key , raw = key ))
443+ self .event_queue .appendleft ( Event (evt = "key" , data = key , raw = key ))
448444 return Event (evt = "key" , data = "\033 " ) # keymap.py uses this for meta
449445 return Event (evt = "key" , data = key , raw = key )
450446
451447 return None
452448
453449 if key_event .dwControlKeyState & ALT_ACTIVE :
454450 # queue the key, return the meta command
455- self .event_queue .insert ( 0 , Event (evt = "key" , data = key , raw = raw_key ))
451+ self .event_queue .appendleft ( Event (evt = "key" , data = key , raw = raw_key ))
456452 return Event (evt = "key" , data = "\033 " ) # keymap.py uses this for meta
457453
458454 return Event (evt = "key" , data = key , raw = raw_key )
@@ -503,7 +499,7 @@ def wait(self, timeout: float | None) -> bool:
503499 # Poor man's Windows select loop
504500 start_time = time .time ()
505501 while True :
506- if msvcrt .kbhit () or self .key_repeat_queue : # type: ignore[attr-defined]
502+ if msvcrt .kbhit () or self .event_queue : # type: ignore[attr-defined]
507503 return True
508504 if timeout and time .time () - start_time > timeout / 1000 :
509505 return False
0 commit comments