20
20
# fmt: off
21
21
KEY_NAME = (
22
22
'ESC' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '0' , '-' , '=' , 'BACKSPACE' ,
23
- '| ' , '] ' , '[ ' , 'P ' , 'O ' , 'I ' , 'U ' , 'Y' , 'T ' , 'R ' , 'E ' , 'W ' , 'Q ' , 'TAB ' , 'CAPS ' ,
23
+ 'CAPS ' , 'TAB ' , 'Q ' , 'W ' , 'E ' , 'R ' , 'T ' , 'Y' , 'U ' , 'I ' , 'O ' , 'P ' , '[ ' , '] ' , '| ' ,
24
24
'A' , 'S' , 'D' , 'F' , 'G' , 'H' , 'J' , 'K' , 'L' , ';' , '"' , 'ENTER' ,
25
- 'RSHIFT ' , '/ ' , '. ' , ', ' , 'M ' , 'N ' , 'B ' , 'V ' , 'C ' , 'X ' , 'Z ' , 'LSHIFT ' ,
25
+ 'LSHIFT ' , 'Z ' , 'X ' , 'C ' , 'V ' , 'B ' , 'N ' , 'M ' , ', ' , '. ' , '/ ' , 'RSHIFT ' ,
26
26
'LCTRL' , 'LGUI' , 'LALT' , 'SPACE' , 'RALT' , 'MENU' , 'FN' , 'RCTRL'
27
27
)
28
28
# fmt: on
29
29
30
30
31
+ def key_name (key ):
32
+ return KEY_NAME [COORDS [key ]]
33
+
34
+
31
35
@micropython .asm_thumb
32
36
def mem (r0 ):
33
37
"""Read memory from the address"""
@@ -105,11 +109,12 @@ def __init__(self, keymap=(), pairs=(), verbose=True):
105
109
self ._connection = ""
106
110
self .adv_timeout = None
107
111
108
- self .data = array .array ("L" , microcontroller .nvm [:272 ])
112
+ size = 4 + self .matrix .keys
113
+ self .data = array .array ("L" , microcontroller .nvm [:size * 4 ])
109
114
if self .data [0 ] != 0x424B5950 :
110
115
self .data [0 ] = 0x424B5950
111
116
self .data [1 ] = 1
112
- for i in range (4 , 68 ):
117
+ for i in range (4 , size ):
113
118
self .data [i ] = 0
114
119
self .ble_id = self .data [1 ]
115
120
self .heatmap = memoryview (self .data )[4 :]
@@ -211,7 +216,7 @@ def get_key_sequence_info(self, start, end):
211
216
matrix = self .matrix
212
217
event = matrix .view (start - 1 )
213
218
key = event & 0x7F
214
- desc = KEY_NAME [ key ]
219
+ desc = key_name ( key )
215
220
if event < 0x80 :
216
221
desc += " \\ "
217
222
t0 = matrix .get_keydown_time (key )
@@ -223,7 +228,7 @@ def get_key_sequence_info(self, start, end):
223
228
for i in range (start , end ):
224
229
event = matrix .view (i )
225
230
key = event & 0x7F
226
- desc += KEY_NAME [ key ]
231
+ desc += key_name ( key )
227
232
if event < 0x80 :
228
233
desc += " \\ "
229
234
t1 = matrix .get_keydown_time (key )
@@ -570,7 +575,7 @@ def run(self):
570
575
last_time = keydown_time
571
576
print (
572
577
"{} {} \\ {} latency {} | {}" .format (
573
- key , KEY_NAME [ key ] , hex (action_code ), dt , dt2
578
+ key , key_name ( key ) , hex (action_code ), dt , dt2
574
579
)
575
580
)
576
581
else :
@@ -619,6 +624,6 @@ def run(self):
619
624
last_time = keyup_time
620
625
print (
621
626
"{} {} / {} latency {} | {}" .format (
622
- key , KEY_NAME [ key ] , hex (action_code ), dt , dt2
627
+ key , key_name ( key ) , hex (action_code ), dt , dt2
623
628
)
624
629
)
0 commit comments