<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def poll_event(self):
 """Wait for an event and return it. Returns a tuple: (type, unicode character, key, mod, width, height, mousex, mousey). """

        """
        cdef tb_event e
        with self._poll_lock:
            with nogil:
                result = tb_poll_event(&e)
        assert(result >= 0)
        if e.ch:
            uch = unichr(e.ch)
        else:
            uch = None
        """
        for e in tdl.event.get():
            # [ ] not all events are passed thru
            self.e.type = e.type
            if e.type == 'KEYDOWN':
                self.e.key = e.key
                return self.e.gettuple()