|
1 | 1 | import time |
2 | | -import digitalio |
3 | 2 | import array |
| 3 | + |
4 | 4 | import board |
| 5 | +import digitalio |
5 | 6 | import rp2pio |
| 7 | +import usb_hid |
| 8 | + |
6 | 9 | import adafruit_pioasm |
7 | 10 | from adafruit_hid.keyboard import Keyboard |
8 | | -import usb_hid |
9 | 11 | from adafruit_hid.keycode import Keycode as K |
10 | 12 |
|
11 | 13 | tandy1000_keycodes = [ |
12 | | -None, K.ESCAPE, K.ONE, K.TWO, K.THREE, K.FOUR, K.FIVE, K.SIX, K.SEVEN, K.EIGHT, K.NINE, K.ZERO, K.MINUS, K.EQUALS, K.BACKSPACE, K.TAB, K.Q, K.W, K.E, K.R, K.T, K.Y, K.U, K.I, K.O, K.P, K.LEFT_BRACKET, K.RIGHT_BRACKET, K.ENTER, K.LEFT_CONTROL, K.A, K.S, K.D, K.F, K.G, K.H, K.J, K.K, K.L, K.SEMICOLON, K.QUOTE, K.UP_ARROW, K.LEFT_SHIFT, K.LEFT_ARROW, K.Z, K.X, K.C, K.V, K.B, K.N, K.M, K.COMMA, K.PERIOD, K.FORWARD_SLASH, K.RIGHT_SHIFT, K.PRINT_SCREEN, K.LEFT_ALT, K.SPACE, K.CAPS_LOCK, K.F1, K.F2, K.F3, K.F4, K.F5, K.F6, K.F7, K.F8, K.F9, K.F10, K.KEYPAD_NUMLOCK, K.PAUSE, K.KEYPAD_SEVEN, K.KEYPAD_EIGHT, K.KEYPAD_NINE, K.DOWN_ARROW, K.KEYPAD_FOUR, K.KEYPAD_FIVE, K.KEYPAD_SIX, K.RIGHT_ARROW, K.KEYPAD_ONE, K.KEYPAD_TWO, K.KEYPAD_THREE, K.KEYPAD_ZERO, K.KEYPAD_MINUS, (K.LEFT_CONTROL, K.PAUSE), K.KEYPAD_PLUS, K.KEYPAD_PERIOD, K.KEYPAD_ENTER, K.HOME, K.F11, K.F12 |
| 14 | + None, K.ESCAPE, K.ONE, K.TWO, K.THREE, K.FOUR, K.FIVE, K.SIX, K.SEVEN, |
| 15 | + K.EIGHT, K.NINE, K.ZERO, K.MINUS, K.EQUALS, K.BACKSPACE, K.TAB, K.Q, K.W, |
| 16 | + K.E, K.R, K.T, K.Y, K.U, K.I, K.O, K.P, K.LEFT_BRACKET, K.RIGHT_BRACKET, |
| 17 | + K.ENTER, K.LEFT_CONTROL, K.A, K.S, K.D, K.F, K.G, K.H, K.J, K.K, K.L, |
| 18 | + K.SEMICOLON, K.QUOTE, K.UP_ARROW, K.LEFT_SHIFT, K.LEFT_ARROW, K.Z, K.X, |
| 19 | + K.C, K.V, K.B, K.N, K.M, K.COMMA, K.PERIOD, K.FORWARD_SLASH, K.RIGHT_SHIFT, |
| 20 | + K.PRINT_SCREEN, K.LEFT_ALT, K.SPACE, K.CAPS_LOCK, K.F1, K.F2, K.F3, K.F4, |
| 21 | + K.F5, K.F6, K.F7, K.F8, K.F9, K.F10, K.KEYPAD_NUMLOCK, K.PAUSE, |
| 22 | + K.KEYPAD_SEVEN, K.KEYPAD_EIGHT, K.KEYPAD_NINE, K.DOWN_ARROW, K.KEYPAD_FOUR, |
| 23 | + K.KEYPAD_FIVE, K.KEYPAD_SIX, K.RIGHT_ARROW, K.KEYPAD_ONE, K.KEYPAD_TWO, |
| 24 | + K.KEYPAD_THREE, K.KEYPAD_ZERO, K.KEYPAD_MINUS, (K.LEFT_CONTROL, K.PAUSE), |
| 25 | + K.KEYPAD_PLUS, K.KEYPAD_PERIOD, K.KEYPAD_ENTER, K.HOME, K.F11, K.F12 |
13 | 26 | ] |
14 | 27 |
|
15 | 28 | LOCK_KEYS = (K.CAPS_LOCK, K.KEYPAD_NUMLOCK) |
|
27 | 40 | K.KEYPAD_NINE: K.PAGE_UP, |
28 | 41 |
|
29 | 42 | K.KEYPAD_FOUR: (K.LEFT_SHIFT, K.BACKSLASH), |
30 | | - #K.KEYPAD_FIVE: |
31 | | - #K.KEYPAD_SIX: |
| 43 | + #K.KEYPAD_FIVE: |
| 44 | + #K.KEYPAD_SIX: |
32 | 45 |
|
33 | 46 | K.KEYPAD_ONE: K.END, |
34 | 47 | K.KEYPAD_TWO: K.GRAVE_ACCENT, |
|
101 | 114 | while True: |
102 | 115 | sm.readinto(buf, swap=False) |
103 | 116 | val = buf[0] |
104 | | - pressed = not (val & 0x80) |
| 117 | + pressed = (val & 0x80) == 0 |
105 | 118 | key_number = val & 0x7f |
106 | 119 |
|
107 | 120 | keycode = tandy1000_keycodes[key_number] |
|
0 commit comments