Skip to content

Commit f16fac9

Browse files
committed
release all keys before changing device
1 parent 536ff67 commit f16fac9

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

keyboard/__init__.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ def __init__(self, keymap=(), pairs=(), verbose=True):
103103
self.pair_delay = 10
104104

105105
self._connection = ""
106+
self.adv_timeout = None
106107

107108
self.data = array.array("L", microcontroller.nvm[:272])
108109
if self.data[0] != 0x424B5950:
@@ -193,7 +194,6 @@ def setup(self):
193194
for pair in self.pairs:
194195
for key in pair:
195196
self.pair_keys.add(key)
196-
self.update_connection()
197197

198198
def start_advertising(self):
199199
self.ble.start_advertising(self.advertisement)
@@ -292,6 +292,10 @@ def is_tapping_key(self, key):
292292

293293
def change_bt(self, n):
294294
if self.ble.connected:
295+
try:
296+
self.ble_hid.release_all()
297+
except Exception as e:
298+
print(e)
295299
for c in self.ble.connections:
296300
c.disconnect()
297301
if self.ble._adapter.advertising:
@@ -315,10 +319,15 @@ def change_bt(self, n):
315319
except Exception as e:
316320
print(e)
317321
self.log(self.ble._adapter.address)
322+
318323
self.start_advertising()
319324

320325
def toggle_bt(self):
321326
if self.ble.connected:
327+
try:
328+
self.ble_hid.release_all()
329+
except Exception as e:
330+
print(e)
322331
for c in self.ble.connections:
323332
c.disconnect()
324333
elif self.ble._adapter.advertising:
@@ -333,6 +342,10 @@ def toggle_usb(self):
333342
self.usb_status = 3
334343
else:
335344
self.usb_status = 1
345+
try:
346+
self.usb_hid.release_all()
347+
except Exception as e:
348+
print(e)
336349
self.update_connection()
337350

338351
def action_code(self, position):

0 commit comments

Comments
 (0)