keyboard_widget: auto-select next key after changing the mapping
parent
45a55cb0f6
commit
cbfcbf72ad
|
|
@ -111,6 +111,8 @@ class KeyboardContainer(QWidget):
|
|||
else:
|
||||
self.set_key_matrix(keycode)
|
||||
|
||||
self.container.select_next()
|
||||
|
||||
def set_key_encoder(self, keycode):
|
||||
l, i, d = self.current_layer, self.container.active_key.desc.encoder_idx,\
|
||||
self.container.active_key.desc.encoder_dir
|
||||
|
|
|
|||
|
|
@ -224,6 +224,18 @@ class KeyboardWidget(QWidget):
|
|||
self.clicked.emit()
|
||||
self.update()
|
||||
|
||||
def select_next(self):
|
||||
""" Selects next key based on their order in the keymap """
|
||||
# TODO: this almost certainly needs changes after multilayout support lands
|
||||
|
||||
keys_looped = self.keys + [self.keys[0]]
|
||||
for x, key in enumerate(keys_looped):
|
||||
if key == self.active_key:
|
||||
self.active_key = keys_looped[x + 1]
|
||||
self.active_mask = False
|
||||
self.clicked.emit()
|
||||
return
|
||||
|
||||
def deselect(self):
|
||||
if self.active_key is not None:
|
||||
self.active_key = None
|
||||
|
|
|
|||
Loading…
Reference in New Issue