|
52 | 52 | "up" : "kcuu1",
|
53 | 53 | }
|
54 | 54 |
|
55 |
| -class EventQueue(object): |
56 |
| - def __init__(self, fd, encoding): |
57 |
| - our_keycodes = {} |
58 |
| - for key, tiname in _keynames.items(): |
59 |
| - keycode = curses.tigetstr(tiname) |
60 |
| - trace('key {key} tiname {tiname} keycode {keycode!r}', **locals()) |
61 |
| - if keycode: |
62 |
| - our_keycodes[keycode] = key |
63 |
| - if os.isatty(fd): |
64 |
| - our_keycodes[tcgetattr(fd)[6][VERASE]] = unicode('backspace') |
65 |
| - self.k = self.ck = keymap.compile_keymap(our_keycodes) |
66 |
| - trace('keymap {k!r}', k=self.k) |
| 55 | +def general_keycodes(): |
| 56 | + keycodes = {} |
| 57 | + for key, tiname in _keynames.items(): |
| 58 | + keycode = curses.tigetstr(tiname) |
| 59 | + trace('key {key} tiname {tiname} keycode {keycode!r}', **locals()) |
| 60 | + if keycode: |
| 61 | + keycodes[keycode] = key |
| 62 | + return keycodes |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | +def EventQueue(fd, encoding): |
| 67 | + keycodes = general_keycodes() |
| 68 | + if os.isatty(fd): |
| 69 | + backspace = tcgetattr(fd)[6][VERASE] |
| 70 | + keycodes[backspace] = unicode('backspace') |
| 71 | + k = keymap.compile_keymap(keycodes) |
| 72 | + trace('keymap {k!r}', k=k) |
| 73 | + return EncodedQueue(k, encoding) |
| 74 | + |
| 75 | +class EncodedQueue(object): |
| 76 | + def __init__(self, keymap, encoding): |
| 77 | + self.k = self.ck = keymap |
67 | 78 | self.events = []
|
68 | 79 | self.buf = []
|
69 | 80 | self.encoding=encoding
|
|
0 commit comments