Skip to content

Commit ae55bc3

Browse files
committed
format with black
1 parent 5ef9954 commit ae55bc3

File tree

8 files changed

+92
-71
lines changed

8 files changed

+92
-71
lines changed

keyboard/__init__.py

+52-37
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import array
32
import time
43
import struct
@@ -25,9 +24,9 @@
2524
L3B = LAYER_TAP(3, B)
2625

2726
# Semicolon & Ctrl
28-
SCC = MODS_TAP(MODS(RCTRL), ';')
29-
27+
SCC = MODS_TAP(MODS(RCTRL), ";")
3028

29+
# fmt: off
3130
KEYMAP = (
3231
# layer 0
3332
(
@@ -65,14 +64,18 @@
6564
___, ___, ___, ___, ___, ___, ___, ___
6665
),
6766
)
67+
# fmt: on
68+
6869

6970
@micropython.asm_thumb
7071
def mem(r0):
7172
ldr(r0, [r0, 0])
7273

74+
7375
def usb_is_connected():
7476
return mem(0x40000438) == 0x3
7577

78+
7679
def reset_into_bootloader():
7780
microcontroller.on_next_reset(microcontroller.RunMode.BOOTLOADER)
7881
microcontroller.reset()
@@ -87,7 +90,9 @@ def is_tapped(matrix, key):
8790
if target == matrix.view(0):
8891
return True
8992
else:
90-
n = matrix.wait(200 - matrix.ms(matrix.time() - matrix.get_keydown_time(key)))
93+
n = matrix.wait(
94+
200 - matrix.ms(matrix.time() - matrix.get_keydown_time(key))
95+
)
9196
if n == 2 and target == matrix.view(1):
9297
return True
9398

@@ -152,11 +157,12 @@ def __init__(self, keymap=KEYMAP, pairs=(), verbose=True):
152157

153158
self._current_conn = ""
154159

155-
self.data = array.array('L', microcontroller.nvm[:272])
156-
if self.data[0] != 0x424b5950:
157-
self.data[0] = 0x424b5950
160+
self.data = array.array("L", microcontroller.nvm[:272])
161+
if self.data[0] != 0x424B5950:
162+
self.data[0] = 0x424B5950
158163
self.data[1] = 1
159-
for i in range(4, 68): self.data[i] = 0
164+
for i in range(4, 68):
165+
self.data[i] = 0
160166
self.ble_id = self.data[1]
161167
self.heatmap = memoryview(self.data)[4:]
162168

@@ -188,7 +194,7 @@ def update_current_conn(self):
188194
self.layer_mask = 1
189195

190196
def check(self):
191-
if self.adv_timeout:
197+
if self.adv_timeout:
192198
if self.ble.connected:
193199
self.adv_timeout = 0
194200
self.backlight.set_bt_led(None)
@@ -219,21 +225,23 @@ def check(self):
219225
if leds != self.leds:
220226
self.leds = leds
221227
self.backlight.set_hid_leds(leds)
222-
self.log('keyboard leds {}'.format(bin(leds)))
228+
self.log("keyboard leds {}".format(bin(leds)))
223229
self.update_current_conn()
224230

225231
# update battery level
226232
if time.time() > self.battery_update_time:
227233
self.battery_update_time = time.time() + 360
228234
self.battery.level = battery_level()
229-
235+
230236
def setup(self):
231-
convert = lambda a: array.array('H', (get_action_code(k) for k in a))
237+
convert = lambda a: array.array("H", (get_action_code(k) for k in a))
232238
self.actonmap = tuple(convert(layer) for layer in self.keymap)
233239

234240
self.action_maps = {}
235241
for key in self.profiles:
236-
self.action_maps[key] = tuple(convert(layer) for layer in self.profiles[key])
242+
self.action_maps[key] = tuple(
243+
convert(layer) for layer in self.profiles[key]
244+
)
237245

238246
for pair in self.pairs:
239247
for key in pair:
@@ -263,18 +271,18 @@ def change_bt(self, n):
263271
if 0 > n or n > 9:
264272
return
265273

266-
uid = self.uid[n:n+6]
274+
uid = self.uid[n : n + 6]
267275
uid[-1] = uid[-1] | 0xC0
268276
address = _bleio.Address(uid, _bleio.Address.RANDOM_STATIC)
269277
try:
270278
self.ble._adapter.address = address
271-
name = 'PYKB {}'.format(n)
279+
name = "PYKB {}".format(n)
272280
self.advertisement.complete_name = name
273281
self.ble.name = name
274282
self.ble_id = n
275283
if self.data[1] != n:
276284
self.data[1] = n
277-
microcontroller.nvm[:272] = struct.pack('68L', *self.data)
285+
microcontroller.nvm[:272] = struct.pack("68L", *self.data)
278286
except Exception as e:
279287
print(e)
280288
self.log(self.ble._adapter.address)
@@ -304,7 +312,7 @@ def action_code(self, position):
304312
for layer in range(len(self.current_keymap) - 1, -1, -1):
305313
if (layer_mask >> layer) & 1:
306314
code = self.current_keymap[layer][position]
307-
if code == 1: # TRANSPARENT
315+
if code == 1: # TRANSPARENT
308316
continue
309317
return code
310318
return 0
@@ -384,7 +392,9 @@ def run(self):
384392
if n == 1:
385393
key = matrix.view(0)
386394
if key < 0x80 and key in self.pair_keys:
387-
n = matrix.wait(10 - ms(matrix.time() - matrix.get_keydown_time(key)))
395+
n = matrix.wait(
396+
10 - ms(matrix.time() - matrix.get_keydown_time(key))
397+
)
388398

389399
if n >= 2:
390400
pair = {matrix.view(0), matrix.view(1)}
@@ -393,8 +403,10 @@ def run(self):
393403
key1 = self.get()
394404
key2 = self.get()
395405

396-
dt = ms(matrix.get_keydown_time(key2) - matrix.get_keydown_time(key1))
397-
log('pair keys {} {}, dt = {}'.format(pair_index, pair, dt))
406+
dt = ms(
407+
matrix.get_keydown_time(key2) - matrix.get_keydown_time(key1)
408+
)
409+
log("pair keys {} {}, dt = {}".format(pair_index, pair, dt))
398410
if callable(self.pairs_handler):
399411
try:
400412
self.pairs_handler(dev, pair_index)
@@ -412,7 +424,7 @@ def run(self):
412424
self.press(action_code)
413425
if self.verbose:
414426
dt = ms(matrix.time() - matrix.get_keydown_time(key))
415-
log('{} \\ {} latency {}'.format(key, hex(action_code), dt))
427+
log("{} \\ {} latency {}".format(key, hex(action_code), dt))
416428
else:
417429
kind = action_code >> 12
418430
if kind < ACT_MODS_TAP:
@@ -424,7 +436,7 @@ def run(self):
424436
elif kind < ACT_USAGE:
425437
# MODS_TAP
426438
if is_tapped(matrix, key):
427-
log('TAP')
439+
log("TAP")
428440
keycode = action_code & 0xFF
429441
keys[key] = keycode
430442
self.press(keycode)
@@ -439,31 +451,33 @@ def run(self):
439451
# todo
440452
pass
441453
elif kind == ACT_LAYER_TAP or kind == ACT_LAYER_TAP_EXT:
442-
layer = ((action_code >> 8) & 0x1F)
454+
layer = (action_code >> 8) & 0x1F
443455
mask = 1 << layer
444456
if is_tapped(matrix, key):
445-
log('TAP')
457+
log("TAP")
446458
keycode = action_code & 0xFF
447459
if keycode & 0xE0 == 0xC0:
448-
log('LAYER_MODS')
460+
log("LAYER_MODS")
449461
mods = keycode & 0x1F
450462
keycodes = mods_to_keycodes(mods)
451463
self.press(*keycodes)
452464
elif keycode != OP_TAP_TOGGLE:
453465
keys[key] = keycode
454466
self.press(keycode)
455467
else:
456-
log('toggle {}'.format(self.layer_mask))
457-
self.layer_mask = (self.layer_mask & ~mask) | (mask & ~self.layer_mask)
468+
log("toggle {}".format(self.layer_mask))
469+
self.layer_mask = (self.layer_mask & ~mask) | (
470+
mask & ~self.layer_mask
471+
)
458472
else:
459473
if action_code & 0xE0 == 0xC0:
460-
log('LAYER_MODS')
474+
log("LAYER_MODS")
461475
mods = action_code & 0x1F
462476
keycodes = mods_to_keycodes(mods)
463477
self.press(*keycodes)
464478
self.layer_mask |= mask
465479

466-
log('layers {}'.format(self.layer_mask))
480+
log("layers {}".format(self.layer_mask))
467481
elif kind == ACT_MACRO:
468482
if callable(self.macro_handler):
469483
i = action_code & 0xFFF
@@ -479,7 +493,9 @@ def run(self):
479493
elif action_code == SHUTDOWN:
480494
microcontroller.reset()
481495
elif action_code == HEATMAP:
482-
microcontroller.nvm[:272] = struct.pack('68L', *self.data)
496+
microcontroller.nvm[:272] = struct.pack(
497+
"68L", *self.data
498+
)
483499
if usb_is_connected():
484500
microcontroller.reset()
485501
elif action_code == USB_TOGGLE:
@@ -488,11 +504,11 @@ def run(self):
488504
self.toggle_bt()
489505
elif BT(0) <= action_code and action_code <= BT(9):
490506
i = action_code - BT(0)
491-
log('switch to bt {}'.format(i))
507+
log("switch to bt {}".format(i))
492508
self.change_bt(i)
493509

494510
dt = ms(matrix.time() - matrix.get_keydown_time(key))
495-
log('{} \\ {} latency {}'.format(key, hex(keys[key]), dt))
511+
log("{} \\ {} latency {}".format(key, hex(keys[key]), dt))
496512
else:
497513
action_code = keys[key]
498514
if action_code < 0xFF:
@@ -516,16 +532,16 @@ def run(self):
516532
elif kind == ACT_MOUSEKEY:
517533
pass
518534
elif kind == ACT_LAYER_TAP or kind == ACT_LAYER_TAP_EXT:
519-
layer = ((action_code >> 8) & 0x1F)
535+
layer = (action_code >> 8) & 0x1F
520536
keycode = action_code & 0xFF
521537
if keycode != OP_TAP_TOGGLE:
522538
if keycode & 0xE0 == 0xC0:
523-
log('LAYER_MODS')
539+
log("LAYER_MODS")
524540
mods = keycode & 0x1F
525541
keycodes = mods_to_keycodes(mods)
526542
self.release(*keycodes)
527543
self.layer_mask &= ~(1 << layer)
528-
log('layers {}'.format(self.layer_mask))
544+
log("layers {}".format(self.layer_mask))
529545
elif kind == ACT_MACRO:
530546
if callable(self.macro_handler):
531547
i = action_code & 0xFFF
@@ -536,5 +552,4 @@ def run(self):
536552

537553
if self.verbose:
538554
dt = ms(matrix.time() - matrix.get_keyup_time(key))
539-
log('{} / {} latency {}'.format(key, hex(action_code), dt))
540-
555+
log("{} / {} latency {}".format(key, hex(action_code), dt))

keyboard/action_code.py

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# reference:
44
# + https://gist.github.com/MightyPork/6da26e382a7ad91b5496ee55fdc73db2
55
#
6+
# fmt: off
67

78
NO = '\x00'
89
TRANSPARENT = '\x01'

keyboard/hid.py

+13-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1-
21
import struct
32

43

54
def find_device(devices, usage_page, usage):
65
for device in devices:
7-
if device.usage_page == usage_page and device.usage == usage and hasattr(device, 'send_report'):
6+
if (
7+
device.usage_page == usage_page
8+
and device.usage == usage
9+
and hasattr(device, "send_report")
10+
):
811
return device
9-
raise ValueError('Not found')
12+
raise ValueError("Not found")
1013

1114

1215
class HID:
@@ -24,15 +27,19 @@ def __init__(self, devices):
2427
self.report_keys = memoryview(self.report)[2:]
2528

2629
for device in devices:
27-
if device.usage_page == 0x1 and device.usage == 0x6 and hasattr(device, 'report'):
30+
if (
31+
device.usage_page == 0x1
32+
and device.usage == 0x6
33+
and hasattr(device, "report")
34+
):
2835
self._leds = device
2936
break
3037
else:
3138
self._leds = None
3239

3340
def press(self, *keycodes):
3441
for keycode in keycodes:
35-
if 0xe0 <= keycode and keycode < 0xe8:
42+
if 0xE0 <= keycode and keycode < 0xE8:
3643
self.report[0] |= 1 << (keycode & 0x7)
3744
continue
3845

@@ -48,7 +55,7 @@ def press(self, *keycodes):
4855

4956
def release(self, *keycodes):
5057
for keycode in keycodes:
51-
if 0xe0 <= keycode and keycode < 0xe8:
58+
if 0xE0 <= keycode and keycode < 0xE8:
5259
self.report[0] &= ~(1 << (keycode & 0x7))
5360
continue
5461

0 commit comments

Comments
 (0)