mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-27 11:31:13 +00:00
Merge branch 'qmk:master' into kb-travyboard
This commit is contained in:
commit
2a3040e1cd
35
.clangd
35
.clangd
@ -1,4 +1,33 @@
|
|||||||
CompileFlags:
|
CompileFlags:
|
||||||
Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option]
|
Add:
|
||||||
Remove: [-W*, -mmcu=*, -mcpu=*, -mfpu=*, -mfloat-abi=*, -mno-unaligned-access, -mno-thumb-interwork, -mcall-prologues, -D__has_include*]
|
[
|
||||||
Compiler: clang
|
-Wno-unknown-attributes,
|
||||||
|
-Wno-maybe-uninitialized,
|
||||||
|
-Wno-unknown-warning-option,
|
||||||
|
-Wno-pointer-to-int-cast,
|
||||||
|
-Wno-int-to-void-pointer-cast,
|
||||||
|
-DPROGMEM=,
|
||||||
|
]
|
||||||
|
Remove:
|
||||||
|
[
|
||||||
|
-W*,
|
||||||
|
-mmcu=*,
|
||||||
|
-mcpu=*,
|
||||||
|
-mfpu=*,
|
||||||
|
-mfloat-abi=*,
|
||||||
|
-mno-unaligned-access,
|
||||||
|
-mno-thumb-interwork,
|
||||||
|
-mcall-prologues,
|
||||||
|
-D__has_include*,
|
||||||
|
-mlra,
|
||||||
|
]
|
||||||
|
Compiler: clang
|
||||||
|
Diagnostics:
|
||||||
|
UnusedIncludes: None
|
||||||
|
Suppress:
|
||||||
|
[
|
||||||
|
asm_invalid_output_constraint,
|
||||||
|
asm_invalid_input_constraint,
|
||||||
|
invalid_asm_value_for_constraint,
|
||||||
|
anyx86_interrupt_attribute,
|
||||||
|
]
|
||||||
|
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -38,4 +38,4 @@ body:
|
|||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: Additional Context
|
label: Additional Context
|
||||||
description: Add any other relevant information about the problem here.
|
description: Add any other relevant information about the problem here.
|
||||||
|
27
.vscode/settings.json
vendored
27
.vscode/settings.json
vendored
@ -10,6 +10,13 @@
|
|||||||
"**/*.uf2": true
|
"**/*.uf2": true
|
||||||
},
|
},
|
||||||
"files.associations": {
|
"files.associations": {
|
||||||
|
// QMK Filetypes
|
||||||
|
"keyboard.json": "jsonc",
|
||||||
|
"info.json": "jsonc",
|
||||||
|
"keymap.json": "jsonc",
|
||||||
|
"qmk.json": "jsonc",
|
||||||
|
"qmk_module.json": "jsonc",
|
||||||
|
// Standard filetypes
|
||||||
"*.h": "c",
|
"*.h": "c",
|
||||||
"*.c": "c",
|
"*.c": "c",
|
||||||
"*.inc": "c",
|
"*.inc": "c",
|
||||||
@ -28,7 +35,23 @@
|
|||||||
"[json]": {
|
"[json]": {
|
||||||
"editor.formatOnSave": false
|
"editor.formatOnSave": false
|
||||||
},
|
},
|
||||||
"clangd.arguments": [
|
"clangd.arguments": ["--header-insertion=never"],
|
||||||
"--header-insertion=never"
|
"json.schemas": [
|
||||||
|
{
|
||||||
|
"fileMatch": ["qmk.json"],
|
||||||
|
"url": "./data/schemas/user_repo_v1_1.jsonschema"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fileMatch": ["qmk_module.json"],
|
||||||
|
"url": "./data/schemas/community_module.jsonschema"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fileMatch": ["keyboard.json", "info.json"],
|
||||||
|
"url": "./data/schemas/keyboard.jsonschema"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fileMatch": ["keymap.json"],
|
||||||
|
"url": "./data/schemas/keymap.jsonschema"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
1
Makefile
1
Makefile
@ -59,6 +59,7 @@ ifeq ($(ROOT_DIR),)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
include paths.mk
|
include paths.mk
|
||||||
|
include $(BUILDDEFS_PATH)/support.mk
|
||||||
|
|
||||||
TEST_OUTPUT_DIR := $(BUILD_DIR)/test
|
TEST_OUTPUT_DIR := $(BUILD_DIR)/test
|
||||||
ERROR_FILE := $(BUILD_DIR)/error_occurred
|
ERROR_FILE := $(BUILD_DIR)/error_occurred
|
||||||
|
@ -25,8 +25,6 @@ $(TEST_OUTPUT)_SRC := \
|
|||||||
tests/test_common/test_driver.cpp \
|
tests/test_common/test_driver.cpp \
|
||||||
tests/test_common/keyboard_report_util.cpp \
|
tests/test_common/keyboard_report_util.cpp \
|
||||||
tests/test_common/mouse_report_util.cpp \
|
tests/test_common/mouse_report_util.cpp \
|
||||||
tests/test_common/keycode_util.cpp \
|
|
||||||
tests/test_common/keycode_table.cpp \
|
|
||||||
tests/test_common/test_fixture.cpp \
|
tests/test_common/test_fixture.cpp \
|
||||||
tests/test_common/test_keymap_key.cpp \
|
tests/test_common/test_keymap_key.cpp \
|
||||||
tests/test_common/test_logger.cpp \
|
tests/test_common/test_logger.cpp \
|
||||||
|
@ -11,6 +11,7 @@ endif
|
|||||||
.DEFAULT_GOAL := all
|
.DEFAULT_GOAL := all
|
||||||
|
|
||||||
include paths.mk
|
include paths.mk
|
||||||
|
include $(BUILDDEFS_PATH)/support.mk
|
||||||
include $(BUILDDEFS_PATH)/message.mk
|
include $(BUILDDEFS_PATH)/message.mk
|
||||||
|
|
||||||
# Helper to add defines with a 'QMK_' prefix
|
# Helper to add defines with a 'QMK_' prefix
|
||||||
@ -97,21 +98,12 @@ endif
|
|||||||
|
|
||||||
|
|
||||||
# Pull in rules.mk files from all our subfolders
|
# Pull in rules.mk files from all our subfolders
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/rules.mk)","")
|
-include $(KEYBOARD_PATH_5)/rules.mk
|
||||||
include $(KEYBOARD_PATH_5)/rules.mk
|
-include $(KEYBOARD_PATH_4)/rules.mk
|
||||||
endif
|
-include $(KEYBOARD_PATH_3)/rules.mk
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/rules.mk)","")
|
-include $(KEYBOARD_PATH_2)/rules.mk
|
||||||
include $(KEYBOARD_PATH_4)/rules.mk
|
-include $(KEYBOARD_PATH_1)/rules.mk
|
||||||
endif
|
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/rules.mk)","")
|
|
||||||
include $(KEYBOARD_PATH_3)/rules.mk
|
|
||||||
endif
|
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/rules.mk)","")
|
|
||||||
include $(KEYBOARD_PATH_2)/rules.mk
|
|
||||||
endif
|
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","")
|
|
||||||
include $(KEYBOARD_PATH_1)/rules.mk
|
|
||||||
endif
|
|
||||||
# Create dependencies on DD keyboard config - structure validated elsewhere
|
# Create dependencies on DD keyboard config - structure validated elsewhere
|
||||||
DD_CONFIG_FILES :=
|
DD_CONFIG_FILES :=
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/info.json)","")
|
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/info.json)","")
|
||||||
@ -260,6 +252,9 @@ generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Community modules
|
# Community modules
|
||||||
|
COMMUNITY_RULES_MK = $(shell $(QMK_BIN) generate-community-modules-rules-mk -kb $(KEYBOARD) --quiet --escape --output $(INTERMEDIATE_OUTPUT)/src/community_rules.mk $(KEYMAP_JSON))
|
||||||
|
include $(COMMUNITY_RULES_MK)
|
||||||
|
|
||||||
$(INTERMEDIATE_OUTPUT)/src/community_modules.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
$(INTERMEDIATE_OUTPUT)/src/community_modules.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||||
$(eval CMD=$(QMK_BIN) generate-community-modules-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(KEYMAP_JSON))
|
$(eval CMD=$(QMK_BIN) generate-community-modules-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(KEYMAP_JSON))
|
||||||
@ -280,10 +275,19 @@ $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h: $(KEYMAP_JSON) $(D
|
|||||||
$(eval CMD=$(QMK_BIN) generate-community-modules-introspection-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h $(KEYMAP_JSON))
|
$(eval CMD=$(QMK_BIN) generate-community-modules-introspection-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h $(KEYMAP_JSON))
|
||||||
@$(BUILD_CMD)
|
@$(BUILD_CMD)
|
||||||
|
|
||||||
|
$(INTERMEDIATE_OUTPUT)/src/led_matrix_community_modules.inc: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||||
|
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||||
|
$(eval CMD=$(QMK_BIN) generate-led-matrix-community-modules-inc -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/led_matrix_community_modules.inc $(KEYMAP_JSON))
|
||||||
|
@$(BUILD_CMD)
|
||||||
|
|
||||||
|
$(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||||
|
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||||
|
$(eval CMD=$(QMK_BIN) generate-rgb-matrix-community-modules-inc -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc $(KEYMAP_JSON))
|
||||||
|
@$(BUILD_CMD)
|
||||||
|
|
||||||
SRC += $(INTERMEDIATE_OUTPUT)/src/community_modules.c
|
SRC += $(INTERMEDIATE_OUTPUT)/src/community_modules.c
|
||||||
|
|
||||||
generated-files: $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(INTERMEDIATE_OUTPUT)/src/community_modules.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h
|
generated-files: $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(INTERMEDIATE_OUTPUT)/src/community_modules.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h $(INTERMEDIATE_OUTPUT)/src/led_matrix_community_modules.inc $(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc
|
||||||
|
|
||||||
|
|
||||||
include $(BUILDDEFS_PATH)/converters.mk
|
include $(BUILDDEFS_PATH)/converters.mk
|
||||||
|
|
||||||
@ -487,21 +491,11 @@ ifneq ("$(CONVERTER)","")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Pull in post_rules.mk files from all our subfolders
|
# Pull in post_rules.mk files from all our subfolders
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/post_rules.mk)","")
|
-include $(KEYBOARD_PATH_1)/post_rules.mk
|
||||||
include $(KEYBOARD_PATH_1)/post_rules.mk
|
-include $(KEYBOARD_PATH_2)/post_rules.mk
|
||||||
endif
|
-include $(KEYBOARD_PATH_3)/post_rules.mk
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/post_rules.mk)","")
|
-include $(KEYBOARD_PATH_4)/post_rules.mk
|
||||||
include $(KEYBOARD_PATH_2)/post_rules.mk
|
-include $(KEYBOARD_PATH_5)/post_rules.mk
|
||||||
endif
|
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/post_rules.mk)","")
|
|
||||||
include $(KEYBOARD_PATH_3)/post_rules.mk
|
|
||||||
endif
|
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/post_rules.mk)","")
|
|
||||||
include $(KEYBOARD_PATH_4)/post_rules.mk
|
|
||||||
endif
|
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_rules.mk)","")
|
|
||||||
include $(KEYBOARD_PATH_5)/post_rules.mk
|
|
||||||
endif
|
|
||||||
|
|
||||||
define post_rules_mk_community_module_includer
|
define post_rules_mk_community_module_includer
|
||||||
ifneq ("$(wildcard $(1)/post_rules.mk)","")
|
ifneq ("$(wildcard $(1)/post_rules.mk)","")
|
||||||
|
@ -7,6 +7,7 @@ endif
|
|||||||
OPT = g
|
OPT = g
|
||||||
|
|
||||||
include paths.mk
|
include paths.mk
|
||||||
|
include $(BUILDDEFS_PATH)/support.mk
|
||||||
include $(BUILDDEFS_PATH)/message.mk
|
include $(BUILDDEFS_PATH)/message.mk
|
||||||
|
|
||||||
TARGET=test/$(TEST_OUTPUT)
|
TARGET=test/$(TEST_OUTPUT)
|
||||||
|
@ -30,6 +30,8 @@ QUANTUM_SRC += \
|
|||||||
$(QUANTUM_DIR)/logging/sendchar.c \
|
$(QUANTUM_DIR)/logging/sendchar.c \
|
||||||
$(QUANTUM_DIR)/process_keycode/process_default_layer.c \
|
$(QUANTUM_DIR)/process_keycode/process_default_layer.c \
|
||||||
|
|
||||||
|
include $(QUANTUM_DIR)/nvm/rules.mk
|
||||||
|
|
||||||
VPATH += $(QUANTUM_DIR)/logging
|
VPATH += $(QUANTUM_DIR)/logging
|
||||||
# Fall back to lib/printf if there is no platform provided print
|
# Fall back to lib/printf if there is no platform provided print
|
||||||
ifeq ("$(wildcard $(PLATFORM_PATH)/$(PLATFORM_KEY)/printf.mk)","")
|
ifeq ("$(wildcard $(PLATFORM_PATH)/$(PLATFORM_KEY)/printf.mk)","")
|
||||||
@ -169,80 +171,82 @@ endif
|
|||||||
|
|
||||||
VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi wear_leveling legacy_stm32_flash
|
VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi wear_leveling legacy_stm32_flash
|
||||||
EEPROM_DRIVER ?= vendor
|
EEPROM_DRIVER ?= vendor
|
||||||
ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),)
|
ifneq ($(strip $(EEPROM_DRIVER)),none)
|
||||||
|
ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),)
|
||||||
$(call CATASTROPHIC_ERROR,Invalid EEPROM_DRIVER,EEPROM_DRIVER="$(EEPROM_DRIVER)" is not a valid EEPROM driver)
|
$(call CATASTROPHIC_ERROR,Invalid EEPROM_DRIVER,EEPROM_DRIVER="$(EEPROM_DRIVER)" is not a valid EEPROM driver)
|
||||||
else
|
else
|
||||||
OPT_DEFS += -DEEPROM_ENABLE
|
OPT_DEFS += -DEEPROM_ENABLE
|
||||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
|
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
|
||||||
COMMON_VPATH += $(DRIVER_PATH)/eeprom
|
COMMON_VPATH += $(DRIVER_PATH)/eeprom
|
||||||
COMMON_VPATH += $(PLATFORM_COMMON_DIR)
|
COMMON_VPATH += $(PLATFORM_COMMON_DIR)
|
||||||
ifeq ($(strip $(EEPROM_DRIVER)), custom)
|
ifeq ($(strip $(EEPROM_DRIVER)), custom)
|
||||||
# Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block
|
# Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM
|
||||||
SRC += eeprom_driver.c
|
SRC += eeprom_driver.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), wear_leveling)
|
else ifeq ($(strip $(EEPROM_DRIVER)), wear_leveling)
|
||||||
# Wear-leveling EEPROM implementation
|
# Wear-leveling EEPROM implementation
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), i2c)
|
else ifeq ($(strip $(EEPROM_DRIVER)), i2c)
|
||||||
# External I2C EEPROM implementation
|
# External I2C EEPROM implementation
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C
|
||||||
I2C_DRIVER_REQUIRED = yes
|
I2C_DRIVER_REQUIRED = yes
|
||||||
SRC += eeprom_driver.c eeprom_i2c.c
|
SRC += eeprom_driver.c eeprom_i2c.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), spi)
|
else ifeq ($(strip $(EEPROM_DRIVER)), spi)
|
||||||
# External SPI EEPROM implementation
|
# External SPI EEPROM implementation
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
|
||||||
SPI_DRIVER_REQUIRED = yes
|
SPI_DRIVER_REQUIRED = yes
|
||||||
SRC += eeprom_driver.c eeprom_spi.c
|
SRC += eeprom_driver.c eeprom_spi.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
|
else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
|
||||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
||||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||||
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), transient)
|
else ifeq ($(strip $(EEPROM_DRIVER)), transient)
|
||||||
# Transient EEPROM implementation -- no data storage but provides runtime area for it
|
# Transient EEPROM implementation -- no data storage but provides runtime area for it
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
||||||
SRC += eeprom_driver.c eeprom_transient.c
|
SRC += eeprom_driver.c eeprom_transient.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), vendor)
|
else ifeq ($(strip $(EEPROM_DRIVER)), vendor)
|
||||||
# Vendor-implemented EEPROM
|
# Vendor-implemented EEPROM
|
||||||
OPT_DEFS += -DEEPROM_VENDOR
|
OPT_DEFS += -DEEPROM_VENDOR
|
||||||
ifeq ($(PLATFORM),AVR)
|
ifeq ($(PLATFORM),AVR)
|
||||||
# Automatically provided by avr-libc, nothing required
|
# Automatically provided by avr-libc, nothing required
|
||||||
else ifeq ($(PLATFORM),CHIBIOS)
|
else ifeq ($(PLATFORM),CHIBIOS)
|
||||||
ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
|
ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
|
||||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
||||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||||
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
||||||
else ifneq ($(filter $(MCU_SERIES),STM32F1xx STM32F3xx STM32F4xx STM32L4xx STM32G4xx WB32F3G71xx WB32FQ95xx AT32F415 GD32VF103),)
|
else ifneq ($(filter $(MCU_SERIES),STM32F1xx STM32F3xx STM32F4xx STM32L4xx STM32G0xx STM32G4xx WB32F3G71xx WB32FQ95xx AT32F415 GD32VF103),)
|
||||||
# Wear-leveling EEPROM implementation, backed by MCU flash
|
# Wear-leveling EEPROM implementation, backed by MCU flash
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||||
WEAR_LEVELING_DRIVER ?= embedded_flash
|
WEAR_LEVELING_DRIVER ?= embedded_flash
|
||||||
else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
|
else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
|
||||||
# True EEPROM on STM32L0xx, L1xx
|
# True EEPROM on STM32L0xx, L1xx
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1
|
||||||
SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
|
SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
|
||||||
else ifneq ($(filter $(MCU_SERIES),RP2040),)
|
else ifneq ($(filter $(MCU_SERIES),RP2040),)
|
||||||
# Wear-leveling EEPROM implementation, backed by RP2040 flash
|
# Wear-leveling EEPROM implementation, backed by RP2040 flash
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||||
WEAR_LEVELING_DRIVER ?= rp2040_flash
|
WEAR_LEVELING_DRIVER ?= rp2040_flash
|
||||||
else ifneq ($(filter $(MCU_SERIES),KL2x K20x),)
|
else ifneq ($(filter $(MCU_SERIES),KL2x K20x),)
|
||||||
# Teensy EEPROM implementations
|
# Teensy EEPROM implementations
|
||||||
OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM
|
OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM
|
||||||
SRC += eeprom_kinetis_flexram.c
|
SRC += eeprom_kinetis_flexram.c
|
||||||
else
|
else
|
||||||
# Fall back to transient, i.e. non-persistent
|
# Fall back to transient, i.e. non-persistent
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
||||||
SRC += eeprom_driver.c eeprom_transient.c
|
SRC += eeprom_driver.c eeprom_transient.c
|
||||||
|
endif
|
||||||
|
else ifeq ($(PLATFORM),TEST)
|
||||||
|
# Test harness "EEPROM"
|
||||||
|
OPT_DEFS += -DEEPROM_TEST_HARNESS
|
||||||
|
SRC += eeprom.c
|
||||||
endif
|
endif
|
||||||
else ifeq ($(PLATFORM),TEST)
|
|
||||||
# Test harness "EEPROM"
|
|
||||||
OPT_DEFS += -DEEPROM_TEST_HARNESS
|
|
||||||
SRC += eeprom.c
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@ -263,18 +267,14 @@ ifneq ($(strip $(WEAR_LEVELING_DRIVER)),none)
|
|||||||
ifeq ($(strip $(WEAR_LEVELING_DRIVER)), embedded_flash)
|
ifeq ($(strip $(WEAR_LEVELING_DRIVER)), embedded_flash)
|
||||||
OPT_DEFS += -DHAL_USE_EFL
|
OPT_DEFS += -DHAL_USE_EFL
|
||||||
SRC += wear_leveling_efl.c
|
SRC += wear_leveling_efl.c
|
||||||
POST_CONFIG_H += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/wear_leveling/wear_leveling_efl_config.h
|
|
||||||
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), spi_flash)
|
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), spi_flash)
|
||||||
FLASH_DRIVER := spi
|
FLASH_DRIVER := spi
|
||||||
SRC += wear_leveling_flash_spi.c
|
SRC += wear_leveling_flash_spi.c
|
||||||
POST_CONFIG_H += $(DRIVER_PATH)/wear_leveling/wear_leveling_flash_spi_config.h
|
|
||||||
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), rp2040_flash)
|
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), rp2040_flash)
|
||||||
SRC += wear_leveling_rp2040_flash.c
|
SRC += wear_leveling_rp2040_flash.c
|
||||||
POST_CONFIG_H += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_rp2040_flash_config.h
|
|
||||||
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), legacy)
|
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), legacy)
|
||||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||||
SRC += legacy_flash_ops.c wear_leveling_legacy.c
|
SRC += legacy_flash_ops.c wear_leveling_legacy.c
|
||||||
POST_CONFIG_H += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/wear_leveling/wear_leveling_legacy_config.h
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@ -635,6 +635,11 @@ ifeq ($(strip $(VIA_ENABLE)), yes)
|
|||||||
TRI_LAYER_ENABLE := yes
|
TRI_LAYER_ENABLE := yes
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(strip $(RAW_ENABLE)), yes)
|
||||||
|
OPT_DEFS += -DRAW_ENABLE
|
||||||
|
SRC += raw_hid.c
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(strip $(DYNAMIC_KEYMAP_ENABLE)), yes)
|
ifeq ($(strip $(DYNAMIC_KEYMAP_ENABLE)), yes)
|
||||||
SEND_STRING_ENABLE := yes
|
SEND_STRING_ENABLE := yes
|
||||||
endif
|
endif
|
||||||
@ -717,6 +722,7 @@ ifeq ($(strip $(LIB8TION_ENABLE)), yes)
|
|||||||
# ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines
|
# ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines
|
||||||
OPT_DEFS += -DLIB8_ATTINY
|
OPT_DEFS += -DLIB8_ATTINY
|
||||||
endif
|
endif
|
||||||
|
OPT_DEFS += -DFASTLED_SCALE8_FIXED=1 -DFASTLED_BLEND_FIXED=1
|
||||||
SRC += $(LIB_PATH)/lib8tion/lib8tion.c
|
SRC += $(LIB_PATH)/lib8tion/lib8tion.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -888,19 +894,19 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
|
|||||||
OPT_DEFS += -DBLUETOOTH_ENABLE
|
OPT_DEFS += -DBLUETOOTH_ENABLE
|
||||||
OPT_DEFS += -DBLUETOOTH_$(strip $(shell echo $(BLUETOOTH_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
OPT_DEFS += -DBLUETOOTH_$(strip $(shell echo $(BLUETOOTH_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||||
NO_USB_STARTUP_CHECK := yes
|
NO_USB_STARTUP_CHECK := yes
|
||||||
|
CONNECTION_ENABLE := yes
|
||||||
COMMON_VPATH += $(DRIVER_PATH)/bluetooth
|
COMMON_VPATH += $(DRIVER_PATH)/bluetooth
|
||||||
SRC += outputselect.c process_connection.c
|
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
|
||||||
|
|
||||||
ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le)
|
ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le)
|
||||||
SPI_DRIVER_REQUIRED = yes
|
SPI_DRIVER_REQUIRED = yes
|
||||||
ANALOG_DRIVER_REQUIRED = yes
|
SRC += $(DRIVER_PATH)/bluetooth/bluetooth_drivers.c
|
||||||
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
|
|
||||||
SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp
|
SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42)
|
ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42)
|
||||||
UART_DRIVER_REQUIRED = yes
|
UART_DRIVER_REQUIRED = yes
|
||||||
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
|
SRC += $(DRIVER_PATH)/bluetooth/bluetooth_drivers.c
|
||||||
SRC += $(DRIVER_PATH)/bluetooth/rn42.c
|
SRC += $(DRIVER_PATH)/bluetooth/rn42.c
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@ -934,6 +940,28 @@ ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
VALID_BATTERY_DRIVER_TYPES := adc custom vendor
|
||||||
|
|
||||||
|
BATTERY_DRIVER ?= adc
|
||||||
|
ifeq ($(strip $(BATTERY_DRIVER_REQUIRED)), yes)
|
||||||
|
ifeq ($(filter $(BATTERY_DRIVER),$(VALID_BATTERY_DRIVER_TYPES)),)
|
||||||
|
$(call CATASTROPHIC_ERROR,Invalid BATTERY_DRIVER,BATTERY_DRIVER="$(BATTERY_DRIVER)" is not a valid battery driver)
|
||||||
|
endif
|
||||||
|
|
||||||
|
OPT_DEFS += -DBATTERY_DRIVER
|
||||||
|
OPT_DEFS += -DBATTERY_$(strip $(shell echo $(BATTERY_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||||
|
|
||||||
|
COMMON_VPATH += $(DRIVER_PATH)/battery
|
||||||
|
|
||||||
|
SRC += battery.c
|
||||||
|
SRC += battery_$(strip $(BATTERY_DRIVER)).c
|
||||||
|
|
||||||
|
# add extra deps
|
||||||
|
ifeq ($(strip $(BATTERY_DRIVER)), adc)
|
||||||
|
ANALOG_DRIVER_REQUIRED = yes
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor
|
VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor
|
||||||
|
|
||||||
WS2812_DRIVER ?= bitbang
|
WS2812_DRIVER ?= bitbang
|
||||||
|
@ -168,7 +168,7 @@ MOVE_DEP = mv -f $(patsubst %.o,%.td,$@) $(patsubst %.o,%.d,$@)
|
|||||||
|
|
||||||
# For a ChibiOS build, ensure that the board files have the hook overrides injected
|
# For a ChibiOS build, ensure that the board files have the hook overrides injected
|
||||||
define BOARDSRC_INJECT_HOOKS
|
define BOARDSRC_INJECT_HOOKS
|
||||||
$(INTERMEDIATE_OUTPUT)/$(patsubst %.c,%.o,$(patsubst ./%,%,$1)): INIT_HOOK_CFLAGS += -include $(TOP_DIR)/tmk_core/protocol/chibios/init_hooks.h
|
$(INTERMEDIATE_OUTPUT)/$(patsubst %.c,%.o,$(patsubst ./%,%,$1)): FILE_SPECIFIC_CFLAGS += -include $(TOP_DIR)/tmk_core/protocol/chibios/init_hooks.h
|
||||||
endef
|
endef
|
||||||
$(foreach LOBJ, $(BOARDSRC), $(eval $(call BOARDSRC_INJECT_HOOKS,$(LOBJ))))
|
$(foreach LOBJ, $(BOARDSRC), $(eval $(call BOARDSRC_INJECT_HOOKS,$(LOBJ))))
|
||||||
|
|
||||||
@ -289,10 +289,10 @@ $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN)
|
|||||||
ifneq ($$(VERBOSE_C_INCLUDE),)
|
ifneq ($$(VERBOSE_C_INCLUDE),)
|
||||||
$$(if $$(filter $$(notdir $$(VERBOSE_C_INCLUDE)),$$(notdir $$<)),$$(eval CC_EXEC += -H))
|
$$(if $$(filter $$(notdir $$(VERBOSE_C_INCLUDE)),$$(notdir $$<)),$$(eval CC_EXEC += -H))
|
||||||
endif
|
endif
|
||||||
$$(eval CMD := $$(CC_EXEC) -c $$($1_CFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
$$(eval CMD := $$(CC_EXEC) -c $$($1_CFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||||
@$$(BUILD_CMD)
|
@$$(BUILD_CMD)
|
||||||
ifneq ($$(DUMP_C_MACROS),)
|
ifneq ($$(DUMP_C_MACROS),)
|
||||||
$$(eval CMD := $$(CC) -E -dM $$($1_CFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$<)
|
$$(eval CMD := $$(CC) -E -dM $$($1_CFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$<)
|
||||||
@$$(if $$(filter $$(notdir $$(DUMP_C_MACROS)),$$(notdir $$<)),$$(BUILD_CMD))
|
@$$(if $$(filter $$(notdir $$(DUMP_C_MACROS)),$$(notdir $$<)),$$(BUILD_CMD))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -300,13 +300,13 @@ $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN)
|
|||||||
$1/%.o : %.cpp $1/%.d $1/cxxflags.txt $1/compiler.txt | $(BEGIN)
|
$1/%.o : %.cpp $1/%.d $1/cxxflags.txt $1/compiler.txt | $(BEGIN)
|
||||||
@mkdir -p $$(@D)
|
@mkdir -p $$(@D)
|
||||||
@$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD)
|
@$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD)
|
||||||
$$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
$$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||||
@$$(BUILD_CMD)
|
@$$(BUILD_CMD)
|
||||||
|
|
||||||
$1/%.o : %.cc $1/%.d $1/cxxflags.txt $1/compiler.txt | $(BEGIN)
|
$1/%.o : %.cc $1/%.d $1/cxxflags.txt $1/compiler.txt | $(BEGIN)
|
||||||
@mkdir -p $$(@D)
|
@mkdir -p $$(@D)
|
||||||
@$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD)
|
@$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD)
|
||||||
$$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
$$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||||
@$$(BUILD_CMD)
|
@$$(BUILD_CMD)
|
||||||
|
|
||||||
# Assemble: create object files from assembler source files.
|
# Assemble: create object files from assembler source files.
|
||||||
|
@ -1,10 +1,3 @@
|
|||||||
# Note for new boards -- CTPC and CONVERT_TO_PROTON_C are deprecated terms
|
|
||||||
# and should not be replicated for new boards. These will be removed from
|
|
||||||
# documentation as well as existing keymaps in due course.
|
|
||||||
ifneq ($(findstring yes, $(CTPC)$(CONVERT_TO_PROTON_C)),)
|
|
||||||
$(call CATASTROPHIC_ERROR,The `CONVERT_TO_PROTON_C` and `CTPC` options are now deprecated. `CONVERT_TO=proton_c` should be used instead.)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq (,$(filter $(MCU),atmega32u4))
|
ifneq (,$(filter $(MCU),atmega32u4))
|
||||||
# TODO: opt in rather than assume everything uses a pro micro
|
# TODO: opt in rather than assume everything uses a pro micro
|
||||||
PIN_COMPATIBLE ?= promicro
|
PIN_COMPATIBLE ?= promicro
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"license": "GPL-2.0-or-later",
|
"license": "GPL-2.0-or-later",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"vite": "^5.4.18",
|
"vite": "^5.4.19",
|
||||||
"vitepress": "^1.1.0",
|
"vitepress": "^1.1.0",
|
||||||
"vitepress-plugin-tabs": "^0.5.0",
|
"vitepress-plugin-tabs": "^0.5.0",
|
||||||
"vue": "^3.4.24"
|
"vue": "^3.4.24"
|
||||||
|
@ -766,10 +766,10 @@ tabbable@^6.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
|
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
|
||||||
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
|
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
|
||||||
|
|
||||||
vite@^5.2.9, vite@^5.4.18:
|
vite@^5.2.9, vite@^5.4.19:
|
||||||
version "5.4.18"
|
version "5.4.19"
|
||||||
resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.18.tgz#b5af357f9d5ebb2e0c085779b7a37a77f09168a4"
|
resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.19.tgz#20efd060410044b3ed555049418a5e7d1998f959"
|
||||||
integrity sha512-1oDcnEp3lVyHCuQ2YFelM4Alm2o91xNoMncRm1U7S+JdYfYOvbiGZ3/CxGttrOu2M/KcGz7cRC2DoNUA6urmMA==
|
integrity sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild "^0.21.3"
|
esbuild "^0.21.3"
|
||||||
postcss "^8.4.43"
|
postcss "^8.4.43"
|
||||||
|
@ -25,6 +25,7 @@ GENERIC_FEATURES = \
|
|||||||
CAPS_WORD \
|
CAPS_WORD \
|
||||||
COMBO \
|
COMBO \
|
||||||
COMMAND \
|
COMMAND \
|
||||||
|
CONNECTION \
|
||||||
CRC \
|
CRC \
|
||||||
DEFERRED_EXEC \
|
DEFERRED_EXEC \
|
||||||
DIGITIZER \
|
DIGITIZER \
|
||||||
@ -34,6 +35,7 @@ GENERIC_FEATURES = \
|
|||||||
DYNAMIC_TAPPING_TERM \
|
DYNAMIC_TAPPING_TERM \
|
||||||
GRAVE_ESC \
|
GRAVE_ESC \
|
||||||
HAPTIC \
|
HAPTIC \
|
||||||
|
KEYCODE_STRING \
|
||||||
KEY_LOCK \
|
KEY_LOCK \
|
||||||
KEY_OVERRIDE \
|
KEY_OVERRIDE \
|
||||||
LAYER_LOCK \
|
LAYER_LOCK \
|
||||||
@ -60,6 +62,7 @@ define HANDLE_GENERIC_FEATURE
|
|||||||
SRC += $$(wildcard $$(QUANTUM_DIR)/process_keycode/process_$2.c)
|
SRC += $$(wildcard $$(QUANTUM_DIR)/process_keycode/process_$2.c)
|
||||||
SRC += $$(wildcard $$(QUANTUM_DIR)/$2/$2.c)
|
SRC += $$(wildcard $$(QUANTUM_DIR)/$2/$2.c)
|
||||||
SRC += $$(wildcard $$(QUANTUM_DIR)/$2.c)
|
SRC += $$(wildcard $$(QUANTUM_DIR)/$2.c)
|
||||||
|
SRC += $$(wildcard $$(QUANTUM_DIR)/nvm/$$(NVM_DRIVER_LOWER)/nvm_$2.c)
|
||||||
VPATH += $$(wildcard $$(QUANTUM_DIR)/$2/)
|
VPATH += $$(wildcard $$(QUANTUM_DIR)/$2/)
|
||||||
OPT_DEFS += -D$1_ENABLE
|
OPT_DEFS += -D$1_ENABLE
|
||||||
endef
|
endef
|
||||||
|
11
builddefs/support.mk
Normal file
11
builddefs/support.mk
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Helper to determine if a compiler option is supported
|
||||||
|
# Args:
|
||||||
|
# $(1) = option to test, if successful will be output
|
||||||
|
# $(2) = option to use if $(1) is not supported
|
||||||
|
# $(3) = additional arguments to pass to the compiler during the test, but aren't contained in the output
|
||||||
|
cc-option = $(shell \
|
||||||
|
if { echo 'int main(){return 0;}' | $(CC) $(1) $(3) -o /dev/null -x c /dev/null >/dev/null 2>&1; }; \
|
||||||
|
then echo "$(1)"; else echo "$(2)"; fi)
|
||||||
|
|
||||||
|
# Helper to pass comma character to make functions (use with `$(,)` to pass in `$(call ...)` arguments)
|
||||||
|
, := ,
|
@ -372,4 +372,4 @@
|
|||||||
"label": "~",
|
"label": "~",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -629,4 +629,4 @@
|
|||||||
"label": "(narrow non-breaking space)",
|
"label": "(narrow non-breaking space)",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -376,4 +376,4 @@
|
|||||||
"label": "₢",
|
"label": "₢",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -638,4 +638,4 @@
|
|||||||
"label": "÷",
|
"label": "÷",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -299,4 +299,4 @@
|
|||||||
"label": "?",
|
"label": "?",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -400,4 +400,4 @@
|
|||||||
"label": "§",
|
"label": "§",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -432,4 +432,4 @@
|
|||||||
"label": "*",
|
"label": "*",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -356,4 +356,4 @@
|
|||||||
"label": "µ",
|
"label": "µ",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -299,4 +299,4 @@
|
|||||||
"label": ":",
|
"label": ":",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -314,4 +314,4 @@
|
|||||||
"label": "@",
|
"label": "@",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -299,4 +299,4 @@
|
|||||||
"label": "\"",
|
"label": "\"",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -364,4 +364,4 @@
|
|||||||
"label": "ž",
|
"label": "ž",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -593,4 +593,4 @@
|
|||||||
"label": "…",
|
"label": "…",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -356,4 +356,4 @@
|
|||||||
"label": "µ",
|
"label": "µ",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -364,4 +364,4 @@
|
|||||||
"label": "¤",
|
"label": "¤",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -620,4 +620,4 @@
|
|||||||
"label": "≠",
|
"label": "≠",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -673,4 +673,4 @@
|
|||||||
"label": "±",
|
"label": "±",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -356,4 +356,4 @@
|
|||||||
"label": "µ",
|
"label": "µ",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -653,4 +653,4 @@
|
|||||||
"label": "—",
|
"label": "—",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -388,4 +388,4 @@
|
|||||||
"label": "©",
|
"label": "©",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -344,4 +344,4 @@
|
|||||||
"label": "÷",
|
"label": "÷",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -432,4 +432,4 @@
|
|||||||
"label": "*",
|
"label": "*",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -352,4 +352,4 @@
|
|||||||
"label": "µ",
|
"label": "µ",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -352,4 +352,4 @@
|
|||||||
"label": "´ (dead)",
|
"label": "´ (dead)",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -361,4 +361,4 @@
|
|||||||
"label": "}",
|
"label": "}",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -681,4 +681,4 @@
|
|||||||
"label": "—",
|
"label": "—",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -685,4 +685,4 @@
|
|||||||
"label": "—",
|
"label": "—",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -327,4 +327,4 @@
|
|||||||
"label": "_",
|
"label": "_",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -307,4 +307,4 @@
|
|||||||
"label": "?",
|
"label": "?",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -437,4 +437,4 @@
|
|||||||
"label": "¨ (dead)",
|
"label": "¨ (dead)",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -372,4 +372,4 @@
|
|||||||
"label": "\\",
|
"label": "\\",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -365,4 +365,4 @@
|
|||||||
"label": "+",
|
"label": "+",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -214,4 +214,4 @@
|
|||||||
"label": "(layer 4)",
|
"label": "(layer 4)",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,4 +113,4 @@
|
|||||||
"key": "NO_MU"
|
"key": "NO_MU"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -299,4 +299,4 @@
|
|||||||
"label": "?",
|
"label": "?",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -352,4 +352,4 @@
|
|||||||
"label": "µ",
|
"label": "µ",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -83,4 +83,4 @@
|
|||||||
"key": "PV_U"
|
"key": "PV_U"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -70,4 +70,4 @@
|
|||||||
"key": "PD_U"
|
"key": "PD_U"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -352,4 +352,4 @@
|
|||||||
"label": "Ń",
|
"label": "Ń",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -352,4 +352,4 @@
|
|||||||
"label": "€",
|
"label": "€",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -617,4 +617,4 @@
|
|||||||
"label": "–",
|
"label": "–",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -441,4 +441,4 @@
|
|||||||
"label": "»",
|
"label": "»",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -288,4 +288,4 @@
|
|||||||
"label": "₽",
|
"label": "₽",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -304,4 +304,4 @@
|
|||||||
"label": "€",
|
"label": "€",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -404,4 +404,4 @@
|
|||||||
"label": "§",
|
"label": "§",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -440,4 +440,4 @@
|
|||||||
"label": "}",
|
"label": "}",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -400,4 +400,4 @@
|
|||||||
"label": "§",
|
"label": "§",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -356,4 +356,4 @@
|
|||||||
"label": "}",
|
"label": "}",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -356,4 +356,4 @@
|
|||||||
"label": "}",
|
"label": "}",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -340,4 +340,4 @@
|
|||||||
"label": "`",
|
"label": "`",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -356,4 +356,4 @@
|
|||||||
"label": "µ",
|
"label": "µ",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -639,4 +639,4 @@
|
|||||||
"label": "—",
|
"label": "—",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -637,4 +637,4 @@
|
|||||||
"label": "—",
|
"label": "—",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -639,4 +639,4 @@
|
|||||||
"label": "—",
|
"label": "—",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -637,4 +637,4 @@
|
|||||||
"label": "—",
|
"label": "—",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -376,4 +376,4 @@
|
|||||||
"label": "\\",
|
"label": "\\",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -376,4 +376,4 @@
|
|||||||
"label": "\\",
|
"label": "\\",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -477,4 +477,4 @@
|
|||||||
"label": "º",
|
"label": "º",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -372,4 +372,4 @@
|
|||||||
"label": "` (dead)",
|
"label": "` (dead)",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -350,4 +350,4 @@
|
|||||||
"label": "Á"
|
"label": "Á"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -292,4 +292,4 @@
|
|||||||
"label": "ґ",
|
"label": "ґ",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -585,4 +585,4 @@
|
|||||||
"label": "̉ (dead)",
|
"label": "̉ (dead)",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -505,4 +505,4 @@
|
|||||||
"label": "¢",
|
"label": "¢",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -573,4 +573,4 @@
|
|||||||
"label": "̉ (dead)",
|
"label": "̉ (dead)",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -299,4 +299,4 @@
|
|||||||
"label": "?",
|
"label": "?",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -299,4 +299,4 @@
|
|||||||
"label": "?",
|
"label": "?",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -93,4 +93,4 @@
|
|||||||
"key": "SAFE_RANGE"
|
"key": "SAFE_RANGE"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -225,4 +225,4 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -246,4 +246,4 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -225,4 +225,4 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,4 +37,4 @@
|
|||||||
"key": "SQ_SCLR"
|
"key": "SQ_SCLR"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,4 +17,4 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -248,4 +248,4 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -66,4 +66,4 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
55
data/constants/module_hooks/1.1.0.hjson
Normal file
55
data/constants/module_hooks/1.1.0.hjson
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{
|
||||||
|
pointing_device_init: {
|
||||||
|
ret_type: void
|
||||||
|
args: void
|
||||||
|
guard: defined(POINTING_DEVICE_ENABLE)
|
||||||
|
}
|
||||||
|
pointing_device_task: {
|
||||||
|
ret_type: report_mouse_t
|
||||||
|
args: report_mouse_t mouse_report
|
||||||
|
call_params: mouse_report
|
||||||
|
guard: defined(POINTING_DEVICE_ENABLE)
|
||||||
|
header: report.h
|
||||||
|
}
|
||||||
|
rgb_matrix_indicators: {
|
||||||
|
ret_type: bool
|
||||||
|
args: void
|
||||||
|
guard: defined(RGB_MATRIX_ENABLE)
|
||||||
|
header: rgb_matrix.h
|
||||||
|
}
|
||||||
|
rgb_matrix_indicators_advanced: {
|
||||||
|
ret_type: bool
|
||||||
|
args: uint8_t led_min, uint8_t led_max
|
||||||
|
call_params: led_min, led_max
|
||||||
|
guard: defined(RGB_MATRIX_ENABLE)
|
||||||
|
header: rgb_matrix.h
|
||||||
|
}
|
||||||
|
led_matrix_indicators: {
|
||||||
|
ret_type: bool
|
||||||
|
args: void
|
||||||
|
guard: defined(LED_MATRIX_ENABLE)
|
||||||
|
header: led_matrix.h
|
||||||
|
}
|
||||||
|
led_matrix_indicators_advanced: {
|
||||||
|
ret_type: bool
|
||||||
|
args: uint8_t led_min, uint8_t led_max
|
||||||
|
call_params: led_min, led_max
|
||||||
|
guard: defined(LED_MATRIX_ENABLE)
|
||||||
|
header: led_matrix.h
|
||||||
|
}
|
||||||
|
default_layer_state_set: {
|
||||||
|
ret_type: layer_state_t
|
||||||
|
args: layer_state_t state
|
||||||
|
call_params: state
|
||||||
|
guard: !defined(NO_ACTION_LAYER)
|
||||||
|
header: action_layer.h
|
||||||
|
}
|
||||||
|
layer_state_set: {
|
||||||
|
ret_type: layer_state_t
|
||||||
|
args: layer_state_t state
|
||||||
|
call_params: state
|
||||||
|
guard: !defined(NO_ACTION_LAYER)
|
||||||
|
header: action_layer.h
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
3
data/constants/module_hooks/1.1.1.hjson
Normal file
3
data/constants/module_hooks/1.1.1.hjson
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
// This version exists to signify addition of LED/RGB effect support.
|
||||||
|
}
|
@ -64,6 +64,9 @@
|
|||||||
"WEAR_LEVELING_BACKING_SIZE": {"info_key": "eeprom.wear_leveling.backing_size", "value_type": "int", "to_json": false},
|
"WEAR_LEVELING_BACKING_SIZE": {"info_key": "eeprom.wear_leveling.backing_size", "value_type": "int", "to_json": false},
|
||||||
"WEAR_LEVELING_LOGICAL_SIZE": {"info_key": "eeprom.wear_leveling.logical_size", "value_type": "int", "to_json": false},
|
"WEAR_LEVELING_LOGICAL_SIZE": {"info_key": "eeprom.wear_leveling.logical_size", "value_type": "int", "to_json": false},
|
||||||
|
|
||||||
|
// host
|
||||||
|
"NKRO_DEFAULT_ON": {"info_key": "host.default.nkro", "value_type": "bool"},
|
||||||
|
|
||||||
// Layer locking
|
// Layer locking
|
||||||
"LAYER_LOCK_IDLE_TIMEOUT": {"info_key": "layer_lock.timeout", "value_type": "int"},
|
"LAYER_LOCK_IDLE_TIMEOUT": {"info_key": "layer_lock.timeout", "value_type": "int"},
|
||||||
|
|
||||||
@ -201,6 +204,7 @@
|
|||||||
|
|
||||||
// Tapping
|
// Tapping
|
||||||
"CHORDAL_HOLD": {"info_key": "tapping.chordal_hold", "value_type": "flag"},
|
"CHORDAL_HOLD": {"info_key": "tapping.chordal_hold", "value_type": "flag"},
|
||||||
|
"FLOW_TAP_TERM": {"info_key": "tapping.flow_tap_term", "value_type": "int"},
|
||||||
"HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "flag"},
|
"HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "flag"},
|
||||||
"HOLD_ON_OTHER_KEY_PRESS_PER_KEY": {"info_key": "tapping.hold_on_other_key_press_per_key", "value_type": "flag"},
|
"HOLD_ON_OTHER_KEY_PRESS_PER_KEY": {"info_key": "tapping.hold_on_other_key_press_per_key", "value_type": "flag"},
|
||||||
"PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "flag"},
|
"PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "flag"},
|
||||||
@ -214,7 +218,6 @@
|
|||||||
"TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
|
"TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
|
||||||
|
|
||||||
// USB
|
// USB
|
||||||
"FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "flag"},
|
|
||||||
"USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
|
"USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
|
||||||
"USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
|
"USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
|
||||||
"USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},
|
"USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},
|
||||||
@ -252,6 +255,7 @@
|
|||||||
"PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str", "deprecated": true, "replace_with": "`keyboard_name` in info.json"},
|
"PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str", "deprecated": true, "replace_with": "`keyboard_name` in info.json"},
|
||||||
"PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.pid` in info.json"},
|
"PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.pid` in info.json"},
|
||||||
"VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.vid` in info.json"},
|
"VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.vid` in info.json"},
|
||||||
|
"FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "flag", "deprecated": true, "replace_with": "`host.default.nkro` in info.json"},
|
||||||
|
|
||||||
// Items we want flagged in lint
|
// Items we want flagged in lint
|
||||||
"VIAL_KEYBOARD_UID": {"info_key": "_invalid.vial_uid", "invalid": true},
|
"VIAL_KEYBOARD_UID": {"info_key": "_invalid.vial_uid", "invalid": true},
|
||||||
|
74
data/mappings/info_defaults.hjson
Normal file
74
data/mappings/info_defaults.hjson
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
{
|
||||||
|
"bootmagic": {
|
||||||
|
"matrix": [0, 0]
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
"default": {
|
||||||
|
"on": true
|
||||||
|
},
|
||||||
|
"breathing_period": 6,
|
||||||
|
"levels": 3,
|
||||||
|
"on_state": 1
|
||||||
|
},
|
||||||
|
"debounce": 5,
|
||||||
|
"features": {
|
||||||
|
"command": false,
|
||||||
|
"console": false
|
||||||
|
},
|
||||||
|
"indicators": {
|
||||||
|
"on_state": 1
|
||||||
|
},
|
||||||
|
"led_matrix": {
|
||||||
|
"default": {
|
||||||
|
"animation": "solid",
|
||||||
|
"on": true,
|
||||||
|
"val": 255,
|
||||||
|
"speed": 128
|
||||||
|
},
|
||||||
|
"led_flush_limit": 16,
|
||||||
|
"max_brightness": 255,
|
||||||
|
"sleep": false,
|
||||||
|
"speed_steps": 16,
|
||||||
|
"val_steps": 16
|
||||||
|
},
|
||||||
|
"rgblight": {
|
||||||
|
"default": {
|
||||||
|
"animation": "static_light",
|
||||||
|
"on": true,
|
||||||
|
"hue": 0,
|
||||||
|
"sat": 255,
|
||||||
|
"val": 255,
|
||||||
|
"speed": 0
|
||||||
|
},
|
||||||
|
"brightness_steps": 17,
|
||||||
|
"hue_steps": 8,
|
||||||
|
"max_brightness": 255,
|
||||||
|
"saturation_steps": 17,
|
||||||
|
"sleep": false
|
||||||
|
},
|
||||||
|
"rgb_matrix": {
|
||||||
|
"default": {
|
||||||
|
"animation": "cycle_left_right",
|
||||||
|
"on": true,
|
||||||
|
"hue": 0,
|
||||||
|
"sat": 255,
|
||||||
|
"val": 255,
|
||||||
|
"speed": 128
|
||||||
|
},
|
||||||
|
"hue_steps": 8,
|
||||||
|
"led_flush_limit": 16,
|
||||||
|
"max_brightness": 255,
|
||||||
|
"sat_steps": 16,
|
||||||
|
"sleep": false,
|
||||||
|
"speed_steps": 16,
|
||||||
|
"val_steps": 16
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"serial": {
|
||||||
|
"driver": "bitbang"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"driver": "bitbang"
|
||||||
|
}
|
||||||
|
}
|
@ -53,8 +53,8 @@
|
|||||||
"WS2812_DRIVER": {"info_key": "ws2812.driver"},
|
"WS2812_DRIVER": {"info_key": "ws2812.driver"},
|
||||||
|
|
||||||
// Items we want flagged in lint
|
// Items we want flagged in lint
|
||||||
"CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
|
|
||||||
"CONVERT_TO_PROTON_C": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
|
|
||||||
"DEFAULT_FOLDER": {"info_key": "_deprecated.default_folder", "deprecated": true},
|
"DEFAULT_FOLDER": {"info_key": "_deprecated.default_folder", "deprecated": true},
|
||||||
|
"CTPC": {"info_key": "_invalid.ctpc", "invalid": true, "replace_with": "CONVERT_TO=proton_c"},
|
||||||
|
"CONVERT_TO_PROTON_C": {"info_key": "_invalid.ctpc", "invalid": true, "replace_with": "CONVERT_TO=proton_c"},
|
||||||
"VIAL_ENABLE": {"info_key": "_invalid.vial", "invalid": true}
|
"VIAL_ENABLE": {"info_key": "_invalid.vial", "invalid": true}
|
||||||
}
|
}
|
||||||
|
@ -146,6 +146,9 @@
|
|||||||
"daisy": {
|
"daisy": {
|
||||||
"target": "ktec/daisy"
|
"target": "ktec/daisy"
|
||||||
},
|
},
|
||||||
|
"deemen17/de60": {
|
||||||
|
"target": "deemen17/de60/r1"
|
||||||
|
},
|
||||||
"dp3000": {
|
"dp3000": {
|
||||||
"target": "dp3000/rev1"
|
"target": "dp3000/rev1"
|
||||||
},
|
},
|
||||||
@ -347,6 +350,9 @@
|
|||||||
"keycapsss/plaid_pad": {
|
"keycapsss/plaid_pad": {
|
||||||
"target": "keycapsss/plaid_pad/rev1"
|
"target": "keycapsss/plaid_pad/rev1"
|
||||||
},
|
},
|
||||||
|
"keyten/kt60hs_t": {
|
||||||
|
"target": "keyten/kt60hs_t/v1"
|
||||||
|
},
|
||||||
"kira75": {
|
"kira75": {
|
||||||
"target": "kira/kira75"
|
"target": "kira/kira75"
|
||||||
},
|
},
|
||||||
@ -581,6 +587,9 @@
|
|||||||
"ploopyco/trackball": {
|
"ploopyco/trackball": {
|
||||||
"target": "ploopyco/trackball/rev1_005"
|
"target": "ploopyco/trackball/rev1_005"
|
||||||
},
|
},
|
||||||
|
"plywrks/ply8x": {
|
||||||
|
"target": "plywrks/ply8x/solder"
|
||||||
|
},
|
||||||
"polilla": {
|
"polilla": {
|
||||||
"target": "polilla/rev1"
|
"target": "polilla/rev1"
|
||||||
},
|
},
|
||||||
@ -1033,7 +1042,7 @@
|
|||||||
"target": "kprepublic/bm68hsrgb/rev1"
|
"target": "kprepublic/bm68hsrgb/rev1"
|
||||||
},
|
},
|
||||||
"late9/rev1": {
|
"late9/rev1": {
|
||||||
"target": "rookiebwoy/late9/rev1"
|
"target": "ivndbt/late9/rev1"
|
||||||
},
|
},
|
||||||
"latin17rgb": {
|
"latin17rgb": {
|
||||||
"target": "latincompass/latin17rgb"
|
"target": "latincompass/latin17rgb"
|
||||||
@ -1198,7 +1207,7 @@
|
|||||||
"target": "spaceholdings/nebula68b"
|
"target": "spaceholdings/nebula68b"
|
||||||
},
|
},
|
||||||
"neopad/rev1": {
|
"neopad/rev1": {
|
||||||
"target": "rookiebwoy/neopad/rev1"
|
"target": "ivndbt/neopad/rev1"
|
||||||
},
|
},
|
||||||
"niu_mini": {
|
"niu_mini": {
|
||||||
"target": "kbdfans/niu_mini"
|
"target": "kbdfans/niu_mini"
|
||||||
@ -2095,10 +2104,16 @@
|
|||||||
"target": "rmi_kb/wete/v2"
|
"target": "rmi_kb/wete/v2"
|
||||||
},
|
},
|
||||||
"rookiebwoy/late9": {
|
"rookiebwoy/late9": {
|
||||||
"target": "rookiebwoy/late9/rev1"
|
"target": "ivndbt/late9/rev1"
|
||||||
},
|
},
|
||||||
"rookiebwoy/neopad": {
|
"rookiebwoy/neopad": {
|
||||||
"target": "rookiebwoy/neopad/rev1"
|
"target": "ivndbt/neopad/rev1"
|
||||||
|
},
|
||||||
|
"ivndbt/late9": {
|
||||||
|
"target": "ivndbt/late9/rev1"
|
||||||
|
},
|
||||||
|
"ivndbt/neopad": {
|
||||||
|
"target": "ivndbt/neopad/rev1"
|
||||||
},
|
},
|
||||||
"rura66": {
|
"rura66": {
|
||||||
"target": "rura66/rev1"
|
"target": "rura66/rev1"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$id": "qmk.api.keyboard.v1",
|
"$id": "qmk.api.keyboard.v1",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{"$ref": "qmk.keyboard.v1"},
|
{"$ref": "./keyboard.jsonschema#"},
|
||||||
{
|
{
|
||||||
"properties": {
|
"properties": {
|
||||||
"keymaps": {
|
"keymaps": {
|
||||||
@ -10,8 +10,8 @@
|
|||||||
"url": {"type": "string"}
|
"url": {"type": "string"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"parse_errors": {"$ref": "qmk.definitions.v1#/string_array"},
|
"parse_errors": {"$ref": "./definitions.jsonschema#/string_array"},
|
||||||
"parse_warnings": {"$ref": "qmk.definitions.v1#/string_array"},
|
"parse_warnings": {"$ref": "./definitions.jsonschema#/string_array"},
|
||||||
"processor_type": {"type": "string"},
|
"processor_type": {"type": "string"},
|
||||||
"protocol": {"type": "string"},
|
"protocol": {"type": "string"},
|
||||||
"keyboard_folder": {"type": "string"},
|
"keyboard_folder": {"type": "string"},
|
||||||
|
@ -5,13 +5,14 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"required": ["module_name", "maintainer"],
|
"required": ["module_name", "maintainer"],
|
||||||
"properties": {
|
"properties": {
|
||||||
"module_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
"module_name": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||||
"maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
"maintainer": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||||
|
"license": {"type": "string"},
|
||||||
"url": {
|
"url": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "uri"
|
"format": "uri"
|
||||||
},
|
},
|
||||||
"keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
|
"keycodes": {"$ref": "./definitions.jsonschema#/keycode_decl_array"},
|
||||||
"features": {"$ref": "qmk.keyboard.v1#/definitions/features_config"}
|
"features": {"$ref": "./keyboard.jsonschema#/definitions/features_config"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,9 +17,9 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"required": ["pin_a", "pin_b"],
|
"required": ["pin_a", "pin_b"],
|
||||||
"properties": {
|
"properties": {
|
||||||
"pin_a": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"pin_a": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"pin_b": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"pin_b": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"resolution": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -28,22 +28,22 @@
|
|||||||
"dip_switch_config": {
|
"dip_switch_config": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
|
"pins": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"features_config": {
|
"features_config": {
|
||||||
"$ref": "qmk.definitions.v1#/boolean_array",
|
"$ref": "./definitions.jsonschema#/boolean_array",
|
||||||
"propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
|
"propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"},
|
||||||
"not": {"required": ["lto"]}
|
"not": {"required": ["lto"]}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"not": {"required": ["vendorId", "productId"]}, // reject via keys...
|
"not": {"required": ["vendorId", "productId"]}, // reject via keys...
|
||||||
"properties": {
|
"properties": {
|
||||||
"keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
"keyboard_name": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||||
"keyboard_folder": {"$ref": "qmk.definitions.v1#/keyboard"},
|
"keyboard_folder": {"$ref": "./definitions.jsonschema#/keyboard"},
|
||||||
"maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
"maintainer": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||||
"manufacturer": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
"manufacturer": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||||
"url": {
|
"url": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "uri"
|
"format": "uri"
|
||||||
@ -84,6 +84,7 @@
|
|||||||
"STM32F407",
|
"STM32F407",
|
||||||
"STM32F411",
|
"STM32F411",
|
||||||
"STM32F446",
|
"STM32F446",
|
||||||
|
"STM32G0B1",
|
||||||
"STM32G431",
|
"STM32G431",
|
||||||
"STM32G474",
|
"STM32G474",
|
||||||
"STM32H723",
|
"STM32H723",
|
||||||
@ -118,8 +119,8 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"data_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"clock_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"default_brightness": {
|
"default_brightness": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"minimum": 0,
|
"minimum": 0,
|
||||||
@ -144,13 +145,13 @@
|
|||||||
"enum": ["dac_additive", "dac_basic", "pwm_software", "pwm_hardware"]
|
"enum": ["dac_additive", "dac_basic", "pwm_software", "pwm_hardware"]
|
||||||
},
|
},
|
||||||
"macro_beep": {"type": "boolean"},
|
"macro_beep": {"type": "boolean"},
|
||||||
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
|
"pins": {"$ref": "./definitions.jsonschema#/mcu_pin_array"},
|
||||||
"power_control": {
|
"power_control": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"on_state": {"$ref": "qmk.definitions.v1#/bit"},
|
"on_state": {"$ref": "./definitions.jsonschema#/bit"},
|
||||||
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
|
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"voices": {"type": "boolean"}
|
"voices": {"type": "boolean"}
|
||||||
@ -170,20 +171,20 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"on": {"type": "boolean"},
|
"on": {"type": "boolean"},
|
||||||
"breathing": {"type": "boolean"},
|
"breathing": {"type": "boolean"},
|
||||||
"brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
"brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"breathing": {"type": "boolean"},
|
"breathing": {"type": "boolean"},
|
||||||
"breathing_period": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"breathing_period": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"levels": {
|
"levels": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"maximum": 31
|
"maximum": 31
|
||||||
},
|
},
|
||||||
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
|
"pins": {"$ref": "./definitions.jsonschema#/mcu_pin_array"},
|
||||||
"on_state": {"$ref": "qmk.definitions.v1#/bit"},
|
"on_state": {"$ref": "./definitions.jsonschema#/bit"},
|
||||||
"as_caps_lock": {"type": "boolean"}
|
"as_caps_lock": {"type": "boolean"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -268,7 +269,7 @@
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["COL2ROW", "ROW2COL"]
|
"enum": ["COL2ROW", "ROW2COL"]
|
||||||
},
|
},
|
||||||
"debounce": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"debounce": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"caps_word": {
|
"caps_word": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@ -276,20 +277,20 @@
|
|||||||
"enabled": {"type": "boolean"},
|
"enabled": {"type": "boolean"},
|
||||||
"both_shifts_turns_on": {"type": "boolean"},
|
"both_shifts_turns_on": {"type": "boolean"},
|
||||||
"double_tap_shift_turns_on": {"type": "boolean"},
|
"double_tap_shift_turns_on": {"type": "boolean"},
|
||||||
"idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"idle_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"invert_on_shift": {"type": "boolean"}
|
"invert_on_shift": {"type": "boolean"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"combo": {
|
"combo": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"count": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"term": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"term": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"community_layouts": {
|
"community_layouts": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {"$ref": "qmk.definitions.v1#/filename"}
|
"items": {"$ref": "./definitions.jsonschema#/filename"}
|
||||||
},
|
},
|
||||||
"dip_switch": {
|
"dip_switch": {
|
||||||
"$ref": "#/definitions/dip_switch_config",
|
"$ref": "#/definitions/dip_switch_config",
|
||||||
@ -319,10 +320,10 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"driver": {
|
"driver": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"]
|
"enum": ["none", "custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"]
|
||||||
},
|
},
|
||||||
"backing_size": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"backing_size": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"logical_size": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"logical_size": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -337,12 +338,12 @@
|
|||||||
"indicators": {
|
"indicators": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"caps_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"caps_lock": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"num_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"num_lock": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"scroll_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"scroll_lock": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"compose": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"compose": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"kana": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"kana": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"on_state": {"$ref": "qmk.definitions.v1#/bit"}
|
"on_state": {"$ref": "./definitions.jsonschema#/bit"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"joystick": {
|
"joystick": {
|
||||||
@ -350,8 +351,8 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"enabled": {"type": "boolean"},
|
"enabled": {"type": "boolean"},
|
||||||
"driver": {"type": "string"},
|
"driver": {"type": "string"},
|
||||||
"button_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"button_count": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"axis_resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"axis_resolution": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"axes": {
|
"axes": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"propertyNames": {"enum": ["x", "y", "z", "rx", "ry", "rz"]},
|
"propertyNames": {"enum": ["x", "y", "z", "rx", "ry", "rz"]},
|
||||||
@ -360,10 +361,10 @@
|
|||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"input_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"input_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"low": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"low": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"rest": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"rest": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"high": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"high": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -375,20 +376,20 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
|
"keycodes": {"$ref": "./definitions.jsonschema#/keycode_decl_array"},
|
||||||
"layer_lock": {
|
"layer_lock": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"layout_aliases": {
|
"layout_aliases": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": {"$ref": "qmk.definitions.v1#/layout_macro"}
|
"additionalProperties": {"$ref": "./definitions.jsonschema#/layout_macro"}
|
||||||
},
|
},
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"propertyNames": {"$ref": "qmk.definitions.v1#/layout_macro"},
|
"propertyNames": {"$ref": "./definitions.jsonschema#/layout_macro"},
|
||||||
"additionalProperties": {
|
"additionalProperties": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@ -403,7 +404,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"required": ["x", "y"],
|
"required": ["x", "y"],
|
||||||
"properties": {
|
"properties": {
|
||||||
"encoder": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"encoder": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"label": {
|
"label": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"pattern": "^[^\\n]*$"
|
"pattern": "^[^\\n]*$"
|
||||||
@ -417,13 +418,13 @@
|
|||||||
"minimum": 0
|
"minimum": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"r": {"$ref": "qmk.definitions.v1#/signed_decimal"},
|
"r": {"$ref": "./definitions.jsonschema#/signed_decimal"},
|
||||||
"rx": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
|
"rx": {"$ref": "./definitions.jsonschema#/unsigned_decimal"},
|
||||||
"ry": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
|
"ry": {"$ref": "./definitions.jsonschema#/unsigned_decimal"},
|
||||||
"h": {"$ref": "qmk.definitions.v1#/key_unit"},
|
"h": {"$ref": "./definitions.jsonschema#/key_unit"},
|
||||||
"w": {"$ref": "qmk.definitions.v1#/key_unit"},
|
"w": {"$ref": "./definitions.jsonschema#/key_unit"},
|
||||||
"x": {"$ref": "qmk.definitions.v1#/key_unit"},
|
"x": {"$ref": "./definitions.jsonschema#/key_unit"},
|
||||||
"y": {"$ref": "qmk.definitions.v1#/key_unit"},
|
"y": {"$ref": "./definitions.jsonschema#/key_unit"},
|
||||||
"hand": {
|
"hand": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["L", "R", "*"]
|
"enum": ["L", "R", "*"]
|
||||||
@ -443,12 +444,24 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"host": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"default": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"nkro": {"type": "boolean"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"leader_key": {
|
"leader_key": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"timing": {"type": "boolean"},
|
"timing": {"type": "boolean"},
|
||||||
"strict_processing": {"type": "boolean"},
|
"strict_processing": {"type": "boolean"},
|
||||||
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"matrix_pins": {
|
"matrix_pins": {
|
||||||
@ -458,14 +471,14 @@
|
|||||||
"custom": {"type": "boolean"},
|
"custom": {"type": "boolean"},
|
||||||
"custom_lite": {"type": "boolean"},
|
"custom_lite": {"type": "boolean"},
|
||||||
"ghost": {"type": "boolean"},
|
"ghost": {"type": "boolean"},
|
||||||
"input_pressed_state": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"input_pressed_state": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"io_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"io_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"direct": {
|
"direct": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
|
"items": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}
|
||||||
},
|
},
|
||||||
"cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
|
"cols": {"$ref": "./definitions.jsonschema#/mcu_pin_array"},
|
||||||
"rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
|
"rows": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"modules": {
|
"modules": {
|
||||||
@ -478,18 +491,18 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"enabled": {"type": "boolean"},
|
"enabled": {"type": "boolean"},
|
||||||
"delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"delay": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"interval": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"max_speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"max_speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"time_to_max": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"time_to_max": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"wheel_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
"wheel_delay": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oneshot": {
|
"oneshot": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"tap_toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"tap_toggle": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"led_matrix": {
|
"led_matrix": {
|
||||||
@ -497,7 +510,7 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"animations": {
|
"animations": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
|
"propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"},
|
||||||
"additionalProperties": {"type": "boolean"}
|
"additionalProperties": {"type": "boolean"}
|
||||||
},
|
},
|
||||||
"default": {
|
"default": {
|
||||||
@ -506,8 +519,8 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"on": {"type": "boolean"},
|
"on": {"type": "boolean"},
|
||||||
"animation": {"type": "string"},
|
"animation": {"type": "string"},
|
||||||
"val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"val": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
"speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"driver": {
|
"driver": {
|
||||||
@ -533,27 +546,28 @@
|
|||||||
"type": "array",
|
"type": "array",
|
||||||
"minItems": 2,
|
"minItems": 2,
|
||||||
"maxItems": 2,
|
"maxItems": 2,
|
||||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
"items": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||||
},
|
},
|
||||||
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"val_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"speed_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"led_flush_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"led_process_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"react_on_keyup": {"type": "boolean"},
|
"react_on_keyup": {"type": "boolean"},
|
||||||
"sleep": {"type": "boolean"},
|
"sleep": {"type": "boolean"},
|
||||||
"split_count": {
|
"split_count": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"minItems": 2,
|
"minItems": 2,
|
||||||
"maxItems": 2,
|
"maxItems": 2,
|
||||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"items": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
},
|
},
|
||||||
"layout": {
|
"layout": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
|
"required": ["x", "y"],
|
||||||
"properties": {
|
"properties": {
|
||||||
"matrix": {
|
"matrix": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
@ -564,9 +578,9 @@
|
|||||||
"minimum": 0
|
"minimum": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"x": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"x": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"y": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"y": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
"flags": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -577,7 +591,7 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"animations": {
|
"animations": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
|
"propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"},
|
||||||
"additionalProperties": {"type": "boolean"}
|
"additionalProperties": {"type": "boolean"}
|
||||||
},
|
},
|
||||||
"default": {
|
"default": {
|
||||||
@ -586,10 +600,10 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"on": {"type": "boolean"},
|
"on": {"type": "boolean"},
|
||||||
"animation": {"type": "string"},
|
"animation": {"type": "string"},
|
||||||
"hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"hue": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"sat": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"val": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
"speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"driver": {
|
"driver": {
|
||||||
@ -617,29 +631,30 @@
|
|||||||
"type": "array",
|
"type": "array",
|
||||||
"minItems": 2,
|
"minItems": 2,
|
||||||
"maxItems": 2,
|
"maxItems": 2,
|
||||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
"items": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||||
},
|
},
|
||||||
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"hue_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"sat_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"val_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"speed_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"led_flush_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"led_process_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"react_on_keyup": {"type": "boolean"},
|
"react_on_keyup": {"type": "boolean"},
|
||||||
"sleep": {"type": "boolean"},
|
"sleep": {"type": "boolean"},
|
||||||
"split_count": {
|
"split_count": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"minItems": 2,
|
"minItems": 2,
|
||||||
"maxItems": 2,
|
"maxItems": 2,
|
||||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"items": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
},
|
},
|
||||||
"layout": {
|
"layout": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
|
"required": ["x", "y"],
|
||||||
"properties": {
|
"properties": {
|
||||||
"matrix": {
|
"matrix": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
@ -650,9 +665,9 @@
|
|||||||
"minimum": 0
|
"minimum": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"x": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"x": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"y": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"y": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
"flags": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -664,27 +679,27 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"animations": {
|
"animations": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
|
"propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"},
|
||||||
"additionalProperties": {"type": "boolean"}
|
"additionalProperties": {"type": "boolean"}
|
||||||
},
|
},
|
||||||
"brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"brightness_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"default": {
|
"default": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"on": {"type": "boolean"},
|
"on": {"type": "boolean"},
|
||||||
"animation": {"type": "string"},
|
"animation": {"type": "string"},
|
||||||
"hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"hue": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"sat": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"val": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
"speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"driver": {
|
"driver": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["apa102", "custom", "ws2812"]
|
"enum": ["apa102", "custom", "ws2812"]
|
||||||
},
|
},
|
||||||
"hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"hue_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"layers": {
|
"layers": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@ -699,29 +714,29 @@
|
|||||||
"override_rgb": {"type": "boolean"}
|
"override_rgb": {"type": "boolean"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"led_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"led_count": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"led_map": {
|
"led_map": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"minItems": 2,
|
"minItems": 2,
|
||||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"items": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
},
|
},
|
||||||
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"pin": {
|
"pin": {
|
||||||
"$ref": "qmk.definitions.v1#/mcu_pin",
|
"$ref": "./definitions.jsonschema#/mcu_pin",
|
||||||
"$comment": "Deprecated: use ws2812.pin instead"
|
"$comment": "Deprecated: use ws2812.pin instead"
|
||||||
},
|
},
|
||||||
"rgbw": {
|
"rgbw": {
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"$comment": "Deprecated: use ws2812.rgbw instead"
|
"$comment": "Deprecated: use ws2812.rgbw instead"
|
||||||
},
|
},
|
||||||
"saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"saturation_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"sleep": {"type": "boolean"},
|
"sleep": {"type": "boolean"},
|
||||||
"split": {"type": "boolean"},
|
"split": {"type": "boolean"},
|
||||||
"split_count": {
|
"split_count": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"minItems": 2,
|
"minItems": 2,
|
||||||
"maxItems": 2,
|
"maxItems": 2,
|
||||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"items": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -730,8 +745,8 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"enabled": {"type": "boolean"},
|
"enabled": {"type": "boolean"},
|
||||||
"unlock_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"unlock_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"idle_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"unlock_sequence": {
|
"unlock_sequence": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"minItems": 1,
|
"minItems": 1,
|
||||||
@ -765,8 +780,8 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"enabled": {"type": "boolean"},
|
"enabled": {"type": "boolean"},
|
||||||
"mouse_enabled": {"type": "boolean"},
|
"mouse_enabled": {"type": "boolean"},
|
||||||
"clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"clock_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"data_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"driver": {
|
"driver": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["busywait", "interrupt", "usart", "vendor"]
|
"enum": ["busywait", "interrupt", "usart", "vendor"]
|
||||||
@ -803,11 +818,11 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"direct": {
|
"direct": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
|
"items": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}
|
||||||
},
|
},
|
||||||
"cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
|
"cols": {"$ref": "./definitions.jsonschema#/mcu_pin_array"},
|
||||||
"rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
|
"rows": {"$ref": "./definitions.jsonschema#/mcu_pin_array"},
|
||||||
"unused": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
|
"unused": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -834,16 +849,16 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"matrix_grid": {
|
"matrix_grid": {
|
||||||
"$ref": "qmk.definitions.v1#/mcu_pin_array",
|
"$ref": "./definitions.jsonschema#/mcu_pin_array",
|
||||||
"minItems": 2,
|
"minItems": 2,
|
||||||
"maxItems": 2
|
"maxItems": 2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"soft_serial_pin": {
|
"soft_serial_pin": {
|
||||||
"$ref": "qmk.definitions.v1#/mcu_pin",
|
"$ref": "./definitions.jsonschema#/mcu_pin",
|
||||||
"$comment": "Deprecated: use split.serial.pin instead"
|
"$comment": "Deprecated: use split.serial.pin instead"
|
||||||
},
|
},
|
||||||
"soft_serial_speed": {
|
"soft_serial_speed": {
|
||||||
@ -859,7 +874,7 @@
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["bitbang", "usart", "vendor"]
|
"enum": ["bitbang", "usart", "vendor"]
|
||||||
},
|
},
|
||||||
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
|
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transport": {
|
"transport": {
|
||||||
@ -887,7 +902,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"watchdog": {"type": "boolean"},
|
"watchdog": {"type": "boolean"},
|
||||||
"watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"watchdog_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"sync_matrix_state": {
|
"sync_matrix_state": {
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"$comment": "Deprecated: use sync.matrix_state instead"
|
"$comment": "Deprecated: use sync.matrix_state instead"
|
||||||
@ -903,8 +918,8 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"enabled": {"type": "boolean"},
|
"enabled": {"type": "boolean"},
|
||||||
"polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"polling_interval": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"main": {
|
"main": {
|
||||||
@ -914,7 +929,7 @@
|
|||||||
},
|
},
|
||||||
"matrix_grid": {
|
"matrix_grid": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"items": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"$comment": "Deprecated: use split.handedness.matrix_grid instead"
|
"$comment": "Deprecated: use split.handedness.matrix_grid instead"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -936,9 +951,9 @@
|
|||||||
"permissive_hold_per_key": {"type": "boolean"},
|
"permissive_hold_per_key": {"type": "boolean"},
|
||||||
"retro": {"type": "boolean"},
|
"retro": {"type": "boolean"},
|
||||||
"retro_per_key": {"type": "boolean"},
|
"retro_per_key": {"type": "boolean"},
|
||||||
"term": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"term": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"term_per_key": {"type": "boolean"},
|
"term_per_key": {"type": "boolean"},
|
||||||
"toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"toggle": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"usb": {
|
"usb": {
|
||||||
@ -946,16 +961,20 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"device_ver": {
|
"device_ver": {
|
||||||
"$ref": "qmk.definitions.v1#/hex_number_4d",
|
"$ref": "./definitions.jsonschema#/hex_number_4d",
|
||||||
"$comment": "Deprecated: use device_version instead"
|
"$comment": "Deprecated: use device_version instead"
|
||||||
},
|
},
|
||||||
"device_version": {"$ref": "qmk.definitions.v1#/bcd_version"},
|
"device_version": {"$ref": "./definitions.jsonschema#/bcd_version"},
|
||||||
"force_nkro": {"type": "boolean"},
|
"force_nkro": {
|
||||||
"pid": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
|
"type": "boolean",
|
||||||
"vid": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
|
"$comment": "Deprecated: use host.default.nkro instead"
|
||||||
"max_power": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
|
||||||
|
},
|
||||||
|
"pid": {"$ref": "./definitions.jsonschema#/hex_number_4d"},
|
||||||
|
"vid": {"$ref": "./definitions.jsonschema#/hex_number_4d"},
|
||||||
|
"max_power": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"no_startup_check": {"type": "boolean"},
|
"no_startup_check": {"type": "boolean"},
|
||||||
"polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"polling_interval": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"shared_endpoint": {
|
"shared_endpoint": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@ -964,7 +983,7 @@
|
|||||||
"mouse": {"type": "boolean"}
|
"mouse": {"type": "boolean"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"suspend_wakeup_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"suspend_wakeup_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"wait_for_enumeration": {"type": "boolean"}
|
"wait_for_enumeration": {"type": "boolean"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -972,9 +991,9 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"keys_per_scan": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
"keys_per_scan": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||||
"tap_keycode_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"tap_keycode_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"tap_capslock_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||||
"locking": {
|
"locking": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@ -989,10 +1008,10 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"esc_output": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"esc_output": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"esc_input": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"esc_input": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"led": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"led": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"speaker": {"$ref": "qmk.definitions.v1#/mcu_pin"}
|
"speaker": {"$ref": "./definitions.jsonschema#/mcu_pin"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ws2812": {
|
"ws2812": {
|
||||||
@ -1003,10 +1022,10 @@
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"]
|
"enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"]
|
||||||
},
|
},
|
||||||
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||||
"rgbw": {"type": "boolean"},
|
"rgbw": {"type": "boolean"},
|
||||||
"i2c_address": {"$ref": "qmk.definitions.v1#/hex_number_2d"},
|
"i2c_address": {"$ref": "./definitions.jsonschema#/hex_number_2d"},
|
||||||
"i2c_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"i2c_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,10 +30,10 @@
|
|||||||
"keycodes": {
|
"keycodes": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"propertyNames": {
|
"propertyNames": {
|
||||||
"$ref": "qmk.definitions.v1#/hex_number_4d"
|
"$ref": "./definitions.jsonschema#/hex_number_4d"
|
||||||
},
|
},
|
||||||
"additionalProperties": {
|
"additionalProperties": {
|
||||||
"type": "object", // use 'qmk.definitions.v1#/keycode_decl' when problem keycodes are removed
|
"type": "object", // use './definitions.jsonschema#/keycode_decl' when problem keycodes are removed
|
||||||
"required": [
|
"required": [
|
||||||
"key"
|
"key"
|
||||||
],
|
],
|
||||||
|
@ -10,10 +10,10 @@
|
|||||||
"minLength": 1,
|
"minLength": 1,
|
||||||
"pattern": "^[a-z][0-9a-z_]*$"
|
"pattern": "^[a-z][0-9a-z_]*$"
|
||||||
},
|
},
|
||||||
"host_language": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
"host_language": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||||
"keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
"keyboard": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||||
"keymap": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
"keymap": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||||
"layout": {"$ref": "qmk.definitions.v1#/layout_macro"},
|
"layout": {"$ref": "./definitions.jsonschema#/layout_macro"},
|
||||||
"layers": {
|
"layers": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
@ -55,11 +55,11 @@
|
|||||||
"keycodes": {
|
"keycodes": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "qmk.definitions.v1#/text_identifier"
|
"$ref": "./definitions.jsonschema#/text_identifier"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"duration": {
|
"duration": {
|
||||||
"$ref": "qmk.definitions.v1#/unsigned_int"
|
"$ref": "./definitions.jsonschema#/unsigned_int"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -67,8 +67,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
|
"keycodes": {"$ref": "./definitions.jsonschema#/keycode_decl_array"},
|
||||||
"config": {"$ref": "qmk.keyboard.v1"},
|
"config": {"$ref": "./keyboard.jsonschema#"},
|
||||||
"notes": {
|
"notes": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
"definitions": {
|
"definitions": {
|
||||||
"build_target": {
|
"build_target": {
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
{"$ref": "qmk.definitions.v1#/keyboard_keymap_tuple"},
|
{"$ref": "./definitions.jsonschema#/keyboard_keymap_tuple"},
|
||||||
{"$ref": "qmk.definitions.v1#/json_file_path"}
|
{"$ref": "./definitions.jsonschema#/json_file_path"}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user