new keycode categories

main
Ilya Zhuravlev 2020-10-16 18:55:45 -04:00
parent 7981e18b10
commit b6ed6717bb
2 changed files with 34 additions and 12 deletions

View File

@ -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()

View File

@ -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: