Get pending events from the console event queue. Returns: - Event: Pending event from the event queue.
(self)
| 531 | if FIONREAD: |
| 532 | |
| 533 | def getpending(self): |
| 534 | """ |
| 535 | Get pending events from the console event queue. |
| 536 | |
| 537 | Returns: |
| 538 | - Event: Pending event from the event queue. |
| 539 | """ |
| 540 | e = Event("key", "", b"") |
| 541 | |
| 542 | while not self.event_queue.empty(): |
| 543 | e2 = self.event_queue.get() |
| 544 | e.data += e2.data |
| 545 | e.raw += e.raw |
| 546 | |
| 547 | amount = struct.unpack("i", ioctl(self.input_fd, FIONREAD, b"\0\0\0\0"))[0] |
| 548 | trace("getpending({a})", a=amount) |
| 549 | raw = self.__read(amount) |
| 550 | data = str(raw, self.encoding, "replace") |
| 551 | e.data += data |
| 552 | e.raw += raw |
| 553 | return e |
| 554 | |
| 555 | else: |
| 556 |