macro_action: support ISO/media keycodes in sequences

main
Ilya Zhuravlev 2021-01-11 10:16:25 -05:00
parent a0eb9f6d17
commit 2afa18d4cd
1 changed files with 6 additions and 5 deletions

View File

@ -5,11 +5,12 @@ from PyQt5.QtCore import QObject, pyqtSignal, Qt
from PyQt5.QtWidgets import QLineEdit, QToolButton, QComboBox, QWidget, QSizePolicy from PyQt5.QtWidgets import QLineEdit, QToolButton, QComboBox, QWidget, QSizePolicy
from flowlayout import FlowLayout from flowlayout import FlowLayout
from keycodes import KEYCODES_BASIC from keycodes import KEYCODES_BASIC, KEYCODES_ISO, KEYCODES_MEDIA
from util import tr from util import tr
KC_A = KEYCODES_BASIC[0] MACRO_SEQUENCE_KEYCODES = KEYCODES_BASIC + KEYCODES_ISO + KEYCODES_MEDIA
KC_A = MACRO_SEQUENCE_KEYCODES[0]
SS_TAP_CODE = 1 SS_TAP_CODE = 1
SS_DOWN_CODE = 2 SS_DOWN_CODE = 2
@ -83,9 +84,9 @@ class ActionSequence(BasicAction):
w.setStyleSheet("QComboBox { combobox-popup: 0; }") w.setStyleSheet("QComboBox { combobox-popup: 0; }")
w.addItem(tr("MacroEditor", "Remove")) w.addItem(tr("MacroEditor", "Remove"))
w.insertSeparator(1) w.insertSeparator(1)
for k in KEYCODES_BASIC: for k in MACRO_SEQUENCE_KEYCODES:
w.addItem(k.label.replace("\n", "")) w.addItem(k.label.replace("\n", ""))
w.setCurrentIndex(2 + KEYCODES_BASIC.index(item)) w.setCurrentIndex(2 + MACRO_SEQUENCE_KEYCODES.index(item))
w.currentIndexChanged.connect(self.on_change) w.currentIndexChanged.connect(self.on_change)
self.layout.addWidget(w) self.layout.addWidget(w)
self.widgets.append(w) self.widgets.append(w)
@ -120,7 +121,7 @@ class ActionSequence(BasicAction):
self.recreate_sequence() self.recreate_sequence()
break break
else: else:
self.sequence[x] = KEYCODES_BASIC[self.widgets[x].currentIndex() - 2] self.sequence[x] = MACRO_SEQUENCE_KEYCODES[self.widgets[x].currentIndex() - 2]
self.changed.emit() self.changed.emit()
def serialize_prefix(self): def serialize_prefix(self):