|
11 | 11 |
|
12 | 12 | kpd = Keyboard(usb_hid.devices)
|
13 | 13 |
|
| 14 | +# Choose the correct modifier key for Windows or Mac. |
| 15 | +# Comment one line and uncomment the other. |
| 16 | +# MODIFIER = Keycode.CONTROL # For Windows |
| 17 | +MODIFIER = Keycode.COMMAND # For Mac |
| 18 | + |
14 | 19 | # define buttons
|
15 |
| -num_keys = 4 |
16 |
| -pins = ( |
| 20 | +NUM_KEYS = 4 |
| 21 | +PINS = ( |
17 | 22 | board.GP0,
|
18 | 23 | board.GP1,
|
19 | 24 | board.GP2,
|
20 |
| - board.GP3 |
| 25 | + board.GP3, |
| 26 | +) |
| 27 | + |
| 28 | +KEYMAP = ( |
| 29 | + ("Select all", [MODIFIER, Keycode.A]), |
| 30 | + ("Cut", [MODIFIER, Keycode.X]), |
| 31 | + ("Copy", [MODIFIER, Keycode.C]), |
| 32 | + ("Paste", [MODIFIER, Keycode.V]), |
21 | 33 | )
|
22 | 34 |
|
23 | 35 | keys = []
|
24 |
| -for pin in pins: |
25 |
| - tmp_pin = DigitalInOut(pin) |
26 |
| - tmp_pin.pull = Pull.UP |
27 |
| - keys.append(Debouncer(tmp_pin)) |
28 |
| - |
29 |
| -keymap = { |
30 |
| - (0): ("Select all", [Keycode.GUI, Keycode.A]), |
31 |
| - (1): ("Cut", [Keycode.GUI, Keycode.X]), |
32 |
| - (2): ("Copy", [Keycode.GUI, Keycode.C]), |
33 |
| - (3): ("Paste", [Keycode.GUI, Keycode.V]) |
34 |
| -} |
| 36 | +for pin in PINS: |
| 37 | + dio = DigitalInOut(pin) |
| 38 | + dio.pull = Pull.UP |
| 39 | + keys.append(Debouncer(dio)) |
35 | 40 |
|
36 | 41 | print("\nWelcome to keypad")
|
37 | 42 | print("keymap:")
|
38 |
| -for k in range(num_keys): |
39 |
| - print("\t", (keymap[k][0])) |
| 43 | +for k in range(NUM_KEYS): |
| 44 | + print("\t", (KEYMAP[k][0])) |
40 | 45 |
|
41 | 46 |
|
42 | 47 | while True:
|
43 |
| - for i in range(num_keys): |
| 48 | + for i in range(NUM_KEYS): |
44 | 49 | keys[i].update()
|
45 | 50 | if keys[i].fell:
|
46 |
| - print(keymap[i][0]) |
47 |
| - kpd.send(*keymap[i][1]) |
| 51 | + print(KEYMAP[i][0]) |
| 52 | + kpd.send(*KEYMAP[i][1]) |
0 commit comments