code: def listen(self):
          
          while self._listen:
              key = u''
              key = self.term.inkey(timeout=0.2)
              try:
                  if key.code == KEY_ENTER:
                      self.on_enter(key=key)
                  elif key.code in (KEY_DOWN, KEY_UP):
                      self.on_key_arrow(key=key)
                  elif key.code == KEY_ESCAPE or key == chr(3):
                      self.on_exit(key=key)
                  elif key != '':
                      self.on_key(key=key)
              except KeyboardInterrupt:
                  self.on_exit(key=key)
docs: Blocking call on widgets.