main_window/keyboard_comm: allow resuming interrupted unlock
parent
bdb9e9ff64
commit
69cd27ad55
|
|
@ -309,6 +309,14 @@ class Keyboard:
|
||||||
data = self.usb_send(self.dev, struct.pack("BB", CMD_VIA_VIAL_PREFIX, CMD_VIAL_GET_UNLOCK_STATUS))
|
data = self.usb_send(self.dev, struct.pack("BB", CMD_VIA_VIAL_PREFIX, CMD_VIAL_GET_UNLOCK_STATUS))
|
||||||
return data[0]
|
return data[0]
|
||||||
|
|
||||||
|
def get_unlock_in_progress(self):
|
||||||
|
# VIA keyboards are never being unlocked
|
||||||
|
if self.vial_protocol < 0:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
data = self.usb_send(self.dev, struct.pack("BB", CMD_VIA_VIAL_PREFIX, CMD_VIAL_GET_UNLOCK_STATUS))
|
||||||
|
return data[1]
|
||||||
|
|
||||||
def get_unlock_keys(self):
|
def get_unlock_keys(self):
|
||||||
""" Return keys users have to hold to unlock the keyboard as a list of rowcols """
|
""" Return keys users have to hold to unlock the keyboard as a list of rowcols """
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -158,6 +158,11 @@ class MainWindow(QMainWindow):
|
||||||
# don't show "Security" menu for bootloader mode, as the bootloader is inherently insecure
|
# don't show "Security" menu for bootloader mode, as the bootloader is inherently insecure
|
||||||
self.security_menu.menuAction().setVisible(isinstance(self.current_device, VialKeyboard))
|
self.security_menu.menuAction().setVisible(isinstance(self.current_device, VialKeyboard))
|
||||||
|
|
||||||
|
# if unlock process was interrupted, we must finish it first
|
||||||
|
if isinstance(self.current_device, VialKeyboard) and self.current_device.keyboard.get_unlock_in_progress():
|
||||||
|
Unlocker.get().perform_unlock(self.current_device.keyboard)
|
||||||
|
self.current_device.keyboard.reload()
|
||||||
|
|
||||||
for e in [self.layout_editor, self.keymap_editor, self.firmware_flasher, self.macro_recorder]:
|
for e in [self.layout_editor, self.keymap_editor, self.firmware_flasher, self.macro_recorder]:
|
||||||
e.rebuild(self.current_device)
|
e.rebuild(self.current_device)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue