add ble_name option to KMKKeyboard.go method

This commit is contained in:
Christian Tu 2021-09-17 15:47:41 +02:00
parent 27cf8e7d4d
commit 3c9c527a96
3 changed files with 16 additions and 8 deletions

View File

@ -14,6 +14,8 @@ To enable BLE hid, change the keyboard.go(). By default, the advertised name
will be the name of the "flash drive". By default this is CIRCUITPY will be the name of the "flash drive". By default this is CIRCUITPY
```python ```python
from kmk.hid import HIDModes
if __name__ == '__main__': if __name__ == '__main__':
keyboard.go(hid_type=HIDModes.BLE) keyboard.go(hid_type=HIDModes.BLE)
``` ```

View File

@ -52,7 +52,7 @@ HID_REPORT_SIZES = {
class AbstractHID: class AbstractHID:
REPORT_BYTES = 8 REPORT_BYTES = 8
def __init__(self): def __init__(self, **kwargs):
self._evt = bytearray(self.REPORT_BYTES) self._evt = bytearray(self.REPORT_BYTES)
self.report_device = memoryview(self._evt)[0:1] self.report_device = memoryview(self._evt)[0:1]
self.report_device[0] = HIDReportTypes.KEYBOARD self.report_device[0] = HIDReportTypes.KEYBOARD
@ -239,11 +239,15 @@ class BLEHID(AbstractHID):
# Hardcoded in CPy # Hardcoded in CPy
MAX_CONNECTIONS = const(2) MAX_CONNECTIONS = const(2)
def post_init(self, ble_name=str(getmount('/').label), **kwargs): def __init__(self, ble_name=str(getmount('/').label), **kwargs):
self.ble_name = ble_name
super().__init__()
def post_init(self):
self.conn_id = -1 self.conn_id = -1
self.ble = BLERadio() self.ble = BLERadio()
self.ble.name = ble_name self.ble.name = self.ble_name
self.hid = HIDService() self.hid = HIDService()
self.hid.protocol_mode = 0 # Boot protocol self.hid.protocol_mode = 0 # Boot protocol

View File

@ -52,6 +52,7 @@ class KMKKeyboard:
_trigger_powersave_enable = False _trigger_powersave_enable = False
_trigger_powersave_disable = False _trigger_powersave_disable = False
i2c_deinit_count = 0 i2c_deinit_count = 0
_go_args = None
# this should almost always be PREpended to, replaces # this should almost always be PREpended to, replaces
# former use of reversed_active_layers which had pointless # former use of reversed_active_layers which had pointless
@ -324,7 +325,7 @@ class KMKKeyboard:
self._hid_helper = BLEHID self._hid_helper = BLEHID
else: else:
self._hid_helper = AbstractHID self._hid_helper = AbstractHID
self._hid_helper = self._hid_helper() self._hid_helper = self._hid_helper(**self._go_args)
def _init_matrix(self): def _init_matrix(self):
self.matrix = MatrixScanner( self.matrix = MatrixScanner(
@ -426,6 +427,7 @@ class KMKKeyboard:
print('Failed to run post hid function in extension: ', err, ext) print('Failed to run post hid function in extension: ', err, ext)
def go(self, hid_type=HIDModes.USB, secondary_hid_type=None, **kwargs): def go(self, hid_type=HIDModes.USB, secondary_hid_type=None, **kwargs):
self._go_args = kwargs
self.hid_type = hid_type self.hid_type = hid_type
self.secondary_hid_type = secondary_hid_type self.secondary_hid_type = secondary_hid_type