Generates a dictionary mapping terminal keycodes to human-readable names.
()
| 58 | } |
| 59 | |
| 60 | def get_terminal_keycodes() -> dict[bytes, str]: |
| 61 | """ |
| 62 | Generates a dictionary mapping terminal keycodes to human-readable names. |
| 63 | """ |
| 64 | keycodes = {} |
| 65 | for key, terminal_code in TERMINAL_KEYNAMES.items(): |
| 66 | keycode = curses.tigetstr(terminal_code) |
| 67 | trace('key {key} tiname {terminal_code} keycode {keycode!r}', **locals()) |
| 68 | if keycode: |
| 69 | keycodes[keycode] = key |
| 70 | keycodes.update(CTRL_ARROW_KEYCODES) |
| 71 | return keycodes |
| 72 | |
| 73 | class EventQueue: |
| 74 | def __init__(self, fd: int, encoding: str) -> None: |