|
8 | 8 | # - |
9 | 9 | # DEBOUNCE_MAX = 20 |
10 | 10 |
|
11 | | -column1 = pyb.Pin('X9', pyb.Pin.IN, pyb.Pin.PULL_UP) |
12 | | -column2 = pyb.Pin('X10', pyb.Pin.IN, pyb.Pin.PULL_UP) |
13 | | -column3 = pyb.Pin('X11', pyb.Pin.IN, pyb.Pin.PULL_UP) |
14 | | -column4 = pyb.Pin('X12', pyb.Pin.IN, pyb.Pin.PULL_UP) |
15 | | -column7 = pyb.Pin('X8', pyb.Pin.IN, pyb.Pin.PULL_UP) |
16 | | -column6 = pyb.Pin('X7', pyb.Pin.IN, pyb.Pin.PULL_UP) |
17 | | -column5 = pyb.Pin('X6', pyb.Pin.IN, pyb.Pin.PULL_UP) |
18 | | -column8 = pyb.Pin('X5', pyb.Pin.IN, pyb.Pin.PULL_UP) |
19 | | -column9 = pyb.Pin('X4', pyb.Pin.IN, pyb.Pin.PULL_UP) |
20 | | -column10 = pyb.Pin('X3', pyb.Pin.IN, pyb.Pin.PULL_UP) |
21 | | -column11 = pyb.Pin('X2', pyb.Pin.IN, pyb.Pin.PULL_UP) |
22 | | -column12 = pyb.Pin('X1', pyb.Pin.IN, pyb.Pin.PULL_UP) |
| 11 | +column1 = pyb.Pin('X9', pyb.Pin.OUT_PP) |
| 12 | +column1.low() |
| 13 | +column2 = pyb.Pin('X10', pyb.Pin.OUT_PP) |
| 14 | +column2.low() |
| 15 | +column3 = pyb.Pin('X11', pyb.Pin.OUT_PP) |
| 16 | +column3.low() |
| 17 | +column4 = pyb.Pin('X12', pyb.Pin.OUT_PP) |
| 18 | +column4.low() |
| 19 | +column7 = pyb.Pin('X8', pyb.Pin.OUT_PP) |
| 20 | +column7.low() |
| 21 | +column6 = pyb.Pin('X7', pyb.Pin.OUT_PP) |
| 22 | +column6.low() |
| 23 | +column5 = pyb.Pin('X6', pyb.Pin.OUT_PP) |
| 24 | +column5.low() |
| 25 | +column8 = pyb.Pin('X5', pyb.Pin.OUT_PP) |
| 26 | +column8.low() |
| 27 | +column9 = pyb.Pin('X4', pyb.Pin.OUT_PP) |
| 28 | +column9.low() |
| 29 | +column10 = pyb.Pin('X3', pyb.Pin.OUT_PP) |
| 30 | +column10.low() |
| 31 | +column11 = pyb.Pin('X2', pyb.Pin.OUT_PP) |
| 32 | +column11.low() |
| 33 | +column12 = pyb.Pin('X1', pyb.Pin.OUT_PP) |
| 34 | +column12.low() |
23 | 35 |
|
24 | 36 | columns = [column1, column2, column3, column4, column5, column6, column7, column8, column9, column10, column11, |
25 | 37 | column12] |
26 | 38 |
|
27 | | -row1 = pyb.Pin('X19', pyb.Pin.OUT_PP) |
28 | | -row1.low() |
29 | | -row2 = pyb.Pin('X20', pyb.Pin.OUT_PP) |
30 | | -row2.low() |
31 | | -row3 = pyb.Pin('X21', pyb.Pin.OUT_PP) |
32 | | -row3.low() |
33 | | -row4 = pyb.Pin('X22', pyb.Pin.OUT_PP) |
34 | | -row4.low() |
| 39 | +row1 = pyb.Pin('X19', pyb.Pin.IN, pyb.Pin.PULL_UP) |
| 40 | +row2 = pyb.Pin('X20', pyb.Pin.IN, pyb.Pin.PULL_UP) |
| 41 | +row3 = pyb.Pin('X21', pyb.Pin.IN, pyb.Pin.PULL_UP) |
| 42 | +row4 = pyb.Pin('X22', pyb.Pin.IN, pyb.Pin.PULL_UP) |
35 | 43 |
|
36 | 44 | rows = [row1, row2, row3, row4] |
37 | 45 |
|
|
53 | 61 |
|
54 | 62 | control_keys = ['Shift', 'Command', 'Alt', 'Ctrl', 'Fn1', 'Fn2'] |
55 | 63 |
|
56 | | - |
57 | 64 | while True: |
58 | 65 | something_pressed = False |
59 | 66 | ctrl_pressed = False |
|
64 | 71 | fn2_pressed = False |
65 | 72 | for y in ROW_RANGE: |
66 | 73 | row = rows[y] |
67 | | - row.low() |
68 | 74 | for x in COLUMN_RANGE: |
69 | 75 | column = columns[x] |
| 76 | + column.low() |
70 | 77 | key_string = matrix.matrix[x][y] |
71 | | - if not column.value(): |
| 78 | + if not row.value(): |
72 | 79 | if key_string not in control_keys: |
73 | 80 | something_pressed = True |
74 | 81 | pressed_x = x |
|
86 | 93 | fn1_pressed = True |
87 | 94 | if key_string is 'Fn2': |
88 | 95 | fn2_pressed = True |
89 | | - row.high() |
| 96 | + column.high() |
90 | 97 | # All keys evaluated |
91 | 98 | control_modifier = 0 |
92 | 99 | if ctrl_pressed: |
|
0 commit comments