innerhalb einer Schleife werden Tastenanschläge entgegengenommen. Handelt es sich z. B. um ein darstellbares Zeichen, wird im einfachsten Fall ein String
Code: Alles auswählen
char + control sequence
Das Zeichen und die Sequenz werden an unterschiedlichen Orten gebildet.
Vereinfacht sieht das so aus:
Code: Alles auswählen
def _run(self):
with Terminal():
key = ''
while not key in self.exit_keys:
_write2stdout(self._collector)
key, displayable = get_key()
if displayable:
self.echo(key)
else:
getattr(self, key, lambda: None)()
return ''.join(self.content)
Dasselbe geschieht auch, wenn ein handler, hier vereinfacht über 'getattr(...)()' dargestellt, aufgerufen wird. Dabei handelt es sich dann meist um Methoden, die Sequenzen zur Cursorpositionierung an 'self._collector' addieren.
Würdet ihr das auch so machen oder gibt es 'bessere' Lösungen? Ich dachte schon über 'Queue' nach, kann da aber eigentlich keinen Nutzen erkennen...
mutetella