File tree Expand file tree Collapse file tree 1 file changed +19
-2
lines changed Expand file tree Collapse file tree 1 file changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -104,8 +104,11 @@ def detach(self) -> ContextManager[None]:
104104 def read_keys (self ) -> list [KeyPress ]:
105105 return list (self .console_input_reader .read ())
106106
107- def flush (self ) -> None :
108- pass
107+ def flush_keys (self ) -> None :
108+ if self ._use_virtual_terminal_input :
109+ return self .console_input_reader .flush_keys ()
110+ else :
111+ return []
109112
110113 @property
111114 def closed (self ) -> bool :
@@ -640,6 +643,20 @@ def read(self) -> Iterable[KeyPress]:
640643 self ._buffer = []
641644 return result
642645
646+ def flush_keys (self ) -> list [KeyPress ]:
647+ """
648+ Flush pending keys and return them.
649+ (Used for flushing the 'escape' key.)
650+ """
651+ # Flush all pending keys. (This is most important to flush the vt100
652+ # 'Escape' key early when nothing else follows.)
653+ self ._vt100_parser .flush ()
654+
655+ # Return result.
656+ result = self ._buffer
657+ self ._buffer = []
658+ return result
659+
643660 def _get_keys (
644661 self , read : DWORD , input_records : Array [INPUT_RECORD ]
645662 ) -> Iterator [str ]:
You can’t perform that action at this time.
0 commit comments