Generates a dictionary mapping terminal keycodes to human-readable names.
(ti: TermInfo)
| 55 | } |
| 56 | |
| 57 | def get_terminal_keycodes(ti: TermInfo) -> dict[bytes, str]: |
| 58 | """ |
| 59 | Generates a dictionary mapping terminal keycodes to human-readable names. |
| 60 | """ |
| 61 | keycodes = {} |
| 62 | for key, terminal_code in TERMINAL_KEYNAMES.items(): |
| 63 | keycode = ti.get(terminal_code) |
| 64 | trace('key {key} tiname {terminal_code} keycode {keycode!r}', **locals()) |
| 65 | if keycode: |
| 66 | keycodes[keycode] = key |
| 67 | keycodes.update(CTRL_ARROW_KEYCODES) |
| 68 | return keycodes |
| 69 | |
| 70 | |
| 71 | class EventQueue(BaseEventQueue): |