diff --git a/src/main/python/keycodes.py b/src/main/python/keycodes.py index 9d206ba..ccd8ac3 100644 --- a/src/main/python/keycodes.py +++ b/src/main/python/keycodes.py @@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later -class Keycode(): +class Keycode: def __init__(self, code, qmk_id, label, tooltip=None): self.code = code @@ -198,16 +198,24 @@ KEYCODES_ISO = [ K(0x91, "KC_LANG2", "漢字\n英数", "Korean Hanja / JP Mac Eisu"), ] -KEYCODES_MACRO = [] - KEYCODES_LAYERS = [] -KEYCODES_SPECIAL = [ +KEYCODES_QUANTUM = [ K(0x5C00, "RESET", "Reset", "Reboot to bootloader"), K(0x5C16, "GRAVE_ESC", "`Esc"), ] -KEYCODES = KEYCODES_BASIC + KEYCODES_ISO + KEYCODES_MACRO + KEYCODES_LAYERS + KEYCODES_SPECIAL +KEYCODES_BACKLIGHT = [ + +] + +KEYCODES_MEDIA = [ + +] + +KEYCODES_MACRO = [] + +KEYCODES = [] K = None @@ -236,6 +244,14 @@ def keycode_tooltip(code): return tooltip +def recreate_keycodes(): + """ Regenerates global KEYCODES array """ + + KEYCODES.clear() + KEYCODES.extend(KEYCODES_BASIC + KEYCODES_ISO + KEYCODES_LAYERS + KEYCODES_QUANTUM + KEYCODES_BACKLIGHT + + KEYCODES_MEDIA + KEYCODES_MACRO) + + def recreate_layer_keycodes(layers): """ Generates layer keycodes based on number of layers a keyboard provides """ @@ -258,5 +274,6 @@ def recreate_layer_keycodes(layers): KEYCODES_LAYERS.extend(generate_keycodes_for_mask("OSL", 0x5400)) KEYCODES_LAYERS.extend(generate_keycodes_for_mask("TO", 0x5000 | (1 << 4))) - KEYCODES.clear() - KEYCODES.extend(KEYCODES_BASIC + KEYCODES_ISO + KEYCODES_MACRO + KEYCODES_LAYERS + KEYCODES_SPECIAL) + recreate_keycodes() + +recreate_keycodes() diff --git a/src/main/python/tabbed_keycodes.py b/src/main/python/tabbed_keycodes.py index d59c4ec..ec935ec 100644 --- a/src/main/python/tabbed_keycodes.py +++ b/src/main/python/tabbed_keycodes.py @@ -3,7 +3,8 @@ from PyQt5.QtWidgets import QTabWidget, QWidget, QPushButton, QScrollArea from constants import KEYCODE_BTN_WIDTH, KEYCODE_BTN_HEIGHT from flowlayout import FlowLayout -from keycodes import KEYCODES_BASIC, KEYCODES_ISO, KEYCODES_MACRO, KEYCODES_LAYERS, KEYCODES_SPECIAL, keycode_tooltip +from keycodes import keycode_tooltip, KEYCODES_BASIC, KEYCODES_ISO, KEYCODES_MACRO, KEYCODES_LAYERS, KEYCODES_QUANTUM, \ + KEYCODES_BACKLIGHT, KEYCODES_MEDIA from util import tr @@ -16,16 +17,20 @@ class TabbedKeycodes(QTabWidget): self.tab_basic = QScrollArea() self.tab_iso = QScrollArea() - self.tab_macro = QScrollArea() self.tab_layers = QScrollArea() - self.tab_special = QScrollArea() + self.tab_quantum = QScrollArea() + self.tab_backlight = QScrollArea() + self.tab_media = QScrollArea() + self.tab_macro = QScrollArea() for (tab, label, keycodes) in [ (self.tab_basic, "Basic", KEYCODES_BASIC), (self.tab_iso, "ISO/JIS", KEYCODES_ISO), - (self.tab_macro, "Macro", KEYCODES_MACRO), (self.tab_layers, "Layers", KEYCODES_LAYERS), - (self.tab_special, "Special", KEYCODES_SPECIAL), + (self.tab_quantum, "Quantum", KEYCODES_QUANTUM), + (self.tab_backlight, "Backlight", KEYCODES_BACKLIGHT), + (self.tab_media, "App, Media and Mouse", KEYCODES_MEDIA), + (self.tab_macro, "Macro", KEYCODES_MACRO), ]: layout = FlowLayout() if tab == self.tab_layers: