diff --git a/.clangd b/.clangd index 82ee5628b0..6133ae7229 100644 --- a/.clangd +++ b/.clangd @@ -1,33 +1,4 @@ CompileFlags: - Add: - [ - -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, - ] + Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option] + Remove: [-W*, -mmcu=*, -mcpu=*, -mfpu=*, -mfloat-abi=*, -mno-unaligned-access, -mno-thumb-interwork, -mcall-prologues] + Compiler: clang diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 3e32f4d994..a5d185e1dd 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -38,4 +38,4 @@ body: - type: textarea attributes: label: Additional Context - description: Add any other relevant information about the problem here. + description: Add any other relevant information about the problem here. \ No newline at end of file diff --git a/.github/labeler.yml b/.github/labeler.yml index 82f9672bb7..270cd1a813 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -54,7 +54,3 @@ dd: - data/constants/** - data/mappings/** - data/schemas/** -community_module: - - changed-files: - - any-glob-to-any-file: - - modules/** diff --git a/.github/workflows/auto_tag.yml b/.github/workflows/auto_tag.yml index 4afca6c66d..b4465277b0 100644 --- a/.github/workflows/auto_tag.yml +++ b/.github/workflows/auto_tag.yml @@ -15,7 +15,6 @@ on: - quantum/**/* - tests/**/* - tmk_core/**/* - - lib/python/**/* - util/**/* - Makefile - '*.mk' diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 34319675bf..edce1a6e5c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -56,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.7.3 + uses: JamesIves/github-pages-deploy-action@v4.7.2 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 309b9eeda1..74c518fe05 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -10,7 +10,6 @@ on: - 'lib/arm_atsam/**' - 'lib/lib8tion/**' - 'lib/python/**' - - 'modules/**' - 'platforms/**' - 'quantum/**' - 'tests/**' @@ -36,7 +35,7 @@ jobs: - name: Get changed files id: file_changes - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@v45 with: use_rest_api: true diff --git a/.github/workflows/format_push.yml b/.github/workflows/format_push.yml index b865ea9eec..c861b2c111 100644 --- a/.github/workflows/format_push.yml +++ b/.github/workflows/format_push.yml @@ -39,7 +39,7 @@ jobs: qmk format-text -a git diff - - uses: rlespinasse/github-slug-action@v5 + - uses: rlespinasse/github-slug-action@v3.x - name: Become QMK Bot run: | diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 581fe02156..829ca6392c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -27,7 +27,7 @@ jobs: - name: Get changed files id: file_changes - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@v45 with: use_rest_api: true diff --git a/.github/workflows/regen_push.yml b/.github/workflows/regen_push.yml index 8f22e931f1..9a05a9461d 100644 --- a/.github/workflows/regen_push.yml +++ b/.github/workflows/regen_push.yml @@ -26,7 +26,7 @@ jobs: util/regen.sh git diff - - uses: rlespinasse/github-slug-action@v5 + - uses: rlespinasse/github-slug-action@v3.x - name: Become QMK Bot run: | diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 25649ce943..ce9bd0f316 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -45,7 +45,7 @@ jobs: stale-pr-label: stale days-before-pr-stale: 45 days-before-pr-close: 30 - exempt-pr-labels: bug,awaiting review,breaking_change,in progress,on hold,needs-core-wireless,crippled-firmware + exempt-pr-labels: bug,awaiting review,breaking_change,in progress,on hold stale-pr-message: > Thank you for your contribution! diff --git a/.vscode/settings.json b/.vscode/settings.json index c04ea51de1..f369ecb174 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,13 +10,6 @@ "**/*.uf2": true }, "files.associations": { - // QMK Filetypes - "keyboard.json": "jsonc", - "info.json": "jsonc", - "keymap.json": "jsonc", - "qmk.json": "jsonc", - "qmk_module.json": "jsonc", - // Standard filetypes "*.h": "c", "*.c": "c", "*.inc": "c", @@ -35,23 +28,7 @@ "[json]": { "editor.formatOnSave": false }, - "clangd.arguments": ["--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" - } + "clangd.arguments": [ + "--header-insertion=never" ] } diff --git a/Makefile b/Makefile index f1e3bf856f..5fcd6bbf0f 100644 --- a/Makefile +++ b/Makefile @@ -59,7 +59,6 @@ ifeq ($(ROOT_DIR),) endif include paths.mk -include $(BUILDDEFS_PATH)/support.mk TEST_OUTPUT_DIR := $(BUILD_DIR)/test ERROR_FILE := $(BUILD_DIR)/error_occurred @@ -114,29 +113,6 @@ endef # Make it easier to call TRY_TO_MATCH_RULE_FROM_LIST TRY_TO_MATCH_RULE_FROM_LIST = $(eval $(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER,$1))$(RULE_FOUND) -# As TRY_TO_MATCH_RULE_FROM_LIST_HELPER, but with additional -# resolution of DEFAULT_FOLDER and keyboard_aliases.hjson for provided rule -define TRY_TO_MATCH_RULE_FROM_LIST_HELPER_KB - # Split on ":", padding with empty strings to avoid indexing issues - TOKEN1:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[0])" $$(RULE)) - TOKENr:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[1])" $$(RULE)) - - TOKEN1:=$$(shell $(QMK_BIN) resolve-alias --allow-unknown $$(TOKEN1)) - - FOUNDx:=$$(shell echo $1 | tr " " "\n" | grep -Fx $$(TOKEN1)) - ifneq ($$(FOUNDx),) - RULE := $$(TOKENr) - RULE_FOUND := true - MATCHED_ITEM := $$(TOKEN1) - else - RULE_FOUND := false - MATCHED_ITEM := - endif -endef - -# Make it easier to call TRY_TO_MATCH_RULE_FROM_LIST_KB -TRY_TO_MATCH_RULE_FROM_LIST_KB = $(eval $(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER_KB,$1))$(RULE_FOUND) - define ALL_IN_LIST_LOOP OLD_RULE$1 := $$(RULE) $$(eval $$(call $1,$$(ITEM$1))) @@ -162,7 +138,7 @@ define PARSE_RULE $$(eval $$(call PARSE_TEST)) # If the rule starts with the name of a known keyboard, then continue # the parsing from PARSE_KEYBOARD - else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST_KB,$$(shell $(QMK_BIN) list-keyboards)),true) + else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(shell $(QMK_BIN) list-keyboards --no-resolve-defaults)),true) KEYBOARD_RULE=$$(MATCHED_ITEM) $$(eval $$(call PARSE_KEYBOARD,$$(MATCHED_ITEM))) else @@ -194,6 +170,17 @@ define PARSE_KEYBOARD # include the correct makefile to determine the actual name of it CURRENT_KB := $1 + # KEYBOARD_FOLDERS := $$(subst /, , $(CURRENT_KB)) + + DEFAULT_FOLDER := $$(CURRENT_KB) + + # We assume that every rules.mk will contain the full default value + $$(eval include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/rules.mk) + ifneq ($$(DEFAULT_FOLDER),$$(CURRENT_KB)) + $$(eval include $(ROOT_DIR)/keyboards/$$(DEFAULT_FOLDER)/rules.mk) + endif + CURRENT_KB := $$(DEFAULT_FOLDER) + # 5/4/3/2/1 KEYBOARD_FOLDER_PATH_1 := $$(CURRENT_KB) KEYBOARD_FOLDER_PATH_2 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_1))) diff --git a/builddefs/build_full_test.mk b/builddefs/build_full_test.mk index 82bb9387a6..5cae327c6c 100644 --- a/builddefs/build_full_test.mk +++ b/builddefs/build_full_test.mk @@ -25,6 +25,8 @@ $(TEST_OUTPUT)_SRC := \ tests/test_common/test_driver.cpp \ tests/test_common/keyboard_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_keymap_key.cpp \ tests/test_common/test_logger.cpp \ diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index 640dedc31e..7d58c29462 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -11,7 +11,6 @@ endif .DEFAULT_GOAL := all include paths.mk -include $(BUILDDEFS_PATH)/support.mk include $(BUILDDEFS_PATH)/message.mk # Helper to add defines with a 'QMK_' prefix @@ -98,44 +97,20 @@ endif # Pull in rules.mk files from all our subfolders --include $(KEYBOARD_PATH_5)/rules.mk --include $(KEYBOARD_PATH_4)/rules.mk --include $(KEYBOARD_PATH_3)/rules.mk --include $(KEYBOARD_PATH_2)/rules.mk --include $(KEYBOARD_PATH_1)/rules.mk - -# Create dependencies on DD keyboard config - structure validated elsewhere -DD_CONFIG_FILES := -ifneq ("$(wildcard $(KEYBOARD_PATH_1)/info.json)","") - DD_CONFIG_FILES += $(KEYBOARD_PATH_1)/info.json +ifneq ("$(wildcard $(KEYBOARD_PATH_5)/rules.mk)","") + include $(KEYBOARD_PATH_5)/rules.mk endif -ifneq ("$(wildcard $(KEYBOARD_PATH_2)/info.json)","") - DD_CONFIG_FILES += $(KEYBOARD_PATH_2)/info.json +ifneq ("$(wildcard $(KEYBOARD_PATH_4)/rules.mk)","") + include $(KEYBOARD_PATH_4)/rules.mk endif -ifneq ("$(wildcard $(KEYBOARD_PATH_3)/info.json)","") - DD_CONFIG_FILES += $(KEYBOARD_PATH_3)/info.json +ifneq ("$(wildcard $(KEYBOARD_PATH_3)/rules.mk)","") + include $(KEYBOARD_PATH_3)/rules.mk endif -ifneq ("$(wildcard $(KEYBOARD_PATH_4)/info.json)","") - DD_CONFIG_FILES += $(KEYBOARD_PATH_4)/info.json +ifneq ("$(wildcard $(KEYBOARD_PATH_2)/rules.mk)","") + include $(KEYBOARD_PATH_2)/rules.mk endif -ifneq ("$(wildcard $(KEYBOARD_PATH_5)/info.json)","") - DD_CONFIG_FILES += $(KEYBOARD_PATH_5)/info.json -endif - -ifneq ("$(wildcard $(KEYBOARD_PATH_1)/keyboard.json)","") - DD_CONFIG_FILES += $(KEYBOARD_PATH_1)/keyboard.json -endif -ifneq ("$(wildcard $(KEYBOARD_PATH_2)/keyboard.json)","") - DD_CONFIG_FILES += $(KEYBOARD_PATH_2)/keyboard.json -endif -ifneq ("$(wildcard $(KEYBOARD_PATH_3)/keyboard.json)","") - DD_CONFIG_FILES += $(KEYBOARD_PATH_3)/keyboard.json -endif -ifneq ("$(wildcard $(KEYBOARD_PATH_4)/keyboard.json)","") - DD_CONFIG_FILES += $(KEYBOARD_PATH_4)/keyboard.json -endif -ifneq ("$(wildcard $(KEYBOARD_PATH_5)/keyboard.json)","") - DD_CONFIG_FILES += $(KEYBOARD_PATH_5)/keyboard.json +ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","") + include $(KEYBOARD_PATH_1)/rules.mk endif MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP) @@ -232,17 +207,17 @@ ifneq ("$(wildcard $(KEYMAP_JSON))", "") include $(INFO_RULES_MK) # Add rules to generate the keymap files - indentation here is important -$(INTERMEDIATE_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) $(DD_CONFIG_FILES) +$(INTERMEDIATE_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) $(eval CMD=$(QMK_BIN) json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)) @$(BUILD_CMD) -$(INTERMEDIATE_OUTPUT)/src/config.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES) +$(INTERMEDIATE_OUTPUT)/src/config.h: $(KEYMAP_JSON) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) $(eval CMD=$(QMK_BIN) generate-config-h --quiet --output $(KEYMAP_H) $(KEYMAP_JSON)) @$(BUILD_CMD) -$(INTERMEDIATE_OUTPUT)/src/keymap.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES) +$(INTERMEDIATE_OUTPUT)/src/keymap.h: $(KEYMAP_JSON) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) $(eval CMD=$(QMK_BIN) generate-keymap-h --quiet --output $(INTERMEDIATE_OUTPUT)/src/keymap.h $(KEYMAP_JSON)) @$(BUILD_CMD) @@ -251,44 +226,6 @@ generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/ endif -# 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) - @$(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)) - @$(BUILD_CMD) - -$(INTERMEDIATE_OUTPUT)/src/community_modules.c: $(KEYMAP_JSON) $(DD_CONFIG_FILES) - @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) - $(eval CMD=$(QMK_BIN) generate-community-modules-c -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules.c $(KEYMAP_JSON)) - @$(BUILD_CMD) - -$(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.c: $(KEYMAP_JSON) $(DD_CONFIG_FILES) - @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) - $(eval CMD=$(QMK_BIN) generate-community-modules-introspection-c -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.c $(KEYMAP_JSON)) - @$(BUILD_CMD) - -$(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES) - @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) - $(eval CMD=$(QMK_BIN) generate-community-modules-introspection-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h $(KEYMAP_JSON)) - @$(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 - -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 # Generate the board's version.h file. @@ -378,14 +315,6 @@ endif # Find all of the config.h files and add them to our CONFIG_H define. CONFIG_H := - -define config_h_community_module_appender - ifneq ("$(wildcard $(1)/config.h)","") - CONFIG_H += $(1)/config.h - endif -endef -$(foreach module,$(COMMUNITY_MODULE_PATHS),$(eval $(call config_h_community_module_appender,$(module)))) - ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","") CONFIG_H += $(KEYBOARD_PATH_5)/config.h endif @@ -403,14 +332,6 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_1)/config.h)","") endif POST_CONFIG_H := - -define post_config_h_community_module_appender - ifneq ("$(wildcard $(1)/post_config.h)","") - POST_CONFIG_H += $(1)/post_config.h - endif -endef -$(foreach module,$(COMMUNITY_MODULE_PATHS),$(eval $(call post_config_h_community_module_appender,$(module)))) - ifneq ("$(wildcard $(KEYBOARD_PATH_1)/post_config.h)","") POST_CONFIG_H += $(KEYBOARD_PATH_1)/post_config.h endif @@ -427,6 +348,40 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_config.h)","") POST_CONFIG_H += $(KEYBOARD_PATH_5)/post_config.h endif +# Create dependencies on DD keyboard config - structure validated elsewhere +DD_CONFIG_FILES := +ifneq ("$(wildcard $(KEYBOARD_PATH_1)/info.json)","") + DD_CONFIG_FILES += $(KEYBOARD_PATH_1)/info.json +endif +ifneq ("$(wildcard $(KEYBOARD_PATH_2)/info.json)","") + DD_CONFIG_FILES += $(KEYBOARD_PATH_2)/info.json +endif +ifneq ("$(wildcard $(KEYBOARD_PATH_3)/info.json)","") + DD_CONFIG_FILES += $(KEYBOARD_PATH_3)/info.json +endif +ifneq ("$(wildcard $(KEYBOARD_PATH_4)/info.json)","") + DD_CONFIG_FILES += $(KEYBOARD_PATH_4)/info.json +endif +ifneq ("$(wildcard $(KEYBOARD_PATH_5)/info.json)","") + DD_CONFIG_FILES += $(KEYBOARD_PATH_5)/info.json +endif + +ifneq ("$(wildcard $(KEYBOARD_PATH_1)/keyboard.json)","") + DD_CONFIG_FILES += $(KEYBOARD_PATH_1)/keyboard.json +endif +ifneq ("$(wildcard $(KEYBOARD_PATH_2)/keyboard.json)","") + DD_CONFIG_FILES += $(KEYBOARD_PATH_2)/keyboard.json +endif +ifneq ("$(wildcard $(KEYBOARD_PATH_3)/keyboard.json)","") + DD_CONFIG_FILES += $(KEYBOARD_PATH_3)/keyboard.json +endif +ifneq ("$(wildcard $(KEYBOARD_PATH_4)/keyboard.json)","") + DD_CONFIG_FILES += $(KEYBOARD_PATH_4)/keyboard.json +endif +ifneq ("$(wildcard $(KEYBOARD_PATH_5)/keyboard.json)","") + DD_CONFIG_FILES += $(KEYBOARD_PATH_5)/keyboard.json +endif + CONFIG_H += $(INTERMEDIATE_OUTPUT)/src/info_config.h KEYBOARD_SRC += $(INTERMEDIATE_OUTPUT)/src/default_keyboard.c @@ -491,18 +446,21 @@ ifneq ("$(CONVERTER)","") endif # Pull in post_rules.mk files from all our subfolders --include $(KEYBOARD_PATH_1)/post_rules.mk --include $(KEYBOARD_PATH_2)/post_rules.mk --include $(KEYBOARD_PATH_3)/post_rules.mk --include $(KEYBOARD_PATH_4)/post_rules.mk --include $(KEYBOARD_PATH_5)/post_rules.mk - -define post_rules_mk_community_module_includer - ifneq ("$(wildcard $(1)/post_rules.mk)","") - include $(1)/post_rules.mk - endif -endef -$(foreach module,$(COMMUNITY_MODULE_PATHS),$(eval $(call post_rules_mk_community_module_includer,$(module)))) +ifneq ("$(wildcard $(KEYBOARD_PATH_1)/post_rules.mk)","") + include $(KEYBOARD_PATH_1)/post_rules.mk +endif +ifneq ("$(wildcard $(KEYBOARD_PATH_2)/post_rules.mk)","") + include $(KEYBOARD_PATH_2)/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 ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","") CONFIG_H += $(KEYMAP_PATH)/config.h diff --git a/builddefs/build_test.mk b/builddefs/build_test.mk index 0c5c98e2a3..d0de63c6f5 100644 --- a/builddefs/build_test.mk +++ b/builddefs/build_test.mk @@ -7,7 +7,6 @@ endif OPT = g include paths.mk -include $(BUILDDEFS_PATH)/support.mk include $(BUILDDEFS_PATH)/message.mk TARGET=test/$(TEST_OUTPUT) diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index ca60873bec..bb272099a6 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -30,8 +30,6 @@ QUANTUM_SRC += \ $(QUANTUM_DIR)/logging/sendchar.c \ $(QUANTUM_DIR)/process_keycode/process_default_layer.c \ -include $(QUANTUM_DIR)/nvm/rules.mk - VPATH += $(QUANTUM_DIR)/logging # Fall back to lib/printf if there is no platform provided print ifeq ("$(wildcard $(PLATFORM_PATH)/$(PLATFORM_KEY)/printf.mk)","") @@ -171,82 +169,80 @@ endif VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi wear_leveling legacy_stm32_flash EEPROM_DRIVER ?= vendor -ifneq ($(strip $(EEPROM_DRIVER)),none) - ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),) +ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid EEPROM_DRIVER,EEPROM_DRIVER="$(EEPROM_DRIVER)" is not a valid EEPROM driver) - else - OPT_DEFS += -DEEPROM_ENABLE - COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom - COMMON_VPATH += $(DRIVER_PATH)/eeprom - COMMON_VPATH += $(PLATFORM_COMMON_DIR) - ifeq ($(strip $(EEPROM_DRIVER)), custom) - # Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block - OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM - SRC += eeprom_driver.c - else ifeq ($(strip $(EEPROM_DRIVER)), wear_leveling) - # Wear-leveling EEPROM implementation - OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING - SRC += eeprom_driver.c eeprom_wear_leveling.c - else ifeq ($(strip $(EEPROM_DRIVER)), i2c) - # External I2C EEPROM implementation - OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C - I2C_DRIVER_REQUIRED = yes - SRC += eeprom_driver.c eeprom_i2c.c - else ifeq ($(strip $(EEPROM_DRIVER)), spi) - # External SPI EEPROM implementation - OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI - SPI_DRIVER_REQUIRED = yes - SRC += eeprom_driver.c eeprom_spi.c - else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash) - # STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated) - OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH - COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash - COMMON_VPATH += $(DRIVER_PATH)/flash - SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c - else ifeq ($(strip $(EEPROM_DRIVER)), transient) - # Transient EEPROM implementation -- no data storage but provides runtime area for it - OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT - SRC += eeprom_driver.c eeprom_transient.c - else ifeq ($(strip $(EEPROM_DRIVER)), vendor) - # Vendor-implemented EEPROM - OPT_DEFS += -DEEPROM_VENDOR - ifeq ($(PLATFORM),AVR) - # Automatically provided by avr-libc, nothing required - else ifeq ($(PLATFORM),CHIBIOS) - ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),) - # STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated) - OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH - COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash - COMMON_VPATH += $(DRIVER_PATH)/flash - SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c - else ifneq ($(filter $(MCU_SERIES),STM32F1xx STM32F3xx STM32F4xx STM32L4xx STM32G0xx STM32G4xx WB32F3G71xx WB32FQ95xx AT32F415 GD32VF103),) - # Wear-leveling EEPROM implementation, backed by MCU flash - OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING - SRC += eeprom_driver.c eeprom_wear_leveling.c - WEAR_LEVELING_DRIVER ?= embedded_flash - else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),) - # True EEPROM on STM32L0xx, L1xx - OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1 - SRC += eeprom_driver.c eeprom_stm32_L0_L1.c - else ifneq ($(filter $(MCU_SERIES),RP2040),) - # Wear-leveling EEPROM implementation, backed by RP2040 flash - OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING - SRC += eeprom_driver.c eeprom_wear_leveling.c - WEAR_LEVELING_DRIVER ?= rp2040_flash - else ifneq ($(filter $(MCU_SERIES),KL2x K20x),) - # Teensy EEPROM implementations - OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM - SRC += eeprom_kinetis_flexram.c - else - # Fall back to transient, i.e. non-persistent - OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT - SRC += eeprom_driver.c eeprom_transient.c - endif - else ifeq ($(PLATFORM),TEST) - # Test harness "EEPROM" - OPT_DEFS += -DEEPROM_TEST_HARNESS - SRC += eeprom.c +else + OPT_DEFS += -DEEPROM_ENABLE + COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom + COMMON_VPATH += $(DRIVER_PATH)/eeprom + COMMON_VPATH += $(PLATFORM_COMMON_DIR) + ifeq ($(strip $(EEPROM_DRIVER)), custom) + # Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM + SRC += eeprom_driver.c + else ifeq ($(strip $(EEPROM_DRIVER)), wear_leveling) + # Wear-leveling EEPROM implementation + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING + SRC += eeprom_driver.c eeprom_wear_leveling.c + else ifeq ($(strip $(EEPROM_DRIVER)), i2c) + # External I2C EEPROM implementation + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C + I2C_DRIVER_REQUIRED = yes + SRC += eeprom_driver.c eeprom_i2c.c + else ifeq ($(strip $(EEPROM_DRIVER)), spi) + # External SPI EEPROM implementation + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI + SPI_DRIVER_REQUIRED = yes + SRC += eeprom_driver.c eeprom_spi.c + else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash) + # STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated) + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH + COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash + COMMON_VPATH += $(DRIVER_PATH)/flash + SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c + else ifeq ($(strip $(EEPROM_DRIVER)), transient) + # Transient EEPROM implementation -- no data storage but provides runtime area for it + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT + SRC += eeprom_driver.c eeprom_transient.c + else ifeq ($(strip $(EEPROM_DRIVER)), vendor) + # Vendor-implemented EEPROM + OPT_DEFS += -DEEPROM_VENDOR + ifeq ($(PLATFORM),AVR) + # Automatically provided by avr-libc, nothing required + else ifeq ($(PLATFORM),CHIBIOS) + ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),) + # STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated) + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH + COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash + COMMON_VPATH += $(DRIVER_PATH)/flash + 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),) + # Wear-leveling EEPROM implementation, backed by MCU flash + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING + SRC += eeprom_driver.c eeprom_wear_leveling.c + WEAR_LEVELING_DRIVER ?= embedded_flash + else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),) + # True EEPROM on STM32L0xx, L1xx + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1 + SRC += eeprom_driver.c eeprom_stm32_L0_L1.c + else ifneq ($(filter $(MCU_SERIES),RP2040),) + # Wear-leveling EEPROM implementation, backed by RP2040 flash + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING + SRC += eeprom_driver.c eeprom_wear_leveling.c + WEAR_LEVELING_DRIVER ?= rp2040_flash + else ifneq ($(filter $(MCU_SERIES),KL2x K20x),) + # Teensy EEPROM implementations + OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM + SRC += eeprom_kinetis_flexram.c + else + # Fall back to transient, i.e. non-persistent + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT + 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 endif @@ -267,14 +263,18 @@ ifneq ($(strip $(WEAR_LEVELING_DRIVER)),none) ifeq ($(strip $(WEAR_LEVELING_DRIVER)), embedded_flash) OPT_DEFS += -DHAL_USE_EFL 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) FLASH_DRIVER := spi 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) 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) COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash 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 @@ -635,15 +635,6 @@ ifeq ($(strip $(VIA_ENABLE)), yes) TRI_LAYER_ENABLE := yes endif -ifeq ($(strip $(RAW_ENABLE)), yes) - OPT_DEFS += -DRAW_ENABLE - SRC += raw_hid.c -endif - -ifeq ($(strip $(DYNAMIC_KEYMAP_ENABLE)), yes) - SEND_STRING_ENABLE := yes -endif - VALID_CUSTOM_MATRIX_TYPES:= yes lite no CUSTOM_MATRIX ?= no @@ -722,7 +713,6 @@ ifeq ($(strip $(LIB8TION_ENABLE)), yes) # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines OPT_DEFS += -DLIB8_ATTINY endif - OPT_DEFS += -DFASTLED_SCALE8_FIXED=1 -DFASTLED_BLEND_FIXED=1 SRC += $(LIB_PATH)/lib8tion/lib8tion.c endif @@ -894,19 +884,19 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) OPT_DEFS += -DBLUETOOTH_ENABLE OPT_DEFS += -DBLUETOOTH_$(strip $(shell echo $(BLUETOOTH_DRIVER) | tr '[:lower:]' '[:upper:]')) NO_USB_STARTUP_CHECK := yes - CONNECTION_ENABLE := yes COMMON_VPATH += $(DRIVER_PATH)/bluetooth - SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c + SRC += outputselect.c process_connection.c ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le) SPI_DRIVER_REQUIRED = yes - SRC += $(DRIVER_PATH)/bluetooth/bluetooth_drivers.c + ANALOG_DRIVER_REQUIRED = yes + SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp endif ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42) UART_DRIVER_REQUIRED = yes - SRC += $(DRIVER_PATH)/bluetooth/bluetooth_drivers.c + SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c SRC += $(DRIVER_PATH)/bluetooth/rn42.c endif endif @@ -940,28 +930,6 @@ ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes) 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 WS2812_DRIVER ?= bitbang @@ -972,8 +940,6 @@ ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes) OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]')) - COMMON_VPATH += $(DRIVER_PATH)/led - SRC += ws2812.c ws2812_$(strip $(WS2812_DRIVER)).c ifeq ($(strip $(PLATFORM)), CHIBIOS) diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index d6f91b10e4..e45063cfaf 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -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 define BOARDSRC_INJECT_HOOKS -$(INTERMEDIATE_OUTPUT)/$(patsubst %.c,%.o,$(patsubst ./%,%,$1)): FILE_SPECIFIC_CFLAGS += -include $(TOP_DIR)/tmk_core/protocol/chibios/init_hooks.h +$(INTERMEDIATE_OUTPUT)/$(patsubst %.c,%.o,$(patsubst ./%,%,$1)): INIT_HOOK_CFLAGS += -include $(TOP_DIR)/tmk_core/protocol/chibios/init_hooks.h endef $(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),) $$(if $$(filter $$(notdir $$(VERBOSE_C_INCLUDE)),$$(notdir $$<)),$$(eval CC_EXEC += -H)) endif - $$(eval CMD := $$(CC_EXEC) -c $$($1_CFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) + $$(eval CMD := $$(CC_EXEC) -c $$($1_CFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) @$$(BUILD_CMD) ifneq ($$(DUMP_C_MACROS),) - $$(eval CMD := $$(CC) -E -dM $$($1_CFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$<) + $$(eval CMD := $$(CC) -E -dM $$($1_CFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$<) @$$(if $$(filter $$(notdir $$(DUMP_C_MACROS)),$$(notdir $$<)),$$(BUILD_CMD)) 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) @mkdir -p $$(@D) @$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD) - $$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) + $$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) @$$(BUILD_CMD) $1/%.o : %.cc $1/%.d $1/cxxflags.txt $1/compiler.txt | $(BEGIN) @mkdir -p $$(@D) @$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD) - $$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) + $$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) @$$(BUILD_CMD) # Assemble: create object files from assembler source files. diff --git a/builddefs/converters.mk b/builddefs/converters.mk index 20ecea5cb9..b1e5a1bed2 100644 --- a/builddefs/converters.mk +++ b/builddefs/converters.mk @@ -1,3 +1,10 @@ +# 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)) # TODO: opt in rather than assume everything uses a pro micro PIN_COMPATIBLE ?= promicro diff --git a/builddefs/docsgen/package.json b/builddefs/docsgen/package.json index 69e229ae61..3bc4b38c86 100644 --- a/builddefs/docsgen/package.json +++ b/builddefs/docsgen/package.json @@ -1,7 +1,7 @@ { "license": "GPL-2.0-or-later", "devDependencies": { - "vite": "^5.4.19", + "vite": "^5.2.14", "vitepress": "^1.1.0", "vitepress-plugin-tabs": "^0.5.0", "vue": "^3.4.24" diff --git a/builddefs/docsgen/yarn.lock b/builddefs/docsgen/yarn.lock index 8a8457eb8d..3b5f68035f 100644 --- a/builddefs/docsgen/yarn.lock +++ b/builddefs/docsgen/yarn.lock @@ -178,220 +178,205 @@ "@docsearch/css" "3.6.0" algoliasearch "^4.19.1" -"@esbuild/aix-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" - integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== -"@esbuild/android-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" - integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== -"@esbuild/android-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" - integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== -"@esbuild/android-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" - integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== -"@esbuild/darwin-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" - integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== +"@esbuild/darwin-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" + integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== -"@esbuild/darwin-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" - integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== +"@esbuild/darwin-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" + integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== -"@esbuild/freebsd-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" - integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== -"@esbuild/freebsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" - integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== -"@esbuild/linux-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" - integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== -"@esbuild/linux-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" - integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== -"@esbuild/linux-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" - integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== -"@esbuild/linux-loong64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" - integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== -"@esbuild/linux-mips64el@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" - integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== -"@esbuild/linux-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" - integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== -"@esbuild/linux-riscv64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" - integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== -"@esbuild/linux-s390x@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" - integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== -"@esbuild/linux-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" - integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== -"@esbuild/netbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" - integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== -"@esbuild/openbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" - integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== -"@esbuild/sunos-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" - integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== -"@esbuild/win32-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" - integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== -"@esbuild/win32-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" - integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== -"@esbuild/win32-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" - integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== "@jridgewell/sourcemap-codec@^1.4.15": version "1.4.15" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@rollup/rollup-android-arm-eabi@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz#d4dd60da0075a6ce9a6c76d71b8204f3e1822285" - integrity sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA== +"@rollup/rollup-android-arm-eabi@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz#8b613b9725e8f9479d142970b106b6ae878610d5" + integrity sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w== -"@rollup/rollup-android-arm64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz#25c4d33259a7a2ccd2f52a5ffcc0bb3ab3f0729d" - integrity sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g== +"@rollup/rollup-android-arm64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz#654ca1049189132ff602bfcf8df14c18da1f15fb" + integrity sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA== -"@rollup/rollup-darwin-arm64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz#d137dff254b19163a6b52ac083a71cd055dae844" - integrity sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g== +"@rollup/rollup-darwin-arm64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz#6d241d099d1518ef0c2205d96b3fa52e0fe1954b" + integrity sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q== -"@rollup/rollup-darwin-x64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz#58ff20b5dacb797d3adca19f02a21c532f9d55bf" - integrity sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ== +"@rollup/rollup-darwin-x64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz#42bd19d292a57ee11734c980c4650de26b457791" + integrity sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw== -"@rollup/rollup-freebsd-arm64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz#96ce1a241c591ec3e068f4af765d94eddb24e60c" - integrity sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew== +"@rollup/rollup-linux-arm-gnueabihf@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz#f23555ee3d8fe941c5c5fd458cd22b65eb1c2232" + integrity sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ== -"@rollup/rollup-freebsd-x64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz#e59e7ede505be41f0b4311b0b943f8eb44938467" - integrity sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA== +"@rollup/rollup-linux-arm-musleabihf@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz#f3bbd1ae2420f5539d40ac1fde2b38da67779baa" + integrity sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg== -"@rollup/rollup-linux-arm-gnueabihf@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz#e455ca6e4ff35bd46d62201c153352e717000a7b" - integrity sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw== +"@rollup/rollup-linux-arm64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz#7abe900120113e08a1f90afb84c7c28774054d15" + integrity sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw== -"@rollup/rollup-linux-arm-musleabihf@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz#bc1a93d807d19e70b1e343a5bfea43723bcd6327" - integrity sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg== +"@rollup/rollup-linux-arm64-musl@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz#9e655285c8175cd44f57d6a1e8e5dedfbba1d820" + integrity sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA== -"@rollup/rollup-linux-arm64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz#f38bf843f1dc3d5de680caf31084008846e3efae" - integrity sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA== +"@rollup/rollup-linux-powerpc64le-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz#9a79ae6c9e9d8fe83d49e2712ecf4302db5bef5e" + integrity sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg== -"@rollup/rollup-linux-arm64-musl@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz#b3987a96c18b7287129cf735be2dbf83e94d9d05" - integrity sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g== +"@rollup/rollup-linux-riscv64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz#67ac70eca4ace8e2942fabca95164e8874ab8128" + integrity sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA== -"@rollup/rollup-linux-loongarch64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz#0f0324044e71c4f02e9f49e7ec4e347b655b34ee" - integrity sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ== +"@rollup/rollup-linux-s390x-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz#9f883a7440f51a22ed7f99e1d070bd84ea5005fc" + integrity sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q== -"@rollup/rollup-linux-powerpc64le-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz#809479f27f1fd5b4eecd2aa732132ad952d454ba" - integrity sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ== +"@rollup/rollup-linux-x64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz#70116ae6c577fe367f58559e2cffb5641a1dd9d0" + integrity sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg== -"@rollup/rollup-linux-riscv64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz#7bc75c4f22db04d3c972f83431739cfa41c6a36e" - integrity sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw== +"@rollup/rollup-linux-x64-musl@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz#f473f88219feb07b0b98b53a7923be716d1d182f" + integrity sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g== -"@rollup/rollup-linux-s390x-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz#cfe8052345c55864d83ae343362cf1912480170e" - integrity sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ== +"@rollup/rollup-win32-arm64-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz#4349482d17f5d1c58604d1c8900540d676f420e0" + integrity sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw== -"@rollup/rollup-linux-x64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz#c6b048f1e25f3fea5b4bd246232f4d07a159c5a0" - integrity sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g== +"@rollup/rollup-win32-ia32-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz#a6fc39a15db618040ec3c2a24c1e26cb5f4d7422" + integrity sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g== -"@rollup/rollup-linux-x64-musl@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz#615273ac52d1a201f4de191cbd3389016a9d7d80" - integrity sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA== - -"@rollup/rollup-win32-arm64-msvc@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz#32ed85810c1b831c648eca999d68f01255b30691" - integrity sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw== - -"@rollup/rollup-win32-ia32-msvc@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz#d47effada68bcbfdccd30c4a788d42e4542ff4d3" - integrity sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ== - -"@rollup/rollup-win32-x64-msvc@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz#7a2d89a82cf0388d60304964217dd7beac6de645" - integrity sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw== +"@rollup/rollup-win32-x64-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz#3dd5d53e900df2a40841882c02e56f866c04d202" + integrity sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q== "@shikijs/core@1.3.0", "@shikijs/core@^1.3.0": version "1.3.0" @@ -405,10 +390,10 @@ dependencies: shiki "1.3.0" -"@types/estree@1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== +"@types/estree@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/linkify-it@*": version "3.0.5" @@ -604,34 +589,34 @@ entities@^4.5.0: resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== -esbuild@^0.21.3: - version "0.21.5" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" - integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== +esbuild@^0.20.1: + version "0.20.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" + integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== optionalDependencies: - "@esbuild/aix-ppc64" "0.21.5" - "@esbuild/android-arm" "0.21.5" - "@esbuild/android-arm64" "0.21.5" - "@esbuild/android-x64" "0.21.5" - "@esbuild/darwin-arm64" "0.21.5" - "@esbuild/darwin-x64" "0.21.5" - "@esbuild/freebsd-arm64" "0.21.5" - "@esbuild/freebsd-x64" "0.21.5" - "@esbuild/linux-arm" "0.21.5" - "@esbuild/linux-arm64" "0.21.5" - "@esbuild/linux-ia32" "0.21.5" - "@esbuild/linux-loong64" "0.21.5" - "@esbuild/linux-mips64el" "0.21.5" - "@esbuild/linux-ppc64" "0.21.5" - "@esbuild/linux-riscv64" "0.21.5" - "@esbuild/linux-s390x" "0.21.5" - "@esbuild/linux-x64" "0.21.5" - "@esbuild/netbsd-x64" "0.21.5" - "@esbuild/openbsd-x64" "0.21.5" - "@esbuild/sunos-x64" "0.21.5" - "@esbuild/win32-arm64" "0.21.5" - "@esbuild/win32-ia32" "0.21.5" - "@esbuild/win32-x64" "0.21.5" + "@esbuild/aix-ppc64" "0.20.2" + "@esbuild/android-arm" "0.20.2" + "@esbuild/android-arm64" "0.20.2" + "@esbuild/android-x64" "0.20.2" + "@esbuild/darwin-arm64" "0.20.2" + "@esbuild/darwin-x64" "0.20.2" + "@esbuild/freebsd-arm64" "0.20.2" + "@esbuild/freebsd-x64" "0.20.2" + "@esbuild/linux-arm" "0.20.2" + "@esbuild/linux-arm64" "0.20.2" + "@esbuild/linux-ia32" "0.20.2" + "@esbuild/linux-loong64" "0.20.2" + "@esbuild/linux-mips64el" "0.20.2" + "@esbuild/linux-ppc64" "0.20.2" + "@esbuild/linux-riscv64" "0.20.2" + "@esbuild/linux-s390x" "0.20.2" + "@esbuild/linux-x64" "0.20.2" + "@esbuild/netbsd-x64" "0.20.2" + "@esbuild/openbsd-x64" "0.20.2" + "@esbuild/sunos-x64" "0.20.2" + "@esbuild/win32-arm64" "0.20.2" + "@esbuild/win32-ia32" "0.20.2" + "@esbuild/win32-x64" "0.20.2" estree-walker@^2.0.2: version "2.0.2" @@ -677,29 +662,29 @@ mitt@^3.0.1: resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1" integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== -nanoid@^3.3.8: - version "3.3.8" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" - integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== perfect-debounce@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a" integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== -picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -postcss@^8.4.38, postcss@^8.4.43: - version "8.5.1" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.1.tgz#e2272a1f8a807fafa413218245630b5db10a3214" - integrity sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ== +postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== dependencies: - nanoid "^3.3.8" - picocolors "^1.1.1" - source-map-js "^1.2.1" + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" preact@^10.0.0: version "10.20.2" @@ -711,32 +696,29 @@ rfdc@^1.3.1: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== -rollup@^4.20.0: - version "4.31.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.31.0.tgz#b84af969a0292cb047dce2c0ec5413a9457597a4" - integrity sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw== +rollup@^4.13.0: + version "4.22.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.22.4.tgz#4135a6446671cd2a2453e1ad42a45d5973ec3a0f" + integrity sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A== dependencies: - "@types/estree" "1.0.6" + "@types/estree" "1.0.5" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.31.0" - "@rollup/rollup-android-arm64" "4.31.0" - "@rollup/rollup-darwin-arm64" "4.31.0" - "@rollup/rollup-darwin-x64" "4.31.0" - "@rollup/rollup-freebsd-arm64" "4.31.0" - "@rollup/rollup-freebsd-x64" "4.31.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.31.0" - "@rollup/rollup-linux-arm-musleabihf" "4.31.0" - "@rollup/rollup-linux-arm64-gnu" "4.31.0" - "@rollup/rollup-linux-arm64-musl" "4.31.0" - "@rollup/rollup-linux-loongarch64-gnu" "4.31.0" - "@rollup/rollup-linux-powerpc64le-gnu" "4.31.0" - "@rollup/rollup-linux-riscv64-gnu" "4.31.0" - "@rollup/rollup-linux-s390x-gnu" "4.31.0" - "@rollup/rollup-linux-x64-gnu" "4.31.0" - "@rollup/rollup-linux-x64-musl" "4.31.0" - "@rollup/rollup-win32-arm64-msvc" "4.31.0" - "@rollup/rollup-win32-ia32-msvc" "4.31.0" - "@rollup/rollup-win32-x64-msvc" "4.31.0" + "@rollup/rollup-android-arm-eabi" "4.22.4" + "@rollup/rollup-android-arm64" "4.22.4" + "@rollup/rollup-darwin-arm64" "4.22.4" + "@rollup/rollup-darwin-x64" "4.22.4" + "@rollup/rollup-linux-arm-gnueabihf" "4.22.4" + "@rollup/rollup-linux-arm-musleabihf" "4.22.4" + "@rollup/rollup-linux-arm64-gnu" "4.22.4" + "@rollup/rollup-linux-arm64-musl" "4.22.4" + "@rollup/rollup-linux-powerpc64le-gnu" "4.22.4" + "@rollup/rollup-linux-riscv64-gnu" "4.22.4" + "@rollup/rollup-linux-s390x-gnu" "4.22.4" + "@rollup/rollup-linux-x64-gnu" "4.22.4" + "@rollup/rollup-linux-x64-musl" "4.22.4" + "@rollup/rollup-win32-arm64-msvc" "4.22.4" + "@rollup/rollup-win32-ia32-msvc" "4.22.4" + "@rollup/rollup-win32-x64-msvc" "4.22.4" fsevents "~2.3.2" shiki@1.3.0, shiki@^1.3.0: @@ -751,11 +733,6 @@ source-map-js@^1.2.0: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== -source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - speakingurl@^14.0.1: version "14.0.1" resolved "https://registry.yarnpkg.com/speakingurl/-/speakingurl-14.0.1.tgz#f37ec8ddc4ab98e9600c1c9ec324a8c48d772a53" @@ -766,14 +743,14 @@ tabbable@^6.2.0: resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== -vite@^5.2.9, vite@^5.4.19: - version "5.4.19" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.19.tgz#20efd060410044b3ed555049418a5e7d1998f959" - integrity sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA== +vite@^5.2.14, vite@^5.2.9: + version "5.2.14" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.14.tgz#fd5f60facf6b5f90ec7da6323c467a365d380c3d" + integrity sha512-TFQLuwWLPms+NBNlh0D9LZQ+HXW471COABxw/9TEUBrjuHMo9BrYBPrN/SYAwIuVL+rLerycxiLT41t4f5MZpA== dependencies: - esbuild "^0.21.3" - postcss "^8.4.43" - rollup "^4.20.0" + esbuild "^0.20.1" + postcss "^8.4.38" + rollup "^4.13.0" optionalDependencies: fsevents "~2.3.3" diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk index c826514431..f14f440877 100644 --- a/builddefs/generic_features.mk +++ b/builddefs/generic_features.mk @@ -25,7 +25,6 @@ GENERIC_FEATURES = \ CAPS_WORD \ COMBO \ COMMAND \ - CONNECTION \ CRC \ DEFERRED_EXEC \ DIGITIZER \ @@ -35,7 +34,6 @@ GENERIC_FEATURES = \ DYNAMIC_TAPPING_TERM \ GRAVE_ESC \ HAPTIC \ - KEYCODE_STRING \ KEY_LOCK \ KEY_OVERRIDE \ LAYER_LOCK \ @@ -62,7 +60,6 @@ define HANDLE_GENERIC_FEATURE SRC += $$(wildcard $$(QUANTUM_DIR)/process_keycode/process_$2.c) SRC += $$(wildcard $$(QUANTUM_DIR)/$2/$2.c) SRC += $$(wildcard $$(QUANTUM_DIR)/$2.c) - SRC += $$(wildcard $$(QUANTUM_DIR)/nvm/$$(NVM_DRIVER_LOWER)/nvm_$2.c) VPATH += $$(wildcard $$(QUANTUM_DIR)/$2/) OPT_DEFS += -D$1_ENABLE endef diff --git a/builddefs/support.mk b/builddefs/support.mk deleted file mode 100644 index 7ef7b9b041..0000000000 --- a/builddefs/support.mk +++ /dev/null @@ -1,11 +0,0 @@ -# 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) -, := , diff --git a/data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson index 11b68d16a0..d2b8c1d7d9 100644 --- a/data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson @@ -372,4 +372,4 @@ "label": "~", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson index 7a9dea9d13..713f3f2829 100644 --- a/data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson @@ -629,4 +629,4 @@ "label": "(narrow non-breaking space)", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson index e28970ed33..17006a64df 100644 --- a/data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson @@ -376,4 +376,4 @@ "label": "₢", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson index a663088e22..bfe5d5b54c 100644 --- a/data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson @@ -638,4 +638,4 @@ "label": "÷", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson index 0bf0f3b221..1dc091584b 100644 --- a/data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson @@ -299,4 +299,4 @@ "label": "?", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson index 50464921fa..82632aa637 100644 --- a/data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson @@ -400,4 +400,4 @@ "label": "§", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson index 8b1572bfcb..9cfb88c489 100644 --- a/data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson @@ -432,4 +432,4 @@ "label": "*", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson index 0e8f7a75c6..fffcd9f9ad 100644 --- a/data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson @@ -356,4 +356,4 @@ "label": "µ", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson index 485d86aa21..534f99c8e6 100644 --- a/data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson @@ -299,4 +299,4 @@ "label": ":", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson index 69ce14486e..70c0b3c0aa 100644 --- a/data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson @@ -314,4 +314,4 @@ "label": "@", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson index 6fa9868e4c..8a70dae7ef 100644 --- a/data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson @@ -299,4 +299,4 @@ "label": "\"", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson index 276d3fe664..bbf7512581 100644 --- a/data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson @@ -364,4 +364,4 @@ "label": "ž", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_eurkey_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_eurkey_0.0.1.hjson deleted file mode 100644 index 9b4fa33053..0000000000 --- a/data/constants/keycodes/extras/keycodes_eurkey_0.0.1.hjson +++ /dev/null @@ -1,596 +0,0 @@ -{ - "aliases": { -/* - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ - * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ - * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ - * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ - * │ │ │ │ │ │ │ │ │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ - */ - "KC_GRV": { - "key": "EU_GRV", - "label": "`", - } - "KC_1": { - "key": "EU_1", - "label": "1", - } - "KC_2": { - "key": "EU_2", - "label": "2", - } - "KC_3": { - "key": "EU_3", - "label": "3", - } - "KC_4": { - "key": "EU_4", - "label": "4", - } - "KC_5": { - "key": "EU_5", - "label": "5", - } - "KC_6": { - "key": "EU_6", - "label": "6", - } - "KC_7": { - "key": "EU_7", - "label": "7", - } - "KC_8": { - "key": "EU_8", - "label": "8", - } - "KC_9": { - "key": "EU_9", - "label": "9", - } - "KC_0": { - "key": "EU_0", - "label": "0", - } - "KC_MINS": { - "key": "EU_MINS", - "label": "-", - } - "KC_EQL": { - "key": "EU_EQL", - "label": "=", - } - "KC_Q": { - "key": "EU_Q", - "label": "Q", - } - "KC_W": { - "key": "EU_W", - "label": "W", - } - "KC_E": { - "key": "EU_E", - "label": "E", - } - "KC_R": { - "key": "EU_R", - "label": "R", - } - "KC_T": { - "key": "EU_T", - "label": "T", - } - "KC_Y": { - "key": "EU_Y", - "label": "Y", - } - "KC_U": { - "key": "EU_U", - "label": "U", - } - "KC_I": { - "key": "EU_I", - "label": "I", - } - "KC_O": { - "key": "EU_O", - "label": "O", - } - "KC_P": { - "key": "EU_P", - "label": "P", - } - "KC_LBRC": { - "key": "EU_LBRC", - "label": "[", - } - "KC_RBRC": { - "key": "EU_RBRC", - "label": "]", - } - "KC_BSLS": { - "key": "EU_BSLS", - "label": "\\", - } - "KC_A": { - "key": "EU_A", - "label": "A", - } - "KC_S": { - "key": "EU_S", - "label": "S", - } - "KC_D": { - "key": "EU_D", - "label": "D", - } - "KC_F": { - "key": "EU_F", - "label": "F", - } - "KC_G": { - "key": "EU_G", - "label": "G", - } - "KC_H": { - "key": "EU_H", - "label": "H", - } - "KC_J": { - "key": "EU_J", - "label": "J", - } - "KC_K": { - "key": "EU_K", - "label": "K", - } - "KC_L": { - "key": "EU_L", - "label": "L", - } - "KC_SCLN": { - "key": "EU_SCLN", - "label": ";", - } - "KC_QUOT": { - "key": "EU_QUOT", - "label": "'", - } - "KC_Z": { - "key": "EU_Z", - "label": "Z", - } - "KC_X": { - "key": "EU_X", - "label": "X", - } - "KC_C": { - "key": "EU_C", - "label": "C", - } - "KC_V": { - "key": "EU_V", - "label": "V", - } - "KC_B": { - "key": "EU_B", - "label": "B", - } - "KC_N": { - "key": "EU_N", - "label": "N", - } - "KC_M": { - "key": "EU_M", - "label": "M", - } - "KC_COMM": { - "key": "EU_COMM", - "label": ",", - } - "KC_DOT": { - "key": "EU_DOT", - "label": ".", - } - "KC_SLSH": { - "key": "EU_SLSH", - "label": "/", - } -/* Shifted symbols - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ - * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ - * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ - * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ - * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ - * │ │ │ │ │ │ │ │ │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ - */ - "S(EU_GRV)": { - "key": "EU_TILD", - "label": "~", - } - "S(EU_1)": { - "key": "EU_EXLM", - "label": "!", - } - "S(EU_2)": { - "key": "EU_AT", - "label": "@", - } - "S(EU_3)": { - "key": "EU_HASH", - "label": "#", - } - "S(EU_4)": { - "key": "EU_DLR", - "label": "$", - } - "S(EU_5)": { - "key": "EU_PERC", - "label": "%", - } - "S(EU_6)": { - "key": "EU_CIRC", - "label": "^", - } - "S(EU_7)": { - "key": "EU_AMPR", - "label": "&", - } - "S(EU_8)": { - "key": "EU_ASTR", - "label": "*", - } - "S(EU_9)": { - "key": "EU_LPRN", - "label": "(", - } - "S(EU_0)": { - "key": "EU_RPRN", - "label": ")", - } - "S(EU_MINS)": { - "key": "EU_UNDS", - "label": "_", - } - "S(EU_EQL)": { - "key": "EU_PLUS", - "label": "+", - } - "S(EU_LBRC)": { - "key": "EU_LCBR", - "label": "{", - } - "S(EU_RBRC)": { - "key": "EU_RCBR", - "label": "}", - } - "S(EU_BSLS)": { - "key": "EU_PIPE", - "label": "|", - } - "S(EU_SCLN)": { - "key": "EU_COLN", - "label": ":", - } - "S(EU_QUOT)": { - "key": "EU_DQUO", - "label": "\"", - } - "S(EU_COMM)": { - "key": "EU_LABK", - "label": "<", - } - "S(EU_DOT)": { - "key": "EU_RABK", - "label": ">", - } - "S(EU_SLSH)": { - "key": "EU_QUES", - "label": "?", - } -/* AltGr symbols - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ - * │ ` │ ¡ │ ª │ º │ £ │ € │ ^ │ ˚ │ „ │ “ │ ” │ – │ × │ │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ - * │ │ æ │ å │ ë │ ý │ þ │ ÿ │ ü │ ï │ ö │ œ │ « │ » │ ¬ │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ - * │ │ ä │ ß │ ð │ è │ é │ ù │ ú │ ij │ ø │ ° │ ´ │ │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ - * │ │ à │ á │ ç │ ì │ í │ ñ │ μ │ ò │ ó │ ¿ │ │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ - * │ │ │ │ │ │ │ │ │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ - */ - "ALGR(EU_GRV)": { - "key": "EU_DGRV", - "label": "` (dead)", - } - "ALGR(EU_1)": { - "key": "EU_IEXL", - "label": "¡", - } - "ALGR(EU_2)": { - "key": "EU_FORD", - "label": "ª", - } - "ALGR(EU_3)": { - "key": "EU_MORD", - "label": "º", - } - "ALGR(EU_4)": { - "key": "EU_PND", - "label": "£", - } - "ALGR(EU_5)": { - "key": "EU_EURO", - "label": "€", - } - "ALGR(EU_6)": { - "key": "EU_DCIR", - "label": "^ (dead)", - } - "ALGR(EU_7)": { - "key": "EU_RNGA", - "label": "˚ (dead)", - } - "ALGR(EU_8)": { - "key": "EU_DLQU", - "label": "„", - } - "ALGR(EU_9)": { - "key": "EU_LDQU", - "label": "“", - } - "ALGR(EU_0)": { - "key": "EU_RDQU", - "label": "”", - } - "ALGR(EU_MINS)": { - "key": "EU_NDSH", - "label": "–", - } - "ALGR(EU_EQL)": { - "key": "EU_MUL", - "label": "×", - } - "ALGR(EU_Q)": { - "key": "EU_AE", - "label": "æ", - } - "ALGR(EU_W)": { - "key": "EU_ARNG", - "label": "Å", - } - "ALGR(EU_E)": { - "key": "EU_EDIA", - "label": "Ë", - } - "ALGR(EU_R)": { - "key": "EU_YACU", - "label": "Ý", - } - "ALGR(EU_T)": { - "key": "EU_THRN", - "label": "Þ", - } - "ALGR(EU_Y)": { - "key": "EU_YDIA", - "label": "Ÿ", - } - "ALGR(EU_U)": { - "key": "EU_UDIA", - "label": "Ü", - } - "ALGR(EU_I)": { - "key": "EU_IDIA", - "label": "Ï", - } - "ALGR(EU_O)": { - "key": "EU_ODIA", - "label": "Ö", - } - "ALGR(EU_P)": { - "key": "EU_OE", - "label": "Œ", - } - "ALGR(EU_LBRC)": { - "key": "EU_LDAQ", - "label": "«", - } - "ALGR(EU_RBRC)": { - "key": "EU_RDAQ", - "label": "»", - } - "ALGR(EU_BSLS)": { - "key": "EU_NOT", - "label": "¬", - } - "ALGR(EU_A)": { - "key": "EU_ADIA", - "label": "Ä", - } - "ALGR(EU_S)": { - "key": "EU_SS", - "label": "ß", - } - "ALGR(EU_D)": { - "key": "EU_ETH", - "label": "Ð", - } - "ALGR(EU_F)": { - "key": "EU_EGRV", - "label": "È", - } - "ALGR(EU_G)": { - "key": "EU_EACU", - "label": "É", - } - "ALGR(EU_H)": { - "key": "EU_UGRV", - "label": "Ù", - } - "ALGR(EU_J)": { - "key": "EU_UACU", - "label": "Ú", - } - "ALGR(EU_K)": { - "key": "EU_IJ", - "label": "IJ", - } - "ALGR(EU_L)": { - "key": "EU_OSTR", - "label": "Ø", - } - "ALGR(EU_SCLN)": { - "key": "EU_DEG", - "label": "°", - } - "ALGR(EU_QUOT)": { - "key": "EU_ACUT", - "label": "´ (dead)", - } - "ALGR(EU_Z)": { - "key": "EU_AGRV", - "label": "À", - } - "ALGR(EU_X)": { - "key": "EU_AACU", - "label": "Á", - } - "ALGR(EU_C)": { - "key": "EU_CCED", - "label": "Ç", - } - "ALGR(EU_V)": { - "key": "EU_IGRV", - "label": "Ì", - } - "ALGR(EU_B)": { - "key": "EU_IACU", - "label": "Í", - } - "ALGR(EU_N)": { - "key": "EU_NTIL", - "label": "Ñ", - } - "ALGR(EU_M)": { - "key": "EU_DGRK", - "label": "μ (dead Greek key)", - } - "ALGR(EU_COMM)": { - "key": "EU_OGRV", - "label": "Ò", - } - "ALGR(EU_DOT)": { - "key": "EU_OACU", - "label": "Ó", - } - "ALGR(EU_SLSH)": { - "key": "EU_IQUE", - "label": "¿", - } -/* Shift+AltGr symbols - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ - * │ ~ │ ¹ │ ² │ ³ │ ¥ │ ¢ │ ˇ │ ¯ │ ‚ │ ‘ │ ’ │ — │ ÷ │ │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ - * │ │ │ │ │ │ │ │ │ │ │ │ ‹ │ › │ ¦ │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ - * │ │ │ § │ │ │ │ │ │ │ │ · │ ¨ │ │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ - * │ │ │ │ │ │ │ │ │ │ │ … │ │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ - * │ │ │ │ │ │ │ │ │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ - */ - "ALGR(EU_TILD)": { - "key": "EU_DTIL", - "label": "~ (dead)", - } - "S(ALGR(EU_1))": { - "key": "EU_SUP1", - "label": "¹", - } - "S(ALGR(EU_2))": { - "key": "EU_SUP2", - "label": "²", - } - "S(ALGR(EU_3))": { - "key": "EU_SUP3", - "label": "³", - } - "ALGR(EU_DLR)": { - "key": "EU_YEN", - "label": "¥", - } - "S(EU_EURO)": { - "key": "EU_CENT", - "label": "¢", - } - "S(EU_DCIR)": { - "key": "EU_CARN", - "label": "ˇ (dead)", - } - "S(ALGR(EU_7))": { - "key": "EU_MACR", - "label": "¯ (dead)", - } - "S(EU_DLQU)": { - "key": "EU_SLQU", - "label": "‚", - } - "S(EU_LDQU)": { - "key": "EU_LSQU", - "label": "‘", - } - "S(EU_RDQU)": { - "key": "EU_RSQU", - "label": "’", - } - "S(EU_NDSH)": { - "key": "EU_MDSH", - "label": "—", - } - "S(EU_MUL)": { - "key": "EU_DIV", - "label": "÷", - } - "S(EU_LDAQ)": { - "key": "EU_LSAQ", - "label": "‹", - } - "S(EU_RDAQ)": { - "key": "EU_RSAQ", - "label": "›", - } - "S(ALGR(EU_BSLS))": { - "key": "EU_BRKP", - "label": "¦", - } - "S(ALGR(EU_S))": { - "key": "EU_SECT", - "label": "§", - } - "S(ALGR(EU_SCLN))": { - "key": "EU_MDDT", - "label": "·", - } - "ALGR(EU_DQUO)": { - "key": "EU_DIAE", - "label": "¨ (dead)", - } - "ALGR(EU_QUES)": { - "key": "EU_ELLP", - "label": "…", - } - } -} diff --git a/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson index 68d209a5f3..d59b6fab26 100644 --- a/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson @@ -527,7 +527,7 @@ "key": "FA_PIPE", "label": "|", } - "ALGR(FA_RE)": { + "ALGR(FA_RA)": { "key": "FA_SUBA", "label": "ٖ", } diff --git a/data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson index a4d3c99a6f..b284192962 100644 --- a/data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson @@ -356,4 +356,4 @@ "label": "µ", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_french_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_french_0.0.1.hjson index 351dfe89d8..8ba7b35d2e 100644 --- a/data/constants/keycodes/extras/keycodes_french_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_french_0.0.1.hjson @@ -364,4 +364,4 @@ "label": "¤", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson index 92646c4de8..90981d085d 100644 --- a/data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson @@ -620,4 +620,4 @@ "label": "≠", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson index bb924e9852..b698018d5b 100644 --- a/data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson @@ -673,4 +673,4 @@ "label": "±", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_german_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_german_0.0.1.hjson index 015438abb2..a1cfd44956 100644 --- a/data/constants/keycodes/extras/keycodes_german_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_german_0.0.1.hjson @@ -356,4 +356,4 @@ "label": "µ", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson index fa3b8d67b5..366ed5b9d1 100644 --- a/data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson @@ -653,4 +653,4 @@ "label": "—", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson index b61a317b19..9c7f8796bf 100644 --- a/data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson @@ -388,4 +388,4 @@ "label": "©", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson index aaf0563623..b519229f35 100644 --- a/data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson @@ -344,4 +344,4 @@ "label": "÷", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson index e7ae0d340c..d4fc908dc0 100644 --- a/data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson @@ -432,4 +432,4 @@ "label": "*", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson index 59478a1018..f4d6025a77 100644 --- a/data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson @@ -352,4 +352,4 @@ "label": "µ", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson index 99487a5b90..94e553469e 100644 --- a/data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson @@ -352,4 +352,4 @@ "label": "´ (dead)", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson index 8b859d6de8..951c564f62 100644 --- a/data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson @@ -361,4 +361,4 @@ "label": "}", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson index 551f094974..328755ca67 100644 --- a/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson @@ -681,4 +681,4 @@ "label": "—", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson index aed90f203d..4beccd804a 100644 --- a/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson @@ -685,4 +685,4 @@ "label": "—", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson index 779eef8a84..d95712abd9 100644 --- a/data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson @@ -327,4 +327,4 @@ "label": "_", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson index 8e04d8ed2a..5ee19c9e4e 100644 --- a/data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson @@ -307,4 +307,4 @@ "label": "?", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson index 510a2c83a7..ab80f0fdd9 100644 --- a/data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson @@ -437,4 +437,4 @@ "label": "¨ (dead)", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson index f6140d7f93..dfb527878e 100644 --- a/data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson @@ -372,4 +372,4 @@ "label": "\\", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson index 2ab6f83c94..a4ea30d592 100644 --- a/data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson @@ -365,4 +365,4 @@ "label": "+", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson index 88ede311a6..980bddbf7a 100644 --- a/data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson @@ -214,4 +214,4 @@ "label": "(layer 4)", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson index 8536a004de..fb3d1bc84b 100644 --- a/data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson @@ -113,4 +113,4 @@ "key": "NO_MU" } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson index 45cd26ae1c..98ea7e6aab 100644 --- a/data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson @@ -299,4 +299,4 @@ "label": "?", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson index 0cc79c5631..4e8cbb5d0e 100644 --- a/data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson @@ -352,4 +352,4 @@ "label": "µ", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson index 78cfe9dd41..fb00ef0c62 100644 --- a/data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson @@ -83,4 +83,4 @@ "key": "PV_U" } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson index 8e1fe29f8b..9656dd9821 100644 --- a/data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson @@ -70,4 +70,4 @@ "key": "PD_U" } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson index f09f2c9b64..609011b1f7 100644 --- a/data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson @@ -352,4 +352,4 @@ "label": "Ń", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson index ec773ddbb5..c8e43065d2 100644 --- a/data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson @@ -352,4 +352,4 @@ "label": "€", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson index 503a3e92a6..b1c9aaad98 100644 --- a/data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson @@ -617,4 +617,4 @@ "label": "–", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson index f388523146..42b1e89d3b 100644 --- a/data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson @@ -441,4 +441,4 @@ "label": "»", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson index 41904be634..d83fc0f61f 100644 --- a/data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson @@ -288,4 +288,4 @@ "label": "₽", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson index 3ddd7f15df..98957930a0 100644 --- a/data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson @@ -304,4 +304,4 @@ "label": "€", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson index eec0877aa7..ca4746b646 100644 --- a/data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson @@ -404,4 +404,4 @@ "label": "§", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson index dbf39b5f49..14eb4b783a 100644 --- a/data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson @@ -440,4 +440,4 @@ "label": "}", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson index d264d3d392..fd1a4eb4fc 100644 --- a/data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson @@ -400,4 +400,4 @@ "label": "§", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson index 9656e35674..db3b068e97 100644 --- a/data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson @@ -356,4 +356,4 @@ "label": "}", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson index fa0a93ff85..39119a6a91 100644 --- a/data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson @@ -356,4 +356,4 @@ "label": "}", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson index 51ad69a55a..fb1de29e6e 100644 --- a/data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson @@ -340,4 +340,4 @@ "label": "`", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson index f538a81bd9..6db71ea241 100644 --- a/data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson @@ -356,4 +356,4 @@ "label": "µ", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson index 59f0173e89..ab7c3ad8d1 100644 --- a/data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson @@ -639,4 +639,4 @@ "label": "—", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson index cf2c0d9fdf..cafd815776 100644 --- a/data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson @@ -637,4 +637,4 @@ "label": "—", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson index 911cbc2be8..c82c79c711 100644 --- a/data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson @@ -639,4 +639,4 @@ "label": "—", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson index d8e532f792..4555739ccd 100644 --- a/data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson @@ -637,4 +637,4 @@ "label": "—", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson index e4a5f91158..ae260a5e56 100644 --- a/data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson @@ -376,4 +376,4 @@ "label": "\\", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson index e518658314..83fb86e49c 100644 --- a/data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson @@ -376,4 +376,4 @@ "label": "\\", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson index 0f527e04d6..2689f10dbe 100644 --- a/data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson @@ -477,4 +477,4 @@ "label": "º", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson index e736bb52a2..e00cee9ce3 100644 --- a/data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson @@ -372,4 +372,4 @@ "label": "` (dead)", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson index aa97e11fa9..006bf5c59e 100644 --- a/data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson @@ -350,4 +350,4 @@ "label": "Á" } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson index 3596dc14e0..2e8629f58b 100644 --- a/data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson @@ -292,4 +292,4 @@ "label": "ґ", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson index 15b21dd526..ecac6ca161 100644 --- a/data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson @@ -585,4 +585,4 @@ "label": "̉ (dead)", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson index 34328be8b8..36a574a4ad 100644 --- a/data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson @@ -505,4 +505,4 @@ "label": "¢", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson index fcf848dd87..d6bdf2e02d 100644 --- a/data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson @@ -573,4 +573,4 @@ "label": "̉ (dead)", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson index 14220e560e..27471a15e4 100644 --- a/data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson @@ -299,4 +299,4 @@ "label": "?", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson index f05ec1a3ea..86f6a5bffb 100644 --- a/data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson +++ b/data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson @@ -299,4 +299,4 @@ "label": "?", } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/keycodes_0.0.1.hjson b/data/constants/keycodes/keycodes_0.0.1.hjson index c40baf13dc..7ba1ecf201 100644 --- a/data/constants/keycodes/keycodes_0.0.1.hjson +++ b/data/constants/keycodes/keycodes_0.0.1.hjson @@ -93,4 +93,4 @@ "key": "SAFE_RANGE" } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/keycodes_0.0.1_joystick.hjson b/data/constants/keycodes/keycodes_0.0.1_joystick.hjson index b851d72eef..0bda7c29f3 100644 --- a/data/constants/keycodes/keycodes_0.0.1_joystick.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_joystick.hjson @@ -225,4 +225,4 @@ ] } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/keycodes_0.0.1_magic.hjson b/data/constants/keycodes/keycodes_0.0.1_magic.hjson index 0e3e8dc55f..7ee1f2bce9 100644 --- a/data/constants/keycodes/keycodes_0.0.1_magic.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_magic.hjson @@ -246,4 +246,4 @@ ] } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson b/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson index 7d031728a6..645bcd6a39 100644 --- a/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson @@ -225,4 +225,4 @@ ] } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/keycodes_0.0.1_sequencer.hjson b/data/constants/keycodes/keycodes_0.0.1_sequencer.hjson index 85844ae99c..039d09b2fa 100644 --- a/data/constants/keycodes/keycodes_0.0.1_sequencer.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_sequencer.hjson @@ -37,4 +37,4 @@ "key": "SQ_SCLR" } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/keycodes_0.0.2_basic.hjson b/data/constants/keycodes/keycodes_0.0.2_basic.hjson index d9cefe7e93..2b5df85d99 100644 --- a/data/constants/keycodes/keycodes_0.0.2_basic.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_basic.hjson @@ -17,4 +17,4 @@ ] } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/keycodes_0.0.2_magic.hjson b/data/constants/keycodes/keycodes_0.0.2_magic.hjson index 2fc8ba038d..81758975e3 100644 --- a/data/constants/keycodes/keycodes_0.0.2_magic.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_magic.hjson @@ -248,4 +248,4 @@ ] } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson b/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson index 445a2c9328..eedaed166c 100644 --- a/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson @@ -66,4 +66,4 @@ ] } } -} +} \ No newline at end of file diff --git a/data/constants/keycodes/keycodes_0.0.7.hjson b/data/constants/keycodes/keycodes_0.0.7.hjson deleted file mode 100644 index 52e1a50443..0000000000 --- a/data/constants/keycodes/keycodes_0.0.7.hjson +++ /dev/null @@ -1,7 +0,0 @@ -{ - "ranges": { - "0x77C0/0x003F": { - "define": "QK_COMMUNITY_MODULE" - } - } -} diff --git a/data/constants/module_hooks/0.1.0.hjson b/data/constants/module_hooks/0.1.0.hjson deleted file mode 100644 index c77f4c297e..0000000000 --- a/data/constants/module_hooks/0.1.0.hjson +++ /dev/null @@ -1,25 +0,0 @@ -{ - keyboard_pre_init: { - ret_type: void - args: void - } - keyboard_post_init: { - ret_type: void - args: void - } - pre_process_record: { - ret_type: bool - args: uint16_t keycode, keyrecord_t *record - call_params: keycode, record - } - process_record: { - ret_type: bool - args: uint16_t keycode, keyrecord_t *record - call_params: keycode, record - } - post_process_record: { - ret_type: void - args: uint16_t keycode, keyrecord_t *record - call_params: keycode, record - } -} diff --git a/data/constants/module_hooks/1.0.0.hjson b/data/constants/module_hooks/1.0.0.hjson deleted file mode 100644 index 4e7bf30412..0000000000 --- a/data/constants/module_hooks/1.0.0.hjson +++ /dev/null @@ -1,26 +0,0 @@ -{ - housekeeping_task: { - ret_type: void - args: void - } - suspend_power_down: { - ret_type: void - args: void - } - suspend_wakeup_init: { - ret_type: void - args: void - } - shutdown: { - ret_type: bool - args: bool jump_to_bootloader - call_params: jump_to_bootloader - } - process_detected_host_os: { - ret_type: bool - args: os_variant_t os - call_params: os - guard: defined(OS_DETECTION_ENABLE) - header: os_detection.h - } -} diff --git a/data/constants/module_hooks/1.1.0.hjson b/data/constants/module_hooks/1.1.0.hjson deleted file mode 100644 index b50dad6a66..0000000000 --- a/data/constants/module_hooks/1.1.0.hjson +++ /dev/null @@ -1,55 +0,0 @@ -{ - 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 - } - -} diff --git a/data/constants/module_hooks/1.1.1.hjson b/data/constants/module_hooks/1.1.1.hjson deleted file mode 100644 index 49f5d0d5d0..0000000000 --- a/data/constants/module_hooks/1.1.1.hjson +++ /dev/null @@ -1,3 +0,0 @@ -{ - // This version exists to signify addition of LED/RGB effect support. -} diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index e4def1a4d7..8d3e3c7f0e 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -64,9 +64,6 @@ "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}, - // host - "NKRO_DEFAULT_ON": {"info_key": "host.default.nkro", "value_type": "bool"}, - // Layer locking "LAYER_LOCK_IDLE_TIMEOUT": {"info_key": "layer_lock.timeout", "value_type": "int"}, @@ -203,8 +200,6 @@ "SPLIT_WPM_ENABLE": {"info_key": "split.transport.sync.wpm", "value_type": "flag"}, // Tapping - "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_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"}, @@ -218,6 +213,7 @@ "TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"}, // USB + "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "flag"}, "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_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"}, @@ -255,7 +251,6 @@ "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"}, "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 "VIAL_KEYBOARD_UID": {"info_key": "_invalid.vial_uid", "invalid": true}, diff --git a/data/mappings/info_defaults.hjson b/data/mappings/info_defaults.hjson deleted file mode 100644 index b33cb4fa1f..0000000000 --- a/data/mappings/info_defaults.hjson +++ /dev/null @@ -1,74 +0,0 @@ -{ - "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" - } -} diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index 238957f170..64972af63b 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -53,8 +53,7 @@ "WS2812_DRIVER": {"info_key": "ws2812.driver"}, // Items we want flagged in lint - "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"}, + "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"}, "VIAL_ENABLE": {"info_key": "_invalid.vial", "invalid": true} } diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 86850af7a4..72f6994c09 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -140,15 +140,9 @@ "custommk/genesis": { "target": "custommk/genesis/rev1" }, - "cxt_studio":{ - "target":"cxt_studio/12e4" - }, "daisy": { "target": "ktec/daisy" }, - "deemen17/de60": { - "target": "deemen17/de60/r1" - }, "dp3000": { "target": "dp3000/rev1" }, @@ -200,9 +194,6 @@ "ergodone": { "target": "ktec/ergodone" }, - "ergodox_stm32": { - "target": "handwired/ergodox_stm32" - }, "ergoinu": { "target": "dm9records/ergoinu" }, @@ -350,9 +341,6 @@ "keycapsss/plaid_pad": { "target": "keycapsss/plaid_pad/rev1" }, - "keyten/kt60hs_t": { - "target": "keyten/kt60hs_t/v1" - }, "kira75": { "target": "kira/kira75" }, @@ -587,9 +575,6 @@ "ploopyco/trackball": { "target": "ploopyco/trackball/rev1_005" }, - "plywrks/ply8x": { - "target": "plywrks/ply8x/solder" - }, "polilla": { "target": "polilla/rev1" }, @@ -1042,7 +1027,7 @@ "target": "kprepublic/bm68hsrgb/rev1" }, "late9/rev1": { - "target": "ivndbt/late9/rev1" + "target": "rookiebwoy/late9/rev1" }, "latin17rgb": { "target": "latincompass/latin17rgb" @@ -1207,7 +1192,7 @@ "target": "spaceholdings/nebula68b" }, "neopad/rev1": { - "target": "ivndbt/neopad/rev1" + "target": "rookiebwoy/neopad/rev1" }, "niu_mini": { "target": "kbdfans/niu_mini" @@ -1530,9 +1515,6 @@ "ymd96": { "target": "ymdk/ymd96" }, - "ymdk/id75": { - "target": "ymdk/id75/f103" - }, "ymdk_np21": { "target": "ymdk/np21" }, @@ -1570,693 +1552,5 @@ }, "dnworks/9973": { "target": "dnworks/tkl87" - }, - // DEFAULT_FOLDER removed during 2025 Q1 cycle - "0_sixty": { - "target": "0_sixty/base" - }, - "0xcb/splaytoraid": { - "target": "0xcb/splaytoraid/rp2040_ce" - }, - "1upkeyboards/pi40": { - "target": "1upkeyboards/pi40/mit_v1_0" - }, - "1upkeyboards/pi50": { - "target": "1upkeyboards/pi50/grid" - }, - "1upkeyboards/sweet16": { - "target": "1upkeyboards/sweet16/v1" - }, - "25keys/aleth42": { - "target": "25keys/aleth42/rev1" - }, - "25keys/zinc": { - "target": "25keys/zinc/rev1" - }, - "40percentclub/i75": { - "target": "40percentclub/i75/promicro" - }, - "40percentclub/polyandry": { - "target": "40percentclub/polyandry/promicro" - }, - "8pack": { - "target": "8pack/rev12" - }, - "adkb96": { - "target": "adkb96/rev1" - }, - "adm42": { - "target": "adm42/rev4" - }, - "aeboards/satellite": { - "target": "aeboards/satellite/rev1" - }, - "atreus": { - "target": "atreus/astar" - }, - "atreyu": { - "target": "atreyu/rev1" - }, - "biacco42/ergo42": { - "target": "biacco42/ergo42/rev1" - }, - "binepad/bn009": { - "target": "binepad/bn009/r2" - }, - "binepad/bnr1": { - "target": "binepad/bnr1/v2" - }, - "boston_meetup": { - "target": "boston_meetup/2019" - }, - "bpiphany/frosty_flake": { - "target": "bpiphany/frosty_flake/20140521" - }, - "buzzard": { - "target": "buzzard/rev1" - }, - "cannonkeys/db60": { - "target": "cannonkeys/db60/rev2" - }, - "clickety_split/leeloo": { - "target": "clickety_split/leeloo/rev3" - }, - "converter/palm_usb": { - "target": "converter/palm_usb/stowaway" - }, - "crkbd": { - "target": "crkbd/rev1" - }, - "dailycraft/bat43": { - "target": "dailycraft/bat43/rev2" - }, - "dailycraft/claw44": { - "target": "dailycraft/claw44/rev1" - }, - "dailycraft/sandbox": { - "target": "dailycraft/sandbox/rev2" - }, - "dailycraft/wings42": { - "target": "dailycraft/wings42/rev2" - }, - "delikeeb/vanana": { - "target": "delikeeb/vanana/rev2" - }, - "delikeeb/waaffle/rev3": { - "target": "delikeeb/waaffle/rev3/pro_micro" - }, - "deltasplit75": { - "target": "deltasplit75/v2" - }, - "drhigsby/ogurec": { - "target": "drhigsby/ogurec/left_pm" - }, - "duck/octagon": { - "target": "duck/octagon/v2" - }, - "duck/orion": { - "target": "duck/orion/v3" - }, - "ducky/one2mini": { - "target": "ducky/one2mini/1861st" - }, - "ducky/one2sf": { - "target": "ducky/one2sf/1967st" - }, - "dumbpad": { - "target": "dumbpad/v0x" - }, - "durgod/galaxy": { - "target": "durgod/dgk6x/galaxy" - }, - "durgod/venus": { - "target": "durgod/dgk6x/venus" - }, - "dztech/tofu/ii": { - "target": "dztech/tofu/ii/v1" - }, - "dztech/tofu/jr": { - "target": "dztech/tofu/jr/v1" - }, - "eco": { - "target": "eco/rev2" - }, - "ergoslab": { - "target": "ergoslab/rev1" - }, - "ergotravel": { - "target": "ergotravel/rev1" - }, - "evyd13/atom47": { - "target": "evyd13/atom47/rev4" - }, - "fortitude60": { - "target": "fortitude60/rev1" - }, - "fruitykeeb/fruitbar/r1": { - "target": "fruitykeeb/fruitbar/r1/promicro" - }, - "ghs/jem": { - "target": "ghs/jem/soldered" - }, - "hadron": { - "target": "hadron/ver2" - }, - "handwired/bento": { - "target": "handwired/bento/rev1" - }, - "handwired/dactyl_manuform/6x6": { - "target": "handwired/dactyl_manuform/6x6/promicro" - }, - "handwired/meck_tkl": { - "target": "handwired/meck_tkl/blackpill_f401" - }, - "handwired/ms_sculpt_mobile": { - "target": "handwired/ms_sculpt_mobile/teensy2pp" - }, - "handwired/onekey": { - "target": "handwired/onekey/promicro" - }, - "handwired/pill60": { - "target": "handwired/pill60/bluepill" - }, - "handwired/postageboard": { - "target": "handwired/postageboard/mini" - }, - "handwired/qc60": { - "target": "handwired/qc60/proto" - }, - "handwired/sono1": { - "target": "handwired/sono1/t2pp" - }, - "handwired/splittest": { - "target": "handwired/splittest/promicro" - }, - "handwired/stef9998/split_5x7": { - "target": "handwired/stef9998/split_5x7/rev1" - }, - "handwired/symmetric70_proto/promicro": { - "target": "handwired/symmetric70_proto/promicro/base" - }, - "handwired/symmetric70_proto/proton_c": { - "target": "handwired/symmetric70_proto/proton_c/base" - }, - "handwired/unk": { - "target": "handwired/unk/rev1" - }, - "handwired/xealous": { - "target": "handwired/xealous/rev1" - }, - "hillside/46": { - "target": "hillside/46/0_1" - }, - "hhkb/ansi": { - "target": "hhkb/ansi/32u4" - }, - "hillside/48": { - "target": "hillside/48/0_1" - }, - "hillside/52": { - "target": "hillside/52/0_1" - }, - "ibnuda/squiggle": { - "target": "ibnuda/squiggle/rev1" - }, - "idobao/id80/v1": { - "target": "idobao/id80/v2/ansi" - }, - "idobao/id80/v3": { - "target": "idobao/id80/v3/ansi" - }, - "inett_studio/sq80": { - "target": "inett_studio/sq80/hotswap_layout_i" - }, - "input_club/infinity60": { - "target": "input_club/infinity60/led" - }, - "jacky_studio/bear_65": { - "target": "jacky_studio/bear_65/rev1" - }, - "jacky_studio/piggy60/rev1": { - "target": "jacky_studio/piggy60/rev1/solder" - }, - "jadookb/jkb65": { - "target": "jadookb/jkb65/r1" - }, - "jian": { - "target": "jian/rev2" - }, - "jiran": { - "target": "jiran/rev1" - }, - "jorne": { - "target": "jorne/rev1" - }, - "junco": { - "target": "junco/rev1" - }, - "kakunpc/angel17": { - "target": "kakunpc/angel17/rev1" - }, - "kakunpc/angel64": { - "target": "kakunpc/angel64/rev1" - }, - "kakunpc/business_card": { - "target": "kakunpc/business_card/beta" - }, - "kakunpc/suihankey": { - "target": "kakunpc/suihankey/rev1" - }, - "kakunpc/suihankey/split": { - "target": "kakunpc/suihankey/split/rev1" - }, - "kapcave/paladinpad": { - "target": "kapcave/paladinpad/rev2" - }, - "kapl": { - "target": "kapl/rev1" - }, - "kbdfans/d45": { - "target": "kbdfans/d45/v2" - }, - "kbdfans/kbd75": { - "target": "kbdfans/kbd75/rev1" - }, - "keebio/bdn9": { - "target": "keebio/bdn9/rev1" - }, - "keebio/convolution": { - "target": "keebio/convolution/rev1" - }, - "keebio/foldkb": { - "target": "keebio/foldkb/rev1" - }, - "keebio/kbo5000": { - "target": "keebio/kbo5000/rev1" - }, - "keebio/levinson": { - "target": "keebio/levinson/rev2" - }, - "keebio/quefrency": { - "target": "keebio/quefrency/rev1" - }, - "keebio/rorschach": { - "target": "keebio/rorschach/rev1" - }, - "keebio/sinc": { - "target": "keebio/sinc/rev1" - }, - "keebio/viterbi": { - "target": "keebio/viterbi/rev2" - }, - "keycapsss/kimiko": { - "target": "keycapsss/kimiko/rev2" - }, - "keyhive/navi10": { - "target": "keyhive/navi10/rev3" - }, - "keyhive/uno": { - "target": "keyhive/uno/rev1" - }, - "kin80": { - "target": "kin80/blackpill401" - }, - "kumaokobo/kudox_full": { - "target": "kumaokobo/kudox_full/rev1" - }, - "kumaokobo/kudox_game": { - "target": "kumaokobo/kudox_game/rev2" - }, - "kumaokobo/kudox": { - "target": "kumaokobo/kudox/rev3" - }, - "kumaokobo/pico": { - "target": "kumaokobo/pico/65keys" - }, - "lazydesigners/dimple": { - "target": "lazydesigners/dimple/staggered/rev1" - }, - "lets_split": { - "target": "lets_split/rev2" - }, - "lfkeyboards/lfk87": { - "target": "lfkeyboards/lfk78/revc" - }, - "lily58": { - "target": "lily58/rev1" - }, - "lime": { - "target": "lime/rev1" - }, - "maple_computing/christmas_tree": { - "target": "maple_computing/christmas_tree/v2017" - }, - "maple_computing/ivy": { - "target": "maple_computing/ivy/rev1" - }, - "maple_computing/launchpad": { - "target": "maple_computing/launchpad/rev1" - }, - "maple_computing/minidox": { - "target": "maple_computing/minidox/rev1" - }, - "mariorion_v25": { - "target": "mariorion_v25/prod" - }, - "marksard/rhymestone": { - "target": "marksard/rhymestone/rev1" - }, - "marksard/treadstone32": { - "target": "marksard/treadstone32/rev1" - }, - "marksard/treadstone48": { - "target": "marksard/treadstone48/rev1" - }, - "maxipad": { - "target": "maxipad/promicro" - }, - "mechkeys/mechmini": { - "target": "mechkeys/mechmini/v2" - }, - "mechllama/g35": { - "target": "mechllama/g35/v2" - }, - "mechlovin/adelais": { - "target": "mechlovin/adelais/standard_led/arm/rev2" - }, - "mechlovin/adelais/standard_led/arm/rev4": { - "target": "mechlovin/adelais/standard_led/arm/rev4/stm32f303" - }, - "mechlovin/adelais/standard_led/arm": { - "target": "mechlovin/adelais/standard_led/arm/rev2" - }, - "mechlovin/adelais/standard_led/avr": { - "target": "mechlovin/adelais/standard_led/avr/rev1" - }, - "mechlovin/hannah65/rev1": { - "target": "mechlovin/hannah65/rev1/haus" - }, - "mechlovin/infinity87/rev1": { - "target": "mechlovin/infinity87/rev1/standard" - }, - "mechlovin/infinity87": { - "target": "mechlovin/infinity87/rgb_rev1" - }, - "mechlovin/mechlovin9": { - "target": "mechlovin/mechlovin9/rev1" - }, - "mechlovin/olly/jf": { - "target": "mechlovin/olly/jf/rev1" - }, - "mechlovin/zed1800": { - "target": "mechlovin/zed1800/saber" - }, - "mechlovin/zed65/no_backlight": { - "target": "mechlovin/zed65/no_backlight/wearhaus66" - }, - "mechlovin/zed65": { - "target": "mechlovin/zed65/no_backlight/wearhaus66" - }, - "mechwild/bde": { - "target": "mechwild/bde/rev2" - }, - "mechwild/mokulua": { - "target": "mechwild/mokulua/standard" - }, - "mechwild/obe/f401": { - "target": "mechwild/obe/f401/base" - }, - "mechwild/obe/f411": { - "target": "mechwild/obe/f411/base" - }, - "mechwild/obe": { - "target": "mechwild/obe/f401/base" - }, - "mechwild/waka60/f401": { - "target": "mechwild/waka60/f401/base" - }, - "mechwild/waka60/f411": { - "target": "mechwild/waka60/f411/base" - }, - "mechwild/waka60": { - "target": "mechwild/waka60/f401/base" - }, - "murcielago": { - "target": "murcielago/rev1" - }, - "nullbitsco/scramble": { - "target": "nullbitsco/scramble/v2" - }, - "omkbd/ergodash": { - "target": "omkbd/ergodash/rev1" - }, - "omkbd/runner3680": { - "target": "omkbd/runner3680/5x8" - }, - "orthodox": { - "target": "orthodox/rev3" - }, - "peej/rosaline": { - "target": "peej/rosaline/staggered" - }, - "peej/tripel": { - "target": "peej/tripel/left" - }, - "peranekofactory/tone": { - "target": "peranekofactory/tone/rev2" - }, - "phase_studio/titan65": { - "target": "phase_studio/titan65/hotswap" - }, - "pica40": { - "target": "pica40/rev2" - }, - "pinky": { - "target": "pinky/3" - }, - "ploopyco/madromys": { - "target": "ploopyco/madromys/rev1_001" - }, - "ploopyco/trackball_mini": { - "target": "ploopyco/trackball_mini/rev1_001" - }, - "ploopyco/trackball_nano": { - "target": "ploopyco/trackball_nano/rev1_001" - }, - "ploopyco/trackball_thumb": { - "target": "ploopyco/trackball_thumb/rev1_001" - }, - "primekb/meridian": { - "target": "primekb/meridian/ktr1010" - }, - "primekb/prime_e": { - "target": "primekb/prime_e/std" - }, - "program_yoink": { - "target": "program_yoink/staggered" - }, - "projectcain/vault35": { - "target": "projectcain/vault35/atmega32u4" - }, - "qpockets/space_space": { - "target": "qpockets/space_space/rev2" - }, - "qwertyydox": { - "target": "qwertyydox/rev1" - }, - "rate/pistachio": { - "target": "rate/pistachio/rev2" - }, - "recompile_keys/choco60": { - "target": "recompile_keys/choco60/rev1" - }, - "recompile_keys/nomu30": { - "target": "recompile_keys/nomu30/rev1" - }, - "redox/rev1": { - "target": "redox/rev1/base" - }, - "rgbkb/mun": { - "target": "rgbkb/mun/rev1" - }, - "rgbkb/sol3": { - "target": "rgbkb/sol3/rev1" - }, - "rgbkb/sol": { - "target": "rgbkb/sol/rev2" - }, - "rgbkb/zen": { - "target": "rgbkb/zen/rev2" - }, - "rgbkb/zygomorph": { - "target": "rgbkb/zygomorph/rev1" - }, - "rmi_kb/herringbone": { - "target": "rmi_kb/herringbone/v1" - }, - "rmi_kb/mona": { - "target": "rmi_kb/mona/v1_1" - }, - "rmi_kb/tkl_ff": { - "target": "rmi_kb/tkl_ff/v1" - }, - "rmi_kb/wete": { - "target": "rmi_kb/wete/v2" - }, - "rookiebwoy/late9": { - "target": "ivndbt/late9/rev1" - }, - "rookiebwoy/neopad": { - "target": "ivndbt/neopad/rev1" - }, - "ivndbt/late9": { - "target": "ivndbt/late9/rev1" - }, - "ivndbt/neopad": { - "target": "ivndbt/neopad/rev1" - }, - "rura66": { - "target": "rura66/rev1" - }, - "salicylic_acid3/7skb": { - "target": "salicylic_acid3/7skb/rev1" - }, - "salicylic_acid3/getta25": { - "target": "salicylic_acid3/getta25/rev1" - }, - "salicylic_acid3/jisplit89": { - "target": "salicylic_acid3/jisplit89/rev1" - }, - "salicylic_acid3/naked48": { - "target": "salicylic_acid3/naked48/rev1" - }, - "salicylic_acid3/naked60": { - "target": "salicylic_acid3/naked60/rev1" - }, - "salicylic_acid3/naked64": { - "target": "salicylic_acid3/naked64/rev1" - }, - "salicylic_acid3/setta21": { - "target": "salicylic_acid3/setta21/rev1" - }, - "sawnsprojects/okayu": { - "target": "sawnsprojects/okayu/stm32f072" - }, - "smoll/lefty": { - "target": "smoll/lefty/rev2" - }, - "sofle": { - "target": "sofle/rev1" - }, - "spaceholdings/nebula68b": { - "target": "spaceholdings/nebula68b/solder" - }, - "spacetime": { - "target": "spacetime/rev1" - }, - "splitkb/aurora/corne": { - "target": "splitkb/aurora/corne/rev1" - }, - "splitkb/aurora/helix": { - "target": "splitkb/aurora/helix/rev1" - }, - "splitkb/aurora/lily58": { - "target": "splitkb/aurora/lily58/rev1" - }, - "splitkb/aurora/sofle_v2": { - "target": "splitkb/aurora/sofle_v2/rev1" - }, - "splitkb/aurora/sweep": { - "target": "splitkb/aurora/sweep/rev1" - }, - "splitkb/kyria": { - "target": "splitkb/kyria/rev3" - }, - "splitkb/kyria/rev1": { - "target": "splitkb/kyria/rev1/base" - }, - "splitkb/kyria/rev2": { - "target": "splitkb/kyria/rev2/base" - }, - "splitty": { - "target": "splitty/rev1" - }, - "studiokestra/galatea": { - "target": "studiokestra/galatea/rev1" - }, - "takashiski/hecomi": { - "target": "takashiski/hecomi/alpha" - }, - "takashiski/namecard2x4": { - "target": "takashiski/namecard2x4/rev2" - }, - "teleport/native": { - "target": "teleport/native/iso" - }, - "themadnoodle/noodlepad": { - "target": "themadnoodle/noodlepad/v1" - }, - "tkw/grandiceps": { - "target": "tkw/grandiceps/rev1" - }, - "tominabox1/le_chiffre": { - "target": "tominabox1/le_chiffre/rev1" - }, - "tominabox1/littlefoot_lx": { - "target": "tominabox1/littlefoot_lx/rev1" - }, - "tominabox1/underscore33": { - "target": "tominabox1/underscore33/rev1" - }, - "trnthsn/e8ghty": { - "target": "trnthsn/e8ghty/stm32f103" - }, - "trnthsn/s6xty5neor2": { - "target": "trnthsn/s6xty5neor2/stm32f103" - }, - "tweetydabird/lotus58": { - "target": "tweetydabird/lotus58/promicro" - }, - "unison": { - "target": "unison/v04" - }, - "uzu42": { - "target": "uzu42/rev1" - }, - "vitamins_included": { - "target": "vitamins_included/rev2" - }, - "westm/westm68": { - "target": "westm/westm68/rev2" - }, - "westm/westm9": { - "target": "westm/westm9/rev2" - }, - "woodkeys/meira": { - "target": "woodkeys/meira/promicro" - }, - "work_louder/loop": { - "target": "work_louder/loop/rev3" - }, - "work_louder/work_board": { - "target": "work_louder/work_board/rev3" - }, - "yanghu/unicorne": { - "target": "yanghu/unicorne/f411" - }, - "yosino58": { - "target": "yosino58/rev1" - }, - "ymdk/yd60mq": { - "target": "ymdk/yd60mq/12led" - }, - "yushakobo/navpad/10": { - "target": "yushakobo/navpad/10/rev1" - }, - "yynmt/acperience12": { - "target": "yynmt/acperience12/rev1" - }, - "zsa/planck_ez": { - "target": "zsa/planck_ez/base" } } diff --git a/data/schemas/api_keyboard.jsonschema b/data/schemas/api_keyboard.jsonschema index a3b7872ee0..6a30b5d990 100644 --- a/data/schemas/api_keyboard.jsonschema +++ b/data/schemas/api_keyboard.jsonschema @@ -1,7 +1,7 @@ { "$id": "qmk.api.keyboard.v1", "allOf": [ - {"$ref": "./keyboard.jsonschema#"}, + {"$ref": "qmk.keyboard.v1"}, { "properties": { "keymaps": { @@ -10,8 +10,8 @@ "url": {"type": "string"} } }, - "parse_errors": {"$ref": "./definitions.jsonschema#/string_array"}, - "parse_warnings": {"$ref": "./definitions.jsonschema#/string_array"}, + "parse_errors": {"$ref": "qmk.definitions.v1#/string_array"}, + "parse_warnings": {"$ref": "qmk.definitions.v1#/string_array"}, "processor_type": {"type": "string"}, "protocol": {"type": "string"}, "keyboard_folder": {"type": "string"}, diff --git a/data/schemas/community_module.jsonschema b/data/schemas/community_module.jsonschema deleted file mode 100644 index 92981ceb5c..0000000000 --- a/data/schemas/community_module.jsonschema +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema#", - "$id": "qmk.community_module.v1", - "title": "Community Module Information", - "type": "object", - "required": ["module_name", "maintainer"], - "properties": { - "module_name": {"$ref": "./definitions.jsonschema#/text_identifier"}, - "maintainer": {"$ref": "./definitions.jsonschema#/text_identifier"}, - "license": {"type": "string"}, - "url": { - "type": "string", - "format": "uri" - }, - "keycodes": {"$ref": "./definitions.jsonschema#/keycode_decl_array"}, - "features": {"$ref": "./keyboard.jsonschema#/definitions/features_config"} - } -} diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 3aa259605e..ec87680fa0 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -17,9 +17,9 @@ "additionalProperties": false, "required": ["pin_a", "pin_b"], "properties": { - "pin_a": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "pin_b": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "resolution": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "pin_a": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "pin_b": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"} } } } @@ -28,22 +28,17 @@ "dip_switch_config": { "type": "object", "properties": { - "pins": {"$ref": "./definitions.jsonschema#/mcu_pin_array"} + "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"} } - }, - "features_config": { - "$ref": "./definitions.jsonschema#/boolean_array", - "propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"}, - "not": {"required": ["lto"]} } }, "type": "object", "not": {"required": ["vendorId", "productId"]}, // reject via keys... "properties": { - "keyboard_name": {"$ref": "./definitions.jsonschema#/text_identifier"}, - "keyboard_folder": {"$ref": "./definitions.jsonschema#/keyboard"}, - "maintainer": {"$ref": "./definitions.jsonschema#/text_identifier"}, - "manufacturer": {"$ref": "./definitions.jsonschema#/text_identifier"}, + "keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"}, + "keyboard_folder": {"$ref": "qmk.definitions.v1#/keyboard"}, + "maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"}, + "manufacturer": {"$ref": "qmk.definitions.v1#/text_identifier"}, "url": { "type": "string", "format": "uri" @@ -84,7 +79,6 @@ "STM32F407", "STM32F411", "STM32F446", - "STM32G0B1", "STM32G431", "STM32G474", "STM32H723", @@ -119,8 +113,8 @@ "type": "object", "additionalProperties": false, "properties": { - "data_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "clock_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}, + "data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, "default_brightness": { "type": "integer", "minimum": 0, @@ -145,13 +139,13 @@ "enum": ["dac_additive", "dac_basic", "pwm_software", "pwm_hardware"] }, "macro_beep": {"type": "boolean"}, - "pins": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}, + "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, "power_control": { "type": "object", "additionalProperties": false, "properties": { - "on_state": {"$ref": "./definitions.jsonschema#/bit"}, - "pin": {"$ref": "./definitions.jsonschema#/mcu_pin"} + "on_state": {"$ref": "qmk.definitions.v1#/bit"}, + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"} } }, "voices": {"type": "boolean"} @@ -171,20 +165,20 @@ "properties": { "on": {"type": "boolean"}, "breathing": {"type": "boolean"}, - "brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} + "brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} } }, "breathing": {"type": "boolean"}, - "breathing_period": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, + "breathing_period": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "levels": { "type": "integer", "minimum": 1, "maximum": 31 }, - "max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "pins": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}, - "on_state": {"$ref": "./definitions.jsonschema#/bit"}, + "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, + "on_state": {"$ref": "qmk.definitions.v1#/bit"}, "as_caps_lock": {"type": "boolean"} } }, @@ -269,7 +263,7 @@ "type": "string", "enum": ["COL2ROW", "ROW2COL"] }, - "debounce": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "debounce": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "caps_word": { "type": "object", "additionalProperties": false, @@ -277,20 +271,20 @@ "enabled": {"type": "boolean"}, "both_shifts_turns_on": {"type": "boolean"}, "double_tap_shift_turns_on": {"type": "boolean"}, - "idle_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "invert_on_shift": {"type": "boolean"} } }, "combo": { "type": "object", "properties": { - "count": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "term": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "count": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "term": {"$ref": "qmk.definitions.v1#/unsigned_int"} } }, "community_layouts": { "type": "array", - "items": {"$ref": "./definitions.jsonschema#/filename"} + "items": {"$ref": "qmk.definitions.v1#/filename"} }, "dip_switch": { "$ref": "#/definitions/dip_switch_config", @@ -320,10 +314,10 @@ "properties": { "driver": { "type": "string", - "enum": ["none", "custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"] + "enum": ["custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"] }, - "backing_size": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "logical_size": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "backing_size": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "logical_size": {"$ref": "qmk.definitions.v1#/unsigned_int"} } } } @@ -334,16 +328,20 @@ "enabled": {"type": "boolean"} } }, - "features": { "$ref": "#/definitions/features_config" }, + "features": { + "$ref": "qmk.definitions.v1#/boolean_array", + "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"}, + "not": {"required": ["lto"]} + }, "indicators": { "type": "object", "properties": { - "caps_lock": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "num_lock": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "scroll_lock": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "compose": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "kana": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "on_state": {"$ref": "./definitions.jsonschema#/bit"} + "caps_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "num_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "scroll_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "compose": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "kana": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "on_state": {"$ref": "qmk.definitions.v1#/bit"} } }, "joystick": { @@ -351,20 +349,20 @@ "properties": { "enabled": {"type": "boolean"}, "driver": {"type": "string"}, - "button_count": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "axis_resolution": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "button_count": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "axis_resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "axes": { "type": "object", - "propertyNames": {"enum": ["x", "y", "z", "rx", "ry", "rz"]}, + "propertyNames": {"enum": ["x", "y", "z", "rx", "ry", "rz"]} "additionalProperties": { "oneOf": [ { "type": "object", "properties": { - "input_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "low": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "rest": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "high": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "input_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "low": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "rest": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "high": {"$ref": "qmk.definitions.v1#/unsigned_int"} } }, { @@ -376,20 +374,20 @@ } } }, - "keycodes": {"$ref": "./definitions.jsonschema#/keycode_decl_array"}, + "keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"}, "layer_lock": { "type": "object", "properties": { - "timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } }, "layout_aliases": { "type": "object", - "additionalProperties": {"$ref": "./definitions.jsonschema#/layout_macro"} + "additionalProperties": {"$ref": "qmk.definitions.v1#/layout_macro"} }, "layouts": { "type": "object", - "propertyNames": {"$ref": "./definitions.jsonschema#/layout_macro"}, + "propertyNames": {"$ref": "qmk.definitions.v1#/layout_macro"}, "additionalProperties": { "type": "object", "additionalProperties": false, @@ -404,7 +402,7 @@ "additionalProperties": false, "required": ["x", "y"], "properties": { - "encoder": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "encoder": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "label": { "type": "string", "pattern": "^[^\\n]*$" @@ -418,17 +416,13 @@ "minimum": 0 } }, - "r": {"$ref": "./definitions.jsonschema#/signed_decimal"}, - "rx": {"$ref": "./definitions.jsonschema#/unsigned_decimal"}, - "ry": {"$ref": "./definitions.jsonschema#/unsigned_decimal"}, - "h": {"$ref": "./definitions.jsonschema#/key_unit"}, - "w": {"$ref": "./definitions.jsonschema#/key_unit"}, - "x": {"$ref": "./definitions.jsonschema#/key_unit"}, - "y": {"$ref": "./definitions.jsonschema#/key_unit"}, - "hand": { - "type": "string", - "enum": ["L", "R", "*"] - } + "r": {"$ref": "qmk.definitions.v1#/signed_decimal"}, + "rx": {"$ref": "qmk.definitions.v1#/unsigned_decimal"}, + "ry": {"$ref": "qmk.definitions.v1#/unsigned_decimal"}, + "h": {"$ref": "qmk.definitions.v1#/key_unit"}, + "w": {"$ref": "qmk.definitions.v1#/key_unit"}, + "x": {"$ref": "qmk.definitions.v1#/key_unit"}, + "y": {"$ref": "qmk.definitions.v1#/key_unit"} } } } @@ -444,24 +438,12 @@ } } }, - "host": { - "type": "object", - "properties": { - "default": { - "type": "object", - "additionalProperties": false, - "properties": { - "nkro": {"type": "boolean"} - } - } - } - }, "leader_key": { "type": "object", "properties": { "timing": {"type": "boolean"}, "strict_processing": {"type": "boolean"}, - "timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } }, "matrix_pins": { @@ -471,38 +453,32 @@ "custom": {"type": "boolean"}, "custom_lite": {"type": "boolean"}, "ghost": {"type": "boolean"}, - "input_pressed_state": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "io_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "input_pressed_state": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "io_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "direct": { "type": "array", - "items": {"$ref": "./definitions.jsonschema#/mcu_pin_array"} + "items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"} }, - "cols": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}, - "rows": {"$ref": "./definitions.jsonschema#/mcu_pin_array"} - } - }, - "modules": { - "type": "array", - "items": { - "type": "string" + "cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, + "rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"} } }, "mouse_key": { "type": "object", "properties": { "enabled": {"type": "boolean"}, - "delay": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "interval": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "max_speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "time_to_max": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "wheel_delay": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} + "delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "max_speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "time_to_max": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "wheel_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} } }, "oneshot": { "type": "object", "properties": { - "tap_toggle": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "tap_toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } }, "led_matrix": { @@ -510,7 +486,7 @@ "properties": { "animations": { "type": "object", - "propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"}, + "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"}, "additionalProperties": {"type": "boolean"} }, "default": { @@ -519,8 +495,8 @@ "properties": { "on": {"type": "boolean"}, "animation": {"type": "string"}, - "val": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} } }, "driver": { @@ -546,28 +522,27 @@ "type": "array", "minItems": 2, "maxItems": 2, - "items": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} + "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} }, - "max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "val_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "speed_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "led_flush_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "led_process_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "react_on_keyup": {"type": "boolean"}, "sleep": {"type": "boolean"}, "split_count": { "type": "array", "minItems": 2, "maxItems": 2, - "items": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "items": {"$ref": "qmk.definitions.v1#/unsigned_int"} }, "layout": { "type": "array", "items": { "type": "object", "additionalProperties": false, - "required": ["x", "y"], "properties": { "matrix": { "type": "array", @@ -578,9 +553,9 @@ "minimum": 0 } }, - "x": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "y": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "flags": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} + "x": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "y": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} } } } @@ -591,7 +566,7 @@ "properties": { "animations": { "type": "object", - "propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"}, + "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"}, "additionalProperties": {"type": "boolean"} }, "default": { @@ -600,10 +575,10 @@ "properties": { "on": {"type": "boolean"}, "animation": {"type": "string"}, - "hue": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "sat": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "val": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} + "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} } }, "driver": { @@ -631,30 +606,29 @@ "type": "array", "minItems": 2, "maxItems": 2, - "items": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} + "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} }, - "max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "hue_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "sat_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "val_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "speed_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "led_flush_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "led_process_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "react_on_keyup": {"type": "boolean"}, "sleep": {"type": "boolean"}, "split_count": { "type": "array", "minItems": 2, "maxItems": 2, - "items": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "items": {"$ref": "qmk.definitions.v1#/unsigned_int"} }, "layout": { "type": "array", "items": { "type": "object", "additionalProperties": false, - "required": ["x", "y"], "properties": { "matrix": { "type": "array", @@ -665,9 +639,9 @@ "minimum": 0 } }, - "x": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "y": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "flags": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} + "x": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "y": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} } } } @@ -679,27 +653,27 @@ "properties": { "animations": { "type": "object", - "propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"}, + "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"}, "additionalProperties": {"type": "boolean"} }, - "brightness_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "default": { "type": "object", "additionalProperties": false, "properties": { "on": {"type": "boolean"}, "animation": {"type": "string"}, - "hue": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "sat": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "val": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} + "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} } }, "driver": { "type": "string", "enum": ["apa102", "custom", "ws2812"] }, - "hue_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "layers": { "type": "object", "additionalProperties": false, @@ -714,29 +688,29 @@ "override_rgb": {"type": "boolean"} } }, - "led_count": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "led_count": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "led_map": { "type": "array", "minItems": 2, - "items": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "items": {"$ref": "qmk.definitions.v1#/unsigned_int"} }, - "max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, + "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "pin": { - "$ref": "./definitions.jsonschema#/mcu_pin", + "$ref": "qmk.definitions.v1#/mcu_pin", "$comment": "Deprecated: use ws2812.pin instead" }, "rgbw": { "type": "boolean", "$comment": "Deprecated: use ws2812.rgbw instead" }, - "saturation_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "sleep": {"type": "boolean"}, "split": {"type": "boolean"}, "split_count": { "type": "array", "minItems": 2, "maxItems": 2, - "items": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "items": {"$ref": "qmk.definitions.v1#/unsigned_int"} } } }, @@ -745,8 +719,8 @@ "additionalProperties": false, "properties": { "enabled": {"type": "boolean"}, - "unlock_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "idle_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "unlock_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "unlock_sequence": { "type": "array", "minItems": 1, @@ -780,8 +754,8 @@ "properties": { "enabled": {"type": "boolean"}, "mouse_enabled": {"type": "boolean"}, - "clock_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "data_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}, + "clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, "driver": { "type": "string", "enum": ["busywait", "interrupt", "usart", "vendor"] @@ -818,11 +792,11 @@ "properties": { "direct": { "type": "array", - "items": {"$ref": "./definitions.jsonschema#/mcu_pin_array"} + "items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"} }, - "cols": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}, - "rows": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}, - "unused": {"$ref": "./definitions.jsonschema#/mcu_pin_array"} + "cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, + "rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, + "unused": {"$ref": "qmk.definitions.v1#/mcu_pin_array"} } } } @@ -849,16 +823,16 @@ "type": "object", "additionalProperties": false, "properties": { - "pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}, + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, "matrix_grid": { - "$ref": "./definitions.jsonschema#/mcu_pin_array", + "$ref": "qmk.definitions.v1#/mcu_pin_array", "minItems": 2, "maxItems": 2 } } }, "soft_serial_pin": { - "$ref": "./definitions.jsonschema#/mcu_pin", + "$ref": "qmk.definitions.v1#/mcu_pin", "$comment": "Deprecated: use split.serial.pin instead" }, "soft_serial_speed": { @@ -874,7 +848,7 @@ "type": "string", "enum": ["bitbang", "usart", "vendor"] }, - "pin": {"$ref": "./definitions.jsonschema#/mcu_pin"} + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"} } }, "transport": { @@ -902,7 +876,7 @@ } }, "watchdog": {"type": "boolean"}, - "watchdog_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "sync_matrix_state": { "type": "boolean", "$comment": "Deprecated: use sync.matrix_state instead" @@ -918,8 +892,8 @@ "additionalProperties": false, "properties": { "enabled": {"type": "boolean"}, - "polling_interval": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } }, "main": { @@ -929,7 +903,7 @@ }, "matrix_grid": { "type": "array", - "items": {"$ref": "./definitions.jsonschema#/mcu_pin"}, + "items": {"$ref": "qmk.definitions.v1#/mcu_pin"}, "$comment": "Deprecated: use split.handedness.matrix_grid instead" } } @@ -941,7 +915,6 @@ "tapping": { "type": "object", "properties": { - "chordal_hold": {"type": "boolean"}, "force_hold": {"type": "boolean"}, "force_hold_per_key": {"type": "boolean"}, "ignore_mod_tap_interrupt": {"type": "boolean"}, @@ -951,9 +924,9 @@ "permissive_hold_per_key": {"type": "boolean"}, "retro": {"type": "boolean"}, "retro_per_key": {"type": "boolean"}, - "term": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "term": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "term_per_key": {"type": "boolean"}, - "toggle": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"} } }, "usb": { @@ -961,20 +934,16 @@ "additionalProperties": false, "properties": { "device_ver": { - "$ref": "./definitions.jsonschema#/hex_number_4d", + "$ref": "qmk.definitions.v1#/hex_number_4d", "$comment": "Deprecated: use device_version instead" }, - "device_version": {"$ref": "./definitions.jsonschema#/bcd_version"}, - "force_nkro": { - "type": "boolean", - "$comment": "Deprecated: use host.default.nkro instead" - - }, - "pid": {"$ref": "./definitions.jsonschema#/hex_number_4d"}, - "vid": {"$ref": "./definitions.jsonschema#/hex_number_4d"}, - "max_power": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "device_version": {"$ref": "qmk.definitions.v1#/bcd_version"}, + "force_nkro": {"type": "boolean"}, + "pid": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, + "vid": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, + "max_power": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "no_startup_check": {"type": "boolean"}, - "polling_interval": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, + "polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "shared_endpoint": { "type": "object", "additionalProperties": false, @@ -983,7 +952,7 @@ "mouse": {"type": "boolean"} } }, - "suspend_wakeup_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "suspend_wakeup_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "wait_for_enumeration": {"type": "boolean"} } }, @@ -991,9 +960,9 @@ "type": "object", "additionalProperties": false, "properties": { - "keys_per_scan": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "tap_keycode_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "tap_capslock_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "keys_per_scan": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "tap_keycode_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "locking": { "type": "object", "additionalProperties": false, @@ -1008,10 +977,10 @@ "type": "object", "additionalProperties": false, "properties": { - "esc_output": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "esc_input": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "led": {"$ref": "./definitions.jsonschema#/mcu_pin"}, - "speaker": {"$ref": "./definitions.jsonschema#/mcu_pin"} + "esc_output": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "esc_input": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "led": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "speaker": {"$ref": "qmk.definitions.v1#/mcu_pin"} } }, "ws2812": { @@ -1022,10 +991,10 @@ "type": "string", "enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"] }, - "pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}, + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, "rgbw": {"type": "boolean"}, - "i2c_address": {"$ref": "./definitions.jsonschema#/hex_number_2d"}, - "i2c_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"} + "i2c_address": {"$ref": "qmk.definitions.v1#/hex_number_2d"}, + "i2c_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } } } diff --git a/data/schemas/keycodes.jsonschema b/data/schemas/keycodes.jsonschema index 0f9dfc763e..df6ce95a83 100644 --- a/data/schemas/keycodes.jsonschema +++ b/data/schemas/keycodes.jsonschema @@ -30,10 +30,10 @@ "keycodes": { "type": "object", "propertyNames": { - "$ref": "./definitions.jsonschema#/hex_number_4d" + "$ref": "qmk.definitions.v1#/hex_number_4d" }, "additionalProperties": { - "type": "object", // use './definitions.jsonschema#/keycode_decl' when problem keycodes are removed + "type": "object", // use 'qmk.definitions.v1#/keycode_decl' when problem keycodes are removed "required": [ "key" ], diff --git a/data/schemas/keymap.jsonschema b/data/schemas/keymap.jsonschema index 99aeaa6b6c..e967e45c53 100644 --- a/data/schemas/keymap.jsonschema +++ b/data/schemas/keymap.jsonschema @@ -10,10 +10,10 @@ "minLength": 1, "pattern": "^[a-z][0-9a-z_]*$" }, - "host_language": {"$ref": "./definitions.jsonschema#/text_identifier"}, - "keyboard": {"$ref": "./definitions.jsonschema#/text_identifier"}, - "keymap": {"$ref": "./definitions.jsonschema#/text_identifier"}, - "layout": {"$ref": "./definitions.jsonschema#/layout_macro"}, + "host_language": {"$ref": "qmk.definitions.v1#/text_identifier"}, + "keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"}, + "keymap": {"$ref": "qmk.definitions.v1#/text_identifier"}, + "layout": {"$ref": "qmk.definitions.v1#/layout_macro"}, "layers": { "type": "array", "items": { @@ -55,11 +55,11 @@ "keycodes": { "type": "array", "items": { - "$ref": "./definitions.jsonschema#/text_identifier" + "$ref": "qmk.definitions.v1#/text_identifier" } }, "duration": { - "$ref": "./definitions.jsonschema#/unsigned_int" + "$ref": "qmk.definitions.v1#/unsigned_int" } } } @@ -67,16 +67,10 @@ } } }, - "keycodes": {"$ref": "./definitions.jsonschema#/keycode_decl_array"}, - "config": {"$ref": "./keyboard.jsonschema#"}, + "keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"}, + "config": {"$ref": "qmk.keyboard.v1"}, "notes": { "type": "string" - }, - "modules": { - "type": "array", - "items": { - "type": "string" - } } } } diff --git a/data/schemas/user_repo_v0.jsonschema b/data/schemas/user_repo_v0.jsonschema index 58d955abe2..b18ac50428 100644 --- a/data/schemas/user_repo_v0.jsonschema +++ b/data/schemas/user_repo_v0.jsonschema @@ -8,7 +8,7 @@ ], "properties": { "userspace_version": { - "type": "string" - } + "type": "string", + }, } } diff --git a/data/schemas/user_repo_v1.jsonschema b/data/schemas/user_repo_v1.jsonschema index 07c61d0fea..69a59bce00 100644 --- a/data/schemas/user_repo_v1.jsonschema +++ b/data/schemas/user_repo_v1.jsonschema @@ -6,10 +6,10 @@ "definitions": { "build_target": { "oneOf": [ - {"$ref": "./definitions.jsonschema#/keyboard_keymap_tuple"}, - {"$ref": "./definitions.jsonschema#/json_file_path"} + {"$ref": "qmk.definitions.v1#/keyboard_keymap_tuple"}, + {"$ref": "qmk.definitions.v1#/json_file_path"} ] - } + }, }, "required": [ "userspace_version", diff --git a/data/schemas/user_repo_v1_1.jsonschema b/data/schemas/user_repo_v1_1.jsonschema index cd6d89ad81..5a7ccce063 100644 --- a/data/schemas/user_repo_v1_1.jsonschema +++ b/data/schemas/user_repo_v1_1.jsonschema @@ -6,11 +6,11 @@ "definitions": { "build_target": { "oneOf": [ - {"$ref": "./definitions.jsonschema#/keyboard_keymap_tuple"}, - {"$ref": "./definitions.jsonschema#/keyboard_keymap_env"}, - {"$ref": "./definitions.jsonschema#/json_file_path"} + {"$ref": "qmk.definitions.v1#/keyboard_keymap_tuple"}, + {"$ref": "qmk.definitions.v1#/keyboard_keymap_env"}, + {"$ref": "qmk.definitions.v1#/json_file_path"} ] - } + }, }, "required": [ "userspace_version", diff --git a/data/templates/keyboard/keyboard.json b/data/templates/keyboard/keyboard.json index 87aa853cbb..94085d7f5a 100644 --- a/data/templates/keyboard/keyboard.json +++ b/data/templates/keyboard/keyboard.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/docs/ChangeLog/20250223.md b/docs/ChangeLog/20250223.md deleted file mode 100644 index 858848a60b..0000000000 --- a/docs/ChangeLog/20250223.md +++ /dev/null @@ -1,135 +0,0 @@ -# QMK Breaking Changes - 2025 February 23 Changelog - -## Notable Features - -### Community Modules ([#24848](https://github.com/qmk/qmk_firmware/pull/24848)) - -Community Modules are a feature within QMK which allows code to be implemented by third parties, making it available for other people to import into their own builds. - -These modules can provide implementations which override or enhance normal QMK processing; initialization, key processing, suspend, and shutdown are some of the provided hooks which modules may currently implement. - -See the [Community Modules documentation](../features/community_modules) for more information, including the full list of available hooks. - -First-class support for [External Userspace](../newbs_external_userspace) is included out of the box, so there's even more reason to take the plunge and convert your keymap builds to a userspace repository! - -::: tip -An example with a new keycode and some debugging information in the QMK repository [lives here](https://github.com/qmk/qmk_firmware/tree/master/modules/qmk/hello_world), and a community module port of [getreuer's SOCD Cleaner](https://getreuer.info/posts/keyboards/socd-cleaner/) can be found in [tzarc's modules repo](https://github.com/tzarc/qmk_modules). -::: - -### Chordal Hold ([#24560](https://github.com/qmk/qmk_firmware/pull/24560)) - -Chordal Hold implements, by default, an "opposite hands" rule. Suppose a tap-hold key is pressed and then, before the tapping term, another key is pressed. With Chordal Hold, the tap-hold key is settled as tapped if the two keys are on the same hand. - -Chordal Hold may be useful to avoid accidental modifier activation with mod-taps, particularly in rolled keypresses when using home row mods. - -See the [Chordal Hold documentation](../tap_hold#chordal-hold) for more information. - -## Changes Requiring User Action - -### Updated Keyboard Codebases - -| Old Keyboard Name | New Keyboard Name | -|-------------------------|-----------------------------| -| cxt_studio | cxt_studio/12e4 | -| ergodox_stm32 | handwired/ergodox_stm32 | -| ploopyco/mouse | ploopyco/mouse/rev1_002 | -| ploopyco/trackball/rev1 | ploopyco/trackball/rev1_004 | -| ymdk/id75 | ymdk/id75/f103 | - -## Deprecation Notices - -In line with the [notice period](../support_deprecation_policy#how-much-advance-notice-will-be-given), deprecation notices for larger items are listed here. - -### DEFAULT_FOLDER removal ([#24836](https://github.com/qmk/qmk_firmware/pull/24836)) - -`DEFAULT_FOLDER` was originally introduced to work around limitations within the build system. -Parent folders containing common configuration would create invalid build targets. - -With the introduction of [`keyboard.json`](./20240526#keyboard-json) as a configuration file, the build system now has a consistent method to detect build targets. -The `DEFAULT_FOLDER` functionality is now redundant and the intent is for `rules.mk` to become pure configuration. - -Backwards compatibility of build targets has been maintained where possible. - -## Full changelist - -Core: -* Chaining OSL and MO ([#23065](https://github.com/qmk/qmk_firmware/pull/23065)) -* Add extra keymap for EurKEY layout ([#24241](https://github.com/qmk/qmk_firmware/pull/24241)) -* Add leader_add_user callback ([#24266](https://github.com/qmk/qmk_firmware/pull/24266)) -* always return audio pin to 0 on ARM ([#24503](https://github.com/qmk/qmk_firmware/pull/24503)) -* Update Starlight matrix effects ([#24521](https://github.com/qmk/qmk_firmware/pull/24521)) -* Refactor Hue Breathing matrix effect with runner ([#24525](https://github.com/qmk/qmk_firmware/pull/24525)) -* Ensure timer_read() is safe to call from interrupt handlers on ARM ([#24529](https://github.com/qmk/qmk_firmware/pull/24529)) -* Update Raindrops effect to respect LED range limits ([#24531](https://github.com/qmk/qmk_firmware/pull/24531)) -* Add Chordal Hold, an "opposite hands rule" tap-hold option similar to Achordion, Bilateral Combinations. ([#24560](https://github.com/qmk/qmk_firmware/pull/24560)) -* Azoteq - improve I2C behaviour while polling. ([#24611](https://github.com/qmk/qmk_firmware/pull/24611)) -* macOS install: remove bad ARM toolchains ([#24637](https://github.com/qmk/qmk_firmware/pull/24637)) -* small refactoring of TIMER_DIFF ([#24678](https://github.com/qmk/qmk_firmware/pull/24678)) -* Subscript alef correction ([#24707](https://github.com/qmk/qmk_firmware/pull/24707)) -* Created SH1107 driver for quantum painter ([#24724](https://github.com/qmk/qmk_firmware/pull/24724)) -* [CI] Regenerate Files ([#24772](https://github.com/qmk/qmk_firmware/pull/24772)) -* Patch up issue for inverted complementary output on Backlight ([#24794](https://github.com/qmk/qmk_firmware/pull/24794)) -* Patch up issue when compile with APA102 driver ([#24800](https://github.com/qmk/qmk_firmware/pull/24800)) -* Consolidate send_string implementations. ([#24817](https://github.com/qmk/qmk_firmware/pull/24817)) -* Consolidate timer_elapsed implementations ([#24830](https://github.com/qmk/qmk_firmware/pull/24830)) -* `i2c_master`: remove deprecated functions ([#24832](https://github.com/qmk/qmk_firmware/pull/24832)) -* Resolve keyboard_aliases when processing keyboard make targets ([#24834](https://github.com/qmk/qmk_firmware/pull/24834)) -* LED drivers: remove deprecated defines ([#24837](https://github.com/qmk/qmk_firmware/pull/24837)) -* `ferris/0_1`: update I2C API usage ([#24839](https://github.com/qmk/qmk_firmware/pull/24839)) -* Unify i2c_master headers ([#24846](https://github.com/qmk/qmk_firmware/pull/24846)) -* Community modules ([#24848](https://github.com/qmk/qmk_firmware/pull/24848)) -* Relocate base WS2812 code ([#24850](https://github.com/qmk/qmk_firmware/pull/24850)) -* Unify UART headers ([#24855](https://github.com/qmk/qmk_firmware/pull/24855)) -* Unify spi_master headers ([#24857](https://github.com/qmk/qmk_firmware/pull/24857)) -* Invoke `process_record_via` after `_user`/`_kb` have a chance to handle it. ([#24879](https://github.com/qmk/qmk_firmware/pull/24879)) - -CLI: -* Extend lint to reject 'blank' files ([#23994](https://github.com/qmk/qmk_firmware/pull/23994)) -* `qmk docs`: restore `--port` and `--browser` arguments ([#24623](https://github.com/qmk/qmk_firmware/pull/24623)) -* Update via2json layout macro searching ([#24640](https://github.com/qmk/qmk_firmware/pull/24640)) -* Change `new-keymap` keymap name prompt ([#24701](https://github.com/qmk/qmk_firmware/pull/24701)) -* default_keyboard.h generation tweaks ([#24715](https://github.com/qmk/qmk_firmware/pull/24715)) -* Ensure `qmk flash` rejects invalid files for uf2 compatible bootloaders ([#24802](https://github.com/qmk/qmk_firmware/pull/24802)) -* Reject readme dummy content ([#24913](https://github.com/qmk/qmk_firmware/pull/24913)) - -Submodule updates: -* chibios: usb_main: remove OTG sof workaround ([#24259](https://github.com/qmk/qmk_firmware/pull/24259)) -* Update ChibiOS to latest stable branch. ([#24651](https://github.com/qmk/qmk_firmware/pull/24651)) -* Update ChibiOS `stable_21.11.x`. ([#24714](https://github.com/qmk/qmk_firmware/pull/24714)) -* Update ChibiOS-Contrib. ([#24803](https://github.com/qmk/qmk_firmware/pull/24803)) - -Keyboards: -* refactor: move ymdk/id75 to revision ([#24590](https://github.com/qmk/qmk_firmware/pull/24590)) -* skyloong/gk61: Remove overriding of core keycode behaviour ([#24655](https://github.com/qmk/qmk_firmware/pull/24655)) -* moky/moky88: Remove use of deprecated defines ([#24656](https://github.com/qmk/qmk_firmware/pull/24656)) -* Updating Promenade keyboard (Missing keys in matrix, other minor changes to keymap) ([#24705](https://github.com/qmk/qmk_firmware/pull/24705)) -* Moving cxt_studio keyboard to own folder ([#24748](https://github.com/qmk/qmk_firmware/pull/24748)) -* Add CXT Studio 12E3 keyboard ([#24749](https://github.com/qmk/qmk_firmware/pull/24749)) -* Add Silakka54 keyboard ([#24757](https://github.com/qmk/qmk_firmware/pull/24757)) -* Add more layout for skiller_sgk50_s4 ([#24784](https://github.com/qmk/qmk_firmware/pull/24784)) -* Add watchdog service to RGBKB Sol 3 ([#24786](https://github.com/qmk/qmk_firmware/pull/24786)) -* Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson ([#24835](https://github.com/qmk/qmk_firmware/pull/24835)) -* Remove DEFAULT_FOLDER where keyboard aliases already exists ([#24838](https://github.com/qmk/qmk_firmware/pull/24838)) -* Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson ([#24845](https://github.com/qmk/qmk_firmware/pull/24845)) -* Update for 'A-JAZZ AKC084' ('A-JAZZ AKP846') ([#24868](https://github.com/qmk/qmk_firmware/pull/24868)) -* handwired/xealous - Remove DEFAULT_FOLDER ([#24877](https://github.com/qmk/qmk_firmware/pull/24877)) -* Updates to Ploopy Classic, Mouse, and Thumb for RP2040 hardware upgrade ([#24880](https://github.com/qmk/qmk_firmware/pull/24880)) -* Move Ergodox STM32 to handwired folder ([#24903](https://github.com/qmk/qmk_firmware/pull/24903)) -* Remove readme dummy content ([#24912](https://github.com/qmk/qmk_firmware/pull/24912)) -* Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson ([#24915](https://github.com/qmk/qmk_firmware/pull/24915)) -* Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson ([#24938](https://github.com/qmk/qmk_firmware/pull/24938)) - -Keyboard fixes: -* Fix up CI with `DEFAULT_FOLDER`. ([#24842](https://github.com/qmk/qmk_firmware/pull/24842)) -* rgbkb/pan - Remove invalid build target ([#24844](https://github.com/qmk/qmk_firmware/pull/24844)) - -Others: -* Formally deprecate DEFAULT_FOLDER ([#24836](https://github.com/qmk/qmk_firmware/pull/24836)) -* Correct I2C API reference ([#24840](https://github.com/qmk/qmk_firmware/pull/24840)) - -Bugs: -* Retro Tapping Re-Write; Key Roll Fix ([#23641](https://github.com/qmk/qmk_firmware/pull/23641)) -* Fix Quantum Painter compiliation issues with heavy optimization ([#24667](https://github.com/qmk/qmk_firmware/pull/24667)) -* Bugfix and update for AT32F415 ([#24807](https://github.com/qmk/qmk_firmware/pull/24807)) -* Fix for Chordal Hold: stuck mods when mod-taps are pressed in a stuttered sequence. ([#24878](https://github.com/qmk/qmk_firmware/pull/24878)) -* fix EEPROM driver for STM32L0/1 cat.1 devices ([#24928](https://github.com/qmk/qmk_firmware/pull/24928)) diff --git a/docs/ChangeLog/20250525.md b/docs/ChangeLog/20250525.md deleted file mode 100644 index c8859e0ea1..0000000000 --- a/docs/ChangeLog/20250525.md +++ /dev/null @@ -1,299 +0,0 @@ -# QMK Breaking Changes - 2025 May 25 Changelog - -## Notable Features - -### Flow Tap ([#25125](https://github.com/qmk/qmk_firmware/pull/25125)) - -Adds Flow Tap as a core tap-hold option to disable HRMs during fast typing, aka Global Quick Tap, Require Prior Idle. - -Flow Tap modifies mod-tap MT and layer-tap LT keys such that when pressed within a short timeout of the preceding key, the tapping behavior is triggered. It basically disables the hold behavior during fast typing, creating a "flow of taps." It also helps to reduce the input lag of tap-hold keys during fast typing, since the tapped behavior is sent immediately. - -See the [Flow Tap documentation](../tap_hold#flow-tap) for more information. - -### Community Modules `1.1.1` ([#25050](https://github.com/qmk/qmk_firmware/pull/25050), [#25187](https://github.com/qmk/qmk_firmware/pull/25187)) - -Version `1.1.1` introduces support for module defined RGB matrix effects and indicator callbacks, as well as pointing and layer state callbacks. - -See the [Community Modules documentation](../features/community_modules) for more information, including the full list of available hooks. - -## Changes Requiring User Action - -### Updated Keyboard Codebases - -| Old Keyboard Name | New Keyboard Name | -|------------------------|----------------------| -| chew | chew/split | -| deemen17/de60fs | deemen17/de60/r1 | -| keyten/kt60hs_t | keyten/kt60hs_t/v1 | -| plywrks/ply8x | plywrks/ply8x/solder | -| rookiebwoy/late9/rev1 | ivndbt/late9/rev1 | -| rookiebwoy/neopad/rev1 | ivndbt/neopad/rev1 | - -## Deprecation Notices - -In line with the [notice period](../support_deprecation_policy#how-much-advance-notice-will-be-given), deprecation notices for larger items are listed here. - -### Deprecation of `qmk generate-compilation-database` ([#25237](https://github.com/qmk/qmk_firmware/pull/25237)) - -This command has been deprecated as it cannot take into account configurables such as [converters](/feature_converters) or environment variables normally specified on the command line; please use the `--compiledb` flag with `qmk compile` instead. - -### Deprecation of `usb.force_nkro`/`FORCE_NKRO` ([#25262](https://github.com/qmk/qmk_firmware/pull/25262)) - -Unpicking the assumption that only USB can do NKRO, forcing of NKRO on every boot has been deprecated. As this setting persists, it produces unnecessary user confusion when the various NKRO keycodes (for example `NK_TOGG`) do not behave as expected. - -The new defaults can be configured in the following ways: - -:::::tabs - -==== keyboard.json - -```json [keyboard.json] -{ - "host": { // [!code focus] - "default": { // [!code focus] - "nkro": true // [!code focus] - } // [!code focus] - } // [!code focus] -} - -``` - -==== keymap.json - -```json [keymap.json] -{ - "config": { - "host": { // [!code focus] - "default": { // [!code focus] - "nkro": true // [!code focus] - } // [!code focus] - } // [!code focus] - } -} - -``` - -==== config.h - -```c [config.h] -#pragma once - -#define NKRO_DEFAULT_ON true // [!code focus] -``` - -::::: - -The deprecated options will be removed in a future breaking changes cycle. - -### `CTPC`/`CONVERT_TO_PROTON_C` removal ([#25111](https://github.com/qmk/qmk_firmware/pull/25111)) - -Deprecated build options `CTPC` and `CONVERT_TO_PROTON_C` have been removed. Users should of these should migrate to `CONVERT_TO=proton_c`. - -see the [Converters Feature](../feature_converters) documentation for more information. - -### `DEFAULT_FOLDER` removal ([#23281](https://github.com/qmk/qmk_firmware/pull/23281)) - -`DEFAULT_FOLDER` was originally introduced to work around limitations within the build system. -Parent folders containing common configuration would create invalid build targets. - -With the introduction of [`keyboard.json`](./20240526#keyboard-json) as a configuration file, the build system now has a consistent method to detect build targets. -The `DEFAULT_FOLDER` functionality is now redundant and the intent is for `rules.mk` to become pure configuration. - -Backwards compatibility of build targets has been maintained where possible. - -### Converter `Pin Compatible` updates ([#20330](https://github.com/qmk/qmk_firmware/pull/20330)) - -Converter support will be further limited to only function if a keyboard declares that is is compatible. - -This can be configured in the following ways: - -:::::tabs - -==== keyboard.json - -```json [keyboard.json] -{ - "development_board": "promicro", // [!code focus] -} -``` - -==== rules.mk - -```make [rules.mk] -PIN_COMPATIBLE = promicro -``` - -::::: - -see the [Converters Feature](../feature_converters) documentation for more information. - -### Deprecation of `encoder_update_{kb|user}` - -These callbacks are now considered end-of-life and will be removed over the next breaking changes cycle, ending August 2025. PRs containing these callbacks will be asked to change to use [encoder mapping](/features/encoders#encoder-map). - -`ENCODER_MAP_ENABLE` will subsequently be changed to "default-on" when encoders are enabled, and future breaking changes cycles will remove this flag entirely. - -To migrate usage of `encoder_update_user` to encoder map you'll need to handle all of the following changes in your `keymap.c`: - -:::::tabs - -=== 1. Add keycode definitions - -Define new keycodes: - -```c -enum { - MY_ENCODER_LEFT = QK_USER, // [!code focus] - MY_ENCODER_RIGHT, // [!code focus] -}; -``` - -=== 2. Add encoder mapping - -Add the keycodes to a new encoder map (optionally with transparent layers above, if you want identical functionality of layer-independence): - -```c -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(MY_ENCODER_LEFT, MY_ENCODER_RIGHT) }, // [!code focus] - [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, // [!code focus] - [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, // [!code focus] - [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, // [!code focus] -}; -#endif -``` - -=== 3. Add keycode processing - -Handle the new keycodes within `process_record_user`, much like any other keycode in your keymap: - -```c -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case MY_ENCODER_LEFT: // [!code focus] - if (record->event.pressed) { // [!code focus] - // Add the same code you had in your `encoder_update_user` for the left-rotation code // [!code focus] - } // [!code focus] - return false; // Skip all further processing of this keycode // [!code focus] - case MY_ENCODER_RIGHT: // [!code focus] - if (record->event.pressed) { // [!code focus] - // Add the same code you had in your `encoder_update_user` for the right-rotation code // [!code focus] - } // [!code focus] - return false; // Skip all further processing of this keycode // [!code focus] - } -} -``` - -=== 4. Remove old code - -Remove your implementation of `encoder_update_user` from your `keymap.c`. - -:::::: - -If your board has multiple encoders, each encoder will need its own pair of keycodes defined as per above. - -## Full changelist - -Core: -* Non-volatile memory data repository pattern ([#24356](https://github.com/qmk/qmk_firmware/pull/24356)) -* High resolution scrolling (without feature report parsing) ([#24423](https://github.com/qmk/qmk_firmware/pull/24423)) -* Implement battery level interface ([#24666](https://github.com/qmk/qmk_firmware/pull/24666)) -* get_keycode_string(): function to format keycodes as strings, for more readable debug logging. ([#24787](https://github.com/qmk/qmk_firmware/pull/24787)) -* [Cleanup] Handling of optional `*.mk` files ([#24952](https://github.com/qmk/qmk_firmware/pull/24952)) -* Add EOL to non-keyboard files ([#24990](https://github.com/qmk/qmk_firmware/pull/24990)) -* use `keycode_string` in unit tests ([#25042](https://github.com/qmk/qmk_firmware/pull/25042)) -* Add additional hooks for Community modules ([#25050](https://github.com/qmk/qmk_firmware/pull/25050)) -* Remove `CTPC`/`CONVERT_TO_PROTON_C` options ([#25111](https://github.com/qmk/qmk_firmware/pull/25111)) -* Flow Tap tap-hold option to disable HRMs during fast typing (aka Global Quick Tap, Require Prior Idle). ([#25125](https://github.com/qmk/qmk_firmware/pull/25125)) -* Remove `bluefruit_le_read_battery_voltage` function ([#25129](https://github.com/qmk/qmk_firmware/pull/25129)) -* Avoid duplication in generated community modules `rules.mk` ([#25135](https://github.com/qmk/qmk_firmware/pull/25135)) -* [chore]: move and rename mouse/scroll min/max defines ([#25141](https://github.com/qmk/qmk_firmware/pull/25141)) -* Ignore the Layer Lock key in Repeat Key and Caps Word. ([#25171](https://github.com/qmk/qmk_firmware/pull/25171)) -* Allow for disabling EEPROM subsystem entirely. ([#25173](https://github.com/qmk/qmk_firmware/pull/25173)) -* Implement connection keycode logic ([#25176](https://github.com/qmk/qmk_firmware/pull/25176)) -* Align ChibiOS `USB_WAIT_FOR_ENUMERATION` implementation ([#25184](https://github.com/qmk/qmk_firmware/pull/25184)) -* Enable community modules to define LED matrix and RGB matrix effects. ([#25187](https://github.com/qmk/qmk_firmware/pull/25187)) -* Bind Bluetooth driver to `host_driver_t` ([#25199](https://github.com/qmk/qmk_firmware/pull/25199)) -* Enhance Flow Tap to work better for rolls over multiple tap-hold keys. ([#25200](https://github.com/qmk/qmk_firmware/pull/25200)) -* Remove force disable of NKRO when Bluetooth enabled ([#25201](https://github.com/qmk/qmk_firmware/pull/25201)) -* [New Feature/Core] New RGB Matrix Animation "Starlight Smooth" ([#25203](https://github.com/qmk/qmk_firmware/pull/25203)) -* Add battery changed callbacks ([#25207](https://github.com/qmk/qmk_firmware/pull/25207)) -* Generate versions to keycode headers ([#25219](https://github.com/qmk/qmk_firmware/pull/25219)) -* Add raw_hid support to host driver ([#25255](https://github.com/qmk/qmk_firmware/pull/25255)) -* Deprecate `usb.force_nkro`/`FORCE_NKRO` ([#25262](https://github.com/qmk/qmk_firmware/pull/25262)) -* [Chore] use {rgblight,rgb_matrix}_hsv_to_rgb overrides ([#25271](https://github.com/qmk/qmk_firmware/pull/25271)) -* Remove outdated `nix` support due to bit-rot. ([#25280](https://github.com/qmk/qmk_firmware/pull/25280)) - -CLI: -* Align to latest CLI dependencies ([#24553](https://github.com/qmk/qmk_firmware/pull/24553)) -* Exclude external userspace from lint checking ([#24680](https://github.com/qmk/qmk_firmware/pull/24680)) -* [Modules] Provide access to current path in `rules.mk`. ([#25061](https://github.com/qmk/qmk_firmware/pull/25061)) -* Add "license" field to Community Module JSON schema. ([#25085](https://github.com/qmk/qmk_firmware/pull/25085)) -* Prompt for converter when creating new keymap ([#25116](https://github.com/qmk/qmk_firmware/pull/25116)) -* Extend lint checks to reject duplication of defaults ([#25149](https://github.com/qmk/qmk_firmware/pull/25149)) -* Add lint warning for empty url ([#25182](https://github.com/qmk/qmk_firmware/pull/25182)) -* Deprecate `qmk generate-compilation-database`. ([#25237](https://github.com/qmk/qmk_firmware/pull/25237)) -* Use relative paths for schemas, instead of $id. Enables VScode validation. ([#25251](https://github.com/qmk/qmk_firmware/pull/25251)) - -Submodule updates: -* STM32G0x1 support ([#24301](https://github.com/qmk/qmk_firmware/pull/24301)) -* Update develop branch to Pico SDK 1.5.1 ([#25178](https://github.com/qmk/qmk_firmware/pull/25178)) -* Add `compiler_support.h` ([#25274](https://github.com/qmk/qmk_firmware/pull/25274)) - -Keyboards: -* add 75_(ansi|iso) Community Layouts to mechlovin/olly/octagon ([#22459](https://github.com/qmk/qmk_firmware/pull/22459)) -* Add the plywrks ply8x hotswap variant. ([#23558](https://github.com/qmk/qmk_firmware/pull/23558)) -* Add Community Layout support to daskeyboard4 ([#23884](https://github.com/qmk/qmk_firmware/pull/23884)) -* New standard layout for Savage65 (65_ansi_blocker_tsangan_split_bs) ([#24690](https://github.com/qmk/qmk_firmware/pull/24690)) -* Add Icebreaker keyboard ([#24723](https://github.com/qmk/qmk_firmware/pull/24723)) -* Update Tractyl Manuform and add F405 (weact) variant ([#24764](https://github.com/qmk/qmk_firmware/pull/24764)) -* Chew folders ([#24785](https://github.com/qmk/qmk_firmware/pull/24785)) -* modelh: add prerequisites for via support ([#24932](https://github.com/qmk/qmk_firmware/pull/24932)) -* Only configure `STM32_HSECLK` within `board.h` ([#25001](https://github.com/qmk/qmk_firmware/pull/25001)) -* Allow LVGL onekey keymap to be able compile for other board ([#25005](https://github.com/qmk/qmk_firmware/pull/25005)) -* Remove Sofle `rgb_default` keymap & tidy readme's ([#25010](https://github.com/qmk/qmk_firmware/pull/25010)) -* Migrate remaining `split.soft_serial_pin` to `split.serial.pin` ([#25046](https://github.com/qmk/qmk_firmware/pull/25046)) -* Update keymap for keycult 1800 ([#25070](https://github.com/qmk/qmk_firmware/pull/25070)) -* Add kt60HS-T v2 PCB ([#25080](https://github.com/qmk/qmk_firmware/pull/25080)) -* Refactor Deemen17 Works DE60 ([#25088](https://github.com/qmk/qmk_firmware/pull/25088)) -* Rookiebwoy to ivndbt ([#25142](https://github.com/qmk/qmk_firmware/pull/25142)) -* Remove duplication of RGB Matrix defaults ([#25146](https://github.com/qmk/qmk_firmware/pull/25146)) -* ymdk/id75/rp2040 ([#25157](https://github.com/qmk/qmk_firmware/pull/25157)) -* Remove duplication of RGBLight defaults ([#25169](https://github.com/qmk/qmk_firmware/pull/25169)) -* Remove empty `url` fields ([#25181](https://github.com/qmk/qmk_firmware/pull/25181)) -* Remove more duplication of defaults ([#25189](https://github.com/qmk/qmk_firmware/pull/25189)) -* Remove `"console":false` from keyboards ([#25190](https://github.com/qmk/qmk_firmware/pull/25190)) -* Remove `"command":false` from keyboards ([#25193](https://github.com/qmk/qmk_firmware/pull/25193)) -* Remove redundant keyboard headers ([#25208](https://github.com/qmk/qmk_firmware/pull/25208)) -* Add debounce to duplicated defaults check ([#25246](https://github.com/qmk/qmk_firmware/pull/25246)) -* Remove duplicate of SPI default config from keyboards ([#25266](https://github.com/qmk/qmk_firmware/pull/25266)) -* Resolve miscellaneous keyboard lint warnings ([#25268](https://github.com/qmk/qmk_firmware/pull/25268)) -* Configure boards to use development_board - 0-9 ([#25287](https://github.com/qmk/qmk_firmware/pull/25287)) -* Configure boards to use development_board - UVWXYZ ([#25288](https://github.com/qmk/qmk_firmware/pull/25288)) -* Configure boards to use development_board - S ([#25293](https://github.com/qmk/qmk_firmware/pull/25293)) -* Configure boards to use development_board - T ([#25294](https://github.com/qmk/qmk_firmware/pull/25294)) - -Keyboard fixes: -* Fix `boardsource/beiwagon` RGB Matrix coordinates ([#25018](https://github.com/qmk/qmk_firmware/pull/25018)) -* amptrics/0422 - Prevent OOB in `update_leds_for_layer` ([#25209](https://github.com/qmk/qmk_firmware/pull/25209)) -* salicylic_acid3/getta25 - Fix oled keymap ([#25295](https://github.com/qmk/qmk_firmware/pull/25295)) - -Others: -* Require 'x'/'y' properties for LED/RGB Matrix layout ([#24997](https://github.com/qmk/qmk_firmware/pull/24997)) -* Align `new-keyboard` template to current standards ([#25191](https://github.com/qmk/qmk_firmware/pull/25191)) - -Bugs: -* Fix OS_DETECTION_KEYBOARD_RESET ([#25015](https://github.com/qmk/qmk_firmware/pull/25015)) -* Fix outdated GPIO control function usage ([#25060](https://github.com/qmk/qmk_firmware/pull/25060)) -* Cater for use of `__errno_r()` in ChibiOS syscalls.c with newer picolibc revisions ([#25121](https://github.com/qmk/qmk_firmware/pull/25121)) -* Fixup eeconfig lighting reset. ([#25166](https://github.com/qmk/qmk_firmware/pull/25166)) -* Fix for Flow Tap: fix handling of distinct taps and timer updates. ([#25175](https://github.com/qmk/qmk_firmware/pull/25175)) -* Minimise force-included files ([#25194](https://github.com/qmk/qmk_firmware/pull/25194)) -* Ensure `qmk_userspace_paths` maintains detected order ([#25204](https://github.com/qmk/qmk_firmware/pull/25204)) -* Resolve alias for `qmk new-keymap` keyboard prompts ([#25210](https://github.com/qmk/qmk_firmware/pull/25210)) -* gcc15 AVR compilation fixes ([#25238](https://github.com/qmk/qmk_firmware/pull/25238)) -* Fix typos introduced by PR #25050 ([#25250](https://github.com/qmk/qmk_firmware/pull/25250)) -* Fix Wear Leveling compilation ([#25254](https://github.com/qmk/qmk_firmware/pull/25254)) -* Remove more USB only branches from NKRO handling ([#25263](https://github.com/qmk/qmk_firmware/pull/25263)) -* [Fix] lib8tion: enable fixed scale8 and blend functions ([#25272](https://github.com/qmk/qmk_firmware/pull/25272)) -* Fix tap_hold code blocks ([#25298](https://github.com/qmk/qmk_firmware/pull/25298)) diff --git a/docs/_sidebar.json b/docs/_sidebar.json index 37f2dc580c..95601be7de 100644 --- a/docs/_sidebar.json +++ b/docs/_sidebar.json @@ -60,7 +60,6 @@ "items": [ { "text": "Customizing Functionality", "link": "/custom_quantum_functions" }, { "text": "Driver Installation with Zadig", "link": "/driver_installation_zadig" }, - { "text": "Community Modules", "link": "/features/community_modules" }, { "text": "Keymap Overview", "link": "/keymap" }, { "text": "Development Environments", @@ -207,7 +206,7 @@ { "text": "My Pull Request Was Flagged", "link": "/breaking_changes_instructions" }, { "text": "Most Recent ChangeLog", - "link": "/ChangeLog/20250525" + "link": "/ChangeLog/20241124" }, { "text": "Past Breaking Changes", "link": "/breaking_changes_history" }, { "text": "Deprecation Policy", "link": "/support_deprecation_policy" } @@ -227,7 +226,6 @@ { "text": "ADC Driver", "link": "/drivers/adc" }, { "text": "APA102 Driver", "link": "/drivers/apa102" }, { "text": "Audio Driver", "link": "/drivers/audio" }, - { "text": "Battery Driver", "link": "/drivers/battery" }, { "text": "EEPROM Driver", "link": "/drivers/eeprom" }, { "text": "Flash Driver", "link": "/drivers/flash" }, { "text": "I2C Driver", "link": "/drivers/i2c" }, diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md index 9063fc18db..132c5943cc 100644 --- a/docs/breaking_changes.md +++ b/docs/breaking_changes.md @@ -10,25 +10,25 @@ Practically, this means QMK merges the `develop` branch into the `master` branch ## What has been included in past Breaking Changes? -* [2025 May 25](ChangeLog/20250525) -* [2025 Feb 23](ChangeLog/20250223) * [2024 Nov 24](ChangeLog/20241124) +* [2024 Aug 25](ChangeLog/20240825) +* [2024 May 26](ChangeLog/20240526) * [Older Breaking Changes](breaking_changes_history) ## When is the next Breaking Change? -The next Breaking Change is scheduled for Aug 31, 2025. +The next Breaking Change is scheduled for February 23, 2025. ### Important Dates -* 2025 May 25 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. -* 2025 Aug 3 - `develop` closed to new PRs. -* 2025 Aug 3 - Call for testers. -* 2025 Aug 17 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes -* 2025 Aug 24 - `develop` is locked, only critical bugfix PRs merged. -* 2025 Aug 29 - `master` is locked, no PRs merged. -* 2025 Aug 31 - Merge `develop` to `master`. -* 2025 Aug 31 - `master` is unlocked. PRs can be merged again. +* 2024 Nov 24 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. +* 2025 Jan 26 - `develop` closed to new PRs. +* 2025 Jan 26 - Call for testers. +* 2025 Feb 9 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes +* 2025 Feb 16 - `develop` is locked, only critical bugfix PRs merged. +* 2024 Nov 21 - `master` is locked, no PRs merged. +* 2025 Feb 23 - Merge `develop` to `master`. +* 2025 Feb 23 - `master` is unlocked. PRs can be merged again. ## What changes will be included? diff --git a/docs/breaking_changes_history.md b/docs/breaking_changes_history.md index 274aa340df..f877f42639 100644 --- a/docs/breaking_changes_history.md +++ b/docs/breaking_changes_history.md @@ -2,8 +2,6 @@ This page links to all previous changelogs from the QMK Breaking Changes process. -* [2025 May 25](ChangeLog/20250525) - version 0.29.0 -* [2025 Feb 23](ChangeLog/20250223) - version 0.28.0 * [2024 Nov 24](ChangeLog/20241124) - version 0.27.0 * [2024 Aug 25](ChangeLog/20240825) - version 0.26.0 * [2024 May 26](ChangeLog/20240526) - version 0.25.0 diff --git a/docs/cli.md b/docs/cli.md index ab25a480ab..7d4c10cedd 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -6,7 +6,7 @@ The QMK CLI (command line interface) makes building and working with QMK keyboar ### Requirements {#requirements} -QMK requires Python 3.9 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI. +QMK requires Python 3.7 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI. ### Install Using Homebrew (macOS, some Linux) {#install-using-homebrew} @@ -18,21 +18,9 @@ export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware` qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment ``` -### Install Using uv {#install-using-uv} - -If you have installed [uv](https://docs.astral.sh/uv/), the QMK CLI can be installed and managed as a uv tool: - -``` -uv tool install qmk -export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware` -qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment -``` - -This installation can be updated via `uv tool upgrade qmk`. See [Upgrading tools](https://docs.astral.sh/uv/guides/tools/#upgrading-tools) for more information. - ### Install Using pip {#install-using-easy_install-or-pip} -If your system is not listed above you can install QMK manually. First ensure that you have Python 3.9 (or later) installed and have installed pip. Then install QMK with this command: +If your system is not listed above you can install QMK manually. First ensure that you have Python 3.7 (or later) installed and have installed pip. Then install QMK with this command: ``` python3 -m pip install qmk diff --git a/docs/cli_commands.md b/docs/cli_commands.md index c6a7ffe191..4cd5ae98c3 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -17,7 +17,7 @@ qmk compile [-c] **Usage for Keymaps**: ``` -qmk compile [-c] [-e =] [-j ] [--compiledb] -kb -km +qmk compile [-c] [-e =] [-j ] -kb -km ``` **Usage in Keyboard Directory**: @@ -84,25 +84,6 @@ The `num_jobs` argument determines the maximum number of jobs that can be used. qmk compile -j 0 -kb ``` -**Compilation Database**: - -Creates a `compile_commands.json` file. - -Does your IDE/editor use a language server but doesn't _quite_ find all the necessary include files? Do you hate red squigglies? Do you wish your editor could figure out `#include QMK_KEYBOARD_H`? You might need a [compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html)! Compiling using this argument can create this for you. - -**Example:** - -``` -$ cd ~/qmk_firmware/keyboards/gh60/satan/keymaps/colemak -$ qmk compile --compiledb -Ψ Making clean -Ψ Gathering build instructions from make ........ -Ψ Found 63 compile commands -Ψ Writing build database to /Users/you/src/qmk_firmware/compile_commands.json -Ψ Compiling keymap with make ........ -... build log continues ... -``` - ## `qmk flash` This command is similar to `qmk compile`, but can also target a bootloader. The bootloader is optional, and is set to `:flash` by default. To specify a different bootloader, use `-bl `. Visit the [Flashing Firmware](flashing) guide for more details of the available bootloaders. @@ -713,28 +694,52 @@ qmk format-c qmk format-c -b branch_name ``` -## `qmk docs` - -This command starts a local HTTP server which you can use for browsing or improving the docs, and provides live reload capability whilst editing. Default port is 8936. -Use the `-b`/`--browser` flag to automatically open the local webserver in your default browser. - -Requires `node` and `yarn` to be installed as prerequisites. +## `qmk generate-compilation-database` **Usage**: ``` -usage: qmk docs [-h] [-b] [-p PORT] +qmk generate-compilation-database [-kb KEYBOARD] [-km KEYMAP] +``` + +Creates a `compile_commands.json` file. + +Does your IDE/editor use a language server but doesn't _quite_ find all the necessary include files? Do you hate red squigglies? Do you wish your editor could figure out `#include QMK_KEYBOARD_H`? You might need a [compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html)! The qmk tool can build this for you. + +This command needs to know which keyboard and keymap to build. It uses the same configuration options as the `qmk compile` command: arguments, current directory, and config files. + +**Example:** + +``` +$ cd ~/qmk_firmware/keyboards/gh60/satan/keymaps/colemak +$ qmk generate-compilation-database +Ψ Making clean +Ψ Gathering build instructions from make -n gh60/satan:colemak +Ψ Found 50 compile commands +Ψ Writing build database to /Users/you/src/qmk_firmware/compile_commands.json +``` + +Now open your dev environment and live a squiggly-free life. + +## `qmk docs` + +This command starts a local HTTP server which you can use for browsing or improving the docs. Default port is 5173. + +This command requires `node` and `yarn` to be installed as prerequisites, and provides live reload capability whilst editing. + +**Usage**: + +``` +usage: qmk docs [-h] options: - -h, --help show this help message and exit - -b, --browser Open the docs in the default browser. - -p, --port PORT Port number to use. + -h, --help show this help message and exit ``` ## `qmk generate-docs` -This command generates QMK documentation for production. -Use the `-s`/`--serve` flag to also serve the static site on port 4173 once built. Note that this does not provide live reloading; use `qmk docs` instead for development purposes. +This command allows you to generate QMK documentation locally. It can be uses for general browsing or improving the docs. +Use the `-s`/`--serve` flag to also serve the static site once built. Default port is 4173. This command requires `node` and `yarn` to be installed as prerequisites, and requires the operating system to support symlinks. @@ -877,13 +882,3 @@ Run single test: ``` qmk test-c --test basic ``` - -## `qmk generate-compilation-database` - -**Usage**: - -``` -qmk generate-compilation-database [-kb KEYBOARD] [-km KEYMAP] -``` - -This command has been deprecated as it cannot take into account configurables such as [converters](/feature_converters) or environment variables normally specified on the command line; please use the `--compiledb` flag with `qmk compile` instead. diff --git a/docs/cli_development.md b/docs/cli_development.md index 74ac53d327..2e74220d4b 100644 --- a/docs/cli_development.md +++ b/docs/cli_development.md @@ -44,7 +44,7 @@ def hello(cli): First we import the `cli` object from `milc`. This is how we interact with the user and control the script's behavior. We use `@cli.argument()` to define a command line flag, `--name`. This also creates a configuration variable named `hello.name` (and the corresponding `user.name`) which the user can set so they don't have to specify the argument. The `cli.subcommand()` decorator designates this function as a subcommand. The name of the subcommand will be taken from the name of the function. -Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.9/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator. +Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.7/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator. # User Interaction @@ -56,13 +56,13 @@ There are two main methods for outputting text in a subcommand- `cli.log` and `c You can use special tokens to colorize your text, to make it easier to understand the output of your program. See [Colorizing Text](#colorizing-text) below. -Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.9/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example. +Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.7/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example. You should never use the format operator (`%`) directly, always pass values as arguments. ### Logging (`cli.log`) -The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.9/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong. +The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.7/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong. The default log level is `INFO`. If the user runs `qmk -v ` the default log level will be set to `DEBUG`. diff --git a/docs/coding_conventions_python.md b/docs/coding_conventions_python.md index b25466bf82..502ee9102e 100644 --- a/docs/coding_conventions_python.md +++ b/docs/coding_conventions_python.md @@ -2,7 +2,7 @@ Most of our style follows PEP8 with some local modifications to make things less nit-picky. -* We target Python 3.9 for compatibility with all supported platforms. +* We target Python 3.7 for compatibility with all supported platforms. * We indent using four (4) spaces (soft tabs) * We encourage liberal use of comments * Think of them as a story describing the feature @@ -317,7 +317,7 @@ At the time of this writing our tests are not very comprehensive. Looking at the ## Integration Tests -Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.9/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened. +Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.7/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened. ## Unit Tests diff --git a/docs/config_options.md b/docs/config_options.md index b2a2117693..90a708dd99 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -140,6 +140,8 @@ If you define these options you will enable the associated feature, which may in * `#define ENABLE_COMPILE_KEYCODE` * Enables the `QK_MAKE` keycode +* `#define FORCE_NKRO` + * NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots. * `#define STRICT_LAYER_RELEASE` * force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases) @@ -399,7 +401,6 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i * `atmel-dfu` * `lufa-dfu` * `qmk-dfu` - * `qmk-hid` * `halfkay` * `caterina` * `bootloadhid` diff --git a/docs/configurator_diagram.drawio b/docs/configurator_diagram.drawio index 661f884def..091a3a76b8 100644 --- a/docs/configurator_diagram.drawio +++ b/docs/configurator_diagram.drawio @@ -1 +1 @@ -5VvbcqM4EP2a1O4+hOLqy2Ni5zKX1CTxzszOU0oG2dZEIBZEYu/XbwuEDQg7csZ2vFlXjQca0RLdR+eohXPiDML5VYLi2Q0LMD2xzWB+4gxPbNvqezb8JywLaTFtr7BMExJI28owIv/gsqG0ZiTAaa0hZ4xyEteNPosi7POaDSUJe643mzBa7zVGU6wYRj6iqvU7CfissPY8c2W/xmQ6K3u2THklRGVjaUhnKGDPFZNzceIMEsZ4cRTOB5iK6JVxKe67XHN1ObAER1znhgfT76Zzxxp3Z49j5+7zjw/z+NSS+XlCNJNPLEfLF2UIcAARkacs4TM2ZRGiFyvrecKyKMCiHxPOVm0+MxaD0QLjT8z5QqYXZZyBacZDKq/iKDgTyYLTiEW4sFwSSqXLAKWz3L9orD64jEXKssTHG57WlQBCyRTzTVGRDsWTV3qQcb3CLMQ8WUCDBFPEyVMdK0hCbrpst8oKHMjEbJEk9+UckTDHcTWm0jQk4RR6pWQM3z4l8QNKuDhkYZxxnKRw/J0ljymHJ2HRg2X35vDPiKPp2kA/4YTj+cbIyKunjmv0zMpHeljSQXH6XJla0jSrzKrStvPIei9Hdgm9HNoZpyTCgyXZmPWYI0qmERz7EDGcgIGiMaa3LCUittULIoQEaOZzo8GYcc7CSoMz6ZKLqXQOJBKLgYXzqSBc4xmPKcy11JgSPsvG0GLCIn6JQkJFiK8xfcLCjbwgJyDM+uJ8wChL8ud0ivSILnjCHnHblQlMyIp9kn/ADkMJCK55G14OL4YXmybrFhhyOzXQtKEGdMVwVeBUzDvHTjmKjdS54jWfojQlfpP3YCR/CRwZXnn6o3ptOJcgK84W8gwma8JVz7lZ0qZVI9Ff401PkzddTdqsJM5rme6lTZtdZQ+3jMCTLXFjlRkqyaZJI8Vzy7uqytl01Gk4chqOisAojnJYLR/7F5BWTpkV0gZUTDjgbnOUxTEorqCosxO7QyGG5+MEjqbiaDBLoPsTGzo2L0mCJ2yuNhri9FHQi21+iehCAfHzjHA8ilEOkWegnTqGm0QVkiDIVwU5950j/3Garw9Kdsjd7YYZlmurkhlUYrDNFoB19qUnltPCCUW40xhFZcBnnIvl65noTChxNCFT4+/w0ZiEZXOwV+9Qk9bmd0SiKYTeNm+F9AM2RKTX3tno4iN6QiM/IbFYHXz7eqHeOJI8AeM2YbTQDL4fiuFnCeIs0RvmNUt54eWqUK1iwOnaZ28Asr7cfC0894E/q2PYehDs7w2CGqtFdbndqklVRaoI1BpN2tEaXVdryql2JGKzTKiEgvdasXHchqNDi01XAz/vpiK0tOHW0YTbYUpC6/1ULj9TuH0XlWZ93riOuhjotsz/rmf09pWkjpKkuvI/4sWYoSRIG+K/ks9PsgV4ucEcBYgjXV2ekCR8hoiq7a+uoeGZX+RN3PQ1BsdiwXB2+wG+h629rFR7SKDaRPSLj4VIm7n2ptsuG2voPKRIu7Zt9N9apHtbiXRr7VirASVHVgtAc4cFoDZNekclypZnWK5p9Tp9y+v1up1y73nRQMbWBWHdz3LP90ASbav14HuW6L4m9spsHotE95Us3d18Kkm2mS5KSZziik76lGXBy+XNLpTTq8O5Y6rKadkts3Rv27JlZ2uFE8VkrWTeX4z+nGS0DLSeWILDTYp3jyJ/Bqsf2xRrFXP4Bb6+3fy2tegdUuc6pqenct29pVFjkfryDulhtzDLWXskCnbarCtd75WadaoUlpqqBelBi0qzWDRINwzZanTkOObmkTVv8Pq1G+CgGMNuRVSl53csonZXV0R7RyWitrobIasPMMoCRGF4WY807b+PnD+OS3idXh347fuHrdrbt8qWu4+5WpzU1RcE81QocLTwHcMPIiMoUsJEPtI8+obPWqRZRlNK7+kLoqskejut3UWCeg1msh3L6PYrn54qsf2WbO3thYOjrpTeTGK1Oea4ikSQ/EaSX7t1qwiZfeC9W6ft9dO71TSn/D3YS3hz7KPSNEct3+/vlDyVciS2/FLOEnwYSWpskXS7ai3YOSjB2WqwcEDEm+9cjEwRuqaGfGTineJdhrOW3c/2AjApnO6/BNxBkpqVXrfz1pWes91Lx73KkPZ+UTkP31qHyiw26zFt2fEacGiWiPtWHXWNXvwuIIwpETNmDbPhuZhhAcvG+RWrJj3Wm2x99Vt+QXLYrS9XXdAVu4YDCCehIpztbHefRVH+a07dX22sc/efoLy+/daU5+pswh+I8vRXQt3joDyZVbeW015ztaxLgHU3/eZbnT3Tn6uuULYGwoF/z+lo7wYdF16AHes00GuuO/V3Qxui2bP0ULP1bqjTYK5yS2Gvm5vu/6sQ1IVzKa67KwTXEJK3GVu6KLWd14H0ZRjB6eovj4rmqz/gci7+BQ== +5VvbcqM4EP2a1O4+hOLqy2Ni5zKX1CTxzszOU0oG2dZEIBZEYu/XbwuEDQg7csZ2vFlXjQca0RLdR+eohXPiDML5VYLi2Q0LMD2xzWB+4gxPbNvqezb8JywLaTFtr7BMExJI28owIv/gsqG0ZiTAaa0hZ4xyEteNPosi7POaDSUJe643mzBa7zVGU6wYRj6iqvU7CfissPY8c2W/xmQ6K3u2THklRGVjaUhnKGDPFZNzceIMEsZ4cRTOB5iK6JVxKe67XHN1ObAER1znhgfT76Zzxxp3Z49j5+7zjw/z+NSS+XlCNJNPLEfLF2UIcAARkacs4TM2ZRGiFyvrecKyKMCiHxPOVm0+MxaD0QLjT8z5QqYXZZyBacZDKq/iKDgTyYLTiEW4sFwSSqXLAKWz3L9orD64jEXKssTHG57WlQBCyRTzTVGRDsWTV3qQcb3CLMQ8WUCDBFPEyVMdK0hCbrpst8oKHMjEbJEk9+UckTDHcTWm0jQk4RR6pWQM3z4l8QNKuDhkYZxxnKRw/J0ljymHJ2HRg2X35vDPiKPp2kA/4YTj+cbIyKunjmv0zMpHeljSQXH6XJla0jSrzKrStvPIei9Hdgm9HNoZpyTCgyXZmPWYI0qmERz7EDGcgIGiMaa3LCUittULIoQEaOZzo8GYcc7CSoMz6ZKLqXQOJBKLgYXzqSBc4xmPKcy11JgSPsvG0GLCIn6JQkJFiK8xfcLCjbwgJyDM+uJ8wChL8ud0ivSILnjCHnHblQlMyIp9kn/ADkMJCK55G14OL4YXmybrFhhyOzXQtKEGdMVwVeBUzDvHTjmKjdS54jWfojQlfpP3YCR/CRwZXnn6o3ptOJcgK84W8gwma8JVz7lZ0qZVI9Ff401PkzddTdqsJM5rme6lTZtdZQ+3jMCTLXFjlRkqyaZJI8Vzy7uqytl01Gk4chqOisAojnJYLR/7F5BWTpkV0gZUTDjgbnOUxTEorqCosxO7QyGG5+MEjqbiaDBLoPsTGzo2L0mCJ2yuNhri9FHQi21+iehCAfHzjHA8ilEOkWegnTqGm0QVkiDIVwU5950j/3Garw9Kdsjd7YYZlmurkhlUYrDNFoB19qUnltPCCUW40xhFZcBnnIvl65noTChxNCFT4+/w0ZiEZXOwV+9Qk9bmd0SiKYTeNm+F9AM2RKTX3tno4iN6QiM/IbFYHXz7eqHeOJI8AeM2YbTQDL4fiuFnCeIs0RvmNUt54eWqUK1iwOnaZ28Asr7cfC0894E/q2PYehDs7w2CGqtFdbndqklVRaoI1BpN2tEaXVdryql2JGKzTKiEgvdasXHchqNDi01XAz/vpiK0tOHW0YTbYUpC6/1ULj9TuH0XlWZ93riOuhjotsz/rmf09pWkjpKkuvI/4sWYoSRIG+K/ks9PsgV4ucEcBYgjXV2ekCR8hoiq7a+uoeGZX+RN3PQ1BsdiwXB2+wG+h629rFR7SKDaRPSLj4VIm7n2ptsuG2voPKRIu7Zt9N9apHtbiXRr7VirASVHVgtAc4cFoDZNekclypZnWK5p9Tp9y+v1up1y73nRQMbWBWHdz3LP90ASbav14HuW6L4m9spsHotE95Us3d18Kkm2mS5KSZziik76lGXBy+XNLpTTq8O5Y6rKadkts3Rv27JlZ2uFE8VkrWTeX4z+nGS0DLSeWILDTYp3jyJ/Bqsf2xRrFXP4Bb6+3fy2tegdUuc6pqenct29pVFjkfryDulhtzDLWXskCnbarCtd75WadaoUlpqqBelBi0qzWDRINwzZanTkOObmkTVv8Pq1G+CgGMNuRVSl53csonZXV0R7RyWitrobIasPMMoCRGF4WY807b+PnD+OS3idXh347fuHrdrbt8qWu4+5WpzU1RcE81QocLTwHcMPIiMoUsJEPtI8+obPWqRZRlNK7+kLoqskejut3UWCeg1msh3L6PYrn54qsf2WbO3thYOjrpTeTGK1Oea4ikSQ/EaSX7t1qwiZfeC9W6ft9dO71TSn/D3YS3hz7KPSNEct3+/vlDyVciS2/FLOEnwYSWpskXS7ai3YOSjB2WqwcEDEm+9cjEwRuqaGfGTineJdhrOW3c/2AjApnO6/BNxBkpqVXrfz1pWes91Lx73KkPZ+UTkP31qHyiw26zFt2fEacGiWiPtWHXWNXvwuIIwpETNmDbPhuZhhAcvG+RWrJj3Wm2x99Vt+QXLYrS9XXdAVu4YDCCehIpztbHefRVH+a07dX22sc/efoLy+/daU5+pswh+I8vRXQt3joDyZVbeW015ztaxLgHU3/eZbnT3Tn6uuULYGwoF/z+lo7wYdF16AHes00GuuO/V3Qxui2bP0ULP1bqjTYK5yS2Gvm5vu/6sQ1IVzKa67KwTXEJK3GVu6KLWd14H0ZRjB6eovj4rmqz/gci7+BQ== \ No newline at end of file diff --git a/docs/configurator_diagram.svg b/docs/configurator_diagram.svg index 1e540d70a6..bcf0bf76d1 100644 --- a/docs/configurator_diagram.svg +++ b/docs/configurator_diagram.svg @@ -1,3 +1,3 @@ -
Clients Supported:
Chrome, Firefox
Desktop Only
Clients Supported:...
https://config.qmk.fm
Single Page Site
JavaScript/VUE
Source: qmk/qmk_configurator
Host: Github Pages
https://config.qmk.fm...
https://keyboards.qmk.fm
Keyboard Metadata
Source: qmk/qmk_firmware
GH Action: Update API Data
Host: DigitalOcean Spaces
https://keyboards.qmk.fm...
QMK API
QMK API
https://api.qmk.fm
RESTful API
Source: qmk/qmk_api
Host: Rancher on DO VM's
https://api.qmk.fm...
Digital Ocean
Spaces
(S3)
Digital Ocean...
https://qmk-api.nyc3.cdn.digitaloceanspaces.com
Space: qmk-api
Host: Digital Ocean
https://qmk-api.nyc3.cdn.digitaloceanspaces.com...
RQ
RQ
Redis / RQ
Job Queue
Source: qmk/qmk_redis
Host: Rancher on DO VM's
Redis / RQ...
qmk_complier
qmk_complier
QMK Compiler
Job Runners
Source: qmk/qmk_compiler
Host: Rancher on DO VM's
QMK Compiler...
Viewer does not support full SVG 1.1
+
Clients Supported:
Chrome, Firefox
Desktop Only
Clients Supported:...
https://config.qmk.fm
Single Page Site
JavaScript/VUE
Source: qmk/qmk_configurator
Host: Github Pages
https://config.qmk.fm...
https://keyboards.qmk.fm
Keyboard Metadata
Source: qmk/qmk_firmware
GH Action: Update API Data
Host: DigitalOcean Spaces
https://keyboards.qmk.fm...
QMK API
QMK API
https://api.qmk.fm
RESTful API
Source: qmk/qmk_api
Host: Rancher on DO VM's
https://api.qmk.fm...
Digital Ocean
Spaces
(S3)
Digital Ocean...
https://qmk-api.nyc3.cdn.digitaloceanspaces.com
Space: qmk-api
Host: Digital Ocean
https://qmk-api.nyc3.cdn.digitaloceanspaces.com...
RQ
RQ
Redis / RQ
Job Queue
Source: qmk/qmk_redis
Host: Rancher on DO VM's
Redis / RQ...
qmk_complier
qmk_complier
QMK Compiler
Job Runners
Source: qmk/qmk_compiler
Host: Rancher on DO VM's
QMK Compiler...
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/docs/contributing.md b/docs/contributing.md index 70a00b706d..bbb1997a6f 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -106,10 +106,10 @@ enum my_keycodes { Before opening a pull request, you can preview your changes if you have set up the development environment by running this command from the `qmk_firmware/` folder: ``` -qmk docs -b +qmk docs ``` -Which should automatically open your browser; otherwise, navigate to `http://localhost:8936/`. +and navigating to `http://localhost:5173/`. ## Keyboards diff --git a/docs/custom_quantum_functions.md b/docs/custom_quantum_functions.md index c69beb055e..1479eb53f6 100644 --- a/docs/custom_quantum_functions.md +++ b/docs/custom_quantum_functions.md @@ -9,19 +9,12 @@ This page does not assume any special knowledge about QMK, but reading [Understa We have structured QMK as a hierarchy: * Core (`_quantum`) - * Community Module (`_`) - * Community Module -> Keyboard/Revision (`__kb`) - * Community Module -> Keymap (`__user`) * Keyboard/Revision (`_kb`) * Keymap (`_user`) Each of the functions described below can be defined with a `_kb()` suffix or a `_user()` suffix. We intend for you to use the `_kb()` suffix at the Keyboard/Revision level, while the `_user()` suffix should be used at the Keymap level. -When defining functions at the Keyboard/Revision level it is important that your `_kb()` implementation call `_user()` at an appropriate location, otherwise the keymap level function will never be called. - -Functions at the `__xxx()` level are intended to allow keyboards or keymaps to override or enhance the processing associated with a [community module](/features/community_modules). - -When defining module overrides such as `process_record_()`, the same pattern should be used; the module must invoke `process_record__kb()` as appropriate. +When defining functions at the Keyboard/Revision level it is important that your `_kb()` implementation call `_user()` before executing anything else- otherwise the keymap level function will never be called. # Custom Keycodes @@ -106,7 +99,7 @@ These are the three main initialization functions, listed in the order that they * `keyboard_post_init_*` - Happens at the end of the firmware's startup process. This is where you'd want to put "customization" code, for the most part. ::: warning -For most people, the `keyboard_post_init_user` function is what you want to implement. For instance, this is where you want to set up things for RGB Underglow. +For most people, the `keyboard_post_init_user` function is what you want to call. For instance, this is where you want to set up things for RGB Underglow. ::: ## Keyboard Pre Initialization code diff --git a/docs/drivers/aw20216s.md b/docs/drivers/aw20216s.md index 042c8df129..36a6d63c33 100644 --- a/docs/drivers/aw20216s.md +++ b/docs/drivers/aw20216s.md @@ -2,7 +2,7 @@ SPI 18x12 LED matrix driver by Awinic. Supports a maximum of four drivers, each controlling up to 216 single-color LEDs, or 72 RGB LEDs. -[AW20216S Datasheet](https://doc.awinic.com/doc/202412/a055779b-49c0-4d09-8f04-73029f44b72b.pdf) +[AW20216S Datasheet](https://doc.awinic.com/doc/20230609wm/b6a9c70b-e1bd-495b-925f-bcbed3fc2620.pdf) ## Usage {#usage} diff --git a/docs/drivers/battery.md b/docs/drivers/battery.md deleted file mode 100644 index e482ffc8b6..0000000000 --- a/docs/drivers/battery.md +++ /dev/null @@ -1,73 +0,0 @@ -# Battery Driver - -This driver provides support for sampling battery level. - -## Usage - -To use this driver, add the following to your `rules.mk`: - -```make -BATTERY_DRIVER_REQUIRED = yes -``` - -## Basic Configuration {#basic-configuration} - -Add the following to your `config.h`: - -|Define |Default |Description | -|--------------------------|--------|--------------------------------------------------| -|`BATTERY_SAMPLE_INTERVAL` |`30000` |The time between battery samples in milliseconds. | - -## Driver Configuration {#driver-configuration} - -Driver selection can be configured in `rules.mk` as `BATTERY_DRIVER`. Valid values are `adc` (default), `vendor`, or `custom`. See below for information on individual drivers. - -### ADC Driver {#adc-driver} - -This is the default battery driver. The default configuration assumes the battery is connected to a ADC capable pin through a voltage divider. - -```make -BATTERY_DRIVER = adc -``` - -The following `#define`s apply only to the `adc` driver: - -|Define |Default |Description | -|-----------------------------|--------------|--------------------------------------------------------------| -|`BATTERY_PIN` |*Not defined* |The GPIO pin connected to the voltage divider. | -|`BATTERY_REF_VOLTAGE_MV` |`3300` |The ADC reverence voltage, in millivolts. | -|`BATTERY_VOLTAGE_DIVIDER_R1` |`100` |The voltage divider resistance, in kOhm. Set to 0 to disable. | -|`BATTERY_VOLTAGE_DIVIDER_R2` |`100` |The voltage divider resistance, in kOhm. Set to 0 to disable. | -|`BATTERY_ADC_RESOLUTION` |`10` |The ADC resolution configured for the ADC Driver. | - -## Functions - -### `uint8_t battery_get_percent(void)` {#api-battery-get-percent} - -Sample battery level. - -#### Return Value {#api-battery-get-percent-return} - -The battery percentage, in the range 0-100. - -## Callbacks - -### `void battery_percent_changed_user(uint8_t level)` {#api-battery-percent-changed-user} - -User hook called when battery level changed. - -### Arguments {#api-battery-percent-changed-user-arguments} - - - `uint8_t level` - The battery percentage, in the range 0-100. - ---- - -### `void battery_percent_changed_kb(uint8_t level)` {#api-battery-percent-changed-kb} - -Keyboard hook called when battery level changed. - -### Arguments {#api-battery-percent-changed-kb-arguments} - - - `uint8_t level` - The battery percentage, in the range 0-100. diff --git a/docs/drivers/i2c.md b/docs/drivers/i2c.md index ad74d0e481..c806a090c5 100644 --- a/docs/drivers/i2c.md +++ b/docs/drivers/i2c.md @@ -16,22 +16,17 @@ You can then call the I2C API by including `i2c_master.h` in your code. ## I2C Addressing {#note-on-i2c-addresses} -I2C addresses listed on datasheets and the internet are usually represented as a 7-bit value. The eighth bit (the least significant bit) controls whether the operation is a read or a write. +All of the addresses expected by this driver should be pushed to the upper 7 bits of the address byte. Setting +the lower bit (indicating read/write) will be done by the respective functions. Almost all I2C addresses listed +on datasheets and the internet will be represented as 7 bits occupying the lower 7 bits and will need to be +shifted to the left (more significant) by one bit. This is easy to do via the bitwise shift operator `<< 1`. -All of the address parameters expected by the driver API should therefore be pushed to the upper 7 bits of the address byte; the driver will take care of setting the read/write bit as appropriate. - -This is easy to do via the bitwise left shift operator. For example, if your device has an address of `0x18` you might create a define for convenience: +You can either do this on each call to the functions below, or once in your definition of the address. For example, if your device has an address of `0x18`: ```c #define MY_I2C_ADDRESS (0x18 << 1) ``` -Or, you can shift the address ahead of time: - -```c -#define MY_I2C_ADDRESS 0x30 -``` - See https://www.robot-electronics.co.uk/i2c-tutorial for more information about I2C addressing and other technical details. ## AVR Configuration {#avr-configuration} @@ -44,12 +39,12 @@ The following defines can be used to configure the I2C master driver: No further setup is required - just connect the `SDA` and `SCL` pins of your I2C devices to the matching pins on the MCU: -|MCU |`SCL`|`SDA`| -|-------------|-----|-----| -|ATmega16/32U4|`D0` |`D1` | -|AT90USB64/128|`D0` |`D1` | -|ATmega32A |`C0` |`C1` | -|ATmega328/P |`C5` |`C4` | +|MCU |`SCL`|`SDA`| +|------------------|-----|-----| +|ATmega16/32U4 |`D0` |`D1` | +|AT90USB64/128 |`D0` |`D1` | +|ATmega32A |`C0` |`C1` | +|ATmega328/P |`C5` |`C4` | ::: tip The ATmega16/32U2 does not possess I2C functionality, and so cannot use this driver. @@ -57,7 +52,7 @@ The ATmega16/32U2 does not possess I2C functionality, and so cannot use this dri ## ChibiOS/ARM Configuration {#arm-configuration} -You'll need to determine which pins can be used for I2C -- as an example, STM32 parts generally have multiple I2C peripherals, labeled I2C1, I2C2, I2C3 etc. +You'll need to determine which pins can be used for I2C -- a an example, STM32 parts generally have multiple I2C peripherals, labeled I2C1, I2C2, I2C3 etc. To enable I2C, modify your board's `halconf.h` to enable I2C, then modify your board's `mcuconf.h` to enable the peripheral you've chosen: @@ -88,19 +83,15 @@ To enable I2C, modify your board's `halconf.h` to enable I2C, then modify your b Configuration-wise, you'll need to set up the peripheral as per your MCU's datasheet -- the defaults match the pins for a Proton-C, i.e. STM32F303. -|`config.h` Override|Description |Default| -|-------------------|-------------------------------------------------------------|-------| -|`I2C_DRIVER` |I2C peripheral to use - I2C1 -> `I2CD1`, I2C2 -> `I2CD2` etc.|`I2CD1`| -|`I2C1_SCL_PIN` |The pin to use for SCL |`B6` | -|`I2C1_SCL_PAL_MODE`|The alternate function mode for SCL |`4` | -|`I2C1_SDA_PIN` |The pin to use for SDA |`B7` | -|`I2C1_SDA_PAL_MODE`|The alternate function mode for SDA |`4` | +|`config.h` Overrride |Description |Default| +|------------------------|--------------------------------------------------------------|-------| +|`I2C_DRIVER` |I2C peripheral to use - I2C1 -> `I2CD1`, I2C2 -> `I2CD2` etc. |`I2CD1`| +|`I2C1_SCL_PIN` |The pin definition for SCL |`B6` | +|`I2C1_SCL_PAL_MODE` |The alternate function mode for SCL |`4` | +|`I2C1_SDA_PIN` |The pin definition for SDA |`B7` | +|`I2C1_SDA_PAL_MODE` |The alternate function mode for SDA |`4` | -::: tip -Currently only a single I2C peripheral is supported, therefore the `I2C1_*` defines are used for configuration regardless of the selected peripheral. -::: - -The following configuration values are dependent on the ChibiOS I2C LLD, which is dictated by the microcontroller. +The following configuration values depend on the specific MCU in use. ### I2Cv1 {#arm-configuration-i2cv1} @@ -156,7 +147,7 @@ void i2c_init(void) { --- -### `i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout)` {#api-i2c-transmit} +### `i2c_status_t i2c_transmit(uint8_t address, uint8_t *data, uint16_t length, uint16_t timeout)` {#api-i2c-transmit} Send multiple bytes to the selected I2C device. @@ -164,10 +155,10 @@ Send multiple bytes to the selected I2C device. - `uint8_t address` The 7-bit I2C address of the device. - - `const uint8_t* data` + - `uint8_t *data` A pointer to the data to transmit. - `uint16_t length` - The number of bytes to write. Take care not to overrun the length of `data`. + The number of bytes to write. Take care not to overrun the length of `data`. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. @@ -177,29 +168,6 @@ Send multiple bytes to the selected I2C device. --- -### `i2c_status_t i2c_transmit_P(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout)` {#api-i2c-transmit-p} - -Send multiple bytes from PROGMEM to the selected I2C device. - -On ARM devices, this function is simply an alias for `i2c_transmit(address, data, length, timeout)`. - -#### Arguments {#api-i2c-transmit-p-arguments} - - - `uint8_t address` - The 7-bit I2C address of the device. - - `const uint8_t* data` - A pointer to the data to transmit. - - `uint16_t length` - The number of bytes to write. Take care not to overrun the length of `data`. - - `uint16_t timeout` - The time in milliseconds to wait for a response from the target device. - -#### Return Value {#api-i2c-transmit-p-return} - -`I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. - ---- - ### `i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout)` {#api-i2c-receive} Receive multiple bytes from the selected I2C device. @@ -208,10 +176,10 @@ Receive multiple bytes from the selected I2C device. - `uint8_t address` The 7-bit I2C address of the device. - - `uint8_t* data` - A pointer to a buffer to read into. + - `uint8_t *data` + A pointer to the buffer to read into. - `uint16_t length` - The number of bytes to read. Take care not to overrun the length of `data`. + The number of bytes to read. Take care not to overrun the length of `data`. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. @@ -221,9 +189,9 @@ Receive multiple bytes from the selected I2C device. --- -### `i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout)` {#api-i2c-write-register} +### `i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` {#api-i2c-write-register} -Write to a register with an 8-bit address on the I2C device. +Writes to a register with an 8-bit address on the I2C device. #### Arguments {#api-i2c-write-register-arguments} @@ -231,10 +199,10 @@ Write to a register with an 8-bit address on the I2C device. The 7-bit I2C address of the device. - `uint8_t regaddr` The register address to write to. - - `const uint8_t* data` + - `uint8_t *data` A pointer to the data to transmit. - `uint16_t length` - The number of bytes to write. Take care not to overrun the length of `data`. + The number of bytes to write. Take care not to overrun the length of `data`. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. @@ -244,9 +212,9 @@ Write to a register with an 8-bit address on the I2C device. --- -### `i2c_status_t i2c_write_register16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout)` {#api-i2c-write-register16} +### `i2c_status_t i2c_write_register16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` {#api-i2c-write-register16} -Write to a register with a 16-bit address (big endian) on the I2C device. +Writes to a register with a 16-bit address (big endian) on the I2C device. #### Arguments {#api-i2c-write-register16-arguments} @@ -254,10 +222,10 @@ Write to a register with a 16-bit address (big endian) on the I2C device. The 7-bit I2C address of the device. - `uint16_t regaddr` The register address to write to. - - `const uint8_t* data` + - `uint8_t *data` A pointer to the data to transmit. - `uint16_t length` - The number of bytes to write. Take care not to overrun the length of `data`. + The number of bytes to write. Take care not to overrun the length of `data`. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. @@ -269,7 +237,7 @@ Write to a register with a 16-bit address (big endian) on the I2C device. ### `i2c_status_t i2c_read_register(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` {#api-i2c-read-register} -Read from a register with an 8-bit address on the I2C device. +Reads from a register with an 8-bit address on the I2C device. #### Arguments {#api-i2c-read-register-arguments} @@ -277,10 +245,8 @@ Read from a register with an 8-bit address on the I2C device. The 7-bit I2C address of the device. - `uint8_t regaddr` The register address to read from. - - `uint8_t data` - A pointer to a buffer to read into. - `uint16_t length` - The number of bytes to read. Take care not to overrun the length of `data`. + The number of bytes to read. Take care not to overrun the length of `data`. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. @@ -292,7 +258,7 @@ Read from a register with an 8-bit address on the I2C device. ### `i2c_status_t i2c_read_register16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` {#api-i2c-read-register16} -Read from a register with a 16-bit address (big endian) on the I2C device. +Reads from a register with a 16-bit address (big endian) on the I2C device. #### Arguments {#api-i2c-read-register16-arguments} @@ -300,10 +266,8 @@ Read from a register with a 16-bit address (big endian) on the I2C device. The 7-bit I2C address of the device. - `uint16_t regaddr` The register address to read from. - - `uint8_t* data` - A pointer to a buffer to read into. - `uint16_t length` - The number of bytes to read. Take care not to overrun the length of `data`. + The number of bytes to read. Take care not to overrun the length of `data`. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. @@ -315,19 +279,19 @@ Read from a register with a 16-bit address (big endian) on the I2C device. ### `i2c_status_t i2c_ping_address(uint8_t address, uint16_t timeout)` {#api-i2c-ping-address} -Ping the I2C bus for a specific address. +Pings the I2C bus for a specific address. -On ChibiOS a "best effort" attempt is made by reading a single byte from register 0 at the given address. This should generally work except for I2C devices that do not not respond to a register 0 read request, which will result in a false negative result (unsuccessful response to ping attempt). +On ChibiOS a "best effort" attempt is made by reading a single byte from register 0 at the requested address. This should generally work except for I2C devices that do not not respond to a register 0 read request, which will result in a false negative result (unsucessful response to ping attempt). -This function is weakly defined, meaning it can be overridden if necessary for your particular use case. +This function is weakly defined, meaning it can be overridden if necessary for your particular use case: -#### Arguments {#api-i2c-ping-address-arguments} +#### Arguments - `uint8_t address` - The 7-bit I2C address of the device. + The 7-bit I2C address of the device (ie. without the read/write bit - this will be set automatically). - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. -#### Return Value {#api-i2c-ping-address-return} +#### Return Value `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. diff --git a/docs/drivers/spi.md b/docs/drivers/spi.md index 56b294ad3a..43d2a056d5 100644 --- a/docs/drivers/spi.md +++ b/docs/drivers/spi.md @@ -39,6 +39,8 @@ To enable SPI, modify your board's `halconf.h` to enable SPI, then modify your b #pragma once #define HAL_USE_SPI TRUE // [!code focus] +#define SPI_USE_WAIT TRUE // [!code focus] +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD // [!code focus] #include_next ``` @@ -86,7 +88,7 @@ Start an SPI transaction. #### Arguments {#api-spi-start-arguments} - `pin_t slavePin` - The GPIO pin connected to the desired device's `SS` line. + The QMK pin to assert as the slave select pin, eg. `B4`. - `bool lsbFirst` Determines the endianness of the transmission. If `true`, the least significant bit of each byte is sent first. - `uint8_t mode` @@ -104,7 +106,7 @@ Start an SPI transaction. #### Return Value {#api-spi-start-return} -`true` if the operation was successful, otherwise `false` if the supplied parameters are invalid or the SPI peripheral is already in use. +`false` if the supplied parameters are invalid or the SPI peripheral is already in use, or `true`. --- @@ -129,7 +131,7 @@ Read a byte from the selected SPI device. #### Return Value {#api-spi-read-return} -`SPI_STATUS_TIMEOUT` if the timeout period elapses, otherwise the byte read from the device. +`SPI_STATUS_TIMEOUT` if the timeout period elapses, or the byte read from the device. --- @@ -157,7 +159,7 @@ Receive multiple bytes from the selected SPI device. #### Arguments {#api-spi-receive-arguments} - `uint8_t *data` - A pointer to a buffer to read into. + A pointer to the buffer to read into. - `uint16_t length` The number of bytes to read. Take care not to overrun the length of `data`. diff --git a/docs/drivers/uart.md b/docs/drivers/uart.md index b895266cab..7cc68727ee 100644 --- a/docs/drivers/uart.md +++ b/docs/drivers/uart.md @@ -45,17 +45,17 @@ To enable UART, modify your board's `mcuconf.h` to enable the peripheral you've Configuration-wise, you'll need to set up the peripheral as per your MCU's datasheet -- the defaults match the pins for a Proton-C, i.e. STM32F303. -|`config.h` Override|Description |Default| -|-------------------|---------------------------------------------------------------|-------| -|`UART_DRIVER` |USART peripheral to use - USART1 -> `SD1`, USART2 -> `SD2` etc.|`SD1` | -|`UART_TX_PIN` |The pin to use for TX |`A9` | -|`UART_TX_PAL_MODE` |The alternate function mode for TX |`7` | -|`UART_RX_PIN` |The pin to use for RX |`A10` | -|`UART_RX_PAL_MODE` |The alternate function mode for RX |`7` | -|`UART_CTS_PIN` |The pin to use for CTS |`A11` | -|`UART_CTS_PAL_MODE`|The alternate function mode for CTS |`7` | -|`UART_RTS_PIN` |The pin to use for RTS |`A12` | -|`UART_RTS_PAL_MODE`|The alternate function mode for RTS |`7` | +| `config.h` override | Description | Default Value | +| --------------------------- | --------------------------------------------------------------- | ------------- | +| `#define UART_DRIVER` | USART peripheral to use - USART1 -> `SD1`, USART2 -> `SD2` etc. | `SD1` | +| `#define UART_TX_PIN` | The pin to use for TX | `A9` | +| `#define UART_TX_PAL_MODE` | The alternate function mode for TX | `7` | +| `#define UART_RX_PIN` | The pin to use for RX | `A10` | +| `#define UART_RX_PAL_MODE` | The alternate function mode for RX | `7` | +| `#define UART_CTS_PIN` | The pin to use for CTS | `A11` | +| `#define UART_CTS_PAL_MODE` | The alternate function mode for CTS | `7` | +| `#define UART_RTS_PIN` | The pin to use for RTS | `A12` | +| `#define UART_RTS_PAL_MODE` | The alternate function mode for RTS | `7` | ## API {#api} @@ -111,7 +111,7 @@ Receive multiple bytes. #### Arguments {#api-uart-receive-arguments} - `uint8_t *data` - A pointer to a buffer to read into. + A pointer to the buffer to read into. - `uint16_t length` The number of bytes to read. Take care not to overrun the length of `data`. @@ -123,4 +123,4 @@ Return whether the receive buffer contains data. Call this function to determine #### Return Value {#api-uart-available-return} -`true` if there is data available to read. +`true` if the receive buffer length is non-zero. diff --git a/docs/faq_debug.md b/docs/faq_debug.md index 269049afb8..35a4160e27 100644 --- a/docs/faq_debug.md +++ b/docs/faq_debug.md @@ -77,17 +77,6 @@ KL: kc: 172, col: 2, row: 0, pressed: 1, time: 16303, int: 0, count: 0 KL: kc: 172, col: 2, row: 0, pressed: 0, time: 16411, int: 0, count: 0 ``` -### Which keycode is this keypress? - -Keycodes are logged in the example above as numerical codes, which may be difficult to interpret. For more readable logging, add `KEYCODE_STRING_ENABLE = yes` in your `rules.mk` and use `get_keycode_string(kc)`. For example: - -```c -uprintf("kc: %s\n", get_keycode_string(keycode)); -``` - -This logs the keycode as a human-readable string like "`LT(2,KC_D)`" rather than a numerical code like "`0x4207`." See the [Keycode String](unit_testing#keycode-string) section of the Unit Testing page for more information. - - ### How long did it take to scan for a keypress? When testing performance issues, it can be useful to know the frequency at which the switch matrix is being scanned. To enable logging for this scenario, add the following code to your keymaps `config.h` diff --git a/docs/feature_advanced_keycodes.md b/docs/feature_advanced_keycodes.md index b21accd367..18740044f4 100644 --- a/docs/feature_advanced_keycodes.md +++ b/docs/feature_advanced_keycodes.md @@ -2,40 +2,29 @@ These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent. -|Key |Aliases |Description | -|----------|----------------------------------|-------------------------------------------------------------------------------| -|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | -|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | -|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | -|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` | -|`LCS(kc)` | |Hold Left Control and Left Shift and press `kc` | -|`LCA(kc)` | |Hold Left Control and Left Alt and press `kc` | -|`LCG(kc)` | |Hold Left Control and Left GUI and press `kc` | -|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | -|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and Left GUI and press `kc` | -|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | -|`LCSG(kc)`| |Hold Left Control, Left Shift and Left GUI and press `kc` | -|`LCAG(kc)`| |Hold Left Control, Left Alt and Left GUI and press `kc` | -|`LSAG(kc)`| |Hold Left Shift, Left Alt and Left GUI and press `kc` | -|`RCTL(kc)`| |Hold Right Control and press `kc` | -|`RSFT(kc)`| |Hold Right Shift and press `kc` | -|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | -|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` | -|`RCA(kc)` | |Hold Right Control and Right Alt and press `kc` | -|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | -|`RCG(kc)` | |Hold Right Control and Right GUI and press `kc` | -|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt and press `kc` | -|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | -|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` | -|`RCSG(kc)`| |Hold Right Control, Right Shift and Right GUI and press `kc` | -|`RCAG(kc)`| |Hold Right Control, Right Alt and Right GUI and press `kc` | -|`RSAG(kc)`| |Hold Right Shift, Right Alt and Right GUI and press `kc` | -|`MEH(kc)` | |Hold Left Control, Left Shift and Left Alt and press `kc` | -|`HYPR(kc)`| |Hold Left Control, Left Shift, Left Alt and Left GUI and press `kc`1| +|Key |Aliases |Description | +|----------|----------------------------------|------------------------------------------------------| +|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | +|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | +|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | +|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` | +|`RCTL(kc)`| |Hold Right Control and press `kc` | +|`RSFT(kc)`| |Hold Right Shift and press `kc` | +|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | +|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` | +|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` | +|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | +|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | +|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` | +|`LCA(kc)` | |Hold Left Control and Alt and press `kc` | +|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | +|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` | +|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | +|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` | +|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` | +|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` | -1. More information on the Hyper key can be found on [this blog post by Brett Terpstra](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/). - -You can also chain them, for example `LCTL(LALT(KC_DEL))`, `C(A(KC_DEL))`, or `LCA(KC_DEL)` all make a key that sends Control+Alt+Delete with a single keypress. +You can also chain them, for example `LCTL(LALT(KC_DEL))` or `C(A(KC_DEL))` makes a key that sends Control+Alt+Delete with a single keypress. # Checking Modifier State {#checking-modifier-state} diff --git a/docs/feature_userspace.md b/docs/feature_userspace.md index 0f5c4a5f96..d19b86cb46 100644 --- a/docs/feature_userspace.md +++ b/docs/feature_userspace.md @@ -119,7 +119,7 @@ This is ideal for when you want ensure everything compiles successfully when pre ## Examples For a brief example, checkout [`/users/_example/`](https://github.com/qmk/qmk_firmware/tree/master/users/_example). -For more complicated examples, checkout the [`awesome-qmk` colletion](https://github.com/qmk/awesome-qmk). +For a more complicated example, checkout [`/users/drashna/`](https://github.com/qmk/qmk_firmware/tree/master/users/drashna)'s userspace. ### Customized Functions diff --git a/docs/features/community_modules.md b/docs/features/community_modules.md deleted file mode 100644 index eff07c939a..0000000000 --- a/docs/features/community_modules.md +++ /dev/null @@ -1,164 +0,0 @@ -# Community Modules - -Community Modules are a feature within QMK which allows code to be implemented by third parties, making it available for other people to import into their own builds. - -These modules can provide implementations which override or enhance normal QMK processing; initialization, key processing, suspend, and shutdown are some of the provided hooks which modules may implement. - -## Adding a Community Module to your build - -Community Modules have first-class support for [External Userspace](/newbs_external_userspace), and QMK strongly recommends using External Userspace for hosting keymaps and Community Modules together. - -Modules must live in either of two locations: - -* `/modules/` -* `/modules/` - -A basic module is provided within QMK itself -- `qmk/hello_world` -- which prints out a notification over [HID console](/faq_debug) after 10 seconds, and adds a new keycode, `COMMUNITY_MODULE_HELLO` (aliased to `CM_HELO`) which types `Hello there.` to the active application when the corresponding key is pressed. - -To add this module to your build, in your keymap's directory create a `keymap.json` with the following content: - -```json -{ - "modules": [ - "qmk/hello_world" - ] -} -``` - -If you already have a `keymap.json`, you'll need to manually merge the `modules` section into your keymap. - -::: warning -Community Modules are not supported by QMK Configurator. If you wish to use Community Modules, you must build your own firmware. -::: - -## Adding a Community Module to your External Userspace - -Module authors are encouraged to provide a git repository on GitHub which may be imported into a user's external userspace. If a user wishes to import a module repository, they can do the following: - -```sh -cd /path/to/your/external/userspace -mkdir -p modules -# Replace the following {user} and {repo} with the author's community module repository -git submodule add https://github.com/{user}/{repo}.git modules/{user} -git submodule update --init --recursive -``` - -This will ensure the copy of the module is made in your userspace. - -Add a new entry into your `keymap.json` with the desired modules, replacing `{user}` and `{module_name}` as appropriate: - -```json -{ - "modules": [ - "qmk/hello_world", - "{user}/{module_name}" - ] -} -``` - -::: info -The module listed in `keymap.json` is the relative path within the `modules/` directory. So long as the module is present _somewhere_ under `modules/`, then the `keymap.json` can refer to that path. -::: - -## Writing a QMK Community Module - -As stated earlier, Community Module authors are strongly encouraged to provide their modules through git, allowing users to leverage submodules to import functionality. - -### `qmk_module.json` - -A Community Module is denoted by a `qmk_module.json` file such as the following: - -```json -{ - "module_name": "Hello World", - "maintainer": "QMK Maintainers", - "license": "GPL-2.0-or-later", - "features": { - "deferred_exec": true - }, - "keycodes": [ - { - "key": "COMMUNITY_MODULE_HELLO", - "aliases": ["CM_HELO"] - } - ] -} -``` - -At minimum, the module must provide the `module_name` and `maintainer` fields. - -The `license` field is encouraged to indicate the terms for using and sharing the module. It is recommended to use a [SPDX license identifier](https://spdx.org/licenses/) like "`Apache-2.0`" or "`GPL-2.0-or-later`" if possible. - -The `url` field may specify a URL to more information about the module. - -The use of `features` matches the definition normally provided within `keyboard.json` and `info.json`, allowing a module to signal to the build system that it has its own dependencies. In the example above, it enables the _deferred executor_ feature whenever the above module is used in a build. - -The `keycodes` array allows a module to provide new keycodes (as well as corresponding aliases) to a keymap. - -### `rules.mk` / `post_rules.mk` - -These two files follows standard QMK build system logic, allowing for `Makefile`-style customisation as if it were present in the keyboard or keymap. - -### `.c` - -This file will be automatically added to the build if the filename matches the directory name. For example, the `qmk/hello_world` module contains a `hello_world.c` file, which is automatically added to the build. - -::: info -Other files intended to be included must use the normal method of `SRC += my_file.c` inside `rules.mk`. -::: - -::: tip -This file should use `ASSERT_COMMUNITY_MODULES_MIN_API_VERSION(1,0,0);` to enforce a minimum version of the API that it requires, ensuring the Community Module is built with a compatible version of QMK. The list of APIs and corresponding version is given at the bottom of this document. Note the use of commas instead of periods. -::: - -### `introspection.c` / `introspection.h` - -These two files hook into the keymap introspection logic -- the header is prepended before the user keymap, and the C source file is appended after the user keymap. - -The header may provide definitions which are useful to the user's `keymap.c`. - -The source file may provide functions which allow access to information specified in the user's `keymap.c`. - -::: warning -Introspection is a relatively advanced topic within QMK, and existing patterns should be followed. If you need help please [open an issue](https://github.com/qmk/qmk_firmware/issues/new) or [chat with us on Discord](https://discord.gg/qmk). -::: - -### `led_matrix_module.inc` - -This file defines LED matrix effects in the same form as used with `led_matrix_kb.inc` and `led_matrix_user.inc` (see [Custom LED Matrix Effects](led_matrix#custom-led-matrix-effects)). Effect mode names are prepended with `LED_MATRIX_COMMUNITY_MODULE_`. - -### `rgb_matrix_module.inc` - -This file defines RGB matrix effects in the same form as used with `rgb_matrix_kb.inc` and `rgb_matrix_user.inc` (see [Custom RGB Matrix Effects](rgb_matrix#custom-rgb-matrix-effects)). Effect mode names are prepended with `RGB_MATRIX_COMMUNITY_MODULE_`. - -### Compatible APIs - -Community Modules may provide specializations for the following APIs: - -| Base API | API Format | Example (`hello_world` module) | API Version | -|----------------------------------|-------------------------------------------|---------------------------------------------|-------------| -| `keyboard_pre_init` | `keyboard_pre_init_` | `keyboard_pre_init_hello_world` | `0.1.0` | -| `keyboard_post_init` | `keyboard_post_init_` | `keyboard_post_init_hello_world` | `0.1.0` | -| `pre_process_record` | `pre_process_record_` | `pre_process_record_hello_world` | `0.1.0` | -| `process_record` | `process_record_` | `process_record_hello_world` | `0.1.0` | -| `post_process_record` | `post_process_record_` | `post_process_record_hello_world` | `0.1.0` | -| `housekeeping_task` | `housekeeping_task_` | `housekeeping_task_hello_world` | `1.0.0` | -| `suspend_power_down` | `suspend_power_down_` | `suspend_power_down_hello_world` | `1.0.0` | -| `suspend_wakeup_init` | `suspend_wakeup_init_` | `suspend_wakeup_init_hello_world` | `1.0.0` | -| `shutdown` | `shutdown_` | `shutdown_hello_world` | `1.0.0` | -| `process_detected_host_os` | `process_detected_host_os_` | `process_detected_host_os_hello_world` | `1.0.0` | -| `default_layer_state_set` | `default_layer_state_set_` | `default_layer_state_set_hello_world` | `1.1.0` | -| `layer_state_set` | `layer_state_set_` | `layer_state_set_hello_world` | `1.1.0` | -| `led_matrix_indicators` | `led_matrix_indicators_` | `led_matrix_indicators_hello_world` | `1.1.0` | -| `led_matrix_indicators_advanced` | `led_matrix_indicators_advanced_` | `led_matrix_indicators_advanced_hello_world` | `1.1.0` | -| `rgb_matrix_indicators` | `rgb_matrix_indicators_` | `rgb_matrix_indicators_hello_world` | `1.1.0` | -| `rgb_matrix_indicators_advanced` | `rgb_matrix_indicators_advanced_` | `rgb_matrix_indicators_advanced_hello_world` | `1.1.0` | -| `pointing_device_init` | `pointing_device_init_` | `pointing_device_init_hello_world` | `1.1.0` | -| `pointing_device_task` | `pointing_device_task_` | `pointing_device_task_hello_world` | `1.1.0` | - - -::: info -An unspecified API is disregarded if a Community Module does not provide a specialization for it. -::: - -Each API has an equivalent `__kb()` and `__user()` hook, as per the normal QMK [`_quantum`, `_kb`, and `_user` functions](/custom_quantum_functions#a-word-on-core-vs-keyboards-vs-keymap). diff --git a/docs/features/key_overrides.md b/docs/features/key_overrides.md index e83f0295ab..9b6015175c 100644 --- a/docs/features/key_overrides.md +++ b/docs/features/key_overrides.md @@ -135,11 +135,11 @@ bool momentary_layer(bool key_down, void *layer) { return false; } -const key_override_t fn_override = {.trigger_mods = MOD_BIT(KC_RGUI) | MOD_BIT(KC_RALT), // +const key_override_t fn_override = {.trigger_mods = MOD_BIT(KC_RGUI) | MOD_BIT(KC_RCTL), // .layers = ~(1 << LAYER_FN), // - .suppressed_mods = MOD_BIT(KC_RGUI) | MOD_BIT(KC_RALT), // + .suppressed_mods = MOD_BIT(KC_RGUI) | MOD_BIT(KC_RCTL), // .options = ko_option_no_unregister_on_other_key_down, // - .negative_mod_mask = (uint8_t) ~(MOD_BIT(KC_RGUI) | MOD_BIT(KC_RALT)), // + .negative_mod_mask = (uint8_t) ~(MOD_BIT(KC_RGUI) | MOD_BIT(KC_RCTL)), // .custom_action = momentary_layer, // .context = (void *)LAYER_FN, // .trigger = KC_NO, // diff --git a/docs/features/leader_key.md b/docs/features/leader_key.md index 9f9086e1ae..a36e630a36 100644 --- a/docs/features/leader_key.md +++ b/docs/features/leader_key.md @@ -154,21 +154,6 @@ User callback, invoked when the leader sequence ends. --- -### `bool leader_add_user(uint16_t keycode)` {#api-leader-add-user} - -User callback, invoked when a keycode is added to the leader sequence. - -#### Arguments {#api-leader-add-user-arguments} - - - `uint16_t keycode` - The keycode to added to the leader sequence. - -#### Return Value {#api-leader-add-user-return} - -`true` to finish the key sequence, `false` to continue. - ---- - ### `void leader_start(void)` {#api-leader-start} Begin the leader sequence, resetting the buffer and timer. diff --git a/docs/features/led_matrix.md b/docs/features/led_matrix.md index 113b13f03b..756cc11e2b 100644 --- a/docs/features/led_matrix.md +++ b/docs/features/led_matrix.md @@ -227,8 +227,6 @@ For inspiration and examples, check out the built-in effects under `quantum/led_ #define LED_MATRIX_DEFAULT_MODE LED_MATRIX_SOLID // Sets the default mode, if none has been set #define LED_MATRIX_DEFAULT_VAL LED_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define LED_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set -#define LED_MATRIX_VAL_STEP 8 // The value by which to increment the brightness per adjustment action -#define LED_MATRIX_SPD_STEP 16 // The value by which to increment the animation speed per adjustment action #define LED_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL // Sets the default LED flags, if none has been set #define LED_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR diff --git a/docs/features/pointing_device.md b/docs/features/pointing_device.md index a139df9dc4..0ecf82c8df 100644 --- a/docs/features/pointing_device.md +++ b/docs/features/pointing_device.md @@ -419,32 +419,6 @@ The `POINTING_DEVICE_CS_PIN`, `POINTING_DEVICE_SDIO_PIN`, and `POINTING_DEVICE_S Any pointing device with a lift/contact status can integrate inertial cursor feature into its driver, controlled by `POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE`. e.g. PMW3360 can use Lift_Stat from Motion register. Note that `POINTING_DEVICE_MOTION_PIN` cannot be used with this feature; continuous polling of `get_report()` is needed to generate glide reports. ::: -## High Resolution Scrolling - -| Setting | Description | Default | -| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------- | -| `POINTING_DEVICE_HIRES_SCROLL_ENABLE` | (Optional) Enables high resolution scrolling. | _not defined_ | -| `POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER`| (Optional) Resolution mutiplier value used by high resolution scrolling. Must be between 1 and 127, inclusive. | `120` | -| `POINTING_DEVICE_HIRES_SCROLL_EXPONENT` | (Optional) Resolution exponent value used by high resolution scrolling. Must be between 0 and 127, inclusive. | `0` | - -The `POINTING_DEVICE_HIRES_SCROLL_ENABLE` setting enables smooth and continuous scrolling when using trackballs or high-end encoders as mouse wheels (as opposed to the typical stepped behavior of most mouse wheels). -This works by adding a resolution multiplier to the HID descriptor for mouse wheel reports, causing the host computer to interpret each wheel tick sent by the keyboard as a fraction of a normal wheel tick. -The resolution multiplier is set to `1 / (POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER * (10 ^ POINTING_DEVICE_HIRES_SCROLL_EXPONENT))`, which is `1 / 120` by default. -If even smoother scrolling than provided by this default value is desired, first try using `#define POINTING_DEVICE_HIRES_SCROLL_EXPONENT 1` which will result in a multiplier of `1 / 1200`. - -The function `pointing_device_get_hires_scroll_resolution()` can be called to get the pre-computed resolution multiplier value as a `uint16_t`. - -::: warning -High resolution scrolling usually results in larger and/or more frequent mouse reports. This can result in overflow errors and overloading of the host computer's input buffer. -To deal with these issues, define `WHEEL_EXTENDED_REPORT` and throttle the rate at which mouse reports are sent. -::: - -::: warning -Many programs, especially those that implement their own smoothing for scrolling, don't work well when they receive simultaneous vertical and horizontal wheel inputs (e.g. from high resolution drag-scroll using a trackball). -These programs typically implement their smoothing in a way that assumes the user will only scroll in one axis at a time, resulting in slow or jittery motion when trying to scroll at an angle. -This can be addressed by snapping scrolling to one axis at a time. -::: - ## Split Keyboard Configuration The following configuration options are only available when using `SPLIT_POINTING_ENABLE` see [data sync options](split_keyboard#data-sync-options). The rotation and invert `*_RIGHT` options are only used with `POINTING_DEVICE_COMBINED`. If using `POINTING_DEVICE_LEFT` or `POINTING_DEVICE_RIGHT` use the common configuration above to configure your pointing device. diff --git a/docs/features/ps2_mouse.md b/docs/features/ps2_mouse.md index 6ef7e46768..52443c3ce2 100644 --- a/docs/features/ps2_mouse.md +++ b/docs/features/ps2_mouse.md @@ -23,11 +23,8 @@ MODULE 5+ --------+--+--------- PWR CONTROLLER CLK ------+------------ PIN ``` -## Driver Configuration {#driver-configuration} -Driver selection can be configured in `rules.mk` as `PS2_DRIVER`, or in `info.json` as `ps2.driver`. Valid values are `busywait` (default), `interrupt`, `usart`, or `vendor`. See below for information on individual drivers. - -### Busywait Driver {#busywait-driver} +## Busywait Version {#busywait-version} Note: This is not recommended, you may encounter jerky movement or unsent inputs. Please use interrupt or USART version if possible. @@ -48,7 +45,7 @@ In your keyboard config.h: #endif ``` -### Interrupt Driver (AVR/ATMega32u4) {#interrupt-driver-avr} +### Interrupt Version (AVR/ATMega32u4) {#interrupt-version-avr} The following example uses D2 for clock and D5 for data. You can use any INT or PCINT pin for clock, and any pin for data. @@ -81,7 +78,7 @@ In your keyboard config.h: #endif ``` -### Interrupt Driver (ARM chibios) {#interrupt-driver-chibios} +### Interrupt Version (ARM chibios) {#interrupt-version-chibios} Pretty much any two pins can be used for the (software) interrupt variant on ARM cores. The example below uses A8 for clock, and A9 for data. @@ -110,7 +107,7 @@ And in the ChibiOS specific `halconf.h`: #include_next ``` -### USART Driver {#usart-driver} +### USART Version {#usart-version} To use USART on the ATMega32u4, you have to use PD5 for clock and PD2 for data. If one of those are unavailable, you need to use interrupt version. @@ -162,7 +159,7 @@ In your keyboard config.h: #endif ``` -### RP2040 PIO Driver {#rp2040-pio-driver} +### RP2040 PIO Version {#rp2040-pio-version} The `PIO` subsystem is a Raspberry Pi RP2040 specific implementation, using the integrated PIO peripheral and is therefore only available on this MCU. diff --git a/docs/features/rgb_matrix.md b/docs/features/rgb_matrix.md index 130c1c5a5e..0e53ce9c35 100644 --- a/docs/features/rgb_matrix.md +++ b/docs/features/rgb_matrix.md @@ -150,7 +150,6 @@ enum rgb_matrix_effects { RGB_MATRIX_SOLID_SPLASH, // Hue & value pulse away from a single key hit then fades value out RGB_MATRIX_SOLID_MULTISPLASH, // Hue & value pulse away from multiple key hits then fades value out RGB_MATRIX_STARLIGHT, // LEDs turn on and off at random at varying brightness, maintaining user set color - RGB_MATRIX_STARLIGHT_SMOOTH, // LEDs slowly increase and decrease in brightness randomly RGB_MATRIX_STARLIGHT_DUAL_HUE, // LEDs turn on and off at random at varying brightness, modifies user set hue by +- 30 RGB_MATRIX_STARLIGHT_DUAL_SAT, // LEDs turn on and off at random at varying brightness, modifies user set saturation by +- 30 RGB_MATRIX_RIVERFLOW, // Modification to breathing animation, offset's animation depending on key location to simulate a river flowing @@ -194,7 +193,6 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_RGB_MATRIX_PIXEL_FLOW` |Enables `RGB_MATRIX_PIXEL_FLOW` | |`#define ENABLE_RGB_MATRIX_PIXEL_RAIN` |Enables `RGB_MATRIX_PIXEL_RAIN` | |`#define ENABLE_RGB_MATRIX_STARLIGHT` |Enables `RGB_MATRIX_STARLIGHT` | -|`#define ENABLE_RGB_MATRIX_STARLIGHT_SMOOTH` |Enables `RGB_MATRIX_STARLIGHT_SMOOTH` | |`#define ENABLE_RGB_MATRIX_STARLIGHT_DUAL_HUE` |Enables `RGB_MATRIX_STARLIGHT_DUAL_HUE` | |`#define ENABLE_RGB_MATRIX_STARLIGHT_DUAL_SAT` |Enables `RGB_MATRIX_STARLIGHT_DUAL_SAT` | |`#define ENABLE_RGB_MATRIX_RIVERFLOW` |Enables `RGB_MATRIX_RIVERFLOW` | @@ -380,10 +378,6 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set -#define RGB_MATRIX_HUE_STEP 8 // The value by which to increment the hue per adjustment action -#define RGB_MATRIX_SAT_STEP 16 // The value by which to increment the saturation per adjustment action -#define RGB_MATRIX_VAL_STEP 16 // The value by which to increment the brightness per adjustment action -#define RGB_MATRIX_SPD_STEP 16 // The value by which to increment the animation speed per adjustment action #define RGB_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL // Sets the default LED flags, if none has been set #define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR @@ -486,7 +480,7 @@ This example sets the modifiers to be a specific color based on the layer state. bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { hsv_t hsv = {0, 255, 255}; - if (get_highest_layer(layer_state|default_layer_state) == 2) { + if (layer_state_is(layer_state, 2)) { hsv = (hsv_t){130, 255, 255}; } else { hsv = (hsv_t){30, 255, 255}; diff --git a/docs/features/rgblight.md b/docs/features/rgblight.md index 43e3781f8d..4322fe796e 100644 --- a/docs/features/rgblight.md +++ b/docs/features/rgblight.md @@ -97,9 +97,9 @@ Your RGB lighting can be configured by placing these `#define`s in your `config. |Define |Default |Description | |---------------------------|----------------------------|---------------------------------------------------------------------------------------------------------------------------| -|`RGBLIGHT_HUE_STEP` |`8` |The value by which to increment the hue per adjustment action | -|`RGBLIGHT_SAT_STEP` |`17` |The value by which to increment the saturation per adjustment action | -|`RGBLIGHT_VAL_STEP` |`17` |The value by which to increment the brightness per adjustment action | +|`RGBLIGHT_HUE_STEP` |`8` |The number of steps to cycle through the hue by | +|`RGBLIGHT_SAT_STEP` |`17` |The number of steps to increment the saturation by | +|`RGBLIGHT_VAL_STEP` |`17` |The number of steps to increment the brightness by | |`RGBLIGHT_LIMIT_VAL` |`255` |The maximum brightness level | |`RGBLIGHT_SLEEP` |*Not defined* |If defined, the RGB lighting will be switched off when the host goes to sleep | |`RGBLIGHT_SPLIT` |*Not defined* |If defined, synchronization functionality for split keyboards is added | diff --git a/docs/features/split_keyboard.md b/docs/features/split_keyboard.md index fbf5d3d3e2..49582c3946 100644 --- a/docs/features/split_keyboard.md +++ b/docs/features/split_keyboard.md @@ -444,7 +444,7 @@ This setting implies that `RGBLIGHT_SPLIT` is enabled, and will forcibly enable #define SPLIT_USB_DETECT ``` -Enabling this option changes the startup behavior to listen for an active USB communication to delegate which part is master and which is slave. With this option enabled and active USB communication, then that half assumes it is the master, otherwise it assumes it is the slave. +Enabling this option changes the startup behavior to listen for an active USB communication to delegate which part is master and which is slave. With this option enabled and theres's USB communication, then that half assumes it is the master, otherwise it assumes it is the slave. Without this option, the master is the half that can detect voltage on the physical USB connection (VBUS detection). diff --git a/docs/features/stenography.md b/docs/features/stenography.md index 7fd245d59a..c6c2155a9a 100644 --- a/docs/features/stenography.md +++ b/docs/features/stenography.md @@ -8,7 +8,7 @@ The [Open Steno Project](https://www.openstenoproject.org/) has built an open-so Plover can work with any standard QWERTY keyboard, although it is more efficient if the keyboard supports NKRO (n-key rollover) to allow Plover to see all the pressed keys at once. An example keymap for Plover can be found in `planck/keymaps/default`. Switching to the `PLOVER` layer adjusts the position of the keyboard to support the number bar. -To enable NKRO, add `NKRO_ENABLE = yes` in your `rules.mk` and make sure to press `NK_ON` to turn it on because `NKRO_ENABLE = yes` merely adds the possibility of switching to NKRO mode but it doesn't automatically switch to it. If you want to automatically switch, add `#define NKRO_DEFAULT_ON true` in your `config.h`. +To enable NKRO, add `NKRO_ENABLE = yes` in your `rules.mk` and make sure to press `NK_ON` to turn it on because `NKRO_ENABLE = yes` merely adds the possibility of switching to NKRO mode but it doesn't automatically switch to it. If you want to automatically switch, add `#define FORCE_NKRO` in your `config.h`. You may also need to adjust your layout, either in QMK or in Plover, if you have anything other than a standard layout. You may also want to purchase some steno-friendly keycaps to make it easier to hit multiple keys. diff --git a/docs/features/tap_dance.md b/docs/features/tap_dance.md index d533e41aaa..8fdd83c18d 100644 --- a/docs/features/tap_dance.md +++ b/docs/features/tap_dance.md @@ -170,6 +170,20 @@ typedef struct { uint16_t held; } tap_dance_tap_hold_t; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + tap_dance_action_t *action; + + switch (keycode) { + case TD(CT_CLN): // list all tap dance keycodes with tap-hold configurations + action = &tap_dance_actions[QK_TAP_DANCE_GET_INDEX(keycode)]; + if (!record->event.pressed && action->state.count && !action->state.finished) { + tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; + tap_code16(tap_hold->tap); + } + } + return true; +} + void tap_dance_tap_hold_finished(tap_dance_state_t *state, void *user_data) { tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data; @@ -197,29 +211,12 @@ void tap_dance_tap_hold_reset(tap_dance_state_t *state, void *user_data) { } } -#define ACTION_TAP_DANCE_TAP_HOLD(tap, hold) \ - { \ - .fn = {NULL, tap_dance_tap_hold_finished, tap_dance_tap_hold_reset}, \ - .user_data = (void *)&((tap_dance_tap_hold_t){tap, hold, 0}), \ - } +#define ACTION_TAP_DANCE_TAP_HOLD(tap, hold) \ + { .fn = {NULL, tap_dance_tap_hold_finished, tap_dance_tap_hold_reset}, .user_data = (void *)&((tap_dance_tap_hold_t){tap, hold, 0}), } tap_dance_action_t tap_dance_actions[] = { [CT_CLN] = ACTION_TAP_DANCE_TAP_HOLD(KC_COLN, KC_SCLN), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - tap_dance_action_t *action; - - switch (keycode) { - case TD(CT_CLN): // list all tap dance keycodes with tap-hold configurations - action = &tap_dance_actions[QK_TAP_DANCE_GET_INDEX(keycode)]; - if (!record->event.pressed && action->state.count && !action->state.finished) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; - tap_code16(tap_hold->tap); - } - } - return true; -} ``` #### Example 4: 'Quad Function Tap-Dance' {#example-4} diff --git a/docs/getting_started_docker.md b/docs/getting_started_docker.md index 42322397b4..2d90d8566a 100644 --- a/docs/getting_started_docker.md +++ b/docs/getting_started_docker.md @@ -50,13 +50,6 @@ By default docker or podman are automatically detected and docker is preferred o RUNTIME="podman" util/docker_build.sh keyboard:keymap:target ``` -If flashing is not required, it's possible to run the container as unprivileged (on Linux), and without docker-machine (on Windows/macOS): - -``` -SKIP_FLASHING_SUPPORT=1 util/docker_build.sh keyboard:keymap:target -``` - - ## FAQ ### Why can't I flash on Windows/macOS diff --git a/docs/hand_wire.md b/docs/hand_wire.md index be21cf2cc4..9aeee7512d 100644 --- a/docs/hand_wire.md +++ b/docs/hand_wire.md @@ -231,7 +231,7 @@ Once you have confirmed that the keyboard is working, if you have used a seperat If you found this fullfilling you could experiment by adding additional features such as [in switch LEDs](https://geekhack.org/index.php?topic=94258.0), [in switch RGB](https://www.reddit.com/r/MechanicalKeyboards/comments/5s1l5u/photoskeyboard_science_i_made_a_handwired_rgb/), [RGB underglow](https://medium.com/@DavidNZ/hand-wired-custom-keyboard-cdd14429c7b3#.7a1ovebsk) or even an [OLED display!](https://www.reddit.com/r/olkb/comments/5zy7og/adding_ssd1306_oled_display_to_your_build/) -There are a lot of possibilities inside the firmware - explore [the documentation](/) for a full feature list, and dive into the different keyboards to see how people use all of them. You can always stop by [the OLKB subreddit](https://reddit.com/r/olkb) or [QMK Discord](https://discord.gg/qmk) for help! +There are a lot of possibilities inside the firmware - explore [docs.qmk.fm](https://docs.qmk.fm) for a full feature list, and dive into the different keyboards to see how people use all of them. You can always stop by [the OLKB subreddit](https://reddit.com/r/olkb) or [QMK Discord](https://discord.gg/qmk) for help! ## Links to Other Guides diff --git a/docs/keycodes.md b/docs/keycodes.md index 5d983e347e..cf170721c8 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -176,11 +176,11 @@ See also: [Basic Keycodes](keycodes_basic) |`KC_LEFT_CTRL` |`KC_LCTL` |Left Control |✔ |✔ |✔ | |`KC_LEFT_SHIFT` |`KC_LSFT` |Left Shift |✔ |✔ |✔ | |`KC_LEFT_ALT` |`KC_LALT`, `KC_LOPT` |Left Alt (Option) |✔ |✔ |✔ | -|`KC_LEFT_GUI` |`KC_LGUI`, `KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Super key) |✔ |✔ |✔ | +|`KC_LEFT_GUI` |`KC_LGUI`, `KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |✔ |✔ |✔ | |`KC_RIGHT_CTRL` |`KC_RCTL` |Right Control |✔ |✔ |✔ | |`KC_RIGHT_SHIFT` |`KC_RSFT` |Right Shift |✔ |✔ |✔ | |`KC_RIGHT_ALT` |`KC_RALT`, `KC_ROPT`, `KC_ALGR`|Right Alt (Option/AltGr) |✔ |✔ |✔ | -|`KC_RIGHT_GUI` |`KC_RGUI`, `KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Super key) |✔ |✔ |✔ | +|`KC_RIGHT_GUI` |`KC_RGUI`, `KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key) |✔ |✔ |✔ | |`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |✔ |✔3|✔ | |`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep |✔ |✔3|✔ | |`KC_SYSTEM_WAKE` |`KC_WAKE` |System Wake | |✔3|✔ | @@ -658,74 +658,58 @@ See also: [Mouse Keys](features/mouse_keys) See also: [Modifier Keys](feature_advanced_keycodes#modifier-keys) -|Key |Aliases |Description | -|----------|----------------------------------|-------------------------------------------------------------------| -|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | -|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | -|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | -|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` | -|`LCS(kc)` | |Hold Left Control and Left Shift and press `kc` | -|`LCA(kc)` | |Hold Left Control and Left Alt and press `kc` | -|`LCG(kc)` | |Hold Left Control and Left GUI and press `kc` | -|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | -|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and Left GUI and press `kc` | -|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | -|`LCSG(kc)`| |Hold Left Control, Left Shift and Left GUI and press `kc` | -|`LCAG(kc)`| |Hold Left Control, Left Alt and Left GUI and press `kc` | -|`LSAG(kc)`| |Hold Left Shift, Left Alt and Left GUI and press `kc` | -|`RCTL(kc)`| |Hold Right Control and press `kc` | -|`RSFT(kc)`| |Hold Right Shift and press `kc` | -|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | -|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` | -|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | -|`RCA(kc)` | |Hold Right Control and Right Alt and press `kc` | -|`RCG(kc)` | |Hold Right Control and Right GUI and press `kc` | -|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt and press `kc` | -|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | -|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` | -|`RCSG(kc)`| |Hold Right Control, Right Shift and Right GUI and press `kc` | -|`RCAG(kc)`| |Hold Right Control, Right Alt and Right GUI and press `kc` | -|`RSAG(kc)`| |Hold Right Shift, Right Alt and Right GUI and press `kc` | -|`MEH(kc)` | |Hold Left Control, Left Shift and Left Alt and press `kc` | -|`HYPR(kc)`| |Hold Left Control, Left Shift, Left Alt and Left GUI and press `kc`| -|`KC_MEH` | |Left Control, Left Shift and Left Alt | -|`KC_HYPR` | |Left Control, Left Shift, Left Alt and Left GUI | +|Key |Aliases |Description | +|----------|----------------------------------|------------------------------------------------------| +|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | +|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | +|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | +|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` | +|`RCTL(kc)`| |Hold Right Control and press `kc` | +|`RSFT(kc)`| |Hold Right Shift and press `kc` | +|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt (AltGr) and press `kc` | +|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` | +|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and Left GUI and press `kc` | +|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | +|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | +|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` | +|`LCA(kc)` | |Hold Left Control and Alt and press `kc` | +|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | +|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` | +|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | +|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` | +|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` | +|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` | +|`KC_MEH` | |Left Control, Shift and Alt | +|`KC_HYPR` | |Left Control, Shift, Alt and GUI | ## Mod-Tap Keys {#mod-tap-keys} See also: [Mod-Tap](mod_tap) -|Key |Aliases |Description | -|-------------|-----------------------------------------------------------------|---------------------------------------------------------------------------| -|`MT(mod, kc)`| |`mod` when held, `kc` when tapped | -|`LCTL_T(kc)` |`CTL_T(kc)` |Left Control when held, `kc` when tapped | -|`LSFT_T(kc)` |`SFT_T(kc)` |Left Shift when held, `kc` when tapped | -|`LALT_T(kc)` |`ALT_T(kc)`, `LOPT_T(kc)`, `OPT_T(kc)` |Left Alt when held, `kc` when tapped | -|`LGUI_T(kc)` |`GUI_T(kc)`, `LCMD_T(kc)`, `LWIN_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped | -|`LCS_T(kc)` | |Left Control and Left Shift when held, `kc` when tapped | -|`LCA_T(kc)` | |Left Control and Left Alt when held, `kc` when tapped | -|`LCG_T(kc)` | |Left Control and Left GUI when held, `kc` when tapped | -|`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped | -|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and Left GUI when held, `kc` when tapped | -|`LAG_T(kc)` | |Left Alt and Left GUI when held, `kc` when tapped | -|`LCSG_T(kc)` | |Left Control, Left Shift and Left GUI when held, `kc` when tapped | -|`LCAG_T(kc)` | |Left Control, Left Alt and Left GUI when held, `kc` when tapped | -|`LSAG_T(kc)` | |Left Shift, Left Alt and Left GUI when held, `kc` when tapped | -|`RCTL_T(kc)` | |Right Control when held, `kc` when tapped | -|`RSFT_T(kc)` | |Right Shift when held, `kc` when tapped | -|`RALT_T(kc)` |`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt when held, `kc` when tapped | -|`RGUI_T(kc)` |`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped | -|`RCS_T(kc)` | |Right Control and Right Shift when held, `kc` when tapped | -|`RCA_T(kc)` | |Right Control and Right Alt when held, `kc` when tapped | -|`RCG_T(kc)` | |Right Control and Right GUI when held, `kc` when tapped | -|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt when held, `kc` when tapped | -|`RSG_T(kc)` | |Right Shift and Right GUI when held, `kc` when tapped | -|`RAG_T(kc)` | |Right Alt and Right GUI when held, `kc` when tapped | -|`RCSG_T(kc)` | |Right Control, Right Shift and Right GUI when held, `kc` when tapped | -|`RCAG_T(kc)` | |Right Control, Right Alt and Right GUI when held, `kc` when tapped | -|`RSAG_T(kc)` | |Right Shift, Right Alt and Right GUI when held, `kc` when tapped | -|`MEH_T(kc)` | |Left Control, Left Shift and Left Alt when held, `kc` when tapped | -|`HYPR_T(kc)` |`ALL_T(kc)` |Left Control, Left Shift, Left Alt and Left GUI when held, `kc` when tapped| +|Key |Aliases |Description | +|-------------|-----------------------------------------------------------------|--------------------------------------------------------------| +|`MT(mod, kc)`| |`mod` when held, `kc` when tapped | +|`LCTL_T(kc)` |`CTL_T(kc)` |Left Control when held, `kc` when tapped | +|`LSFT_T(kc)` |`SFT_T(kc)` |Left Shift when held, `kc` when tapped | +|`LALT_T(kc)` |`LOPT_T(kc)`, `ALT_T(kc)`, `OPT_T(kc)` |Left Alt when held, `kc` when tapped | +|`LGUI_T(kc)` |`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped | +|`RCTL_T(kc)` | |Right Control when held, `kc` when tapped | +|`RSFT_T(kc)` | |Right Shift when held, `kc` when tapped | +|`RALT_T(kc)` |`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt (AltGr) when held, `kc` when tapped | +|`RGUI_T(kc)` |`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped | +|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped | +|`LAG_T(kc)` | |Left Alt and GUI when held, `kc` when tapped | +|`RSG_T(kc)` | |Right Shift and GUI when held, `kc` when tapped | +|`RAG_T(kc)` | |Right Alt and GUI when held, `kc` when tapped | +|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped | +|`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped | +|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped | +|`RCS_T(kc)` | |Right Control and Right Shift when held, `kc` when tapped | +|`LCAG_T(kc)` | |Left Control, Alt and GUI when held, `kc` when tapped | +|`RCAG_T(kc)` | |Right Control, Alt and GUI when held, `kc` when tapped | +|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped | +|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped | +|`HYPR_T(kc)` |`ALL_T(kc)` |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)| ## Tapping Term Keys {#tapping-term-keys} diff --git a/docs/keycodes_basic.md b/docs/keycodes_basic.md index 66dfbe6ded..6ff422f89b 100644 --- a/docs/keycodes_basic.md +++ b/docs/keycodes_basic.md @@ -108,16 +108,16 @@ The basic set of keycodes are based on the [HID Keyboard/Keypad Usage Page (0x07 ## Modifiers -|Key |Aliases |Description | -|----------------|-------------------------------|-------------------------------------| -|`KC_LEFT_CTRL` |`KC_LCTL` |Left Control | -|`KC_LEFT_SHIFT` |`KC_LSFT` |Left Shift | -|`KC_LEFT_ALT` |`KC_LALT`, `KC_LOPT` |Left Alt (Option) | -|`KC_LEFT_GUI` |`KC_LGUI`, `KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Super key) | -|`KC_RIGHT_CTRL` |`KC_RCTL` |Right Control | -|`KC_RIGHT_SHIFT`|`KC_RSFT` |Right Shift | -|`KC_RIGHT_ALT` |`KC_RALT`, `KC_ROPT`, `KC_ALGR`|Right Alt (Option/AltGr) | -|`KC_RIGHT_GUI` |`KC_RGUI`, `KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Super key)| +|Key |Aliases |Description | +|----------------|-------------------------------|------------------------------------| +|`KC_LEFT_CTRL` |`KC_LCTL` |Left Control | +|`KC_LEFT_SHIFT` |`KC_LSFT` |Left Shift | +|`KC_LEFT_ALT` |`KC_LALT`, `KC_LOPT` |Left Alt (Option) | +|`KC_LEFT_GUI` |`KC_LGUI`, `KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) | +|`KC_RIGHT_CTRL` |`KC_RCTL` |Right Control | +|`KC_RIGHT_SHIFT`|`KC_RSFT` |Right Shift | +|`KC_RIGHT_ALT` |`KC_RALT`, `KC_ROPT`, `KC_ALGR`|Right Alt (Option/AltGr) | +|`KC_RIGHT_GUI` |`KC_RGUI`, `KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key)| ## International diff --git a/docs/license_violations.md b/docs/license_violations.md index 0b152f6960..b21bb286ac 100644 --- a/docs/license_violations.md +++ b/docs/license_violations.md @@ -19,39 +19,30 @@ If you own a board from one of the following vendors already, consider asking th | Vendor | Reason | |------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Ajazz | Selling tri-mode boards based on QMK without sources. | -| Alpaca / Apos | Selling wireless boards with "open" source code, but linking against closed-source wireless libraries. Crippled source code already unknowingly merged to QMK. | -| Attack Shark | Selling tri-mode boards based on QMK without sources. (Clones of Ajazz?) | | BBB Keyboard | Selling tri-mode boards based on QMK without sources, attempted upstreaming crippled firmware without wireless. | -| Chosfox | Selling L75 wired/wireless boards based on QMK without sources, just `via.json` provided. Raised on discord over multiple weeks without response. | +| Chillkey | | | CIDOO | Selling wired boards based on QMK without sources, just `via.json` provided. | -| ColorReco | Selling tri-mode boards based on QMK without sources. | -| CrossDIY | Selling wired boards based on QMK without sources. | | Darmoshark | Selling wired boards based on QMK without sources, just `via.json` provided. | | Epomaker | Lots of historical keyboards with `via.json` but no corresponding sources. Wireless code for a small handful provided, pending core cleanup for QMK upstreaming. Most other boards have source nowhere to be seen. | | Ergokbd (IFKB) | At least their crkbd clone ships with QMK+Vial, seemingly refuses to disclose sources despite multiple customers requesting them. | | iLovBee | Official 30-day copyright source code request issued Sep 11 2024 due to deception on PR, no response received. Ambiguity on PRs -- marketing says wireless, PR author said wired-only, then included wireless code anyway. Seemingly intentionally deceptive. | | KiiBOOM | Seems to use the same OEM as Epomaker, same problems. | -| kprepublic | Makes no attempt to release source code, all boards in QMK are reverse-engineered, created, and supported by the community. New board variants magically appear without telling customers they're incompatible with existing QMK versions, in some cases bricking boards or requiring ISP flashing. | | Luminkey | Selling tri-mode boards based on QMK without sources, just `via.json` provided. | | Meletrix | Selling tri-mode boards based on QMK without sources, just `via.json` provided. | | mmd / Smartmmd / i-game.tech | Ambiguity on PRs -- marketing says wireless, PR author said wired-only, then included wireless code anyway. Seemingly intentionally deceptive. | | MyKeyClub | Community-supported JRIS75, vendor was contacted by community members and refused to cooperate. | | owlab | Selling wired based on QMK without sources, just `via.json` provided. Ambiguous as to whether or not wireless firmware is based on QMK, given that their configuration tool looks very similar to VIA. | -| pressplayid | Selling wired and tri-mode boards based on QMK without sources, just `via.json` provided | | qwertykeys | Selling wired and tri-mode boards based on QMK without sources, just `via.json` provided. | | Redragon | Selling tri-mode boards based on QMK without sources, attempted upstreaming crippled firmware without wireless. | -| Riccks | Selling tri-mode boards based on QMK without sources. | | Royal Kludge | PRs for fake boards in order to attain VIA compatibility identified. Lots of other keyboards with `via.json` but no corresponding sources, attempted upstreaming crippled firmware without wireless. Wireless code for some provided, pending core cleanup for QMK upstreaming. PRs including different manufacturer names as well. | | Shenzhen Hangsheng | PR submissions with crippled firmware, debating with maintainers about wireless despite marketing material clearly stating tri-mode. | +| Shortcut Studio | Selling tri-mode boards based on QMK without sources, just `via.json` provided. | | Tacworks | Selling tri-mode boards based on QMK, crippled firmware already merged into QMK without wireless without QMK team realising. | | TKD / Vertex | Selling tri-mode boards based on QMK without sources, attempted upstreaming crippled firmware without wireless. | | WOBKEY | Selling tri-mode boards based on QMK without sources, attempted upstreaming crippled firmware without wireless. | | Weikav | Selling tri-mode boards based on QMK without sources, just `via.json` provided. | | Womier | Selling tri-mode boards based on QMK without sources, attempted upstreaming crippled firmware without wireless. | | Wuque Studio | Selling wired and tri-mode boards based on QMK without sources, just `via.json` provided. | -| XVX | Ambiguity on PRs -- marketing says wireless, PR author said wired-only. Seemingly intentionally deceptive. | -| Yunzii | Selling tri-mode boards based on QMK without sources, just `via.json` provided. Refuses to release sources due to proprietary wireless driver, in direct violation of the GPL. | | Zuoya | Selling tri-mode boards based on QMK without sources, just `via.json` provided. | ::: danger Violations @@ -86,7 +77,7 @@ Reusing the `VID` and `PID` for multiple boards (such as for two variants, wired If there is sufficient ambiguity about a board, supporting evidence will need to be presented to the QMK team. This may include impartial third parties who can demonstrate a board's existence and can confirm its feature set, such as well-known content producers; popular review sites or notable video creators may be leveraged. If such evidence is unavailable, as a last resort the vendor may be required to ship a fully functional board in full retail packaging to QMK maintainers for verification. Engineering samples will not be accepted, as one-off boards have been deceptively used in the past. -PRs submitted to upstream QMK should not expect an instant merge just because source code has been provided -- code from OEMs has historically been of a quality lower than QMK standards, so as per the [PR checklist](pr_checklist) submitters should make the changes as small as possible and be prepared to change their implementation. +PRs submitted to upstream QMK should not expect an instant merge just because source code has been provided -- code from OEMs has historically been of a quality lower than QMK standards, so as per the [PR checklist](https://docs.qmk.fm/pr_checklist) submitters should make the changes as small as possible and be prepared to change their implementation. ## Detection diff --git a/docs/mod_tap.md b/docs/mod_tap.md index ebf79adb7f..da2ecc9a85 100644 --- a/docs/mod_tap.md +++ b/docs/mod_tap.md @@ -9,11 +9,11 @@ The modifiers (`mod`) argument to the `MT()` macro are prefixed with `MOD_`, not |`MOD_LCTL`|Left Control | |`MOD_LSFT`|Left Shift | |`MOD_LALT`|Left Alt | -|`MOD_LGUI`|Left GUI (Windows/Command/Super key) | +|`MOD_LGUI`|Left GUI (Windows/Command/Meta key) | |`MOD_RCTL`|Right Control | |`MOD_RSFT`|Right Shift | |`MOD_RALT`|Right Alt (AltGr) | -|`MOD_RGUI`|Right GUI (Windows/Command/Super key) | +|`MOD_RGUI`|Right GUI (Windows/Command/Meta key) | |`MOD_HYPR`|Hyper (Left Control, Shift, Alt and GUI)| |`MOD_MEH` |Meh (Left Control, Shift, and Alt) | @@ -27,38 +27,29 @@ This key would activate Left Control and Left Shift when held, and send Escape w For convenience, QMK includes some Mod-Tap shortcuts to make common combinations more compact in your keymap: -|Key |Aliases |Description | -|------------|-----------------------------------------------------------------|---------------------------------------------------------------------------------------| -|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped | -|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped | -|`LALT_T(kc)`|`ALT_T(kc)`, `LOPT_T(kc)`, `OPT_T(kc)` |Left Alt when held, `kc` when tapped | -|`LGUI_T(kc)`|`GUI_T(kc)`, `LCMD_T(kc)`, `LWIN_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped | -|`LCS_T(kc)` | |Left Control and Left Shift when held, `kc` when tapped | -|`LCA_T(kc)` | |Left Control and Left Alt when held, `kc` when tapped | -|`LCG_T(kc)` | |Left Control and Left GUI when held, `kc` when tapped | -|`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped | -|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and Left GUI when held, `kc` when tapped | -|`LAG_T(kc)` | |Left Alt and Left GUI when held, `kc` when tapped | -|`LCSG_T(kc)`| |Left Control, Left Shift and Left GUI when held, `kc` when tapped | -|`LCAG_T(kc)`| |Left Control, Left Alt and Left GUI when held, `kc` when tapped | -|`LSAG_T(kc)`| |Left Shift, Left Alt and Left GUI when held, `kc` when tapped | -|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped | -|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped | -|`RALT_T(kc)`|`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt when held, `kc` when tapped | -|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped | -|`RCS_T(kc)` | |Right Control and Right Shift when held, `kc` when tapped | -|`RCA_T(kc)` | |Right Control and Right Alt when held, `kc` when tapped | -|`RCG_T(kc)` | |Right Control and Right GUI when held, `kc` when tapped | -|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt when held, `kc` when tapped | -|`RSG_T(kc)` | |Right Shift and Right GUI when held, `kc` when tapped | -|`RAG_T(kc)` | |Right Alt and Right GUI when held, `kc` when tapped | -|`RCSG_T(kc)`| |Right Control, Right Shift and Right GUI when held, `kc` when tapped | -|`RCAG_T(kc)`| |Right Control, Right Alt and Right GUI when held, `kc` when tapped | -|`RSAG_T(kc)`| |Right Shift, Right Alt and Right GUI when held, `kc` when tapped | -|`MEH_T(kc)` | |Left Control, Left Shift and Left Alt when held, `kc` when tapped | -|`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Left Shift, Left Alt and Left GUI when held, `kc` when tapped1| - -1. More information on the Hyper key can be found on [this blog post by Brett Terpstra](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/). +|Key |Aliases |Description | +|------------|-----------------------------------------------------------------|--------------------------------------------------------------| +|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped | +|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped | +|`LALT_T(kc)`|`LOPT_T(kc)`, `ALT_T(kc)`, `OPT_T(kc)` |Left Alt when held, `kc` when tapped | +|`LGUI_T(kc)`|`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped | +|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped | +|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped | +|`RALT_T(kc)`|`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt when held, `kc` when tapped | +|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped | +|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped | +|`LAG_T(kc)` | |Left Alt and GUI when held, `kc` when tapped | +|`RSG_T(kc)` | |Right Shift and GUI when held, `kc` when tapped | +|`RAG_T(kc)` | |Right Alt and GUI when held, `kc` when tapped | +|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped | +|`LSA_T(kc)` | |Left Shift and Alt when held, `kc` when tapped | +|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped | +|`RCS_T(kc)` | |Right Control and Right Shift when held, `kc` when tapped | +|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped | +|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped | +|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped | +|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped | +|`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)| ## Caveats diff --git a/docs/newbs_getting_started.md b/docs/newbs_getting_started.md index 1d2b60781b..9ebcccc77f 100644 --- a/docs/newbs_getting_started.md +++ b/docs/newbs_getting_started.md @@ -101,12 +101,6 @@ Install the QMK CLI by running: python3 -m pip install --user qmk ``` -Alternatively, install the QMK CLI as a [uv](https://docs.astral.sh/uv/) managed tool, kept isolated in a virtual environment (requires uv to be installed): - -```sh -uv tool install qmk -``` - #### Community Packages These packages are maintained by community members, so may not be up to date or completely functional. If you encounter problems, please report them to their respective maintainers. diff --git a/docs/other_vscode.md b/docs/other_vscode.md index 0b39746a6e..ab2b23e96b 100644 --- a/docs/other_vscode.md +++ b/docs/other_vscode.md @@ -112,7 +112,7 @@ Restart once you've installed any extensions. Using the [standard `compile_commands.json` database](https://clang.llvm.org/docs/JSONCompilationDatabase.html), we can get the VS code _clangd_ extension to use the correct includes and defines used for your keyboard and keymap. -1. Run `qmk compile -kb -km --compiledb` to generate the `compile_commands.json`. +1. Run `qmk generate-compilation-database -kb -km ` to generate the `compile_commands.json`. 1. Inside VS code, press Ctrl + Shift + P (macOS: Command + Shift + P) to open the command palette. 1. Start typing `clangd: Download Language Server` and select it when it appears. Note that this only needs to be done once on clangd extension installation, if it didn't already ask to do so. 1. Inside VS code, press Ctrl + Shift + P (macOS: Command + Shift + P) to open the command palette. diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md index 61119178bb..268e3b1b11 100644 --- a/docs/pr_checklist.md +++ b/docs/pr_checklist.md @@ -127,8 +127,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard - empty `xxxx_xxxx_kb()`, `xxxx_xxxx_user()`, or other weak-defined default implemented functions removed - commented-out functions removed too - `matrix_init_board()` etc. migrated to `keyboard_pre_init_kb()`, see: [keyboard_pre_init*](custom_quantum_functions#keyboard_pre_init_-function-documentation) - - when configuring custom matrix, the 'lite' variant (`CUSTOM_MATRIX = lite`) must be used where possible, as this allows for standard debounce. See [custom matrix 'lite'](custom_matrix#lite) - - justification for full custom matrix (`CUSTOM_MATRIX = yes`) must be provided when used + - prefer `CUSTOM_MATRIX = lite` if custom matrix used, allows for standard debounce, see [custom matrix 'lite'](custom_matrix#lite) - prefer LED indicator [Configuration Options](features/led_indicators#configuration-options) to custom `led_update_*()` implementations where possible - hardware that's enabled at the keyboard level and requires configuration such as OLED displays or encoders should have basic functionality implemented here - `.h` diff --git a/docs/public/badge-community-dark.svg b/docs/public/badge-community-dark.svg index 5236cf1696..dba561dda1 100644 --- a/docs/public/badge-community-dark.svg +++ b/docs/public/badge-community-dark.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/docs/public/badge-community-light.svg b/docs/public/badge-community-light.svg index 08c49f05b5..de4e0cf149 100644 --- a/docs/public/badge-community-light.svg +++ b/docs/public/badge-community-light.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/docs/quantum_painter.md b/docs/quantum_painter.md index bbe8944516..782d496ff7 100644 --- a/docs/quantum_painter.md +++ b/docs/quantum_painter.md @@ -884,7 +884,7 @@ static painter_image_handle_t my_image; void keyboard_post_init_kb(void) { my_image = qp_load_image_mem(gfx_my_image); if (my_image != NULL) { - qp_drawimage(display, (240 - my_image->width), (320 - my_image->height), my_image); + qp_drawimage(display, (239 - my_image->width), (319 - my_image->height), my_image); } } ``` @@ -909,7 +909,7 @@ static deferred_token my_anim; void keyboard_post_init_kb(void) { my_image = qp_load_image_mem(gfx_my_image); if (my_image != NULL) { - my_anim = qp_animate(display, (240 - my_image->width), (320 - my_image->height), my_image); + my_anim = qp_animate(display, (239 - my_image->width), (319 - my_image->height), my_image); } } ``` @@ -1001,7 +1001,7 @@ void keyboard_post_init_kb(void) { if (my_font != NULL) { static const char *text = "Hello from QMK!"; int16_t width = qp_textwidth(my_font, text); - qp_drawtext(display, (240 - width), (320 - my_font->line_height), my_font, text); + qp_drawtext(display, (239 - width), (319 - my_font->line_height), my_font, text); } } ``` diff --git a/docs/quantum_painter_qff.md b/docs/quantum_painter_qff.md index 198d87384a..3695be2c5b 100644 --- a/docs/quantum_painter_qff.md +++ b/docs/quantum_painter_qff.md @@ -44,7 +44,7 @@ typedef struct __attribute__((packed)) qff_font_descriptor_v1_t { uint8_t compression_scheme; // compression scheme, see below. uint8_t transparency_index; // palette index used for transparent pixels (not yet implemented) } qff_font_descriptor_v1_t; -// STATIC_ASSERT(sizeof(qff_font_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) + 20), "qff_font_descriptor_v1_t must be 25 bytes in v1 of QFF"); +// _Static_assert(sizeof(qff_font_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) + 20), "qff_font_descriptor_v1_t must be 25 bytes in v1 of QFF"); ``` The values for `format`, `flags`, `compression_scheme`, and `transparency_index` match [QGF's frame descriptor block](quantum_painter_qgf#qgf-frame-descriptor), with the exception that the `delta` flag is ignored by QFF. @@ -66,7 +66,7 @@ typedef struct __attribute__((packed)) qff_ascii_glyph_table_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x01, .neg_type_id = (~0x01), .length = 285 } uint24_t glyph[95]; // 95 glyphs, 0x20..0x7E, see bits/masks above for values } qff_ascii_glyph_table_v1_t; -// STATIC_ASSERT(sizeof(qff_ascii_glyph_table_v1_t) == (sizeof(qgf_block_header_v1_t) + 285), "qff_ascii_glyph_table_v1_t must be 290 bytes in v1 of QFF"); +// _Static_assert(sizeof(qff_ascii_glyph_table_v1_t) == (sizeof(qgf_block_header_v1_t) + 285), "qff_ascii_glyph_table_v1_t must be 290 bytes in v1 of QFF"); ``` ## Unicode glyph table {#qff-unicode-table} diff --git a/docs/quantum_painter_qgf.md b/docs/quantum_painter_qgf.md index dd525e4b83..700b78d105 100644 --- a/docs/quantum_painter_qgf.md +++ b/docs/quantum_painter_qgf.md @@ -32,7 +32,7 @@ typedef struct __attribute__((packed)) qgf_block_header_v1_t { uint8_t neg_type_id; // Negated type ID, used for detecting parsing errors uint24_t length; // 24-bit blob length, allowing for block sizes of a maximum of 16MB } qgf_block_header_v1_t; -// STATIC_ASSERT(sizeof(qgf_block_header_v1_t) == 5, "qgf_block_header_v1_t must be 5 bytes in v1 of QGF"); +// _Static_assert(sizeof(qgf_block_header_v1_t) == 5, "qgf_block_header_v1_t must be 5 bytes in v1 of QGF"); ``` The _length_ describes the number of octets in the data following the block header -- a block header may specify a _length_ of `0` if no blob is specified. @@ -56,7 +56,7 @@ typedef struct __attribute__((packed)) qgf_graphics_descriptor_v1_t { uint16_t image_height; // in pixels uint16_t frame_count; // minimum of 1 } qgf_graphics_descriptor_v1_t; -// STATIC_ASSERT(sizeof(qgf_graphics_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) + 18), "qgf_graphics_descriptor_v1_t must be 23 bytes in v1 of QGF"); +// _Static_assert(sizeof(qgf_graphics_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) + 18), "qgf_graphics_descriptor_v1_t must be 23 bytes in v1 of QGF"); ``` ## Frame offset block {#qgf-frame-offset-descriptor} @@ -95,7 +95,7 @@ typedef struct __attribute__((packed)) qgf_frame_v1_t { uint8_t transparency_index; // palette index used for transparent pixels (not yet implemented) uint16_t delay; // frame delay time for animations (in units of milliseconds) } qgf_frame_v1_t; -// STATIC_ASSERT(sizeof(qgf_frame_v1_t) == (sizeof(qgf_block_header_v1_t) + 6), "qgf_frame_v1_t must be 11 bytes in v1 of QGF"); +// _Static_assert(sizeof(qgf_frame_v1_t) == (sizeof(qgf_block_header_v1_t) + 6), "qgf_frame_v1_t must be 11 bytes in v1 of QGF"); ``` If this frame is grayscale, the _frame descriptor block_ (or _frame delta block_ if flags denote a delta frame) is immediately followed by this frame's corresponding _frame data block_. @@ -160,7 +160,7 @@ typedef struct __attribute__((packed)) qgf_delta_v1_t { uint16_t right; // The right pixel location to to draw the delta image uint16_t bottom; // The bottom pixel location to to draw the delta image } qgf_delta_v1_t; -// STATIC_ASSERT(sizeof(qgf_delta_v1_t) == 13, "qgf_delta_v1_t must be 13 bytes in v1 of QGF"); +// _Static_assert(sizeof(qgf_delta_v1_t) == 13, "qgf_delta_v1_t must be 13 bytes in v1 of QGF"); ``` ## Frame data block {#qgf-frame-data-descriptor} diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index a64f2992b5..99ff7b1f7a 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -74,8 +74,6 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/Boolean - * Default: `false` * `hold_on_other_key_press` Boolean * Default: `false` * `hold_on_other_key_press_per_key` Boolean @@ -274,14 +272,6 @@ Configures the [Encoder](features/encoders) feature. * The number of edge transitions on both pins required to register an input. * Default: `4` -## Host {#host} - -* `host` - * `default` - * `nkro` Boolean - * The default nkro state. - * Default: `false` - ## Indicators {#indicators} Configures the [LED Indicators](features/led_indicators) feature. @@ -338,8 +328,6 @@ The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize in * `h` KeyUnit * The height of the key, in key units. * Default: `1` (1u) - * `hand` String - * The handedness of the key for Chordal Hold, either `"L"` (left hand), `"R"` (right hand), or `"*"` (either or exempted handedness). * `label` String * What to name the key. This is *not* a key assignment as in the keymap, but should usually correspond to the keycode for the first layer of the default keymap. * Example: `"Escape"` @@ -421,7 +409,7 @@ Configures the [LED Matrix](features/led_matrix) feature. * Default: `16` * `led_process_limit` Number * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness). - * Default: `(led_count + 4) / 5` + * Default: `led_count / 5` * `max_brightness` Number * The maximum value which brightness is scaled to, from 0 to 255. * Default: `255` @@ -432,7 +420,7 @@ Configures the [LED Matrix](features/led_matrix) feature. * Turn off the LEDs when the host goes to sleep. * Default: `false` * `speed_steps` Number - * The value by which to increment the speed. + * The number of speed adjustment steps. * Default: `16` * `split_count` Array: Number * For split keyboards, the number of LEDs on each half. @@ -441,7 +429,7 @@ Configures the [LED Matrix](features/led_matrix) feature. * The LED activity timeout in milliseconds. * Default: `0` (no timeout) * `val_steps` Number - * The value by which to increment the brightness. + * The number of brightness adjustment steps. * Default: `8` ## Matrix {#matrix} @@ -557,7 +545,7 @@ Configures the [RGB Lighting](features/rgblight) feature. } ``` * `brightness_steps` Number - * The value by which to increment the brightness. + * The number of brightness adjustment steps. * Default: `17` * `default` * `animation` String @@ -582,7 +570,7 @@ Configures the [RGB Lighting](features/rgblight) feature. * The driver to use. Must be one of `apa102`, `custom`, `ws2812`. * Default: `"ws2812"` * `hue_steps` Number - * The value by which to increment the hue. + * The number of hue adjustment steps. * Default: `8` * `layers` * `blink` Boolean @@ -601,7 +589,7 @@ Configures the [RGB Lighting](features/rgblight) feature. * The maximum value which the HSV "V" component is scaled to, from 0 to 255. * Default: `255` * `saturation_steps` Number - * The value by which to increment the suturation. + * The number of saturation adjustment steps. * Default: `17` * `sleep` Boolean * Turn off the LEDs when the host goes to sleep. @@ -653,7 +641,7 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. * `driver` String Required * The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3236`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`. * `hue_steps` Number - * The value by which to increment the hue. + * The number of hue adjustment steps. * Default: `8` * `layout` Array: Object Required * List of LED configuration dictionaries. Each dictionary contains: @@ -672,7 +660,7 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. * Default: `16` * `led_process_limit` Number * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness). - * Default: `(led_count + 4) / 5` + * Default: `led_count / 5` * `max_brightness` Number * The maximum value which the HSV "V" component is scaled to, from 0 to 255. * Default: `255` @@ -680,13 +668,13 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. * Animations react to keyup instead of keydown. * Default: `false` * `sat_steps` Number - * The value by which to increment the saturation. + * The number of saturation adjustment steps. * Default: `16` * `sleep` Boolean * Turn off the LEDs when the host goes to sleep. * Default: `false` * `speed_steps` Number - * The value by which to increment the speed. + * The number of speed adjustment steps. * Default: `16` * `split_count` Array: Number * For split keyboards, the number of LEDs on each half. @@ -695,7 +683,7 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. * The LED activity timeout in milliseconds. * Default: `0` (no timeout) * `val_steps` Number - * The value by which to increment the brightness. + * The number of brightness adjustment steps. * Default: `16` ## Secure {#secure} @@ -826,6 +814,9 @@ Configures the [Stenography](features/stenography) feature. * `vid` String Required * The USB vendor ID as a four-digit hexadecimal number. * Example: `"0xC1ED"` + * `force_nkro` Boolean + * Force NKRO to be active. + * Default: `false` * `max_power` Number * The maximum current draw the host should expect from the device. This does not control the actual current usage. * Default: `500` (500 mA) diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md index c871773651..f6b4b8faf6 100644 --- a/docs/reference_keymap_extras.md +++ b/docs/reference_keymap_extras.md @@ -55,7 +55,6 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q |English (US International) |`keymap_us_international.h` |`sendstring_us_international.h` | |English (US International, Linux)|`keymap_us_international_linux.h`| | |Estonian |`keymap_estonian.h` |`sendstring_estonian.h` | -|EurKEY |`keymap_eurkey.h` | | |Farsi |`keymap_farsi.h` | | |Finnish |`keymap_finnish.h` |`sendstring_finnish.h` | |French |`keymap_french.h` |`sendstring_french.h` | diff --git a/docs/tap_hold.md b/docs/tap_hold.md index 164be229f6..9b7f6552cb 100644 --- a/docs/tap_hold.md +++ b/docs/tap_hold.md @@ -425,252 +425,6 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) { If `QUICK_TAP_TERM` is set higher than `TAPPING_TERM`, it will default to `TAPPING_TERM`. ::: -## Flow Tap - -Flow Tap modifies mod-tap `MT` and layer-tap `LT` keys such that when pressed within a short timeout of the preceding key, the tapping behavior is triggered. This is particularly useful for home row mods to avoid accidental mod triggers. It basically disables the hold behavior during fast typing, creating a "flow of taps." This also helps to reduce the input lag of tap-hold keys during fast typing, since the tapped behavior is sent immediately. - -Flow Tap is enabled by defining `FLOW_TAP_TERM` in your `config.h` with the desired timeout in milliseconds. A timeout of 150 ms is recommended as a starting point: - -```c -#define FLOW_TAP_TERM 150 -``` - -By default, Flow Tap is enabled when: - -* The tap-hold key is pressed within `FLOW_TAP_TERM` milliseconds of the previous key press. - -* The tapping keycodes of the previous key and tap-hold key are *both* among `KC_A`–`KC_Z`, `KC_COMM`, `KC_DOT`, `KC_SCLN`, `KC_SLSH` (the main alphas area of a conventional QWERTY layout) or `KC_SPC`. - -As an exception to the above, Flow Tap is temporarily disabled while a tap-hold key is undecided. This is to allow chording multiple mod-tap keys without having to wait out the Flow Tap term. - - -### is_flow_tap_key() - -Optionally, define the `is_flow_tap_key()` callback to specify where Flow Tap is enabled. The callback is called for both the tap-hold key *and* the key press immediately preceding it, and if the callback returns true for both keycodes, Flow Tap is enabled. - -The default implementation of this callback is: - -```c -bool is_flow_tap_key(uint16_t keycode) { - if ((get_mods() & (MOD_MASK_CG | MOD_BIT_LALT)) != 0) { - return false; // Disable Flow Tap on hotkeys. - } - switch (get_tap_keycode(keycode)) { - case KC_SPC: - case KC_A ... KC_Z: - case KC_DOT: - case KC_COMM: - case KC_SCLN: - case KC_SLSH: - return true; - } - return false; -} -``` - -Copy the above to your `keymap.c` and edit to customize. For instance, remove the `case KC_SPC` line to disable Flow Tap for the Space key. - -### get_flow_tap_term() - -Optionally, for further flexibility, define the `get_flow_tap_term()` callback. Flow Tap acts only when key events are closer together than the time returned by the callback. Return a time of 0 to disable filtering. In this way, Flow Tap may be disabled for certain tap-hold keys, or when following certain previous keys. - -The default implementation of this callback is - -```c -uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t* record, - uint16_t prev_keycode) { - if (is_flow_tap_key(keycode) && is_flow_tap_key(prev_keycode)) { - return FLOW_TAP_TERM; - } - return 0; -} -``` - -In this callback, `keycode` and `record` correspond to the current tap-hold key, and `prev_keycode` is the keycode of the previous key. Return the timeout to use. Returning `0` disables Flow Tap. This callback enables setting per-key timeouts. It is also possible to enable or disable Flow Tap for certain tap-hold keys or when following certain previous keys. Example: - -```c -uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t* record, - uint16_t prev_keycode) { - if (is_flow_tap_key(keycode) && is_flow_tap_key(prev_keycode)) { - switch (keycode) { - case LCTL_T(KC_F): - case RCTL_T(KC_H): - return FLOW_TAP_TERM - 25; // Short timeout on these keys. - - default: - return FLOW_TAP_TERM; // Longer timeout otherwise. - } - } - return 0; // Disable Flow Tap. -} -``` - -::: tip If you define both `is_flow_tap_key()` and `get_flow_tap_term()`, then the latter takes precedence. -::: - -## Chordal Hold - -Chordal Hold is intended to be used together with either Permissive Hold or Hold -On Other Key Press. Chordal Hold is enabled by adding to your `config.h`: - -```c -#define CHORDAL_HOLD -``` - -Chordal Hold implements, by default, an "opposite hands" rule. Suppose a -tap-hold key is pressed and then, before the tapping term, another key is -pressed. With Chordal Hold, the tap-hold key is settled as tapped if the two -keys are on the same hand. - -Otherwise, if the keys are on opposite hands, Chordal Hold introduces no new -behavior. Hold On Other Key Press or Permissive Hold may be used together with -Chordal Hold to configure the behavior in the opposite hands case. With Hold On -Other Key Press, an opposite hands chord is settled immediately as held. Or with -Permissive Hold, an opposite hands chord is settled as held provided the other -key is pressed and released (nested press) before releasing the tap-hold key. - -Chordal Hold may be useful to avoid accidental modifier activation with -mod-taps, particularly in rolled keypresses when using home row mods. - -Notes: - -* Chordal Hold has no effect after the tapping term. - -* Combos are exempt from the opposite hands rule, since "handedness" is - ill-defined in this case. Even so, Chordal Hold's behavior involving combos - may be customized through the `get_chordal_hold()` callback. - -An example of a sequence that is affected by “chordal hold”: - -- `SFT_T(KC_A)` Down -- `KC_C` Down -- `KC_C` Up -- `SFT_T(KC_A)` Up - -``` - TAPPING_TERM - +---------------------------|--------+ - | +----------------------+ | | - | | SFT_T(KC_A) | | | - | +----------------------+ | | - | +--------------+ | | - | | KC_C | | | - | +--------------+ | | - +---------------------------|--------+ -``` - -If the two keys are on the same hand, then this will produce `ac` with -`SFT_T(KC_A)` settled as tapped the moment that `KC_C` is pressed. - -If the two keys are on opposite hands and the `HOLD_ON_OTHER_KEY_PRESS` option -enabled, this will produce `C` with `SFT_T(KC_A)` settled as held when `KC_C` is -pressed. - -Or if the two keys are on opposite hands and the `PERMISSIVE_HOLD` option is -enabled, this will produce `C` with `SFT_T(KC_A)` settled as held when that -`KC_C` is released. - -### Chordal Hold Handedness - -Determining whether keys are on the same or opposite hands involves defining the -"handedness" of each key position. By default, if nothing is specified, -handedness is guessed based on keyboard geometry. - -Handedness may be specified with `chordal_hold_layout`. In keymap.c, define -`chordal_hold_layout` in the following form: - -```c -const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM = - LAYOUT( - 'L', 'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R', 'R', - 'L', 'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R', 'R', - 'L', 'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R', 'R', - 'L', 'L', 'L', 'R', 'R', 'R' - ); -``` - -Use the same `LAYOUT` macro as used to define your keymap layers. Each entry is -a character indicating the handedness of one key, either `'L'` for left, `'R'` -for right, or `'*'` to exempt keys from the "opposite hands rule." A key with -`'*'` handedness may settle as held in chords with any other key. This could be -used perhaps on thumb keys or other places where you want to allow same-hand -chords. - -Keyboard makers may specify handedness in keyboard.json. Under `"layouts"`, -specify the handedness of a key by adding a `"hand"` field with a value of -either `"L"`, `"R"`, or `"*"`. Note that if `"layouts"` contains multiple -layouts, only the first one is read. For example: - -```json -{"matrix": [5, 6], "x": 0, "y": 5.5, "w": 1.25, "hand": "*"}, -``` - -Alternatively, handedness may be defined functionally with -`chordal_hold_handedness()`. For example, in keymap.c define: - -```c -char chordal_hold_handedness(keypos_t key) { - if (key.col == 0 || key.col == MATRIX_COLS - 1) { - return '*'; // Exempt the outer columns. - } - // On split keyboards, typically, the first half of the rows are on the - // left, and the other half are on the right. - return key.row < MATRIX_ROWS / 2 ? 'L' : 'R'; -} -``` - -Given the matrix position of a key, the function should return `'L'`, `'R'`, or -`'*'`. Adapt the logic in this function according to the keyboard's matrix. - -::: warning -Note the matrix may have irregularities around larger keys, around the edges of -the board, and around thumb clusters. You may find it helpful to use [this -debugging example](faq_debug#which-matrix-position-is-this-keypress) to -correspond physical keys to matrix positions. -::: - -::: tip If you define both `chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS]` and -`chordal_hold_handedness(keypos_t key)` for handedness, the latter takes -precedence. -::: - - -### Per-chord customization - -Beyond the per-key configuration possible through handedness, Chordal Hold may -be configured at a *per-chord* granularity for detailed tuning. In keymap.c, -define `get_chordal_hold()`. Returning `true` allows the chord to be held, while -returning `false` settles as tapped. - -For example: - -```c -bool get_chordal_hold(uint16_t tap_hold_keycode, keyrecord_t* tap_hold_record, - uint16_t other_keycode, keyrecord_t* other_record) { - // Exceptionally allow some one-handed chords for hotkeys. - switch (tap_hold_keycode) { - case LCTL_T(KC_Z): - if (other_keycode == KC_C || other_keycode == KC_V) { - return true; - } - break; - - case RCTL_T(KC_SLSH): - if (other_keycode == KC_N) { - return true; - } - break; - } - // Otherwise defer to the opposite hands rule. - return get_chordal_hold_default(tap_hold_record, other_record); -} -``` - -As shown in the last line above, you may use -`get_chordal_hold_default(tap_hold_record, other_record)` to get the default tap -vs. hold decision according to the opposite hands rule. - - ## Retro Tapping To enable `retro tapping`, add the following to your `config.h`: diff --git a/docs/unit_testing.md b/docs/unit_testing.md index aec4ec8334..3e4c914bf1 100644 --- a/docs/unit_testing.md +++ b/docs/unit_testing.md @@ -58,34 +58,6 @@ It's not yet possible to do a full integration test, where you would compile the In that model you would emulate the input, and expect a certain output from the emulated keyboard. -# Keycode String {#keycode-string} - -It's much nicer to read keycodes as names like "`LT(2,KC_D)`" than numerical codes like "`0x4207`." To convert keycodes to human-readable strings, add `KEYCODE_STRING_ENABLE = yes` to the `rules.mk` file, then use the `get_keycode_string(kc)` function to convert a given 16-bit keycode to a string. - -```c -const char *key_name = get_keycode_string(keycode); -dprintf("kc: %s\n", key_name); -``` - -The stringified keycode may then be logged to console output with `dprintf()` or elsewhere. - -::: warning -Use the result of `get_keycode_string()` immediately. Subsequent invocations reuse the same static buffer and overwrite the previous contents. -::: - -Many common QMK keycodes are recognized by `get_keycode_string()`, but not all. These include some common basic keycodes, layer switch keycodes, mod-taps, one-shot keycodes, tap dance keycodes, and Unicode keycodes. As a fallback, an unrecognized keycode is written as a hex number. - -Optionally, `KEYCODE_STRING_NAMES_USER` may be defined to add names for additional keycodes. For example, supposing keymap.c defines `MYMACRO1` and `MYMACRO2` as custom keycodes, the following adds their names: - -```c -KEYCODE_STRING_NAMES_USER( - KEYCODE_STRING_NAME(MYMACRO1), - KEYCODE_STRING_NAME(MYMACRO2), -); -``` - -Similarly, `KEYCODE_STRING_NAMES_KB` may be defined to add names at the keyboard level. - # Tracing Variables {#tracing-variables} Sometimes you might wonder why a variable gets changed and where, and this can be quite tricky to track down without having a debugger. It's of course possible to manually add print statements to track it, but you can also enable the variable trace feature. This works for both variables that are changed by the code, and when the variable is changed by some memory corruption. diff --git a/drivers/battery/battery.c b/drivers/battery/battery.c deleted file mode 100644 index faf3c5a214..0000000000 --- a/drivers/battery/battery.c +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "battery_driver.h" -#include "battery.h" -#include "timer.h" - -#ifndef BATTERY_SAMPLE_INTERVAL -# define BATTERY_SAMPLE_INTERVAL 30000 -#endif - -static uint8_t last_bat_level = 100; - -void battery_init(void) { - battery_driver_init(); - - last_bat_level = battery_driver_sample_percent(); -} - -__attribute__((weak)) void battery_percent_changed_user(uint8_t level) {} -__attribute__((weak)) void battery_percent_changed_kb(uint8_t level) {} - -static void handle_percent_changed(void) { - battery_percent_changed_user(last_bat_level); - battery_percent_changed_kb(last_bat_level); -} - -void battery_task(void) { - static uint32_t bat_timer = 0; - if (timer_elapsed32(bat_timer) > BATTERY_SAMPLE_INTERVAL) { - last_bat_level = battery_driver_sample_percent(); - - handle_percent_changed(); - - bat_timer = timer_read32(); - } -} - -uint8_t battery_get_percent(void) { - return last_bat_level; -} diff --git a/drivers/battery/battery.h b/drivers/battery/battery.h deleted file mode 100644 index 0985723eaa..0000000000 --- a/drivers/battery/battery.h +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include - -/** - * \file - * - * \defgroup battery Battery API - * - * \brief API to query battery status. - * \{ - */ - -/** - * \brief Initialize the battery driver. - */ -void battery_init(void); - -/** - * \brief Perform housekeeping tasks. - */ -void battery_task(void); - -/** - * \brief Sample battery level. - * - * \return The battery percentage, in the range 0-100. - */ -uint8_t battery_get_percent(void); - -/** - * \brief user hook called when battery level changed. - * - */ -void battery_percent_changed_user(uint8_t level); - -/** - * \brief keyboard hook called when battery level changed. - * - */ -void battery_percent_changed_kb(uint8_t level); - -/** \} */ diff --git a/drivers/battery/battery_adc.c b/drivers/battery/battery_adc.c deleted file mode 100644 index cf0e69cb48..0000000000 --- a/drivers/battery/battery_adc.c +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "analog.h" -#include "gpio.h" - -#ifndef BATTERY_PIN -# error("BATTERY_PIN not configured!") -#endif - -#ifndef BATTERY_REF_VOLTAGE_MV -# define BATTERY_REF_VOLTAGE_MV 3300 -#endif - -#ifndef BATTERY_VOLTAGE_DIVIDER_R1 -# define BATTERY_VOLTAGE_DIVIDER_R1 100 -#endif - -#ifndef BATTERY_VOLTAGE_DIVIDER_R2 -# define BATTERY_VOLTAGE_DIVIDER_R2 100 -#endif - -// TODO: infer from adc config? -#ifndef BATTERY_ADC_RESOLUTION -# define BATTERY_ADC_RESOLUTION 10 -#endif - -void battery_driver_init(void) { - gpio_set_pin_input(BATTERY_PIN); -} - -uint16_t battery_driver_get_mv(void) { - uint32_t raw = analogReadPin(BATTERY_PIN); - - uint32_t bat_mv = raw * BATTERY_REF_VOLTAGE_MV / (1 << BATTERY_ADC_RESOLUTION); - -#if BATTERY_VOLTAGE_DIVIDER_R1 > 0 && BATTERY_VOLTAGE_DIVIDER_R2 > 0 - bat_mv = bat_mv * (BATTERY_VOLTAGE_DIVIDER_R1 + BATTERY_VOLTAGE_DIVIDER_R2) / BATTERY_VOLTAGE_DIVIDER_R2; -#endif - - return bat_mv; -} - -uint8_t battery_driver_sample_percent(void) { - uint16_t bat_mv = battery_driver_get_mv(); - - // https://github.com/zmkfirmware/zmk/blob/3f7c9d7cc4f46617faad288421025ea2a6b0bd28/app/module/drivers/sensor/battery/battery_common.c#L33 - if (bat_mv >= 4200) { - return 100; - } else if (bat_mv <= 3450) { - return 0; - } - - return bat_mv * 2 / 15 - 459; -} diff --git a/drivers/battery/battery_driver.h b/drivers/battery/battery_driver.h deleted file mode 100644 index c2ee75e966..0000000000 --- a/drivers/battery/battery_driver.h +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include - -/** - * \file - * - * \defgroup battery Battery Driver API - * - * \brief API to query battery status. - * \{ - */ - -/** - * \brief Initialize the battery driver. This function must be called only once, before any of the below functions can be called. - */ -void battery_driver_init(void); - -/** - * \brief Sample battery level. - * - * \return The battery percentage, in the range 0-100. - */ -uint8_t battery_driver_sample_percent(void); - -/** \} */ diff --git a/drivers/bluetooth/bluefruit_le.cpp b/drivers/bluetooth/bluefruit_le.cpp index 5fdd104dcf..218eca2195 100644 --- a/drivers/bluetooth/bluefruit_le.cpp +++ b/drivers/bluetooth/bluefruit_le.cpp @@ -32,8 +32,13 @@ # define BLUEFRUIT_LE_SCK_DIVISOR 2 // 4MHz SCK/8MHz CPU, calculated for Feather 32U4 BLE #endif +#define SAMPLE_BATTERY #define ConnectionUpdateInterval 1000 /* milliseconds */ +#ifndef BATTERY_LEVEL_PIN +# define BATTERY_LEVEL_PIN B5 +#endif + static struct { bool is_connected; bool initialized; @@ -43,6 +48,10 @@ static struct { #define UsingEvents 2 bool event_flags; +#ifdef SAMPLE_BATTERY + uint16_t last_battery_update; + uint32_t vbat; +#endif uint16_t last_connection_update; } state; @@ -540,6 +549,14 @@ void bluefruit_le_task(void) { set_connected(atoi(resbuf)); } } + +#ifdef SAMPLE_BATTERY + if (timer_elapsed(state.last_battery_update) > BatteryUpdateInterval && resp_buf.empty()) { + state.last_battery_update = timer_read(); + + state.vbat = analogReadPin(BATTERY_LEVEL_PIN); + } +#endif } static bool process_queue_item(struct queue_item *item, uint16_t timeout) { @@ -638,6 +655,10 @@ void bluefruit_le_send_mouse(report_mouse_t *report) { } } +uint32_t bluefruit_le_read_battery_voltage(void) { + return state.vbat; +} + bool bluefruit_le_set_mode_leds(bool on) { if (!state.configured) { return false; diff --git a/drivers/bluetooth/bluefruit_le.h b/drivers/bluetooth/bluefruit_le.h index 5efe92b6e0..a3de03c35c 100644 --- a/drivers/bluetooth/bluefruit_le.h +++ b/drivers/bluetooth/bluefruit_le.h @@ -45,6 +45,10 @@ extern void bluefruit_le_send_consumer(uint16_t usage); * change. */ extern void bluefruit_le_send_mouse(report_mouse_t *report); +/* Compute battery voltage by reading an analog pin. + * Returns the integer number of millivolts */ +extern uint32_t bluefruit_le_read_battery_voltage(void); + extern bool bluefruit_le_set_mode_leds(bool on); extern bool bluefruit_le_set_power_level(int8_t level); diff --git a/drivers/bluetooth/bluetooth.c b/drivers/bluetooth/bluetooth.c index e61e24e1f2..d5382401e7 100644 --- a/drivers/bluetooth/bluetooth.c +++ b/drivers/bluetooth/bluetooth.c @@ -1,32 +1,62 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include "bluetooth.h" -__attribute__((weak)) void bluetooth_init(void) {} +#if defined(BLUETOOTH_BLUEFRUIT_LE) +# include "bluefruit_le.h" +#elif defined(BLUETOOTH_RN42) +# include "rn42.h" +#endif -__attribute__((weak)) void bluetooth_task(void) {} - -__attribute__((weak)) bool bluetooth_is_connected(void) { - return true; +void bluetooth_init(void) { +#if defined(BLUETOOTH_BLUEFRUIT_LE) + bluefruit_le_init(); +#elif defined(BLUETOOTH_RN42) + rn42_init(); +#endif } -__attribute__((weak)) bool bluetooth_can_send_nkro(void) { - return false; +void bluetooth_task(void) { +#if defined(BLUETOOTH_BLUEFRUIT_LE) + bluefruit_le_task(); +#endif } -__attribute__((weak)) uint8_t bluetooth_keyboard_leds(void) { - return 0; +void bluetooth_send_keyboard(report_keyboard_t *report) { +#if defined(BLUETOOTH_BLUEFRUIT_LE) + bluefruit_le_send_keyboard(report); +#elif defined(BLUETOOTH_RN42) + rn42_send_keyboard(report); +#endif } -__attribute__((weak)) void bluetooth_send_keyboard(report_keyboard_t *report) {} +void bluetooth_send_mouse(report_mouse_t *report) { +#if defined(BLUETOOTH_BLUEFRUIT_LE) + bluefruit_le_send_mouse(report); +#elif defined(BLUETOOTH_RN42) + rn42_send_mouse(report); +#endif +} -__attribute__((weak)) void bluetooth_send_nkro(report_nkro_t *report) {} - -__attribute__((weak)) void bluetooth_send_mouse(report_mouse_t *report) {} - -__attribute__((weak)) void bluetooth_send_consumer(uint16_t usage) {} - -__attribute__((weak)) void bluetooth_send_system(uint16_t usage) {} - -__attribute__((weak)) void bluetooth_send_raw_hid(uint8_t *data, uint8_t length) {} +void bluetooth_send_consumer(uint16_t usage) { +#if defined(BLUETOOTH_BLUEFRUIT_LE) + bluefruit_le_send_consumer(usage); +#elif defined(BLUETOOTH_RN42) + rn42_send_consumer(usage); +#endif +} diff --git a/drivers/bluetooth/bluetooth.h b/drivers/bluetooth/bluetooth.h index bbd41a9194..2e4d0df538 100644 --- a/drivers/bluetooth/bluetooth.h +++ b/drivers/bluetooth/bluetooth.h @@ -30,23 +30,6 @@ void bluetooth_init(void); */ void bluetooth_task(void); -/** - * \brief Detects if Bluetooth is connected. - * - * \return `true` if connected, `false` otherwise. - */ -bool bluetooth_is_connected(void); - -/** - * \brief Detects if `bluetooth_send_nkro` should be used over `bluetooth_send_keyboard`. - */ -bool bluetooth_can_send_nkro(void); - -/** - * \brief Get current LED state. - */ -uint8_t bluetooth_keyboard_leds(void); - /** * \brief Send a keyboard report. * @@ -54,13 +37,6 @@ uint8_t bluetooth_keyboard_leds(void); */ void bluetooth_send_keyboard(report_keyboard_t *report); -/** - * \brief Send a nkro report. - * - * \param report The nkro report to send. - */ -void bluetooth_send_nkro(report_nkro_t *report); - /** * \brief Send a mouse report. * @@ -74,18 +50,3 @@ void bluetooth_send_mouse(report_mouse_t *report); * \param usage The consumer usage to send. */ void bluetooth_send_consumer(uint16_t usage); - -/** - * \brief Send a system usage. - * - * \param usage The system usage to send. - */ -void bluetooth_send_system(uint16_t usage); - -/** - * \brief Send a raw_hid packet. - * - * \param data A pointer to the buffer to be sent. Always 32 bytes in length. - * \param length The length of the buffer. Always 32. - */ -void bluetooth_send_raw_hid(uint8_t *data, uint8_t length); diff --git a/drivers/bluetooth/bluetooth_drivers.c b/drivers/bluetooth/bluetooth_drivers.c deleted file mode 100644 index b91d4501e6..0000000000 --- a/drivers/bluetooth/bluetooth_drivers.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2022 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "bluetooth.h" - -#if defined(BLUETOOTH_BLUEFRUIT_LE) -# include "bluefruit_le.h" -#elif defined(BLUETOOTH_RN42) -# include "rn42.h" -#endif - -void bluetooth_init(void) { -#if defined(BLUETOOTH_BLUEFRUIT_LE) - bluefruit_le_init(); -#elif defined(BLUETOOTH_RN42) - rn42_init(); -#endif -} - -void bluetooth_task(void) { -#if defined(BLUETOOTH_BLUEFRUIT_LE) - bluefruit_le_task(); -#endif -} - -bool bluetooth_is_connected(void) { -#if defined(BLUETOOTH_BLUEFRUIT_LE) - return bluefruit_le_is_connected(); -#else - // TODO: drivers should check if BT is connected here - return true; -#endif -} - -void bluetooth_send_keyboard(report_keyboard_t *report) { -#if defined(BLUETOOTH_BLUEFRUIT_LE) - bluefruit_le_send_keyboard(report); -#elif defined(BLUETOOTH_RN42) - rn42_send_keyboard(report); -#endif -} - -void bluetooth_send_mouse(report_mouse_t *report) { -#if defined(BLUETOOTH_BLUEFRUIT_LE) - bluefruit_le_send_mouse(report); -#elif defined(BLUETOOTH_RN42) - rn42_send_mouse(report); -#endif -} - -void bluetooth_send_consumer(uint16_t usage) { -#if defined(BLUETOOTH_BLUEFRUIT_LE) - bluefruit_le_send_consumer(usage); -#elif defined(BLUETOOTH_RN42) - rn42_send_consumer(usage); -#endif -} diff --git a/drivers/bluetooth/outputselect.c b/drivers/bluetooth/outputselect.c new file mode 100644 index 0000000000..b986ba274e --- /dev/null +++ b/drivers/bluetooth/outputselect.c @@ -0,0 +1,70 @@ +/* +Copyright 2017 Priyadi Iman Nurcahyo +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "outputselect.h" +#include "usb_util.h" + +#ifdef BLUETOOTH_BLUEFRUIT_LE +# include "bluefruit_le.h" +#endif + +uint8_t desired_output = OUTPUT_DEFAULT; + +/** \brief Set Output + * + * FIXME: Needs doc + */ +void set_output(uint8_t output) { + set_output_user(output); + desired_output = output; +} + +/** \brief Set Output User + * + * FIXME: Needs doc + */ +__attribute__((weak)) void set_output_user(uint8_t output) {} + +/** \brief Auto Detect Output + * + * FIXME: Needs doc + */ +uint8_t auto_detect_output(void) { + if (usb_connected_state()) { + return OUTPUT_USB; + } + +#ifdef BLUETOOTH_BLUEFRUIT_LE + if (bluefruit_le_is_connected()) { + return OUTPUT_BLUETOOTH; + } +#endif + +#ifdef BLUETOOTH_ENABLE + return OUTPUT_BLUETOOTH; // should check if BT is connected here +#endif + + return OUTPUT_NONE; +} + +/** \brief Where To Send + * + * FIXME: Needs doc + */ +uint8_t where_to_send(void) { + if (desired_output == OUTPUT_AUTO) { + return auto_detect_output(); + } + return desired_output; +} diff --git a/drivers/bluetooth/outputselect.h b/drivers/bluetooth/outputselect.h index 25f063bbff..c4548e1122 100644 --- a/drivers/bluetooth/outputselect.h +++ b/drivers/bluetooth/outputselect.h @@ -14,17 +14,21 @@ along with this program. If not, see . #pragma once -#include "connection.h" +#include -// DEPRECATED - DO NOT USE +enum outputs { + OUTPUT_AUTO, -#define OUTPUT_AUTO CONNECTION_HOST_AUTO -#define OUTPUT_NONE CONNECTION_HOST_NONE -#define OUTPUT_USB CONNECTION_HOST_USB -#define OUTPUT_BLUETOOTH CONNECTION_HOST_BLUETOOTH + OUTPUT_NONE, + OUTPUT_USB, + OUTPUT_BLUETOOTH +}; -#define set_output connection_set_host_noeeprom -#define where_to_send connection_get_host -#define auto_detect_output connection_auto_detect_host +#ifndef OUTPUT_DEFAULT +# define OUTPUT_DEFAULT OUTPUT_AUTO +#endif -void set_output_user(uint8_t output); +void set_output(uint8_t output); +void set_output_user(uint8_t output); +uint8_t auto_detect_output(void); +uint8_t where_to_send(void); diff --git a/drivers/eeprom/eeprom_transient.h b/drivers/eeprom/eeprom_transient.h index 0483fd58b9..687b8619fe 100644 --- a/drivers/eeprom/eeprom_transient.h +++ b/drivers/eeprom/eeprom_transient.h @@ -20,6 +20,6 @@ The size of the transient EEPROM buffer size. */ #ifndef TRANSIENT_EEPROM_SIZE -# include "nvm_eeprom_eeconfig_internal.h" +# include "eeconfig.h" # define TRANSIENT_EEPROM_SIZE (((EECONFIG_SIZE + 3) / 4) * 4) // based off eeconfig's current usage, aligned to 4-byte sizes, to deal with LTO #endif diff --git a/drivers/i2c_master.h b/drivers/i2c_master.h deleted file mode 100644 index dbe1cd42fa..0000000000 --- a/drivers/i2c_master.h +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include - -/** - * \file - * - * \defgroup i2c_master I2C Master API - * - * \brief API to communicate with I2C devices. - * \{ - */ - -typedef int16_t i2c_status_t; - -#define I2C_STATUS_SUCCESS (0) -#define I2C_STATUS_ERROR (-1) -#define I2C_STATUS_TIMEOUT (-2) - -#define I2C_TIMEOUT_IMMEDIATE (0) -#define I2C_TIMEOUT_INFINITE (0xFFFF) - -/** - * \brief Initialize the I2C driver. This function must be called only once, before any of the below functions can be called. - * - * This function is weakly defined, meaning it can be overridden if necessary for your particular use case. - */ -void i2c_init(void); - -/** - * \brief Send multiple bytes to the selected I2C device. - * - * \param address The 7-bit I2C address of the device. - * \param data A pointer to the data to transmit. - * \param length The number of bytes to write. Take care not to overrun the length of `data`. - * \param timeout The time in milliseconds to wait for a response from the target device. - * - * \return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. - */ -i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout); - -#if defined(__AVR__) || defined(__DOXYGEN__) -/** - * \brief Send multiple bytes from PROGMEM to the selected I2C device. - * - * On ARM devices, this function is simply an alias for i2c_transmit(address, data, length, timeout). - * - * \param address The 7-bit I2C address of the device. - * \param data A pointer to the data to transmit. - * \param length The number of bytes to write. Take care not to overrun the length of `data`. - * \param timeout The time in milliseconds to wait for a response from the target device. - * - * \return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. - */ -i2c_status_t i2c_transmit_P(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout); -#else -# define i2c_transmit_P(address, data, length, timeout) i2c_transmit(address, data, length, timeout) -#endif - -/** - * \brief Receive multiple bytes from the selected I2C device. - * - * \param address The 7-bit I2C address of the device. - * \param data A pointer to a buffer to read into. - * \param length The number of bytes to read. Take care not to overrun the length of `data`. - * \param timeout The time in milliseconds to wait for a response from the target device. - * - * \return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. - */ -i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout); - -/** - * \brief Write to a register with an 8-bit address on the I2C device. - * - * \param devaddr The 7-bit I2C address of the device. - * \param regaddr The register address to write to. - * \param data A pointer to the data to transmit. - * \param length The number of bytes to write. Take care not to overrun the length of `data`. - * \param timeout The time in milliseconds to wait for a response from the target device. - * - * \return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. - */ -i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout); - -/** - * \brief Write to a register with a 16-bit address (big endian) on the I2C device. - * - * \param devaddr The 7-bit I2C address of the device. - * \param regaddr The register address to write to. - * \param data A pointer to the data to transmit. - * \param length The number of bytes to write. Take care not to overrun the length of `data`. - * \param timeout The time in milliseconds to wait for a response from the target device. - * - * \return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. - */ -i2c_status_t i2c_write_register16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout); - -/** - * \brief Read from a register with an 8-bit address on the I2C device. - * - * \param devaddr The 7-bit I2C address of the device. - * \param regaddr The register address to read from. - * \param data A pointer to a buffer to read into. - * \param length The number of bytes to read. Take care not to overrun the length of `data`. - * \param timeout The time in milliseconds to wait for a response from the target device. - * - * \return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. - */ -i2c_status_t i2c_read_register(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout); - -/** - * \brief Read from a register with a 16-bit address (big endian) on the I2C device. - * - * \param devaddr The 7-bit I2C address of the device. - * \param regaddr The register address to read from. - * \param data A pointer to a buffer to read into. - * \param length The number of bytes to read. Take care not to overrun the length of `data`. - * \param timeout The time in milliseconds to wait for a response from the target device. - * - * \return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. - */ -i2c_status_t i2c_read_register16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout); - -/** - * \brief Ping the I2C bus for a specific address. - * - * On ChibiOS a "best effort" attempt is made by reading a single byte from register 0 at the given address. This should generally work except for I2C devices that do not not respond to a register 0 read request, which will result in a false negative result (unsuccessful response to ping attempt). - * - * This function is weakly defined, meaning it can be overridden if necessary for your particular use case. - * - * \param address The 7-bit I2C address of the device. - * \param timeout The time in milliseconds to wait for a response from the target device. - * - * \return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. - */ -i2c_status_t i2c_ping_address(uint8_t address, uint16_t timeout); - -/** \} */ diff --git a/drivers/lcd/st7565.c b/drivers/lcd/st7565.c index f24bb78048..cf71c5e5a3 100644 --- a/drivers/lcd/st7565.c +++ b/drivers/lcd/st7565.c @@ -19,7 +19,6 @@ along with this program. If not, see . #include -#include "compiler_support.h" #include "keyboard.h" #include "progmem.h" #include "timer.h" @@ -266,7 +265,7 @@ void st7565_write_char(const char data, bool invert) { static uint8_t st7565_temp_buffer[ST7565_FONT_WIDTH]; memcpy(&st7565_temp_buffer, st7565_cursor, ST7565_FONT_WIDTH); - STATIC_ASSERT(sizeof(font) >= ((ST7565_FONT_END + 1 - ST7565_FONT_START) * ST7565_FONT_WIDTH), "ST7565_FONT_END references outside array"); + _Static_assert(sizeof(font) >= ((ST7565_FONT_END + 1 - ST7565_FONT_START) * ST7565_FONT_WIDTH), "ST7565_FONT_END references outside array"); // set the reder buffer data uint8_t cast_data = (uint8_t)data; // font based on unsigned type for index diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c index 6a13153374..050609263d 100644 --- a/drivers/led/apa102.c +++ b/drivers/led/apa102.c @@ -24,7 +24,7 @@ # elif defined(PROTOCOL_CHIBIOS) # include "hal.h" # include "chibios_config.h" -# if defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(AT32F415) || defined(GD32VF103) || defined(MCU_RP) +# if defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(GD32VF103) || defined(MCU_RP) # define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4))) // This calculates how many loops of 4 nops to run to delay 100 ns # else # error APA102_NOPS configuration required @@ -122,7 +122,7 @@ void apa102_init(void) { gpio_set_pin_output(APA102_CI_PIN); } -void apa102_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { +void apa102_set_color(uint16_t index, uint8_t red, uint8_t green, uint8_t blue) { apa102_leds[index].r = red; apa102_leds[index].g = green; apa102_leds[index].b = blue; diff --git a/drivers/led/apa102.h b/drivers/led/apa102.h index 6fa3521a3a..42f1344f0c 100644 --- a/drivers/led/apa102.h +++ b/drivers/led/apa102.h @@ -32,7 +32,7 @@ #define APA102_MAX_BRIGHTNESS 31 void apa102_init(void); -void apa102_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void apa102_set_color(uint16_t index, uint8_t red, uint8_t green, uint8_t blue); void apa102_set_color_all(uint8_t red, uint8_t green, uint8_t blue); void apa102_flush(void); diff --git a/drivers/led/aw20216s.h b/drivers/led/aw20216s.h index 79b980fcdb..b2c097125f 100644 --- a/drivers/led/aw20216s.h +++ b/drivers/led/aw20216s.h @@ -22,6 +22,36 @@ #include "gpio.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef AW_SCALING_MAX +# define AW20216S_SCALING_MAX AW_SCALING_MAX +#endif +#ifdef AW_GLOBAL_CURRENT_MAX +# define AW20216S_GLOBAL_CURRENT_MAX AW_GLOBAL_CURRENT_MAX +#endif +#ifdef AW_SPI_MODE +# define AW20216S_SPI_MODE AW_SPI_MODE +#endif +#ifdef AW_SPI_DIVISOR +# define AW20216S_SPI_DIVISOR AW_SPI_DIVISOR +#endif +#ifdef DRIVER_1_CS +# define AW20216S_CS_PIN_1 DRIVER_1_CS +#endif +#ifdef DRIVER_2_CS +# define AW20216S_CS_PIN_2 DRIVER_2_CS +#endif +#ifdef DRIVER_1_EN +# define AW20216S_EN_PIN DRIVER_1_EN +#endif +#ifdef AW20216S_EN_PIN_1 +# define AW20216S_EN_PIN AW20216S_EN_PIN_1 +#endif + +#define aw_led aw20216s_led_t +#define g_aw_leds g_aw20216s_leds +// ======== + #define AW20216S_ID (0b1010 << 4) #define AW20216S_WRITE 0 #define AW20216S_READ 1 @@ -298,3 +328,233 @@ void aw20216s_flush(void); #define SW12_CS16 0xD5 #define SW12_CS17 0xD6 #define SW12_CS18 0xD7 + +// DEPRECATED - DO NOT USE + +#define CS1_SW1 SW1_CS1 +#define CS2_SW1 SW1_CS2 +#define CS3_SW1 SW1_CS3 +#define CS4_SW1 SW1_CS4 +#define CS5_SW1 SW1_CS5 +#define CS6_SW1 SW1_CS6 +#define CS7_SW1 SW1_CS7 +#define CS8_SW1 SW1_CS8 +#define CS9_SW1 SW1_CS9 +#define CS10_SW1 SW1_CS10 +#define CS11_SW1 SW1_CS11 +#define CS12_SW1 SW1_CS12 +#define CS13_SW1 SW1_CS13 +#define CS14_SW1 SW1_CS14 +#define CS15_SW1 SW1_CS15 +#define CS16_SW1 SW1_CS16 +#define CS17_SW1 SW1_CS17 +#define CS18_SW1 SW1_CS18 + +#define CS1_SW2 SW2_CS1 +#define CS2_SW2 SW2_CS2 +#define CS3_SW2 SW2_CS3 +#define CS4_SW2 SW2_CS4 +#define CS5_SW2 SW2_CS5 +#define CS6_SW2 SW2_CS6 +#define CS7_SW2 SW2_CS7 +#define CS8_SW2 SW2_CS8 +#define CS9_SW2 SW2_CS9 +#define CS10_SW2 SW2_CS10 +#define CS11_SW2 SW2_CS11 +#define CS12_SW2 SW2_CS12 +#define CS13_SW2 SW2_CS13 +#define CS14_SW2 SW2_CS14 +#define CS15_SW2 SW2_CS15 +#define CS16_SW2 SW2_CS16 +#define CS17_SW2 SW2_CS17 +#define CS18_SW2 SW2_CS18 + +#define CS1_SW3 SW3_CS1 +#define CS2_SW3 SW3_CS2 +#define CS3_SW3 SW3_CS3 +#define CS4_SW3 SW3_CS4 +#define CS5_SW3 SW3_CS5 +#define CS6_SW3 SW3_CS6 +#define CS7_SW3 SW3_CS7 +#define CS8_SW3 SW3_CS8 +#define CS9_SW3 SW3_CS9 +#define CS10_SW3 SW3_CS10 +#define CS11_SW3 SW3_CS11 +#define CS12_SW3 SW3_CS12 +#define CS13_SW3 SW3_CS13 +#define CS14_SW3 SW3_CS14 +#define CS15_SW3 SW3_CS15 +#define CS16_SW3 SW3_CS16 +#define CS17_SW3 SW3_CS17 +#define CS18_SW3 SW3_CS18 + +#define CS1_SW4 SW4_CS1 +#define CS2_SW4 SW4_CS2 +#define CS3_SW4 SW4_CS3 +#define CS4_SW4 SW4_CS4 +#define CS5_SW4 SW4_CS5 +#define CS6_SW4 SW4_CS6 +#define CS7_SW4 SW4_CS7 +#define CS8_SW4 SW4_CS8 +#define CS9_SW4 SW4_CS9 +#define CS10_SW4 SW4_CS10 +#define CS11_SW4 SW4_CS11 +#define CS12_SW4 SW4_CS12 +#define CS13_SW4 SW4_CS13 +#define CS14_SW4 SW4_CS14 +#define CS15_SW4 SW4_CS15 +#define CS16_SW4 SW4_CS16 +#define CS17_SW4 SW4_CS17 +#define CS18_SW4 SW4_CS18 + +#define CS1_SW5 SW5_CS1 +#define CS2_SW5 SW5_CS2 +#define CS3_SW5 SW5_CS3 +#define CS4_SW5 SW5_CS4 +#define CS5_SW5 SW5_CS5 +#define CS6_SW5 SW5_CS6 +#define CS7_SW5 SW5_CS7 +#define CS8_SW5 SW5_CS8 +#define CS9_SW5 SW5_CS9 +#define CS10_SW5 SW5_CS10 +#define CS11_SW5 SW5_CS11 +#define CS12_SW5 SW5_CS12 +#define CS13_SW5 SW5_CS13 +#define CS14_SW5 SW5_CS14 +#define CS15_SW5 SW5_CS15 +#define CS16_SW5 SW5_CS16 +#define CS17_SW5 SW5_CS17 +#define CS18_SW5 SW5_CS18 + +#define CS1_SW6 SW6_CS1 +#define CS2_SW6 SW6_CS2 +#define CS3_SW6 SW6_CS3 +#define CS4_SW6 SW6_CS4 +#define CS5_SW6 SW6_CS5 +#define CS6_SW6 SW6_CS6 +#define CS7_SW6 SW6_CS7 +#define CS8_SW6 SW6_CS8 +#define CS9_SW6 SW6_CS9 +#define CS10_SW6 SW6_CS10 +#define CS11_SW6 SW6_CS11 +#define CS12_SW6 SW6_CS12 +#define CS13_SW6 SW6_CS13 +#define CS14_SW6 SW6_CS14 +#define CS15_SW6 SW6_CS15 +#define CS16_SW6 SW6_CS16 +#define CS17_SW6 SW6_CS17 +#define CS18_SW6 SW6_CS18 + +#define CS1_SW7 SW7_CS1 +#define CS2_SW7 SW7_CS2 +#define CS3_SW7 SW7_CS3 +#define CS4_SW7 SW7_CS4 +#define CS5_SW7 SW7_CS5 +#define CS6_SW7 SW7_CS6 +#define CS7_SW7 SW7_CS7 +#define CS8_SW7 SW7_CS8 +#define CS9_SW7 SW7_CS9 +#define CS10_SW7 SW7_CS10 +#define CS11_SW7 SW7_CS11 +#define CS12_SW7 SW7_CS12 +#define CS13_SW7 SW7_CS13 +#define CS14_SW7 SW7_CS14 +#define CS15_SW7 SW7_CS15 +#define CS16_SW7 SW7_CS16 +#define CS17_SW7 SW7_CS17 +#define CS18_SW7 SW7_CS18 + +#define CS1_SW8 SW8_CS1 +#define CS2_SW8 SW8_CS2 +#define CS3_SW8 SW8_CS3 +#define CS4_SW8 SW8_CS4 +#define CS5_SW8 SW8_CS5 +#define CS6_SW8 SW8_CS6 +#define CS7_SW8 SW8_CS7 +#define CS8_SW8 SW8_CS8 +#define CS9_SW8 SW8_CS9 +#define CS10_SW8 SW8_CS10 +#define CS11_SW8 SW8_CS11 +#define CS12_SW8 SW8_CS12 +#define CS13_SW8 SW8_CS13 +#define CS14_SW8 SW8_CS14 +#define CS15_SW8 SW8_CS15 +#define CS16_SW8 SW8_CS16 +#define CS17_SW8 SW8_CS17 +#define CS18_SW8 SW8_CS18 + +#define CS1_SW9 SW9_CS1 +#define CS2_SW9 SW9_CS2 +#define CS3_SW9 SW9_CS3 +#define CS4_SW9 SW9_CS4 +#define CS5_SW9 SW9_CS5 +#define CS6_SW9 SW9_CS6 +#define CS7_SW9 SW9_CS7 +#define CS8_SW9 SW9_CS8 +#define CS9_SW9 SW9_CS9 +#define CS10_SW9 SW9_CS10 +#define CS11_SW9 SW9_CS11 +#define CS12_SW9 SW9_CS12 +#define CS13_SW9 SW9_CS13 +#define CS14_SW9 SW9_CS14 +#define CS15_SW9 SW9_CS15 +#define CS16_SW9 SW9_CS16 +#define CS17_SW9 SW9_CS17 +#define CS18_SW9 SW9_CS18 + +#define CS1_SW10 SW10_CS1 +#define CS2_SW10 SW10_CS2 +#define CS3_SW10 SW10_CS3 +#define CS4_SW10 SW10_CS4 +#define CS5_SW10 SW10_CS5 +#define CS6_SW10 SW10_CS6 +#define CS7_SW10 SW10_CS7 +#define CS8_SW10 SW10_CS8 +#define CS9_SW10 SW10_CS9 +#define CS10_SW10 SW10_CS10 +#define CS11_SW10 SW10_CS11 +#define CS12_SW10 SW10_CS12 +#define CS13_SW10 SW10_CS13 +#define CS14_SW10 SW10_CS14 +#define CS15_SW10 SW10_CS15 +#define CS16_SW10 SW10_CS16 +#define CS17_SW10 SW10_CS17 +#define CS18_SW10 SW10_CS18 + +#define CS1_SW11 SW11_CS1 +#define CS2_SW11 SW11_CS2 +#define CS3_SW11 SW11_CS3 +#define CS4_SW11 SW11_CS4 +#define CS5_SW11 SW11_CS5 +#define CS6_SW11 SW11_CS6 +#define CS7_SW11 SW11_CS7 +#define CS8_SW11 SW11_CS8 +#define CS9_SW11 SW11_CS9 +#define CS10_SW11 SW11_CS10 +#define CS11_SW11 SW11_CS11 +#define CS12_SW11 SW11_CS12 +#define CS13_SW11 SW11_CS13 +#define CS14_SW11 SW11_CS14 +#define CS15_SW11 SW11_CS15 +#define CS16_SW11 SW11_CS16 +#define CS17_SW11 SW11_CS17 +#define CS18_SW11 SW11_CS18 + +#define CS1_SW12 SW12_CS1 +#define CS2_SW12 SW12_CS2 +#define CS3_SW12 SW12_CS3 +#define CS4_SW12 SW12_CS4 +#define CS5_SW12 SW12_CS5 +#define CS6_SW12 SW12_CS6 +#define CS7_SW12 SW12_CS7 +#define CS8_SW12 SW12_CS8 +#define CS9_SW12 SW12_CS9 +#define CS10_SW12 SW12_CS10 +#define CS11_SW12 SW12_CS11 +#define CS12_SW12 SW12_CS12 +#define CS13_SW12 SW12_CS13 +#define CS14_SW12 SW12_CS14 +#define CS15_SW12 SW12_CS15 +#define CS16_SW12 SW12_CS16 +#define CS17_SW12 SW12_CS17 +#define CS18_SW12 SW12_CS18 diff --git a/drivers/led/issi/is31fl3731-mono.h b/drivers/led/issi/is31fl3731-mono.h index cc59b45cb3..e6e107d309 100644 --- a/drivers/led/issi/is31fl3731-mono.h +++ b/drivers/led/issi/is31fl3731-mono.h @@ -23,6 +23,33 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef LED_DRIVER_ADDR_1 +# define IS31FL3731_I2C_ADDRESS_1 LED_DRIVER_ADDR_1 +#endif +#ifdef LED_DRIVER_ADDR_2 +# define IS31FL3731_I2C_ADDRESS_2 LED_DRIVER_ADDR_2 +#endif +#ifdef LED_DRIVER_ADDR_3 +# define IS31FL3731_I2C_ADDRESS_3 LED_DRIVER_ADDR_3 +#endif +#ifdef LED_DRIVER_ADDR_4 +# define IS31FL3731_I2C_ADDRESS_4 LED_DRIVER_ADDR_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3731_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_3731_DEGHOST +# define IS31FL3731_DEGHOST ISSI_3731_DEGHOST +#endif + +#define is31_led is31fl3731_led_t +#define g_is31_leds g_is31fl3731_leds +// ======== + #define IS31FL3731_REG_COMMAND 0xFD #define IS31FL3731_COMMAND_FRAME_1 0x00 #define IS31FL3731_COMMAND_FRAME_2 0x01 diff --git a/drivers/led/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h index 947b7dc8e9..dc229c876d 100644 --- a/drivers/led/issi/is31fl3731.h +++ b/drivers/led/issi/is31fl3731.h @@ -22,6 +22,33 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define IS31FL3731_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define IS31FL3731_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define IS31FL3731_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define IS31FL3731_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3731_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_3731_DEGHOST +# define IS31FL3731_DEGHOST ISSI_3731_DEGHOST +#endif + +#define is31_led is31fl3731_led_t +#define g_is31_leds g_is31fl3731_leds +// ======== + #define IS31FL3731_REG_COMMAND 0xFD #define IS31FL3731_COMMAND_FRAME_1 0x00 #define IS31FL3731_COMMAND_FRAME_2 0x01 diff --git a/drivers/led/issi/is31fl3733-mono.h b/drivers/led/issi/is31fl3733-mono.h index 40d340a70d..3786b2ed71 100644 --- a/drivers/led/issi/is31fl3733-mono.h +++ b/drivers/led/issi/is31fl3733-mono.h @@ -25,6 +25,38 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef ISSI_TIMEOUT +# define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3733_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_PWM_FREQUENCY +# define IS31FL3733_PWM_FREQUENCY ISSI_PWM_FREQUENCY +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3733_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3733_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3733_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define is31_led is31fl3733_led_t +#define g_is31_leds g_is31fl3733_leds + +#define PUR_0R IS31FL3733_PUR_0_OHM +#define PUR_05KR IS31FL3733_PUR_1K_OHM +#define PUR_3KR IS31FL3733_PUR_2K_OHM +#define PUR_4KR IS31FL3733_PUR_4K_OHM +#define PUR_8KR IS31FL3733_PUR_8K_OHM +#define PUR_16KR IS31FL3733_PUR_16K_OHM +#define PUR_32KR IS31FL3733_PUR_32K_OHM +// ======== + #define IS31FL3733_REG_INTERRUPT_MASK 0xF0 #define IS31FL3733_REG_INTERRUPT_STATUS 0xF1 diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h index 8757d5ab07..fb60c76c2d 100644 --- a/drivers/led/issi/is31fl3733.h +++ b/drivers/led/issi/is31fl3733.h @@ -24,6 +24,62 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define IS31FL3733_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define IS31FL3733_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define IS31FL3733_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define IS31FL3733_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef DRIVER_SYNC_1 +# define IS31FL3733_SYNC_1 DRIVER_SYNC_1 +#endif +#ifdef DRIVER_SYNC_2 +# define IS31FL3733_SYNC_2 DRIVER_SYNC_2 +#endif +#ifdef DRIVER_SYNC_3 +# define IS31FL3733_SYNC_3 DRIVER_SYNC_3 +#endif +#ifdef DRIVER_SYNC_4 +# define IS31FL3733_SYNC_4 DRIVER_SYNC_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3733_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_PWM_FREQUENCY +# define IS31FL3733_PWM_FREQUENCY ISSI_PWM_FREQUENCY +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3733_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3733_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3733_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define is31_led is31fl3733_led_t +#define g_is31_leds g_is31fl3733_leds + +#define PUR_0R IS31FL3733_PUR_0_OHM +#define PUR_05KR IS31FL3733_PUR_1K_OHM +#define PUR_3KR IS31FL3733_PUR_2K_OHM +#define PUR_4KR IS31FL3733_PUR_4K_OHM +#define PUR_8KR IS31FL3733_PUR_8K_OHM +#define PUR_16KR IS31FL3733_PUR_16K_OHM +#define PUR_32KR IS31FL3733_PUR_32K_OHM +// ======== + #define IS31FL3733_REG_INTERRUPT_MASK 0xF0 #define IS31FL3733_REG_INTERRUPT_STATUS 0xF1 @@ -333,3 +389,209 @@ void is31fl3733_flush(void); #define SW12_CS14 0xBD #define SW12_CS15 0xBE #define SW12_CS16 0xBF + +// DEPRECATED - DO NOT USE + +#define A_1 SW1_CS1 +#define A_2 SW1_CS2 +#define A_3 SW1_CS3 +#define A_4 SW1_CS4 +#define A_5 SW1_CS5 +#define A_6 SW1_CS6 +#define A_7 SW1_CS7 +#define A_8 SW1_CS8 +#define A_9 SW1_CS9 +#define A_10 SW1_CS10 +#define A_11 SW1_CS11 +#define A_12 SW1_CS12 +#define A_13 SW1_CS13 +#define A_14 SW1_CS14 +#define A_15 SW1_CS15 +#define A_16 SW1_CS16 + +#define B_1 SW2_CS1 +#define B_2 SW2_CS2 +#define B_3 SW2_CS3 +#define B_4 SW2_CS4 +#define B_5 SW2_CS5 +#define B_6 SW2_CS6 +#define B_7 SW2_CS7 +#define B_8 SW2_CS8 +#define B_9 SW2_CS9 +#define B_10 SW2_CS10 +#define B_11 SW2_CS11 +#define B_12 SW2_CS12 +#define B_13 SW2_CS13 +#define B_14 SW2_CS14 +#define B_15 SW2_CS15 +#define B_16 SW2_CS16 + +#define C_1 SW3_CS1 +#define C_2 SW3_CS2 +#define C_3 SW3_CS3 +#define C_4 SW3_CS4 +#define C_5 SW3_CS5 +#define C_6 SW3_CS6 +#define C_7 SW3_CS7 +#define C_8 SW3_CS8 +#define C_9 SW3_CS9 +#define C_10 SW3_CS10 +#define C_11 SW3_CS11 +#define C_12 SW3_CS12 +#define C_13 SW3_CS13 +#define C_14 SW3_CS14 +#define C_15 SW3_CS15 +#define C_16 SW3_CS16 + +#define D_1 SW4_CS1 +#define D_2 SW4_CS2 +#define D_3 SW4_CS3 +#define D_4 SW4_CS4 +#define D_5 SW4_CS5 +#define D_6 SW4_CS6 +#define D_7 SW4_CS7 +#define D_8 SW4_CS8 +#define D_9 SW4_CS9 +#define D_10 SW4_CS10 +#define D_11 SW4_CS11 +#define D_12 SW4_CS12 +#define D_13 SW4_CS13 +#define D_14 SW4_CS14 +#define D_15 SW4_CS15 +#define D_16 SW4_CS16 + +#define E_1 SW5_CS1 +#define E_2 SW5_CS2 +#define E_3 SW5_CS3 +#define E_4 SW5_CS4 +#define E_5 SW5_CS5 +#define E_6 SW5_CS6 +#define E_7 SW5_CS7 +#define E_8 SW5_CS8 +#define E_9 SW5_CS9 +#define E_10 SW5_CS10 +#define E_11 SW5_CS11 +#define E_12 SW5_CS12 +#define E_13 SW5_CS13 +#define E_14 SW5_CS14 +#define E_15 SW5_CS15 +#define E_16 SW5_CS16 + +#define F_1 SW6_CS1 +#define F_2 SW6_CS2 +#define F_3 SW6_CS3 +#define F_4 SW6_CS4 +#define F_5 SW6_CS5 +#define F_6 SW6_CS6 +#define F_7 SW6_CS7 +#define F_8 SW6_CS8 +#define F_9 SW6_CS9 +#define F_10 SW6_CS10 +#define F_11 SW6_CS11 +#define F_12 SW6_CS12 +#define F_13 SW6_CS13 +#define F_14 SW6_CS14 +#define F_15 SW6_CS15 +#define F_16 SW6_CS16 + +#define G_1 SW7_CS1 +#define G_2 SW7_CS2 +#define G_3 SW7_CS3 +#define G_4 SW7_CS4 +#define G_5 SW7_CS5 +#define G_6 SW7_CS6 +#define G_7 SW7_CS7 +#define G_8 SW7_CS8 +#define G_9 SW7_CS9 +#define G_10 SW7_CS10 +#define G_11 SW7_CS11 +#define G_12 SW7_CS12 +#define G_13 SW7_CS13 +#define G_14 SW7_CS14 +#define G_15 SW7_CS15 +#define G_16 SW7_CS16 + +#define H_1 SW8_CS1 +#define H_2 SW8_CS2 +#define H_3 SW8_CS3 +#define H_4 SW8_CS4 +#define H_5 SW8_CS5 +#define H_6 SW8_CS6 +#define H_7 SW8_CS7 +#define H_8 SW8_CS8 +#define H_9 SW8_CS9 +#define H_10 SW8_CS10 +#define H_11 SW8_CS11 +#define H_12 SW8_CS12 +#define H_13 SW8_CS13 +#define H_14 SW8_CS14 +#define H_15 SW8_CS15 +#define H_16 SW8_CS16 + +#define I_1 SW9_CS1 +#define I_2 SW9_CS2 +#define I_3 SW9_CS3 +#define I_4 SW9_CS4 +#define I_5 SW9_CS5 +#define I_6 SW9_CS6 +#define I_7 SW9_CS7 +#define I_8 SW9_CS8 +#define I_9 SW9_CS9 +#define I_10 SW9_CS10 +#define I_11 SW9_CS11 +#define I_12 SW9_CS12 +#define I_13 SW9_CS13 +#define I_14 SW9_CS14 +#define I_15 SW9_CS15 +#define I_16 SW9_CS16 + +#define J_1 SW10_CS1 +#define J_2 SW10_CS2 +#define J_3 SW10_CS3 +#define J_4 SW10_CS4 +#define J_5 SW10_CS5 +#define J_6 SW10_CS6 +#define J_7 SW10_CS7 +#define J_8 SW10_CS8 +#define J_9 SW10_CS9 +#define J_10 SW10_CS10 +#define J_11 SW10_CS11 +#define J_12 SW10_CS12 +#define J_13 SW10_CS13 +#define J_14 SW10_CS14 +#define J_15 SW10_CS15 +#define J_16 SW10_CS16 + +#define K_1 SW11_CS1 +#define K_2 SW11_CS2 +#define K_3 SW11_CS3 +#define K_4 SW11_CS4 +#define K_5 SW11_CS5 +#define K_6 SW11_CS6 +#define K_7 SW11_CS7 +#define K_8 SW11_CS8 +#define K_9 SW11_CS9 +#define K_10 SW11_CS10 +#define K_11 SW11_CS11 +#define K_12 SW11_CS12 +#define K_13 SW11_CS13 +#define K_14 SW11_CS14 +#define K_15 SW11_CS15 +#define K_16 SW11_CS16 + +#define L_1 SW12_CS1 +#define L_2 SW12_CS2 +#define L_3 SW12_CS3 +#define L_4 SW12_CS4 +#define L_5 SW12_CS5 +#define L_6 SW12_CS6 +#define L_7 SW12_CS7 +#define L_8 SW12_CS8 +#define L_9 SW12_CS9 +#define L_10 SW12_CS10 +#define L_11 SW12_CS11 +#define L_12 SW12_CS12 +#define L_13 SW12_CS13 +#define L_14 SW12_CS14 +#define L_15 SW12_CS15 +#define L_16 SW12_CS16 diff --git a/drivers/led/issi/is31fl3736-mono.h b/drivers/led/issi/is31fl3736-mono.h index 73441ea551..91c2e0420b 100644 --- a/drivers/led/issi/is31fl3736-mono.h +++ b/drivers/led/issi/is31fl3736-mono.h @@ -22,6 +22,36 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef ISSI_TIMEOUT +# define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3736_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3736_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3736_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3736_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define is31_led is31fl3736_led_t +#define g_is31_leds g_is31fl3736_leds + +#define PUR_0R IS31FL3736_PUR_0_OHM +#define PUR_05KR IS31FL3736_PUR_05K_OHM +#define PUR_1KR IS31FL3736_PUR_1K_OHM +#define PUR_2KR IS31FL3736_PUR_2K_OHM +#define PUR_4KR IS31FL3736_PUR_4K_OHM +#define PUR_8KR IS31FL3736_PUR_8K_OHM +#define PUR_16KR IS31FL3736_PUR_16K_OHM +#define PUR_32KR IS31FL3736_PUR_32K_OHM +// ======== + #define IS31FL3736_REG_INTERRUPT_MASK 0xF0 #define IS31FL3736_REG_INTERRUPT_STATUS 0xF1 @@ -229,3 +259,113 @@ void is31fl3736_flush(void); #define SW12_CS6 0xBA #define SW12_CS7 0xBC #define SW12_CS8 0xBE + +// DEPRECATED - DO NOT USE + +#define A_1 SW1_CS1 +#define A_2 SW1_CS2 +#define A_3 SW1_CS3 +#define A_4 SW1_CS4 +#define A_5 SW1_CS5 +#define A_6 SW1_CS6 +#define A_7 SW1_CS7 +#define A_8 SW1_CS8 + +#define B_1 SW2_CS1 +#define B_2 SW2_CS2 +#define B_3 SW2_CS3 +#define B_4 SW2_CS4 +#define B_5 SW2_CS5 +#define B_6 SW2_CS6 +#define B_7 SW2_CS7 +#define B_8 SW2_CS8 + +#define C_1 SW3_CS1 +#define C_2 SW3_CS2 +#define C_3 SW3_CS3 +#define C_4 SW3_CS4 +#define C_5 SW3_CS5 +#define C_6 SW3_CS6 +#define C_7 SW3_CS7 +#define C_8 SW3_CS8 + +#define D_1 SW4_CS1 +#define D_2 SW4_CS2 +#define D_3 SW4_CS3 +#define D_4 SW4_CS4 +#define D_5 SW4_CS5 +#define D_6 SW4_CS6 +#define D_7 SW4_CS7 +#define D_8 SW4_CS8 + +#define E_1 SW5_CS1 +#define E_2 SW5_CS2 +#define E_3 SW5_CS3 +#define E_4 SW5_CS4 +#define E_5 SW5_CS5 +#define E_6 SW5_CS6 +#define E_7 SW5_CS7 +#define E_8 SW5_CS8 + +#define F_1 SW6_CS1 +#define F_2 SW6_CS2 +#define F_3 SW6_CS3 +#define F_4 SW6_CS4 +#define F_5 SW6_CS5 +#define F_6 SW6_CS6 +#define F_7 SW6_CS7 +#define F_8 SW6_CS8 + +#define G_1 SW7_CS1 +#define G_2 SW7_CS2 +#define G_3 SW7_CS3 +#define G_4 SW7_CS4 +#define G_5 SW7_CS5 +#define G_6 SW7_CS6 +#define G_7 SW7_CS7 +#define G_8 SW7_CS8 + +#define H_1 SW8_CS1 +#define H_2 SW8_CS2 +#define H_3 SW8_CS3 +#define H_4 SW8_CS4 +#define H_5 SW8_CS5 +#define H_6 SW8_CS6 +#define H_7 SW8_CS7 +#define H_8 SW8_CS8 + +#define I_1 SW9_CS1 +#define I_2 SW9_CS2 +#define I_3 SW9_CS3 +#define I_4 SW9_CS4 +#define I_5 SW9_CS5 +#define I_6 SW9_CS6 +#define I_7 SW9_CS7 +#define I_8 SW9_CS8 + +#define J_1 SW10_CS1 +#define J_2 SW10_CS2 +#define J_3 SW10_CS3 +#define J_4 SW10_CS4 +#define J_5 SW10_CS5 +#define J_6 SW10_CS6 +#define J_7 SW10_CS7 +#define J_8 SW10_CS8 + +#define K_1 SW11_CS1 +#define K_2 SW11_CS2 +#define K_3 SW11_CS3 +#define K_4 SW11_CS4 +#define K_5 SW11_CS5 +#define K_6 SW11_CS6 +#define K_7 SW11_CS7 +#define K_8 SW11_CS8 + +#define L_1 SW12_CS1 +#define L_2 SW12_CS2 +#define L_3 SW12_CS3 +#define L_4 SW12_CS4 +#define L_5 SW12_CS5 +#define L_6 SW12_CS6 +#define L_7 SW12_CS7 +#define L_8 SW12_CS8 diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h index f0eabad819..dae7b3c812 100644 --- a/drivers/led/issi/is31fl3736.h +++ b/drivers/led/issi/is31fl3736.h @@ -22,6 +22,48 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define IS31FL3736_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define IS31FL3736_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define IS31FL3736_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define IS31FL3736_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3736_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3736_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3736_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3736_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define is31_led is31fl3736_led_t +#define g_is31_leds g_is31fl3736_leds + +#define PUR_0R IS31FL3736_PUR_0_OHM +#define PUR_05KR IS31FL3736_PUR_0K5_OHM +#define PUR_1KR IS31FL3736_PUR_1K_OHM +#define PUR_2KR IS31FL3736_PUR_2K_OHM +#define PUR_4KR IS31FL3736_PUR_4K_OHM +#define PUR_8KR IS31FL3736_PUR_8K_OHM +#define PUR_16KR IS31FL3736_PUR_16K_OHM +#define PUR_32KR IS31FL3736_PUR_32K_OHM +// ======== + #define IS31FL3736_REG_INTERRUPT_MASK 0xF0 #define IS31FL3736_REG_INTERRUPT_STATUS 0xF1 diff --git a/drivers/led/issi/is31fl3737-mono.h b/drivers/led/issi/is31fl3737-mono.h index 40380f9006..99151c1e7a 100644 --- a/drivers/led/issi/is31fl3737-mono.h +++ b/drivers/led/issi/is31fl3737-mono.h @@ -24,6 +24,36 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef ISSI_TIMEOUT +# define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3737_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_PWM_FREQUENCY +# define IS31FL3737_PWM_FREQUENCY ISSI_PWM_FREQUENCY +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3737_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3737_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3737_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define PUR_0R IS31FL3737_PUR_0_OHM +#define PUR_05KR IS31FL3737_PUR_0K5_OHM +#define PUR_1KR IS31FL3737_PUR_1K_OHM +#define PUR_2KR IS31FL3737_PUR_2K_OHM +#define PUR_4KR IS31FL3737_PUR_4K_OHM +#define PUR_8KR IS31FL3737_PUR_8K_OHM +#define PUR_16KR IS31FL3737_PUR_16K_OHM +#define PUR_32KR IS31FL3737_PUR_32K_OHM +// ======== + #define IS31FL3737_REG_INTERRUPT_MASK 0xF0 #define IS31FL3737_REG_INTERRUPT_STATUS 0xF1 diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h index c1a9306a87..735a3a1e30 100644 --- a/drivers/led/issi/is31fl3737.h +++ b/drivers/led/issi/is31fl3737.h @@ -24,6 +24,51 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define IS31FL3737_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define IS31FL3737_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define IS31FL3737_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define IS31FL3737_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3737_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_PWM_FREQUENCY +# define IS31FL3737_PWM_FREQUENCY ISSI_PWM_FREQUENCY +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3737_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3737_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3737_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define is31_led is31fl3737_led_t +#define g_is31_leds g_is31fl3737_leds + +#define PUR_0R IS31FL3737_PUR_0_OHM +#define PUR_05KR IS31FL3737_PUR_0K5_OHM +#define PUR_1KR IS31FL3737_PUR_1K_OHM +#define PUR_2KR IS31FL3737_PUR_2K_OHM +#define PUR_4KR IS31FL3737_PUR_4K_OHM +#define PUR_8KR IS31FL3737_PUR_8K_OHM +#define PUR_16KR IS31FL3737_PUR_16K_OHM +#define PUR_32KR IS31FL3737_PUR_32K_OHM +// ======== + #define IS31FL3737_REG_INTERRUPT_MASK 0xF0 #define IS31FL3737_REG_INTERRUPT_STATUS 0xF1 @@ -269,3 +314,161 @@ void is31fl3737_flush(void); #define SW12_CS10 0xBB #define SW12_CS11 0xBC #define SW12_CS12 0xBD + +// DEPRECATED - DO NOT USE + +#define A_1 SW1_CS1 +#define A_2 SW1_CS2 +#define A_3 SW1_CS3 +#define A_4 SW1_CS4 +#define A_5 SW1_CS5 +#define A_6 SW1_CS6 +#define A_7 SW1_CS7 +#define A_8 SW1_CS8 +#define A_9 SW1_CS9 +#define A_10 SW1_CS10 +#define A_11 SW1_CS11 +#define A_12 SW1_CS12 + +#define B_1 SW2_CS1 +#define B_2 SW2_CS2 +#define B_3 SW2_CS3 +#define B_4 SW2_CS4 +#define B_5 SW2_CS5 +#define B_6 SW2_CS6 +#define B_7 SW2_CS7 +#define B_8 SW2_CS8 +#define B_9 SW2_CS9 +#define B_10 SW2_CS10 +#define B_11 SW2_CS11 +#define B_12 SW2_CS12 + +#define C_1 SW3_CS1 +#define C_2 SW3_CS2 +#define C_3 SW3_CS3 +#define C_4 SW3_CS4 +#define C_5 SW3_CS5 +#define C_6 SW3_CS6 +#define C_7 SW3_CS7 +#define C_8 SW3_CS8 +#define C_9 SW3_CS9 +#define C_10 SW3_CS10 +#define C_11 SW3_CS11 +#define C_12 SW3_CS12 + +#define D_1 SW4_CS1 +#define D_2 SW4_CS2 +#define D_3 SW4_CS3 +#define D_4 SW4_CS4 +#define D_5 SW4_CS5 +#define D_6 SW4_CS6 +#define D_7 SW4_CS7 +#define D_8 SW4_CS8 +#define D_9 SW4_CS9 +#define D_10 SW4_CS10 +#define D_11 SW4_CS11 +#define D_12 SW4_CS12 + +#define E_1 SW5_CS1 +#define E_2 SW5_CS2 +#define E_3 SW5_CS3 +#define E_4 SW5_CS4 +#define E_5 SW5_CS5 +#define E_6 SW5_CS6 +#define E_7 SW5_CS7 +#define E_8 SW5_CS8 +#define E_9 SW5_CS9 +#define E_10 SW5_CS10 +#define E_11 SW5_CS11 +#define E_12 SW5_CS12 + +#define F_1 SW6_CS1 +#define F_2 SW6_CS2 +#define F_3 SW6_CS3 +#define F_4 SW6_CS4 +#define F_5 SW6_CS5 +#define F_6 SW6_CS6 +#define F_7 SW6_CS7 +#define F_8 SW6_CS8 +#define F_9 SW6_CS9 +#define F_10 SW6_CS10 +#define F_11 SW6_CS11 +#define F_12 SW6_CS12 + +#define G_1 SW7_CS1 +#define G_2 SW7_CS2 +#define G_3 SW7_CS3 +#define G_4 SW7_CS4 +#define G_5 SW7_CS5 +#define G_6 SW7_CS6 +#define G_7 SW7_CS7 +#define G_8 SW7_CS8 +#define G_9 SW7_CS9 +#define G_10 SW7_CS10 +#define G_11 SW7_CS11 +#define G_12 SW7_CS12 + +#define H_1 SW8_CS1 +#define H_2 SW8_CS2 +#define H_3 SW8_CS3 +#define H_4 SW8_CS4 +#define H_5 SW8_CS5 +#define H_6 SW8_CS6 +#define H_7 SW8_CS7 +#define H_8 SW8_CS8 +#define H_9 SW8_CS9 +#define H_10 SW8_CS10 +#define H_11 SW8_CS11 +#define H_12 SW8_CS12 + +#define I_1 SW9_CS1 +#define I_2 SW9_CS2 +#define I_3 SW9_CS3 +#define I_4 SW9_CS4 +#define I_5 SW9_CS5 +#define I_6 SW9_CS6 +#define I_7 SW9_CS7 +#define I_8 SW9_CS8 +#define I_9 SW9_CS9 +#define I_10 SW9_CS10 +#define I_11 SW9_CS11 +#define I_12 SW9_CS12 + +#define J_1 SW10_CS1 +#define J_2 SW10_CS2 +#define J_3 SW10_CS3 +#define J_4 SW10_CS4 +#define J_5 SW10_CS5 +#define J_6 SW10_CS6 +#define J_7 SW10_CS7 +#define J_8 SW10_CS8 +#define J_9 SW10_CS9 +#define J_10 SW10_CS10 +#define J_11 SW10_CS11 +#define J_12 SW10_CS12 + +#define K_1 SW11_CS1 +#define K_2 SW11_CS2 +#define K_3 SW11_CS3 +#define K_4 SW11_CS4 +#define K_5 SW11_CS5 +#define K_6 SW11_CS6 +#define K_7 SW11_CS7 +#define K_8 SW11_CS8 +#define K_9 SW11_CS9 +#define K_10 SW11_CS10 +#define K_11 SW11_CS11 +#define K_12 SW11_CS12 + +#define L_1 SW12_CS1 +#define L_2 SW12_CS2 +#define L_3 SW12_CS3 +#define L_4 SW12_CS4 +#define L_5 SW12_CS5 +#define L_6 SW12_CS6 +#define L_7 SW12_CS7 +#define L_8 SW12_CS8 +#define L_9 SW12_CS9 +#define L_10 SW12_CS10 +#define L_11 SW12_CS11 +#define L_12 SW12_CS12 diff --git a/drivers/led/issi/is31fl3741-mono.h b/drivers/led/issi/is31fl3741-mono.h index d8797bda32..6d4f70b1b3 100644 --- a/drivers/led/issi/is31fl3741-mono.h +++ b/drivers/led/issi/is31fl3741-mono.h @@ -24,6 +24,36 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef ISSI_TIMEOUT +# define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3741_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_CONFIGURATION +# define IS31FL3741_CONFIGURATION ISSI_CONFIGURATION +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3741_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3741_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3741_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define PUR_0R IS31FL3741_PUR_0_OHM +#define PUR_05KR IS31FL3741_PUR_0K5_OHM +#define PUR_1KR IS31FL3741_PUR_1K_OHM +#define PUR_2KR IS31FL3741_PUR_2K_OHM +#define PUR_4KR IS31FL3741_PUR_4K_OHM +#define PUR_8KR IS31FL3741_PUR_8K_OHM +#define PUR_16KR IS31FL3741_PUR_16K_OHM +#define PUR_32KR IS31FL3741_PUR_32K_OHM +// ======== + #define IS31FL3741_REG_INTERRUPT_MASK 0xF0 #define IS31FL3741_REG_INTERRUPT_STATUS 0xF1 #define IS31FL3741_REG_ID 0xFC @@ -484,3 +514,374 @@ void is31fl3741_flush(void); #define SW9_CS37 0x1A8 #define SW9_CS38 0x1A9 #define SW9_CS39 0x1AA + +// DEPRECATED - DO NOT USE + +#define CS1_SW1 SW1_CS1 +#define CS2_SW1 SW1_CS2 +#define CS3_SW1 SW1_CS3 +#define CS4_SW1 SW1_CS4 +#define CS5_SW1 SW1_CS5 +#define CS6_SW1 SW1_CS6 +#define CS7_SW1 SW1_CS7 +#define CS8_SW1 SW1_CS8 +#define CS9_SW1 SW1_CS9 +#define CS10_SW1 SW1_CS10 +#define CS11_SW1 SW1_CS11 +#define CS12_SW1 SW1_CS12 +#define CS13_SW1 SW1_CS13 +#define CS14_SW1 SW1_CS14 +#define CS15_SW1 SW1_CS15 +#define CS16_SW1 SW1_CS16 +#define CS17_SW1 SW1_CS17 +#define CS18_SW1 SW1_CS18 +#define CS19_SW1 SW1_CS19 +#define CS20_SW1 SW1_CS20 +#define CS21_SW1 SW1_CS21 +#define CS22_SW1 SW1_CS22 +#define CS23_SW1 SW1_CS23 +#define CS24_SW1 SW1_CS24 +#define CS25_SW1 SW1_CS25 +#define CS26_SW1 SW1_CS26 +#define CS27_SW1 SW1_CS27 +#define CS28_SW1 SW1_CS28 +#define CS29_SW1 SW1_CS29 +#define CS30_SW1 SW1_CS30 + +#define CS1_SW2 SW2_CS1 +#define CS2_SW2 SW2_CS2 +#define CS3_SW2 SW2_CS3 +#define CS4_SW2 SW2_CS4 +#define CS5_SW2 SW2_CS5 +#define CS6_SW2 SW2_CS6 +#define CS7_SW2 SW2_CS7 +#define CS8_SW2 SW2_CS8 +#define CS9_SW2 SW2_CS9 +#define CS10_SW2 SW2_CS10 +#define CS11_SW2 SW2_CS11 +#define CS12_SW2 SW2_CS12 +#define CS13_SW2 SW2_CS13 +#define CS14_SW2 SW2_CS14 +#define CS15_SW2 SW2_CS15 +#define CS16_SW2 SW2_CS16 +#define CS17_SW2 SW2_CS17 +#define CS18_SW2 SW2_CS18 +#define CS19_SW2 SW2_CS19 +#define CS20_SW2 SW2_CS20 +#define CS21_SW2 SW2_CS21 +#define CS22_SW2 SW2_CS22 +#define CS23_SW2 SW2_CS23 +#define CS24_SW2 SW2_CS24 +#define CS25_SW2 SW2_CS25 +#define CS26_SW2 SW2_CS26 +#define CS27_SW2 SW2_CS27 +#define CS28_SW2 SW2_CS28 +#define CS29_SW2 SW2_CS29 +#define CS30_SW2 SW2_CS30 + +#define CS1_SW3 SW3_CS1 +#define CS2_SW3 SW3_CS2 +#define CS3_SW3 SW3_CS3 +#define CS4_SW3 SW3_CS4 +#define CS5_SW3 SW3_CS5 +#define CS6_SW3 SW3_CS6 +#define CS7_SW3 SW3_CS7 +#define CS8_SW3 SW3_CS8 +#define CS9_SW3 SW3_CS9 +#define CS10_SW3 SW3_CS10 +#define CS11_SW3 SW3_CS11 +#define CS12_SW3 SW3_CS12 +#define CS13_SW3 SW3_CS13 +#define CS14_SW3 SW3_CS14 +#define CS15_SW3 SW3_CS15 +#define CS16_SW3 SW3_CS16 +#define CS17_SW3 SW3_CS17 +#define CS18_SW3 SW3_CS18 +#define CS19_SW3 SW3_CS19 +#define CS20_SW3 SW3_CS20 +#define CS21_SW3 SW3_CS21 +#define CS22_SW3 SW3_CS22 +#define CS23_SW3 SW3_CS23 +#define CS24_SW3 SW3_CS24 +#define CS25_SW3 SW3_CS25 +#define CS26_SW3 SW3_CS26 +#define CS27_SW3 SW3_CS27 +#define CS28_SW3 SW3_CS28 +#define CS29_SW3 SW3_CS29 +#define CS30_SW3 SW3_CS30 + +#define CS1_SW4 SW4_CS1 +#define CS2_SW4 SW4_CS2 +#define CS3_SW4 SW4_CS3 +#define CS4_SW4 SW4_CS4 +#define CS5_SW4 SW4_CS5 +#define CS6_SW4 SW4_CS6 +#define CS7_SW4 SW4_CS7 +#define CS8_SW4 SW4_CS8 +#define CS9_SW4 SW4_CS9 +#define CS10_SW4 SW4_CS10 +#define CS11_SW4 SW4_CS11 +#define CS12_SW4 SW4_CS12 +#define CS13_SW4 SW4_CS13 +#define CS14_SW4 SW4_CS14 +#define CS15_SW4 SW4_CS15 +#define CS16_SW4 SW4_CS16 +#define CS17_SW4 SW4_CS17 +#define CS18_SW4 SW4_CS18 +#define CS19_SW4 SW4_CS19 +#define CS20_SW4 SW4_CS20 +#define CS21_SW4 SW4_CS21 +#define CS22_SW4 SW4_CS22 +#define CS23_SW4 SW4_CS23 +#define CS24_SW4 SW4_CS24 +#define CS25_SW4 SW4_CS25 +#define CS26_SW4 SW4_CS26 +#define CS27_SW4 SW4_CS27 +#define CS28_SW4 SW4_CS28 +#define CS29_SW4 SW4_CS29 +#define CS30_SW4 SW4_CS30 + +#define CS1_SW5 SW5_CS1 +#define CS2_SW5 SW5_CS2 +#define CS3_SW5 SW5_CS3 +#define CS4_SW5 SW5_CS4 +#define CS5_SW5 SW5_CS5 +#define CS6_SW5 SW5_CS6 +#define CS7_SW5 SW5_CS7 +#define CS8_SW5 SW5_CS8 +#define CS9_SW5 SW5_CS9 +#define CS10_SW5 SW5_CS10 +#define CS11_SW5 SW5_CS11 +#define CS12_SW5 SW5_CS12 +#define CS13_SW5 SW5_CS13 +#define CS14_SW5 SW5_CS14 +#define CS15_SW5 SW5_CS15 +#define CS16_SW5 SW5_CS16 +#define CS17_SW5 SW5_CS17 +#define CS18_SW5 SW5_CS18 +#define CS19_SW5 SW5_CS19 +#define CS20_SW5 SW5_CS20 +#define CS21_SW5 SW5_CS21 +#define CS22_SW5 SW5_CS22 +#define CS23_SW5 SW5_CS23 +#define CS24_SW5 SW5_CS24 +#define CS25_SW5 SW5_CS25 +#define CS26_SW5 SW5_CS26 +#define CS27_SW5 SW5_CS27 +#define CS28_SW5 SW5_CS28 +#define CS29_SW5 SW5_CS29 +#define CS30_SW5 SW5_CS30 + +#define CS1_SW6 SW6_CS1 +#define CS2_SW6 SW6_CS2 +#define CS3_SW6 SW6_CS3 +#define CS4_SW6 SW6_CS4 +#define CS5_SW6 SW6_CS5 +#define CS6_SW6 SW6_CS6 +#define CS7_SW6 SW6_CS7 +#define CS8_SW6 SW6_CS8 +#define CS9_SW6 SW6_CS9 +#define CS10_SW6 SW6_CS10 +#define CS11_SW6 SW6_CS11 +#define CS12_SW6 SW6_CS12 +#define CS13_SW6 SW6_CS13 +#define CS14_SW6 SW6_CS14 +#define CS15_SW6 SW6_CS15 +#define CS16_SW6 SW6_CS16 +#define CS17_SW6 SW6_CS17 +#define CS18_SW6 SW6_CS18 +#define CS19_SW6 SW6_CS19 +#define CS20_SW6 SW6_CS20 +#define CS21_SW6 SW6_CS21 +#define CS22_SW6 SW6_CS22 +#define CS23_SW6 SW6_CS23 +#define CS24_SW6 SW6_CS24 +#define CS25_SW6 SW6_CS25 +#define CS26_SW6 SW6_CS26 +#define CS27_SW6 SW6_CS27 +#define CS28_SW6 SW6_CS28 +#define CS29_SW6 SW6_CS29 +#define CS30_SW6 SW6_CS30 + +#define CS1_SW7 SW7_CS1 +#define CS2_SW7 SW7_CS2 +#define CS3_SW7 SW7_CS3 +#define CS4_SW7 SW7_CS4 +#define CS5_SW7 SW7_CS5 +#define CS6_SW7 SW7_CS6 +#define CS7_SW7 SW7_CS7 +#define CS8_SW7 SW7_CS8 +#define CS9_SW7 SW7_CS9 +#define CS10_SW7 SW7_CS10 +#define CS11_SW7 SW7_CS11 +#define CS12_SW7 SW7_CS12 +#define CS13_SW7 SW7_CS13 +#define CS14_SW7 SW7_CS14 +#define CS15_SW7 SW7_CS15 +#define CS16_SW7 SW7_CS16 +#define CS17_SW7 SW7_CS17 +#define CS18_SW7 SW7_CS18 +#define CS19_SW7 SW7_CS19 +#define CS20_SW7 SW7_CS20 +#define CS21_SW7 SW7_CS21 +#define CS22_SW7 SW7_CS22 +#define CS23_SW7 SW7_CS23 +#define CS24_SW7 SW7_CS24 +#define CS25_SW7 SW7_CS25 +#define CS26_SW7 SW7_CS26 +#define CS27_SW7 SW7_CS27 +#define CS28_SW7 SW7_CS28 +#define CS29_SW7 SW7_CS29 +#define CS30_SW7 SW7_CS30 + +#define CS1_SW8 SW8_CS1 +#define CS2_SW8 SW8_CS2 +#define CS3_SW8 SW8_CS3 +#define CS4_SW8 SW8_CS4 +#define CS5_SW8 SW8_CS5 +#define CS6_SW8 SW8_CS6 +#define CS7_SW8 SW8_CS7 +#define CS8_SW8 SW8_CS8 +#define CS9_SW8 SW8_CS9 +#define CS10_SW8 SW8_CS10 +#define CS11_SW8 SW8_CS11 +#define CS12_SW8 SW8_CS12 +#define CS13_SW8 SW8_CS13 +#define CS14_SW8 SW8_CS14 +#define CS15_SW8 SW8_CS15 +#define CS16_SW8 SW8_CS16 +#define CS17_SW8 SW8_CS17 +#define CS18_SW8 SW8_CS18 +#define CS19_SW8 SW8_CS19 +#define CS20_SW8 SW8_CS20 +#define CS21_SW8 SW8_CS21 +#define CS22_SW8 SW8_CS22 +#define CS23_SW8 SW8_CS23 +#define CS24_SW8 SW8_CS24 +#define CS25_SW8 SW8_CS25 +#define CS26_SW8 SW8_CS26 +#define CS27_SW8 SW8_CS27 +#define CS28_SW8 SW8_CS28 +#define CS29_SW8 SW8_CS29 +#define CS30_SW8 SW8_CS30 + +#define CS1_SW9 SW9_CS1 +#define CS2_SW9 SW9_CS2 +#define CS3_SW9 SW9_CS3 +#define CS4_SW9 SW9_CS4 +#define CS5_SW9 SW9_CS5 +#define CS6_SW9 SW9_CS6 +#define CS7_SW9 SW9_CS7 +#define CS8_SW9 SW9_CS8 +#define CS9_SW9 SW9_CS9 +#define CS10_SW9 SW9_CS10 +#define CS11_SW9 SW9_CS11 +#define CS12_SW9 SW9_CS12 +#define CS13_SW9 SW9_CS13 +#define CS14_SW9 SW9_CS14 +#define CS15_SW9 SW9_CS15 +#define CS16_SW9 SW9_CS16 +#define CS17_SW9 SW9_CS17 +#define CS18_SW9 SW9_CS18 +#define CS19_SW9 SW9_CS19 +#define CS20_SW9 SW9_CS20 +#define CS21_SW9 SW9_CS21 +#define CS22_SW9 SW9_CS22 +#define CS23_SW9 SW9_CS23 +#define CS24_SW9 SW9_CS24 +#define CS25_SW9 SW9_CS25 +#define CS26_SW9 SW9_CS26 +#define CS27_SW9 SW9_CS27 +#define CS28_SW9 SW9_CS28 +#define CS29_SW9 SW9_CS29 +#define CS30_SW9 SW9_CS30 + +#define CS31_SW1 SW1_CS31 +#define CS32_SW1 SW1_CS32 +#define CS33_SW1 SW1_CS33 +#define CS34_SW1 SW1_CS34 +#define CS35_SW1 SW1_CS35 +#define CS36_SW1 SW1_CS36 +#define CS37_SW1 SW1_CS37 +#define CS38_SW1 SW1_CS38 +#define CS39_SW1 SW1_CS39 + +#define CS31_SW2 SW2_CS31 +#define CS32_SW2 SW2_CS32 +#define CS33_SW2 SW2_CS33 +#define CS34_SW2 SW2_CS34 +#define CS35_SW2 SW2_CS35 +#define CS36_SW2 SW2_CS36 +#define CS37_SW2 SW2_CS37 +#define CS38_SW2 SW2_CS38 +#define CS39_SW2 SW2_CS39 + +#define CS31_SW3 SW3_CS31 +#define CS32_SW3 SW3_CS32 +#define CS33_SW3 SW3_CS33 +#define CS34_SW3 SW3_CS34 +#define CS35_SW3 SW3_CS35 +#define CS36_SW3 SW3_CS36 +#define CS37_SW3 SW3_CS37 +#define CS38_SW3 SW3_CS38 +#define CS39_SW3 SW3_CS39 + +#define CS31_SW4 SW4_CS31 +#define CS32_SW4 SW4_CS32 +#define CS33_SW4 SW4_CS33 +#define CS34_SW4 SW4_CS34 +#define CS35_SW4 SW4_CS35 +#define CS36_SW4 SW4_CS36 +#define CS37_SW4 SW4_CS37 +#define CS38_SW4 SW4_CS38 +#define CS39_SW4 SW4_CS39 + +#define CS31_SW5 SW5_CS31 +#define CS32_SW5 SW5_CS32 +#define CS33_SW5 SW5_CS33 +#define CS34_SW5 SW5_CS34 +#define CS35_SW5 SW5_CS35 +#define CS36_SW5 SW5_CS36 +#define CS37_SW5 SW5_CS37 +#define CS38_SW5 SW5_CS38 +#define CS39_SW5 SW5_CS39 + +#define CS31_SW6 SW6_CS31 +#define CS32_SW6 SW6_CS32 +#define CS33_SW6 SW6_CS33 +#define CS34_SW6 SW6_CS34 +#define CS35_SW6 SW6_CS35 +#define CS36_SW6 SW6_CS36 +#define CS37_SW6 SW6_CS37 +#define CS38_SW6 SW6_CS38 +#define CS39_SW6 SW6_CS39 + +#define CS31_SW7 SW7_CS31 +#define CS32_SW7 SW7_CS32 +#define CS33_SW7 SW7_CS33 +#define CS34_SW7 SW7_CS34 +#define CS35_SW7 SW7_CS35 +#define CS36_SW7 SW7_CS36 +#define CS37_SW7 SW7_CS37 +#define CS38_SW7 SW7_CS38 +#define CS39_SW7 SW7_CS39 + +#define CS31_SW8 SW8_CS31 +#define CS32_SW8 SW8_CS32 +#define CS33_SW8 SW8_CS33 +#define CS34_SW8 SW8_CS34 +#define CS35_SW8 SW8_CS35 +#define CS36_SW8 SW8_CS36 +#define CS37_SW8 SW8_CS37 +#define CS38_SW8 SW8_CS38 +#define CS39_SW8 SW8_CS39 + +#define CS31_SW9 SW9_CS31 +#define CS32_SW9 SW9_CS32 +#define CS33_SW9 SW9_CS33 +#define CS34_SW9 SW9_CS34 +#define CS35_SW9 SW9_CS35 +#define CS36_SW9 SW9_CS36 +#define CS37_SW9 SW9_CS37 +#define CS38_SW9 SW9_CS38 +#define CS39_SW9 SW9_CS39 diff --git a/drivers/led/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h index 343dffe068..cc9637a4e8 100644 --- a/drivers/led/issi/is31fl3741.h +++ b/drivers/led/issi/is31fl3741.h @@ -24,6 +24,51 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define IS31FL3741_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define IS31FL3741_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define IS31FL3741_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define IS31FL3741_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3741_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_CONFIGURATION +# define IS31FL3741_CONFIGURATION ISSI_CONFIGURATION +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3741_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3741_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3741_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define is31_led is31fl3741_led_t +#define g_is31_leds g_is31fl3741_leds + +#define PUR_0R IS31FL3741_PUR_0_OHM +#define PUR_05KR IS31FL3741_PUR_0K5_OHM +#define PUR_1KR IS31FL3741_PUR_1K_OHM +#define PUR_2KR IS31FL3741_PUR_2K_OHM +#define PUR_4KR IS31FL3741_PUR_4K_OHM +#define PUR_8KR IS31FL3741_PUR_8K_OHM +#define PUR_16KR IS31FL3741_PUR_16K_OHM +#define PUR_32KR IS31FL3741_PUR_32K_OHM +// ======== + #define IS31FL3741_REG_INTERRUPT_MASK 0xF0 #define IS31FL3741_REG_INTERRUPT_STATUS 0xF1 #define IS31FL3741_REG_ID 0xFC @@ -486,3 +531,374 @@ void is31fl3741_flush(void); #define SW9_CS37 0x1A8 #define SW9_CS38 0x1A9 #define SW9_CS39 0x1AA + +// DEPRECATED - DO NOT USE + +#define CS1_SW1 SW1_CS1 +#define CS2_SW1 SW1_CS2 +#define CS3_SW1 SW1_CS3 +#define CS4_SW1 SW1_CS4 +#define CS5_SW1 SW1_CS5 +#define CS6_SW1 SW1_CS6 +#define CS7_SW1 SW1_CS7 +#define CS8_SW1 SW1_CS8 +#define CS9_SW1 SW1_CS9 +#define CS10_SW1 SW1_CS10 +#define CS11_SW1 SW1_CS11 +#define CS12_SW1 SW1_CS12 +#define CS13_SW1 SW1_CS13 +#define CS14_SW1 SW1_CS14 +#define CS15_SW1 SW1_CS15 +#define CS16_SW1 SW1_CS16 +#define CS17_SW1 SW1_CS17 +#define CS18_SW1 SW1_CS18 +#define CS19_SW1 SW1_CS19 +#define CS20_SW1 SW1_CS20 +#define CS21_SW1 SW1_CS21 +#define CS22_SW1 SW1_CS22 +#define CS23_SW1 SW1_CS23 +#define CS24_SW1 SW1_CS24 +#define CS25_SW1 SW1_CS25 +#define CS26_SW1 SW1_CS26 +#define CS27_SW1 SW1_CS27 +#define CS28_SW1 SW1_CS28 +#define CS29_SW1 SW1_CS29 +#define CS30_SW1 SW1_CS30 + +#define CS1_SW2 SW2_CS1 +#define CS2_SW2 SW2_CS2 +#define CS3_SW2 SW2_CS3 +#define CS4_SW2 SW2_CS4 +#define CS5_SW2 SW2_CS5 +#define CS6_SW2 SW2_CS6 +#define CS7_SW2 SW2_CS7 +#define CS8_SW2 SW2_CS8 +#define CS9_SW2 SW2_CS9 +#define CS10_SW2 SW2_CS10 +#define CS11_SW2 SW2_CS11 +#define CS12_SW2 SW2_CS12 +#define CS13_SW2 SW2_CS13 +#define CS14_SW2 SW2_CS14 +#define CS15_SW2 SW2_CS15 +#define CS16_SW2 SW2_CS16 +#define CS17_SW2 SW2_CS17 +#define CS18_SW2 SW2_CS18 +#define CS19_SW2 SW2_CS19 +#define CS20_SW2 SW2_CS20 +#define CS21_SW2 SW2_CS21 +#define CS22_SW2 SW2_CS22 +#define CS23_SW2 SW2_CS23 +#define CS24_SW2 SW2_CS24 +#define CS25_SW2 SW2_CS25 +#define CS26_SW2 SW2_CS26 +#define CS27_SW2 SW2_CS27 +#define CS28_SW2 SW2_CS28 +#define CS29_SW2 SW2_CS29 +#define CS30_SW2 SW2_CS30 + +#define CS1_SW3 SW3_CS1 +#define CS2_SW3 SW3_CS2 +#define CS3_SW3 SW3_CS3 +#define CS4_SW3 SW3_CS4 +#define CS5_SW3 SW3_CS5 +#define CS6_SW3 SW3_CS6 +#define CS7_SW3 SW3_CS7 +#define CS8_SW3 SW3_CS8 +#define CS9_SW3 SW3_CS9 +#define CS10_SW3 SW3_CS10 +#define CS11_SW3 SW3_CS11 +#define CS12_SW3 SW3_CS12 +#define CS13_SW3 SW3_CS13 +#define CS14_SW3 SW3_CS14 +#define CS15_SW3 SW3_CS15 +#define CS16_SW3 SW3_CS16 +#define CS17_SW3 SW3_CS17 +#define CS18_SW3 SW3_CS18 +#define CS19_SW3 SW3_CS19 +#define CS20_SW3 SW3_CS20 +#define CS21_SW3 SW3_CS21 +#define CS22_SW3 SW3_CS22 +#define CS23_SW3 SW3_CS23 +#define CS24_SW3 SW3_CS24 +#define CS25_SW3 SW3_CS25 +#define CS26_SW3 SW3_CS26 +#define CS27_SW3 SW3_CS27 +#define CS28_SW3 SW3_CS28 +#define CS29_SW3 SW3_CS29 +#define CS30_SW3 SW3_CS30 + +#define CS1_SW4 SW4_CS1 +#define CS2_SW4 SW4_CS2 +#define CS3_SW4 SW4_CS3 +#define CS4_SW4 SW4_CS4 +#define CS5_SW4 SW4_CS5 +#define CS6_SW4 SW4_CS6 +#define CS7_SW4 SW4_CS7 +#define CS8_SW4 SW4_CS8 +#define CS9_SW4 SW4_CS9 +#define CS10_SW4 SW4_CS10 +#define CS11_SW4 SW4_CS11 +#define CS12_SW4 SW4_CS12 +#define CS13_SW4 SW4_CS13 +#define CS14_SW4 SW4_CS14 +#define CS15_SW4 SW4_CS15 +#define CS16_SW4 SW4_CS16 +#define CS17_SW4 SW4_CS17 +#define CS18_SW4 SW4_CS18 +#define CS19_SW4 SW4_CS19 +#define CS20_SW4 SW4_CS20 +#define CS21_SW4 SW4_CS21 +#define CS22_SW4 SW4_CS22 +#define CS23_SW4 SW4_CS23 +#define CS24_SW4 SW4_CS24 +#define CS25_SW4 SW4_CS25 +#define CS26_SW4 SW4_CS26 +#define CS27_SW4 SW4_CS27 +#define CS28_SW4 SW4_CS28 +#define CS29_SW4 SW4_CS29 +#define CS30_SW4 SW4_CS30 + +#define CS1_SW5 SW5_CS1 +#define CS2_SW5 SW5_CS2 +#define CS3_SW5 SW5_CS3 +#define CS4_SW5 SW5_CS4 +#define CS5_SW5 SW5_CS5 +#define CS6_SW5 SW5_CS6 +#define CS7_SW5 SW5_CS7 +#define CS8_SW5 SW5_CS8 +#define CS9_SW5 SW5_CS9 +#define CS10_SW5 SW5_CS10 +#define CS11_SW5 SW5_CS11 +#define CS12_SW5 SW5_CS12 +#define CS13_SW5 SW5_CS13 +#define CS14_SW5 SW5_CS14 +#define CS15_SW5 SW5_CS15 +#define CS16_SW5 SW5_CS16 +#define CS17_SW5 SW5_CS17 +#define CS18_SW5 SW5_CS18 +#define CS19_SW5 SW5_CS19 +#define CS20_SW5 SW5_CS20 +#define CS21_SW5 SW5_CS21 +#define CS22_SW5 SW5_CS22 +#define CS23_SW5 SW5_CS23 +#define CS24_SW5 SW5_CS24 +#define CS25_SW5 SW5_CS25 +#define CS26_SW5 SW5_CS26 +#define CS27_SW5 SW5_CS27 +#define CS28_SW5 SW5_CS28 +#define CS29_SW5 SW5_CS29 +#define CS30_SW5 SW5_CS30 + +#define CS1_SW6 SW6_CS1 +#define CS2_SW6 SW6_CS2 +#define CS3_SW6 SW6_CS3 +#define CS4_SW6 SW6_CS4 +#define CS5_SW6 SW6_CS5 +#define CS6_SW6 SW6_CS6 +#define CS7_SW6 SW6_CS7 +#define CS8_SW6 SW6_CS8 +#define CS9_SW6 SW6_CS9 +#define CS10_SW6 SW6_CS10 +#define CS11_SW6 SW6_CS11 +#define CS12_SW6 SW6_CS12 +#define CS13_SW6 SW6_CS13 +#define CS14_SW6 SW6_CS14 +#define CS15_SW6 SW6_CS15 +#define CS16_SW6 SW6_CS16 +#define CS17_SW6 SW6_CS17 +#define CS18_SW6 SW6_CS18 +#define CS19_SW6 SW6_CS19 +#define CS20_SW6 SW6_CS20 +#define CS21_SW6 SW6_CS21 +#define CS22_SW6 SW6_CS22 +#define CS23_SW6 SW6_CS23 +#define CS24_SW6 SW6_CS24 +#define CS25_SW6 SW6_CS25 +#define CS26_SW6 SW6_CS26 +#define CS27_SW6 SW6_CS27 +#define CS28_SW6 SW6_CS28 +#define CS29_SW6 SW6_CS29 +#define CS30_SW6 SW6_CS30 + +#define CS1_SW7 SW7_CS1 +#define CS2_SW7 SW7_CS2 +#define CS3_SW7 SW7_CS3 +#define CS4_SW7 SW7_CS4 +#define CS5_SW7 SW7_CS5 +#define CS6_SW7 SW7_CS6 +#define CS7_SW7 SW7_CS7 +#define CS8_SW7 SW7_CS8 +#define CS9_SW7 SW7_CS9 +#define CS10_SW7 SW7_CS10 +#define CS11_SW7 SW7_CS11 +#define CS12_SW7 SW7_CS12 +#define CS13_SW7 SW7_CS13 +#define CS14_SW7 SW7_CS14 +#define CS15_SW7 SW7_CS15 +#define CS16_SW7 SW7_CS16 +#define CS17_SW7 SW7_CS17 +#define CS18_SW7 SW7_CS18 +#define CS19_SW7 SW7_CS19 +#define CS20_SW7 SW7_CS20 +#define CS21_SW7 SW7_CS21 +#define CS22_SW7 SW7_CS22 +#define CS23_SW7 SW7_CS23 +#define CS24_SW7 SW7_CS24 +#define CS25_SW7 SW7_CS25 +#define CS26_SW7 SW7_CS26 +#define CS27_SW7 SW7_CS27 +#define CS28_SW7 SW7_CS28 +#define CS29_SW7 SW7_CS29 +#define CS30_SW7 SW7_CS30 + +#define CS1_SW8 SW8_CS1 +#define CS2_SW8 SW8_CS2 +#define CS3_SW8 SW8_CS3 +#define CS4_SW8 SW8_CS4 +#define CS5_SW8 SW8_CS5 +#define CS6_SW8 SW8_CS6 +#define CS7_SW8 SW8_CS7 +#define CS8_SW8 SW8_CS8 +#define CS9_SW8 SW8_CS9 +#define CS10_SW8 SW8_CS10 +#define CS11_SW8 SW8_CS11 +#define CS12_SW8 SW8_CS12 +#define CS13_SW8 SW8_CS13 +#define CS14_SW8 SW8_CS14 +#define CS15_SW8 SW8_CS15 +#define CS16_SW8 SW8_CS16 +#define CS17_SW8 SW8_CS17 +#define CS18_SW8 SW8_CS18 +#define CS19_SW8 SW8_CS19 +#define CS20_SW8 SW8_CS20 +#define CS21_SW8 SW8_CS21 +#define CS22_SW8 SW8_CS22 +#define CS23_SW8 SW8_CS23 +#define CS24_SW8 SW8_CS24 +#define CS25_SW8 SW8_CS25 +#define CS26_SW8 SW8_CS26 +#define CS27_SW8 SW8_CS27 +#define CS28_SW8 SW8_CS28 +#define CS29_SW8 SW8_CS29 +#define CS30_SW8 SW8_CS30 + +#define CS1_SW9 SW9_CS1 +#define CS2_SW9 SW9_CS2 +#define CS3_SW9 SW9_CS3 +#define CS4_SW9 SW9_CS4 +#define CS5_SW9 SW9_CS5 +#define CS6_SW9 SW9_CS6 +#define CS7_SW9 SW9_CS7 +#define CS8_SW9 SW9_CS8 +#define CS9_SW9 SW9_CS9 +#define CS10_SW9 SW9_CS10 +#define CS11_SW9 SW9_CS11 +#define CS12_SW9 SW9_CS12 +#define CS13_SW9 SW9_CS13 +#define CS14_SW9 SW9_CS14 +#define CS15_SW9 SW9_CS15 +#define CS16_SW9 SW9_CS16 +#define CS17_SW9 SW9_CS17 +#define CS18_SW9 SW9_CS18 +#define CS19_SW9 SW9_CS19 +#define CS20_SW9 SW9_CS20 +#define CS21_SW9 SW9_CS21 +#define CS22_SW9 SW9_CS22 +#define CS23_SW9 SW9_CS23 +#define CS24_SW9 SW9_CS24 +#define CS25_SW9 SW9_CS25 +#define CS26_SW9 SW9_CS26 +#define CS27_SW9 SW9_CS27 +#define CS28_SW9 SW9_CS28 +#define CS29_SW9 SW9_CS29 +#define CS30_SW9 SW9_CS30 + +#define CS31_SW1 SW1_CS31 +#define CS32_SW1 SW1_CS32 +#define CS33_SW1 SW1_CS33 +#define CS34_SW1 SW1_CS34 +#define CS35_SW1 SW1_CS35 +#define CS36_SW1 SW1_CS36 +#define CS37_SW1 SW1_CS37 +#define CS38_SW1 SW1_CS38 +#define CS39_SW1 SW1_CS39 + +#define CS31_SW2 SW2_CS31 +#define CS32_SW2 SW2_CS32 +#define CS33_SW2 SW2_CS33 +#define CS34_SW2 SW2_CS34 +#define CS35_SW2 SW2_CS35 +#define CS36_SW2 SW2_CS36 +#define CS37_SW2 SW2_CS37 +#define CS38_SW2 SW2_CS38 +#define CS39_SW2 SW2_CS39 + +#define CS31_SW3 SW3_CS31 +#define CS32_SW3 SW3_CS32 +#define CS33_SW3 SW3_CS33 +#define CS34_SW3 SW3_CS34 +#define CS35_SW3 SW3_CS35 +#define CS36_SW3 SW3_CS36 +#define CS37_SW3 SW3_CS37 +#define CS38_SW3 SW3_CS38 +#define CS39_SW3 SW3_CS39 + +#define CS31_SW4 SW4_CS31 +#define CS32_SW4 SW4_CS32 +#define CS33_SW4 SW4_CS33 +#define CS34_SW4 SW4_CS34 +#define CS35_SW4 SW4_CS35 +#define CS36_SW4 SW4_CS36 +#define CS37_SW4 SW4_CS37 +#define CS38_SW4 SW4_CS38 +#define CS39_SW4 SW4_CS39 + +#define CS31_SW5 SW5_CS31 +#define CS32_SW5 SW5_CS32 +#define CS33_SW5 SW5_CS33 +#define CS34_SW5 SW5_CS34 +#define CS35_SW5 SW5_CS35 +#define CS36_SW5 SW5_CS36 +#define CS37_SW5 SW5_CS37 +#define CS38_SW5 SW5_CS38 +#define CS39_SW5 SW5_CS39 + +#define CS31_SW6 SW6_CS31 +#define CS32_SW6 SW6_CS32 +#define CS33_SW6 SW6_CS33 +#define CS34_SW6 SW6_CS34 +#define CS35_SW6 SW6_CS35 +#define CS36_SW6 SW6_CS36 +#define CS37_SW6 SW6_CS37 +#define CS38_SW6 SW6_CS38 +#define CS39_SW6 SW6_CS39 + +#define CS31_SW7 SW7_CS31 +#define CS32_SW7 SW7_CS32 +#define CS33_SW7 SW7_CS33 +#define CS34_SW7 SW7_CS34 +#define CS35_SW7 SW7_CS35 +#define CS36_SW7 SW7_CS36 +#define CS37_SW7 SW7_CS37 +#define CS38_SW7 SW7_CS38 +#define CS39_SW7 SW7_CS39 + +#define CS31_SW8 SW8_CS31 +#define CS32_SW8 SW8_CS32 +#define CS33_SW8 SW8_CS33 +#define CS34_SW8 SW8_CS34 +#define CS35_SW8 SW8_CS35 +#define CS36_SW8 SW8_CS36 +#define CS37_SW8 SW8_CS37 +#define CS38_SW8 SW8_CS38 +#define CS39_SW8 SW8_CS39 + +#define CS31_SW9 SW9_CS31 +#define CS32_SW9 SW9_CS32 +#define CS33_SW9 SW9_CS33 +#define CS34_SW9 SW9_CS34 +#define CS35_SW9 SW9_CS35 +#define CS36_SW9 SW9_CS36 +#define CS37_SW9 SW9_CS37 +#define CS38_SW9 SW9_CS38 +#define CS39_SW9 SW9_CS39 diff --git a/drivers/led/issi/is31fl3743a.h b/drivers/led/issi/is31fl3743a.h index bfff904047..48aeab46ab 100644 --- a/drivers/led/issi/is31fl3743a.h +++ b/drivers/led/issi/is31fl3743a.h @@ -328,3 +328,214 @@ void is31fl3743a_flush(void); #define SW11_CS16 0xC3 #define SW11_CS17 0xC4 #define SW11_CS18 0xC5 + +// DEPRECATED - DO NOT USE + +#define CS1_SW1 SW1_CS1 +#define CS2_SW1 SW1_CS2 +#define CS3_SW1 SW1_CS3 +#define CS4_SW1 SW1_CS4 +#define CS5_SW1 SW1_CS5 +#define CS6_SW1 SW1_CS6 +#define CS7_SW1 SW1_CS7 +#define CS8_SW1 SW1_CS8 +#define CS9_SW1 SW1_CS9 +#define CS10_SW1 SW1_CS10 +#define CS11_SW1 SW1_CS11 +#define CS12_SW1 SW1_CS12 +#define CS13_SW1 SW1_CS13 +#define CS14_SW1 SW1_CS14 +#define CS15_SW1 SW1_CS15 +#define CS16_SW1 SW1_CS16 +#define CS17_SW1 SW1_CS17 +#define CS18_SW1 SW1_CS18 + +#define CS1_SW2 SW2_CS1 +#define CS2_SW2 SW2_CS2 +#define CS3_SW2 SW2_CS3 +#define CS4_SW2 SW2_CS4 +#define CS5_SW2 SW2_CS5 +#define CS6_SW2 SW2_CS6 +#define CS7_SW2 SW2_CS7 +#define CS8_SW2 SW2_CS8 +#define CS9_SW2 SW2_CS9 +#define CS10_SW2 SW2_CS10 +#define CS11_SW2 SW2_CS11 +#define CS12_SW2 SW2_CS12 +#define CS13_SW2 SW2_CS13 +#define CS14_SW2 SW2_CS14 +#define CS15_SW2 SW2_CS15 +#define CS16_SW2 SW2_CS16 +#define CS17_SW2 SW2_CS17 +#define CS18_SW2 SW2_CS18 + +#define CS1_SW3 SW3_CS1 +#define CS2_SW3 SW3_CS2 +#define CS3_SW3 SW3_CS3 +#define CS4_SW3 SW3_CS4 +#define CS5_SW3 SW3_CS5 +#define CS6_SW3 SW3_CS6 +#define CS7_SW3 SW3_CS7 +#define CS8_SW3 SW3_CS8 +#define CS9_SW3 SW3_CS9 +#define CS10_SW3 SW3_CS10 +#define CS11_SW3 SW3_CS11 +#define CS12_SW3 SW3_CS12 +#define CS13_SW3 SW3_CS13 +#define CS14_SW3 SW3_CS14 +#define CS15_SW3 SW3_CS15 +#define CS16_SW3 SW3_CS16 +#define CS17_SW3 SW3_CS17 +#define CS18_SW3 SW3_CS18 + +#define CS1_SW4 SW4_CS1 +#define CS2_SW4 SW4_CS2 +#define CS3_SW4 SW4_CS3 +#define CS4_SW4 SW4_CS4 +#define CS5_SW4 SW4_CS5 +#define CS6_SW4 SW4_CS6 +#define CS7_SW4 SW4_CS7 +#define CS8_SW4 SW4_CS8 +#define CS9_SW4 SW4_CS9 +#define CS10_SW4 SW4_CS10 +#define CS11_SW4 SW4_CS11 +#define CS12_SW4 SW4_CS12 +#define CS13_SW4 SW4_CS13 +#define CS14_SW4 SW4_CS14 +#define CS15_SW4 SW4_CS15 +#define CS16_SW4 SW4_CS16 +#define CS17_SW4 SW4_CS17 +#define CS18_SW4 SW4_CS18 + +#define CS1_SW5 SW5_CS1 +#define CS2_SW5 SW5_CS2 +#define CS3_SW5 SW5_CS3 +#define CS4_SW5 SW5_CS4 +#define CS5_SW5 SW5_CS5 +#define CS6_SW5 SW5_CS6 +#define CS7_SW5 SW5_CS7 +#define CS8_SW5 SW5_CS8 +#define CS9_SW5 SW5_CS9 +#define CS10_SW5 SW5_CS10 +#define CS11_SW5 SW5_CS11 +#define CS12_SW5 SW5_CS12 +#define CS13_SW5 SW5_CS13 +#define CS14_SW5 SW5_CS14 +#define CS15_SW5 SW5_CS15 +#define CS16_SW5 SW5_CS16 +#define CS17_SW5 SW5_CS17 +#define CS18_SW5 SW5_CS18 + +#define CS1_SW6 SW6_CS1 +#define CS2_SW6 SW6_CS2 +#define CS3_SW6 SW6_CS3 +#define CS4_SW6 SW6_CS4 +#define CS5_SW6 SW6_CS5 +#define CS6_SW6 SW6_CS6 +#define CS7_SW6 SW6_CS7 +#define CS8_SW6 SW6_CS8 +#define CS9_SW6 SW6_CS9 +#define CS10_SW6 SW6_CS10 +#define CS11_SW6 SW6_CS11 +#define CS12_SW6 SW6_CS12 +#define CS13_SW6 SW6_CS13 +#define CS14_SW6 SW6_CS14 +#define CS15_SW6 SW6_CS15 +#define CS16_SW6 SW6_CS16 +#define CS17_SW6 SW6_CS17 +#define CS18_SW6 SW6_CS18 + +#define CS1_SW7 SW7_CS1 +#define CS2_SW7 SW7_CS2 +#define CS3_SW7 SW7_CS3 +#define CS4_SW7 SW7_CS4 +#define CS5_SW7 SW7_CS5 +#define CS6_SW7 SW7_CS6 +#define CS7_SW7 SW7_CS7 +#define CS8_SW7 SW7_CS8 +#define CS9_SW7 SW7_CS9 +#define CS10_SW7 SW7_CS10 +#define CS11_SW7 SW7_CS11 +#define CS12_SW7 SW7_CS12 +#define CS13_SW7 SW7_CS13 +#define CS14_SW7 SW7_CS14 +#define CS15_SW7 SW7_CS15 +#define CS16_SW7 SW7_CS16 +#define CS17_SW7 SW7_CS17 +#define CS18_SW7 SW7_CS18 + +#define CS1_SW8 SW8_CS1 +#define CS2_SW8 SW8_CS2 +#define CS3_SW8 SW8_CS3 +#define CS4_SW8 SW8_CS4 +#define CS5_SW8 SW8_CS5 +#define CS6_SW8 SW8_CS6 +#define CS7_SW8 SW8_CS7 +#define CS8_SW8 SW8_CS8 +#define CS9_SW8 SW8_CS9 +#define CS10_SW8 SW8_CS10 +#define CS11_SW8 SW8_CS11 +#define CS12_SW8 SW8_CS12 +#define CS13_SW8 SW8_CS13 +#define CS14_SW8 SW8_CS14 +#define CS15_SW8 SW8_CS15 +#define CS16_SW8 SW8_CS16 +#define CS17_SW8 SW8_CS17 +#define CS18_SW8 SW8_CS18 + +#define CS1_SW9 SW9_CS1 +#define CS2_SW9 SW9_CS2 +#define CS3_SW9 SW9_CS3 +#define CS4_SW9 SW9_CS4 +#define CS5_SW9 SW9_CS5 +#define CS6_SW9 SW9_CS6 +#define CS7_SW9 SW9_CS7 +#define CS8_SW9 SW9_CS8 +#define CS9_SW9 SW9_CS9 +#define CS10_SW9 SW9_CS10 +#define CS11_SW9 SW9_CS11 +#define CS12_SW9 SW9_CS12 +#define CS13_SW9 SW9_CS13 +#define CS14_SW9 SW9_CS14 +#define CS15_SW9 SW9_CS15 +#define CS16_SW9 SW9_CS16 +#define CS17_SW9 SW9_CS17 +#define CS18_SW9 SW9_CS18 + +#define CS1_SW10 SW10_CS1 +#define CS2_SW10 SW10_CS2 +#define CS3_SW10 SW10_CS3 +#define CS4_SW10 SW10_CS4 +#define CS5_SW10 SW10_CS5 +#define CS6_SW10 SW10_CS6 +#define CS7_SW10 SW10_CS7 +#define CS8_SW10 SW10_CS8 +#define CS9_SW10 SW10_CS9 +#define CS10_SW10 SW10_CS10 +#define CS11_SW10 SW10_CS11 +#define CS12_SW10 SW10_CS12 +#define CS13_SW10 SW10_CS13 +#define CS14_SW10 SW10_CS14 +#define CS15_SW10 SW10_CS15 +#define CS16_SW10 SW10_CS16 +#define CS17_SW10 SW10_CS17 +#define CS18_SW10 SW10_CS18 + +#define CS1_SW11 SW11_CS1 +#define CS2_SW11 SW11_CS2 +#define CS3_SW11 SW11_CS3 +#define CS4_SW11 SW11_CS4 +#define CS5_SW11 SW11_CS5 +#define CS6_SW11 SW11_CS6 +#define CS7_SW11 SW11_CS7 +#define CS8_SW11 SW11_CS8 +#define CS9_SW11 SW11_CS9 +#define CS10_SW11 SW11_CS10 +#define CS11_SW11 SW11_CS11 +#define CS12_SW11 SW11_CS12 +#define CS13_SW11 SW11_CS13 +#define CS14_SW11 SW11_CS14 +#define CS15_SW11 SW11_CS15 +#define CS16_SW11 SW11_CS16 +#define CS17_SW11 SW11_CS17 +#define CS18_SW11 SW11_CS18 diff --git a/drivers/led/snled27351-mono.h b/drivers/led/snled27351-mono.h index b88ef25f76..43d39934cb 100644 --- a/drivers/led/snled27351-mono.h +++ b/drivers/led/snled27351-mono.h @@ -21,6 +21,37 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef CKLED2001_TIMEOUT +# define SNLED27351_I2C_TIMEOUT CKLED2001_TIMEOUT +#endif +#ifdef CKLED2001_PERSISTENCE +# define SNLED27351_I2C_PERSISTENCE CKLED2001_PERSISTENCE +#endif +#ifdef PHASE_CHANNEL +# define SNLED27351_PHASE_CHANNEL PHASE_CHANNEL +#endif +#ifdef CKLED2001_CURRENT_TUNE +# define SNLED27351_CURRENT_TUNE CKLED2001_CURRENT_TUNE +#endif + +#define MSKPHASE_12CHANNEL SNLED27351_SCAN_PHASE_12_CHANNEL +#define MSKPHASE_11CHANNEL SNLED27351_SCAN_PHASE_11_CHANNEL +#define MSKPHASE_10CHANNEL SNLED27351_SCAN_PHASE_10_CHANNEL +#define MSKPHASE_9CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL +#define MSKPHASE_8CHANNEL SNLED27351_SCAN_PHASE_8_CHANNEL +#define MSKPHASE_7CHANNEL SNLED27351_SCAN_PHASE_7_CHANNEL +#define MSKPHASE_6CHANNEL SNLED27351_SCAN_PHASE_6_CHANNEL +#define MSKPHASE_5CHANNEL SNLED27351_SCAN_PHASE_5_CHANNEL +#define MSKPHASE_4CHANNEL SNLED27351_SCAN_PHASE_4_CHANNEL +#define MSKPHASE_3CHANNEL SNLED27351_SCAN_PHASE_3_CHANNEL +#define MSKPHASE_2CHANNEL SNLED27351_SCAN_PHASE_2_CHANNEL +#define MSKPHASE_1CHANNEL SNLED27351_SCAN_PHASE_1_CHANNEL + +#define ckled2001_led snled27351_led_t +#define g_ckled2001_leds g_snled27351_leds +// ======== + #define SNLED27351_REG_COMMAND 0xFD #define SNLED27351_COMMAND_LED_CONTROL 0x00 #define SNLED27351_COMMAND_PWM 0x01 @@ -347,3 +378,209 @@ void snled27351_sw_shutdown(uint8_t index); #define CB12_CA14 0xBD #define CB12_CA15 0xBE #define CB12_CA16 0xBF + +// DEPRECATED - DO NOT USE + +#define A_1 CB1_CA1 +#define A_2 CB1_CA2 +#define A_3 CB1_CA3 +#define A_4 CB1_CA4 +#define A_5 CB1_CA5 +#define A_6 CB1_CA6 +#define A_7 CB1_CA7 +#define A_8 CB1_CA8 +#define A_9 CB1_CA9 +#define A_10 CB1_CA10 +#define A_11 CB1_CA11 +#define A_12 CB1_CA12 +#define A_13 CB1_CA13 +#define A_14 CB1_CA14 +#define A_15 CB1_CA15 +#define A_16 CB1_CA16 + +#define B_1 CB2_CA1 +#define B_2 CB2_CA2 +#define B_3 CB2_CA3 +#define B_4 CB2_CA4 +#define B_5 CB2_CA5 +#define B_6 CB2_CA6 +#define B_7 CB2_CA7 +#define B_8 CB2_CA8 +#define B_9 CB2_CA9 +#define B_10 CB2_CA10 +#define B_11 CB2_CA11 +#define B_12 CB2_CA12 +#define B_13 CB2_CA13 +#define B_14 CB2_CA14 +#define B_15 CB2_CA15 +#define B_16 CB2_CA16 + +#define C_1 CB3_CA1 +#define C_2 CB3_CA2 +#define C_3 CB3_CA3 +#define C_4 CB3_CA4 +#define C_5 CB3_CA5 +#define C_6 CB3_CA6 +#define C_7 CB3_CA7 +#define C_8 CB3_CA8 +#define C_9 CB3_CA9 +#define C_10 CB3_CA10 +#define C_11 CB3_CA11 +#define C_12 CB3_CA12 +#define C_13 CB3_CA13 +#define C_14 CB3_CA14 +#define C_15 CB3_CA15 +#define C_16 CB3_CA16 + +#define D_1 CB4_CA1 +#define D_2 CB4_CA2 +#define D_3 CB4_CA3 +#define D_4 CB4_CA4 +#define D_5 CB4_CA5 +#define D_6 CB4_CA6 +#define D_7 CB4_CA7 +#define D_8 CB4_CA8 +#define D_9 CB4_CA9 +#define D_10 CB4_CA10 +#define D_11 CB4_CA11 +#define D_12 CB4_CA12 +#define D_13 CB4_CA13 +#define D_14 CB4_CA14 +#define D_15 CB4_CA15 +#define D_16 CB4_CA16 + +#define E_1 CB5_CA1 +#define E_2 CB5_CA2 +#define E_3 CB5_CA3 +#define E_4 CB5_CA4 +#define E_5 CB5_CA5 +#define E_6 CB5_CA6 +#define E_7 CB5_CA7 +#define E_8 CB5_CA8 +#define E_9 CB5_CA9 +#define E_10 CB5_CA10 +#define E_11 CB5_CA11 +#define E_12 CB5_CA12 +#define E_13 CB5_CA13 +#define E_14 CB5_CA14 +#define E_15 CB5_CA15 +#define E_16 CB5_CA16 + +#define F_1 CB6_CA1 +#define F_2 CB6_CA2 +#define F_3 CB6_CA3 +#define F_4 CB6_CA4 +#define F_5 CB6_CA5 +#define F_6 CB6_CA6 +#define F_7 CB6_CA7 +#define F_8 CB6_CA8 +#define F_9 CB6_CA9 +#define F_10 CB6_CA10 +#define F_11 CB6_CA11 +#define F_12 CB6_CA12 +#define F_13 CB6_CA13 +#define F_14 CB6_CA14 +#define F_15 CB6_CA15 +#define F_16 CB6_CA16 + +#define G_1 CB7_CA1 +#define G_2 CB7_CA2 +#define G_3 CB7_CA3 +#define G_4 CB7_CA4 +#define G_5 CB7_CA5 +#define G_6 CB7_CA6 +#define G_7 CB7_CA7 +#define G_8 CB7_CA8 +#define G_9 CB7_CA9 +#define G_10 CB7_CA10 +#define G_11 CB7_CA11 +#define G_12 CB7_CA12 +#define G_13 CB7_CA13 +#define G_14 CB7_CA14 +#define G_15 CB7_CA15 +#define G_16 CB7_CA16 + +#define H_1 CB8_CA1 +#define H_2 CB8_CA2 +#define H_3 CB8_CA3 +#define H_4 CB8_CA4 +#define H_5 CB8_CA5 +#define H_6 CB8_CA6 +#define H_7 CB8_CA7 +#define H_8 CB8_CA8 +#define H_9 CB8_CA9 +#define H_10 CB8_CA10 +#define H_11 CB8_CA11 +#define H_12 CB8_CA12 +#define H_13 CB8_CA13 +#define H_14 CB8_CA14 +#define H_15 CB8_CA15 +#define H_16 CB8_CA16 + +#define I_1 CB9_CA1 +#define I_2 CB9_CA2 +#define I_3 CB9_CA3 +#define I_4 CB9_CA4 +#define I_5 CB9_CA5 +#define I_6 CB9_CA6 +#define I_7 CB9_CA7 +#define I_8 CB9_CA8 +#define I_9 CB9_CA9 +#define I_10 CB9_CA10 +#define I_11 CB9_CA11 +#define I_12 CB9_CA12 +#define I_13 CB9_CA13 +#define I_14 CB9_CA14 +#define I_15 CB9_CA15 +#define I_16 CB9_CA16 + +#define J_1 CB10_CA1 +#define J_2 CB10_CA2 +#define J_3 CB10_CA3 +#define J_4 CB10_CA4 +#define J_5 CB10_CA5 +#define J_6 CB10_CA6 +#define J_7 CB10_CA7 +#define J_8 CB10_CA8 +#define J_9 CB10_CA9 +#define J_10 CB10_CA10 +#define J_11 CB10_CA11 +#define J_12 CB10_CA12 +#define J_13 CB10_CA13 +#define J_14 CB10_CA14 +#define J_15 CB10_CA15 +#define J_16 CB10_CA16 + +#define K_1 CB11_CA1 +#define K_2 CB11_CA2 +#define K_3 CB11_CA3 +#define K_4 CB11_CA4 +#define K_5 CB11_CA5 +#define K_6 CB11_CA6 +#define K_7 CB11_CA7 +#define K_8 CB11_CA8 +#define K_9 CB11_CA9 +#define K_10 CB11_CA10 +#define K_11 CB11_CA11 +#define K_12 CB11_CA12 +#define K_13 CB11_CA13 +#define K_14 CB11_CA14 +#define K_15 CB11_CA15 +#define K_16 CB11_CA16 + +#define L_1 CB12_CA1 +#define L_2 CB12_CA2 +#define L_3 CB12_CA3 +#define L_4 CB12_CA4 +#define L_5 CB12_CA5 +#define L_6 CB12_CA6 +#define L_7 CB12_CA7 +#define L_8 CB12_CA8 +#define L_9 CB12_CA9 +#define L_10 CB12_CA10 +#define L_11 CB12_CA11 +#define L_12 CB12_CA12 +#define L_13 CB12_CA13 +#define L_14 CB12_CA14 +#define L_15 CB12_CA15 +#define L_16 CB12_CA16 diff --git a/drivers/led/snled27351.h b/drivers/led/snled27351.h index 1b7f05c285..d902744d14 100644 --- a/drivers/led/snled27351.h +++ b/drivers/led/snled27351.h @@ -21,6 +21,49 @@ #include "progmem.h" #include "util.h" +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define SNLED27351_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define SNLED27351_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define SNLED27351_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define SNLED27351_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef CKLED2001_TIMEOUT +# define SNLED27351_I2C_TIMEOUT CKLED2001_TIMEOUT +#endif +#ifdef CKLED2001_PERSISTENCE +# define SNLED27351_I2C_PERSISTENCE CKLED2001_PERSISTENCE +#endif +#ifdef PHASE_CHANNEL +# define SNLED27351_PHASE_CHANNEL PHASE_CHANNEL +#endif +#ifdef CKLED2001_CURRENT_TUNE +# define SNLED27351_CURRENT_TUNE CKLED2001_CURRENT_TUNE +#endif + +#define MSKPHASE_12CHANNEL SNLED27351_SCAN_PHASE_12_CHANNEL +#define MSKPHASE_11CHANNEL SNLED27351_SCAN_PHASE_11_CHANNEL +#define MSKPHASE_10CHANNEL SNLED27351_SCAN_PHASE_10_CHANNEL +#define MSKPHASE_9CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL +#define MSKPHASE_8CHANNEL SNLED27351_SCAN_PHASE_8_CHANNEL +#define MSKPHASE_7CHANNEL SNLED27351_SCAN_PHASE_7_CHANNEL +#define MSKPHASE_6CHANNEL SNLED27351_SCAN_PHASE_6_CHANNEL +#define MSKPHASE_5CHANNEL SNLED27351_SCAN_PHASE_5_CHANNEL +#define MSKPHASE_4CHANNEL SNLED27351_SCAN_PHASE_4_CHANNEL +#define MSKPHASE_3CHANNEL SNLED27351_SCAN_PHASE_3_CHANNEL +#define MSKPHASE_2CHANNEL SNLED27351_SCAN_PHASE_2_CHANNEL +#define MSKPHASE_1CHANNEL SNLED27351_SCAN_PHASE_1_CHANNEL + +#define ckled2001_led snled27351_led_t +#define g_ckled2001_leds g_snled27351_leds +// ======== + #define SNLED27351_REG_COMMAND 0xFD #define SNLED27351_COMMAND_LED_CONTROL 0x00 #define SNLED27351_COMMAND_PWM 0x01 @@ -349,3 +392,209 @@ void snled27351_sw_shutdown(uint8_t index); #define CB12_CA14 0xBD #define CB12_CA15 0xBE #define CB12_CA16 0xBF + +// DEPRECATED - DO NOT USE + +#define A_1 CB1_CA1 +#define A_2 CB1_CA2 +#define A_3 CB1_CA3 +#define A_4 CB1_CA4 +#define A_5 CB1_CA5 +#define A_6 CB1_CA6 +#define A_7 CB1_CA7 +#define A_8 CB1_CA8 +#define A_9 CB1_CA9 +#define A_10 CB1_CA10 +#define A_11 CB1_CA11 +#define A_12 CB1_CA12 +#define A_13 CB1_CA13 +#define A_14 CB1_CA14 +#define A_15 CB1_CA15 +#define A_16 CB1_CA16 + +#define B_1 CB2_CA1 +#define B_2 CB2_CA2 +#define B_3 CB2_CA3 +#define B_4 CB2_CA4 +#define B_5 CB2_CA5 +#define B_6 CB2_CA6 +#define B_7 CB2_CA7 +#define B_8 CB2_CA8 +#define B_9 CB2_CA9 +#define B_10 CB2_CA10 +#define B_11 CB2_CA11 +#define B_12 CB2_CA12 +#define B_13 CB2_CA13 +#define B_14 CB2_CA14 +#define B_15 CB2_CA15 +#define B_16 CB2_CA16 + +#define C_1 CB3_CA1 +#define C_2 CB3_CA2 +#define C_3 CB3_CA3 +#define C_4 CB3_CA4 +#define C_5 CB3_CA5 +#define C_6 CB3_CA6 +#define C_7 CB3_CA7 +#define C_8 CB3_CA8 +#define C_9 CB3_CA9 +#define C_10 CB3_CA10 +#define C_11 CB3_CA11 +#define C_12 CB3_CA12 +#define C_13 CB3_CA13 +#define C_14 CB3_CA14 +#define C_15 CB3_CA15 +#define C_16 CB3_CA16 + +#define D_1 CB4_CA1 +#define D_2 CB4_CA2 +#define D_3 CB4_CA3 +#define D_4 CB4_CA4 +#define D_5 CB4_CA5 +#define D_6 CB4_CA6 +#define D_7 CB4_CA7 +#define D_8 CB4_CA8 +#define D_9 CB4_CA9 +#define D_10 CB4_CA10 +#define D_11 CB4_CA11 +#define D_12 CB4_CA12 +#define D_13 CB4_CA13 +#define D_14 CB4_CA14 +#define D_15 CB4_CA15 +#define D_16 CB4_CA16 + +#define E_1 CB5_CA1 +#define E_2 CB5_CA2 +#define E_3 CB5_CA3 +#define E_4 CB5_CA4 +#define E_5 CB5_CA5 +#define E_6 CB5_CA6 +#define E_7 CB5_CA7 +#define E_8 CB5_CA8 +#define E_9 CB5_CA9 +#define E_10 CB5_CA10 +#define E_11 CB5_CA11 +#define E_12 CB5_CA12 +#define E_13 CB5_CA13 +#define E_14 CB5_CA14 +#define E_15 CB5_CA15 +#define E_16 CB5_CA16 + +#define F_1 CB6_CA1 +#define F_2 CB6_CA2 +#define F_3 CB6_CA3 +#define F_4 CB6_CA4 +#define F_5 CB6_CA5 +#define F_6 CB6_CA6 +#define F_7 CB6_CA7 +#define F_8 CB6_CA8 +#define F_9 CB6_CA9 +#define F_10 CB6_CA10 +#define F_11 CB6_CA11 +#define F_12 CB6_CA12 +#define F_13 CB6_CA13 +#define F_14 CB6_CA14 +#define F_15 CB6_CA15 +#define F_16 CB6_CA16 + +#define G_1 CB7_CA1 +#define G_2 CB7_CA2 +#define G_3 CB7_CA3 +#define G_4 CB7_CA4 +#define G_5 CB7_CA5 +#define G_6 CB7_CA6 +#define G_7 CB7_CA7 +#define G_8 CB7_CA8 +#define G_9 CB7_CA9 +#define G_10 CB7_CA10 +#define G_11 CB7_CA11 +#define G_12 CB7_CA12 +#define G_13 CB7_CA13 +#define G_14 CB7_CA14 +#define G_15 CB7_CA15 +#define G_16 CB7_CA16 + +#define H_1 CB8_CA1 +#define H_2 CB8_CA2 +#define H_3 CB8_CA3 +#define H_4 CB8_CA4 +#define H_5 CB8_CA5 +#define H_6 CB8_CA6 +#define H_7 CB8_CA7 +#define H_8 CB8_CA8 +#define H_9 CB8_CA9 +#define H_10 CB8_CA10 +#define H_11 CB8_CA11 +#define H_12 CB8_CA12 +#define H_13 CB8_CA13 +#define H_14 CB8_CA14 +#define H_15 CB8_CA15 +#define H_16 CB8_CA16 + +#define I_1 CB9_CA1 +#define I_2 CB9_CA2 +#define I_3 CB9_CA3 +#define I_4 CB9_CA4 +#define I_5 CB9_CA5 +#define I_6 CB9_CA6 +#define I_7 CB9_CA7 +#define I_8 CB9_CA8 +#define I_9 CB9_CA9 +#define I_10 CB9_CA10 +#define I_11 CB9_CA11 +#define I_12 CB9_CA12 +#define I_13 CB9_CA13 +#define I_14 CB9_CA14 +#define I_15 CB9_CA15 +#define I_16 CB9_CA16 + +#define J_1 CB10_CA1 +#define J_2 CB10_CA2 +#define J_3 CB10_CA3 +#define J_4 CB10_CA4 +#define J_5 CB10_CA5 +#define J_6 CB10_CA6 +#define J_7 CB10_CA7 +#define J_8 CB10_CA8 +#define J_9 CB10_CA9 +#define J_10 CB10_CA10 +#define J_11 CB10_CA11 +#define J_12 CB10_CA12 +#define J_13 CB10_CA13 +#define J_14 CB10_CA14 +#define J_15 CB10_CA15 +#define J_16 CB10_CA16 + +#define K_1 CB11_CA1 +#define K_2 CB11_CA2 +#define K_3 CB11_CA3 +#define K_4 CB11_CA4 +#define K_5 CB11_CA5 +#define K_6 CB11_CA6 +#define K_7 CB11_CA7 +#define K_8 CB11_CA8 +#define K_9 CB11_CA9 +#define K_10 CB11_CA10 +#define K_11 CB11_CA11 +#define K_12 CB11_CA12 +#define K_13 CB11_CA13 +#define K_14 CB11_CA14 +#define K_15 CB11_CA15 +#define K_16 CB11_CA16 + +#define L_1 CB12_CA1 +#define L_2 CB12_CA2 +#define L_3 CB12_CA3 +#define L_4 CB12_CA4 +#define L_5 CB12_CA5 +#define L_6 CB12_CA6 +#define L_7 CB12_CA7 +#define L_8 CB12_CA8 +#define L_9 CB12_CA9 +#define L_10 CB12_CA10 +#define L_11 CB12_CA11 +#define L_12 CB12_CA12 +#define L_13 CB12_CA13 +#define L_14 CB12_CA14 +#define L_15 CB12_CA15 +#define L_16 CB12_CA16 diff --git a/drivers/oled/oled_driver.c b/drivers/oled/oled_driver.c index 7e46bcb3f7..1d1c2a90c4 100644 --- a/drivers/oled/oled_driver.c +++ b/drivers/oled/oled_driver.c @@ -23,8 +23,6 @@ along with this program. If not, see . # include "keyboard.h" # endif #endif - -#include "compiler_support.h" #include "oled_driver.h" #include OLED_FONT_H #include "timer.h" @@ -603,7 +601,7 @@ void oled_write_char(const char data, bool invert) { static uint8_t oled_temp_buffer[OLED_FONT_WIDTH]; memcpy(&oled_temp_buffer, oled_cursor, OLED_FONT_WIDTH); - STATIC_ASSERT(sizeof(font) >= ((OLED_FONT_END + 1 - OLED_FONT_START) * OLED_FONT_WIDTH), "OLED_FONT_END references outside array"); + _Static_assert(sizeof(font) >= ((OLED_FONT_END + 1 - OLED_FONT_START) * OLED_FONT_WIDTH), "OLED_FONT_END references outside array"); // set the reder buffer data uint8_t cast_data = (uint8_t)data; // font based on unsigned type for index diff --git a/drivers/painter/gc9xxx/qp_gc9a01_opcodes.h b/drivers/painter/gc9xxx/qp_gc9a01_opcodes.h index 31de5ee9e3..5853902e68 100644 --- a/drivers/painter/gc9xxx/qp_gc9a01_opcodes.h +++ b/drivers/painter/gc9xxx/qp_gc9a01_opcodes.h @@ -101,4 +101,4 @@ #define GC9A01_GRAM_INTERFACE_RGB 0b00000010 #define GC9A01_RGB_INTERFACE_MODE_1_TRANSFER 0b00000000 -#define GC9A01_RGB_INTERFACE_MODE_3_TRANSFER 0b00000001 +#define GC9A01_RGB_INTERFACE_MODE_3_TRANSFER 0b00000001 \ No newline at end of file diff --git a/drivers/painter/ili9xxx/qp_ili9486.c b/drivers/painter/ili9xxx/qp_ili9486.c index 48db779c04..c4f3c15cec 100644 --- a/drivers/painter/ili9xxx/qp_ili9486.c +++ b/drivers/painter/ili9xxx/qp_ili9486.c @@ -75,9 +75,9 @@ static void qp_comms_spi_dc_reset_send_command_odd_cs_pulse(painter_device_t dev painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config; - gpio_write_pin_low(comms_config->spi_config.chip_select_pin); + writePinLow(comms_config->spi_config.chip_select_pin); qp_comms_spi_dc_reset_send_command(device, cmd); - gpio_write_pin_high(comms_config->spi_config.chip_select_pin); + writePinHigh(comms_config->spi_config.chip_select_pin); } static uint32_t qp_comms_spi_send_data_odd_cs_pulse(painter_device_t device, const void *data, uint32_t byte_count) { @@ -88,20 +88,20 @@ static uint32_t qp_comms_spi_send_data_odd_cs_pulse(painter_device_t device, con const uint8_t *p = (const uint8_t *)data; uint32_t max_msg_length = 1024; - gpio_write_pin_high(comms_config->dc_pin); + writePinHigh(comms_config->dc_pin); while (bytes_remaining > 0) { uint32_t bytes_this_loop = QP_MIN(bytes_remaining, max_msg_length); bool odd_bytes = bytes_this_loop & 1; // send data - gpio_write_pin_low(comms_config->spi_config.chip_select_pin); + writePinLow(comms_config->spi_config.chip_select_pin); spi_transmit(p, bytes_this_loop); p += bytes_this_loop; // extra CS toggle, for alignment if (odd_bytes) { - gpio_write_pin_high(comms_config->spi_config.chip_select_pin); - gpio_write_pin_low(comms_config->spi_config.chip_select_pin); + writePinHigh(comms_config->spi_config.chip_select_pin); + writePinLow(comms_config->spi_config.chip_select_pin); } bytes_remaining -= bytes_this_loop; @@ -116,9 +116,9 @@ static uint32_t qp_ili9486_send_data_toggling(painter_device_t device, const uin uint32_t ret; for (uint8_t j = 0; j < byte_count; ++j) { - gpio_write_pin_low(comms_config->spi_config.chip_select_pin); + writePinLow(comms_config->spi_config.chip_select_pin); ret = qp_comms_spi_dc_reset_send_data(device, &data[j], 1); - gpio_write_pin_high(comms_config->spi_config.chip_select_pin); + writePinHigh(comms_config->spi_config.chip_select_pin); } return ret; diff --git a/drivers/painter/ld7032/qp_ld7032.h b/drivers/painter/ld7032/qp_ld7032.h index 9af80dd468..967eb7999c 100644 --- a/drivers/painter/ld7032/qp_ld7032.h +++ b/drivers/painter/ld7032/qp_ld7032.h @@ -63,4 +63,4 @@ painter_device_t qp_ld7032_make_spi_device(uint16_t panel_width, uint16_t panel_ */ painter_device_t qp_ld7032_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address); -#endif // QUANTUM_PAINTER_LD7032_I2C_ENABLE +#endif // QUANTUM_PAINTER_LD7032_I2C_ENABLE \ No newline at end of file diff --git a/drivers/painter/ld7032/qp_ld7032_opcodes.h b/drivers/painter/ld7032/qp_ld7032_opcodes.h index ed8b397c67..08ab77d6f8 100644 --- a/drivers/painter/ld7032/qp_ld7032_opcodes.h +++ b/drivers/painter/ld7032/qp_ld7032_opcodes.h @@ -42,4 +42,4 @@ typedef enum { LD7032_S_START_STOP = 0xCD, LD7032_S_SELECT = 0xCE, LD7032_TESTCNT1 = 0xF0, //-0xFF -} ld7032_opcodes; +} ld7032_opcodes; \ No newline at end of file diff --git a/drivers/painter/sh1107/qp_sh1107.c b/drivers/painter/sh1107/qp_sh1107.c deleted file mode 100644 index f4cbd49e40..0000000000 --- a/drivers/painter/sh1107/qp_sh1107.c +++ /dev/null @@ -1,218 +0,0 @@ -#include "qp_internal.h" -#include "qp_comms.h" -#include "qp_surface_internal.h" -#include "qp_oled_panel.h" -#include "qp_sh1107.h" -#include "qp_sh1107_opcodes.h" -#include "qp_surface.h" - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Driver storage -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -typedef struct sh1107_device_t { - oled_panel_painter_device_t oled; - - uint8_t framebuffer[SURFACE_REQUIRED_BUFFER_BYTE_SIZE(128, 128, 1)]; -} sh1107_device_t; - -static sh1107_device_t sh1107_drivers[SH1107_NUM_DEVICES] = {0}; - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Quantum Painter API implementations - -// Initialisation -__attribute__((weak)) bool qp_sh1107_init(painter_device_t device, painter_rotation_t rotation) { - sh1107_device_t *driver = (sh1107_device_t *)device; - - // Change the surface geometry based on the panel rotation - if (rotation == QP_ROTATION_90 || rotation == QP_ROTATION_270) { - driver->oled.surface.base.panel_width = driver->oled.base.panel_height; - driver->oled.surface.base.panel_height = driver->oled.base.panel_width; - } else { - driver->oled.surface.base.panel_width = driver->oled.base.panel_width; - driver->oled.surface.base.panel_height = driver->oled.base.panel_height; - } - - // Init the internal surface - if (!qp_init(&driver->oled.surface.base, QP_ROTATION_0)) { - qp_dprintf("Failed to init internal surface in qp_sh1107_init\n"); - return false; - } - - // clang-format off - uint8_t sh1107_init_sequence[] = { - // Command, Delay, N, Data[N] - SH1107_SET_MUX_RATIO, 0, 1, 0x7F, // 1/128 duty - SH1107_DISPLAY_OFFSET, 0, 1, 0x00, - SH1107_SET_START_LINE, 0, 1, 0x00, // Different from SH1106 - SH1107_SET_SEGMENT_REMAP_INV, 0, 0, - SH1107_COM_SCAN_DIR_DEC, 0, 0, - SH1107_COM_PADS_HW_CFG, 0, 1, 0x12, - SH1107_SET_CONTRAST, 0, 1, 0x7F, - SH1107_ALL_ON_RESUME, 0, 0, - SH1107_NON_INVERTING_DISPLAY, 0, 0, - SH1107_SET_OSC_DIVFREQ, 0, 1, 0x80, - SH1107_SET_CHARGE_PUMP, 0, 1, 0x14, - SH1107_DISPLAY_ON, 0, 0, - }; - // clang-format on - - // If the display width is anything other than the default 128 pixels, change SH1107_SET_MUX_RATIO data byte to the correct value. - if (driver->oled.base.panel_width != 128) { - sh1107_init_sequence[3] = driver->oled.base.panel_width - 1; - } - - // If the display width is less than the default 128 pixels, change SH1107_DISPLAY_OFFSET to use the center columns. - if (driver->oled.base.panel_width < 128) { - sh1107_init_sequence[7] = (128U - driver->oled.base.panel_width) / 2; - } - - // For smaller displays, change SH1107_COM_PADS_HW_CFG data byte from alternative (0x12) to sequential (0x02) configuration - if (driver->oled.base.panel_height <= 64) { - sh1107_init_sequence[20] = 0x02; - } - - qp_comms_bulk_command_sequence(device, sh1107_init_sequence, sizeof(sh1107_init_sequence)); - return true; -} - -// Screen flush -bool qp_sh1107_flush(painter_device_t device) { - sh1107_device_t *driver = (sh1107_device_t *)device; - - if (!driver->oled.surface.dirty.is_dirty) { - return true; - } - - switch (driver->oled.base.rotation) { - default: - case QP_ROTATION_0: - qp_oled_panel_page_column_flush_rot0(device, &driver->oled.surface.dirty, driver->framebuffer); - break; - case QP_ROTATION_90: - qp_oled_panel_page_column_flush_rot90(device, &driver->oled.surface.dirty, driver->framebuffer); - break; - case QP_ROTATION_180: - qp_oled_panel_page_column_flush_rot180(device, &driver->oled.surface.dirty, driver->framebuffer); - break; - case QP_ROTATION_270: - qp_oled_panel_page_column_flush_rot270(device, &driver->oled.surface.dirty, driver->framebuffer); - break; - } - - // Clear the dirty area - qp_flush(&driver->oled.surface); - - return true; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Driver vtable -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -const oled_panel_painter_driver_vtable_t sh1107_driver_vtable = { - .base = - { - .init = qp_sh1107_init, - .power = qp_oled_panel_power, - .clear = qp_oled_panel_clear, - .flush = qp_sh1107_flush, - .pixdata = qp_oled_panel_passthru_pixdata, - .viewport = qp_oled_panel_passthru_viewport, - .palette_convert = qp_oled_panel_passthru_palette_convert, - .append_pixels = qp_oled_panel_passthru_append_pixels, - .append_pixdata = qp_oled_panel_passthru_append_pixdata, - }, - .opcodes = - { - .display_on = SH1107_DISPLAY_ON, - .display_off = SH1107_DISPLAY_OFF, - .set_page = SH1107_PAGE_ADDR, - .set_column_lsb = SH1107_SETCOLUMN_LSB, - .set_column_msb = SH1107_SETCOLUMN_MSB, - }, -}; - -#ifdef QUANTUM_PAINTER_SH1107_SPI_ENABLE -// Factory function for creating a handle to the SH1107 device -painter_device_t qp_sh1107_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) { - for (uint32_t i = 0; i < SH1107_NUM_DEVICES; ++i) { - sh1107_device_t *driver = &sh1107_drivers[i]; - if (!driver->oled.base.driver_vtable) { - painter_device_t surface = qp_make_mono1bpp_surface_advanced(&driver->oled.surface, 1, panel_width, panel_height, driver->framebuffer); - if (!surface) { - return NULL; - } - - // Setup the OLED device - driver->oled.base.driver_vtable = (const painter_driver_vtable_t *)&sh1107_driver_vtable; - driver->oled.base.comms_vtable = (const painter_comms_vtable_t *)&spi_comms_with_dc_vtable; - driver->oled.base.native_bits_per_pixel = 1; // 1bpp mono - driver->oled.base.panel_width = panel_width; - driver->oled.base.panel_height = panel_height; - driver->oled.base.rotation = QP_ROTATION_0; - driver->oled.base.offset_x = 0; - driver->oled.base.offset_y = 0; - - // SPI and other pin configuration - driver->oled.base.comms_config = &driver->oled.spi_dc_reset_config; - driver->oled.spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; - driver->oled.spi_dc_reset_config.spi_config.divisor = spi_divisor; - driver->oled.spi_dc_reset_config.spi_config.lsb_first = false; - driver->oled.spi_dc_reset_config.spi_config.mode = spi_mode; - driver->oled.spi_dc_reset_config.dc_pin = dc_pin; - driver->oled.spi_dc_reset_config.reset_pin = reset_pin; - driver->oled.spi_dc_reset_config.command_params_uses_command_pin = true; - - if (!qp_internal_register_device((painter_device_t)driver)) { - memset(driver, 0, sizeof(sh1107_device_t)); - return NULL; - } - - return (painter_device_t)driver; - } - } - return NULL; -} - -#endif // QUANTUM_PAINTER_SH1107_SPI_ENABLE - -#ifdef QUANTUM_PAINTER_SH1107_I2C_ENABLE -// Factory function for creating a handle to the SH1107 device -painter_device_t qp_sh1107_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address) { - for (uint32_t i = 0; i < SH1107_NUM_DEVICES; ++i) { - sh1107_device_t *driver = &sh1107_drivers[i]; - if (!driver->oled.base.driver_vtable) { - // Instantiate the surface - painter_device_t surface = qp_make_mono1bpp_surface_advanced(&driver->oled.surface, 1, panel_width, panel_height, driver->framebuffer); - if (!surface) { - return NULL; - } - - // Setup the OLED device - driver->oled.base.driver_vtable = (const painter_driver_vtable_t *)&sh1107_driver_vtable; - driver->oled.base.comms_vtable = (const painter_comms_vtable_t *)&i2c_comms_cmddata_vtable; - driver->oled.base.native_bits_per_pixel = 1; // 1bpp mono - driver->oled.base.panel_width = panel_width; - driver->oled.base.panel_height = panel_height; - driver->oled.base.rotation = QP_ROTATION_0; - driver->oled.base.offset_x = 0; - driver->oled.base.offset_y = 0; - - // I2C configuration - driver->oled.base.comms_config = &driver->oled.i2c_config; - driver->oled.i2c_config.chip_address = i2c_address; - - if (!qp_internal_register_device((painter_device_t)driver)) { - memset(driver, 0, sizeof(sh1107_device_t)); - return NULL; - } - - return (painter_device_t)driver; - } - } - return NULL; -} - -#endif // QUANTUM_PAINTER_SH1107_I2C_ENABLE diff --git a/drivers/painter/sh1107/qp_sh1107.h b/drivers/painter/sh1107/qp_sh1107.h deleted file mode 100644 index 2b866d7dc8..0000000000 --- a/drivers/painter/sh1107/qp_sh1107.h +++ /dev/null @@ -1,64 +0,0 @@ -#pragma once - -#include "gpio.h" -#include "qp_internal.h" - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Quantum Painter SH1107 configurables (add to your keyboard's config.h) - -#if defined(QUANTUM_PAINTER_SH1107_SPI_ENABLE) && !defined(SH1107_NUM_SPI_DEVICES) -/** - * @def This controls the maximum number of SPI SH1107 devices that Quantum Painter can communicate with at any one time. - * Increasing this number allows for multiple displays to be used. - */ -# define SH1107_NUM_SPI_DEVICES 1 -#else -# define SH1107_NUM_SPI_DEVICES 0 -#endif - -#if defined(QUANTUM_PAINTER_SH1107_I2C_ENABLE) && !defined(SH1107_NUM_I2C_DEVICES) -/** - * @def This controls the maximum number of I2C SH1107 devices that Quantum Painter can communicate with at any one time. - * Increasing this number allows for multiple displays to be used. - */ -# define SH1107_NUM_I2C_DEVICES 1 -#else -# define SH1107_NUM_I2C_DEVICES 0 -#endif - -#define SH1107_NUM_DEVICES ((SH1107_NUM_SPI_DEVICES) + (SH1107_NUM_I2C_DEVICES)) - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Quantum Painter SH1107 device factories - -#ifdef QUANTUM_PAINTER_SH1107_SPI_ENABLE - -/** - * Factory method for an SH1107 SPI LCD device. - * - * @param panel_width[in] the width of the display in pixels (usually 64) - * @param panel_height[in] the height of the display in pixels (usually 128) - * @param chip_select_pin[in] the GPIO pin used for SPI chip select - * @param dc_pin[in] the GPIO pin used for D/C control - * @param reset_pin[in] the GPIO pin used for RST - * @param spi_divisor[in] the SPI divisor to use when communicating with the display - * @param spi_mode[in] the SPI mode to use when communicating with the display - * @return the device handle used with all drawing routines in Quantum Painter - */ -painter_device_t qp_sh1107_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); - -#endif // QUANTUM_PAINTER_SH1107_SPI_ENABLE - -#ifdef QUANTUM_PAINTER_SH1107_I2C_ENABLE - -/** - * Factory method for an SH1107 I2C LCD device. - * - * @param panel_width[in] the width of the display in pixels (usually 64) - * @param panel_height[in] the height of the display in pixels (usually 128) - * @param i2c_address[in] the I2C address to use - * @return the device handle used with all drawing routines in Quantum Painter - */ -painter_device_t qp_sh1107_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address); - -#endif // QUANTUM_PAINTER_SH1107_I2C_ENABLE diff --git a/drivers/painter/sh1107/qp_sh1107_opcodes.h b/drivers/painter/sh1107/qp_sh1107_opcodes.h deleted file mode 100644 index 818bf40928..0000000000 --- a/drivers/painter/sh1107/qp_sh1107_opcodes.h +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2024 Steve Branam (@smbranam) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define SH1107_DISPLAY_ON 0xAF -#define SH1107_DISPLAY_OFF 0xAE -#define SH1107_SET_OSC_DIVFREQ 0xD5 -#define SH1107_SET_MUX_RATIO 0xA8 -#define SH1107_DISPLAY_OFFSET 0xD3 -#define SH1107_SET_START_LINE 0xDC // Key/sole difference from SH1106 (which uses 0x40) -#define SH1107_SET_CHARGE_PUMP 0x8D -#define SH1107_SET_SEGMENT_REMAP_NORMAL 0xA0 -#define SH1107_SET_SEGMENT_REMAP_INV 0xA1 -#define SH1107_COM_SCAN_DIR_INC 0xC0 -#define SH1107_COM_SCAN_DIR_DEC 0xC8 -#define SH1107_COM_PADS_HW_CFG 0xDA -#define SH1107_SET_CONTRAST 0x81 -#define SH1107_SET_PRECHARGE_PERIOD 0xD9 -#define SH1107_VCOM_DESELECT_LEVEL 0xDB -#define SH1107_ALL_ON_RESUME 0xA4 -#define SH1107_NON_INVERTING_DISPLAY 0xA6 -#define SH1107_DEACTIVATE_SCROLL 0x2E -#define SH1107_SETCOLUMN_LSB 0x00 -#define SH1107_SETCOLUMN_MSB 0x10 -#define SH1107_PAGE_ADDR 0xB0 diff --git a/drivers/sensors/azoteq_iqs5xx.c b/drivers/sensors/azoteq_iqs5xx.c index ae26ee60cf..1bb64f1984 100644 --- a/drivers/sensors/azoteq_iqs5xx.c +++ b/drivers/sensors/azoteq_iqs5xx.c @@ -17,7 +17,6 @@ #define AZOTEQ_IQS5XX_REG_PREVIOUS_CYCLE_TIME 0x000C #define AZOTEQ_IQS5XX_REG_SYSTEM_CONTROL_1 0x0432 #define AZOTEQ_IQS5XX_REG_REPORT_RATE_ACTIVE 0x057A -#define AZOTEQ_IQS5XX_REG_IDLE_MODE_TIMEOUT 0x0586 #define AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_0 0x058E #define AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_1 0x058F #define AZOTEQ_IQS5XX_REG_X_RESOLUTION 0x066E @@ -78,10 +77,6 @@ #ifndef AZOTEQ_IQS5XX_ZOOM_CONSECUTIVE_DISTANCE # define AZOTEQ_IQS5XX_ZOOM_CONSECUTIVE_DISTANCE 0x19 #endif -#ifndef AZOTEQ_IQS5XX_EVENT_MODE -// Event mode can't be used until the pointing code has changed (stuck buttons) -# define AZOTEQ_IQS5XX_EVENT_MODE false -#endif #if defined(AZOTEQ_IQS5XX_TPS43) # define AZOTEQ_IQS5XX_WIDTH_MM 43 @@ -117,6 +112,12 @@ static struct { uint16_t resolution_y; } azoteq_iqs5xx_device_resolution_t; +i2c_status_t azoteq_iqs5xx_wake(void) { + uint8_t data = 0; + i2c_status_t status = i2c_read_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_PREVIOUS_CYCLE_TIME, (uint8_t *)&data, sizeof(data), 1); + wait_us(150); + return status; +} i2c_status_t azoteq_iqs5xx_end_session(void) { const uint8_t END_BYTE = 1; // any data return i2c_write_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_END_COMMS, &END_BYTE, 1, AZOTEQ_IQS5XX_TIMEOUT_MS); @@ -323,19 +324,14 @@ static i2c_status_t azoteq_iqs5xx_init_status = 1; void azoteq_iqs5xx_init(void) { i2c_init(); - i2c_ping_address(AZOTEQ_IQS5XX_ADDRESS, 1); // wake + azoteq_iqs5xx_wake(); azoteq_iqs5xx_reset_suspend(true, false, true); wait_ms(100); - i2c_ping_address(AZOTEQ_IQS5XX_ADDRESS, 1); // wake + azoteq_iqs5xx_wake(); if (azoteq_iqs5xx_get_product() != AZOTEQ_IQS5XX_UNKNOWN) { azoteq_iqs5xx_setup_resolution(); azoteq_iqs5xx_init_status = azoteq_iqs5xx_set_report_rate(AZOTEQ_IQS5XX_REPORT_RATE, AZOTEQ_IQS5XX_ACTIVE, false); - azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_report_rate(AZOTEQ_IQS5XX_REPORT_RATE, AZOTEQ_IQS5XX_IDLE, false); - azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_report_rate(AZOTEQ_IQS5XX_REPORT_RATE, AZOTEQ_IQS5XX_IDLE_TOUCH, false); - - uint8_t no_timeout = 255; - azoteq_iqs5xx_init_status |= i2c_write_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_IDLE_MODE_TIMEOUT, &no_timeout, 1, AZOTEQ_IQS5XX_TIMEOUT_MS); // Don't enter LP1, LP2 states - azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_event_mode(AZOTEQ_IQS5XX_EVENT_MODE, false); + azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_event_mode(false, false); azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_reati(true, false); #if defined(AZOTEQ_IQS5XX_ROTATION_90) azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(false, true, true, true, false); @@ -352,19 +348,21 @@ void azoteq_iqs5xx_init(void) { }; report_mouse_t azoteq_iqs5xx_get_report(report_mouse_t mouse_report) { - report_mouse_t temp_report = {0}; + report_mouse_t temp_report = {0}; + static uint8_t previous_button_state = 0; + static uint8_t read_error_count = 0; if (azoteq_iqs5xx_init_status == I2C_STATUS_SUCCESS) { - azoteq_iqs5xx_base_data_t base_data = {0}; - i2c_status_t status = azoteq_iqs5xx_get_base_data(&base_data); - bool ignore_movement = false; + azoteq_iqs5xx_base_data_t base_data = {0}; +#if !defined(POINTING_DEVICE_MOTION_PIN) + azoteq_iqs5xx_wake(); +#endif + i2c_status_t status = azoteq_iqs5xx_get_base_data(&base_data); + bool ignore_movement = false; if (status == I2C_STATUS_SUCCESS) { -#ifdef POINTING_DEVICE_DEBUG - if (base_data.previous_cycle_time > AZOTEQ_IQS5XX_REPORT_RATE) { - pd_dprintf("IQS5XX - previous cycle time missed, took: %dms\n", base_data.previous_cycle_time); - } -#endif + // pd_dprintf("IQS5XX - previous cycle time: %d \n", base_data.previous_cycle_time); + read_error_count = 0; if (base_data.gesture_events_0.single_tap || base_data.gesture_events_0.press_and_hold) { pd_dprintf("IQS5XX - Single tap/hold.\n"); temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON1); @@ -405,11 +403,20 @@ report_mouse_t azoteq_iqs5xx_get_report(report_mouse_t mouse_report) { temp_report.y = CONSTRAIN_HID_XY(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.y.h, base_data.y.l)); } + previous_button_state = temp_report.buttons; + } else { - pd_dprintf("IQS5XX - get report failed, i2c status: %d \n", status); + if (read_error_count > 10) { + read_error_count = 0; + previous_button_state = 0; + } else { + read_error_count++; + } + temp_report.buttons = previous_button_state; + pd_dprintf("IQS5XX - get report failed: %d \n", status); } } else { - pd_dprintf("IQS5XX - Init failed, i2c status: %d \n", azoteq_iqs5xx_init_status); + pd_dprintf("IQS5XX - Init failed: %d \n", azoteq_iqs5xx_init_status); } return temp_report; diff --git a/drivers/sensors/azoteq_iqs5xx.h b/drivers/sensors/azoteq_iqs5xx.h index eb01903e33..4190fe470c 100644 --- a/drivers/sensors/azoteq_iqs5xx.h +++ b/drivers/sensors/azoteq_iqs5xx.h @@ -4,7 +4,6 @@ #pragma once -#include "compiler_support.h" #include "i2c_master.h" #include "pointing_device.h" #include "util.h" @@ -80,7 +79,7 @@ typedef struct { azoteq_iqs5xx_relative_xy_t y; } azoteq_iqs5xx_base_data_t; -STATIC_ASSERT(sizeof(azoteq_iqs5xx_base_data_t) == 10, "azoteq_iqs5xx_basic_report_t should be 10 bytes"); +_Static_assert(sizeof(azoteq_iqs5xx_base_data_t) == 10, "azoteq_iqs5xx_basic_report_t should be 10 bytes"); typedef struct { uint8_t number_of_fingers; @@ -88,7 +87,7 @@ typedef struct { azoteq_iqs5xx_relative_xy_t y; } azoteq_iqs5xx_report_data_t; -STATIC_ASSERT(sizeof(azoteq_iqs5xx_report_data_t) == 5, "azoteq_iqs5xx_report_data_t should be 5 bytes"); +_Static_assert(sizeof(azoteq_iqs5xx_report_data_t) == 5, "azoteq_iqs5xx_report_data_t should be 5 bytes"); typedef struct PACKED { bool sw_input : 1; @@ -160,7 +159,7 @@ typedef struct PACKED { uint16_t zoom_consecutive_distance; } azoteq_iqs5xx_gesture_config_t; -STATIC_ASSERT(sizeof(azoteq_iqs5xx_gesture_config_t) == 24, "azoteq_iqs5xx_gesture_config_t should be 24 bytes"); +_Static_assert(sizeof(azoteq_iqs5xx_gesture_config_t) == 24, "azoteq_iqs5xx_gesture_config_t should be 24 bytes"); typedef struct { uint16_t x_resolution; @@ -174,8 +173,7 @@ typedef struct { # define AZOTEQ_IQS5XX_REPORT_RATE 10 #endif #if !defined(POINTING_DEVICE_TASK_THROTTLE_MS) && !defined(POINTING_DEVICE_MOTION_PIN) -// Polling the Azoteq isn't recommended, ensuring we only poll after the report is ready stops any unexpected NACKs -# define POINTING_DEVICE_TASK_THROTTLE_MS AZOTEQ_IQS5XX_REPORT_RATE + 1 +# define POINTING_DEVICE_TASK_THROTTLE_MS AZOTEQ_IQS5XX_REPORT_RATE #endif const pointing_device_driver_t azoteq_iqs5xx_pointing_device_driver; diff --git a/drivers/sensors/pimoroni_trackball.c b/drivers/sensors/pimoroni_trackball.c index 06e5042953..afbe3d5b77 100644 --- a/drivers/sensors/pimoroni_trackball.c +++ b/drivers/sensors/pimoroni_trackball.c @@ -101,12 +101,12 @@ int16_t pimoroni_trackball_get_offsets(uint8_t negative_dir, uint8_t positive_di } mouse_xy_report_t pimoroni_trackball_adapt_values(xy_clamp_range_t *offset) { - if (*offset > MOUSE_REPORT_XY_MAX) { - *offset -= MOUSE_REPORT_XY_MAX; - return (mouse_xy_report_t)MOUSE_REPORT_XY_MAX; - } else if (*offset < MOUSE_REPORT_XY_MIN) { - *offset += MOUSE_REPORT_XY_MAX; - return (mouse_xy_report_t)MOUSE_REPORT_XY_MIN; + if (*offset > XY_REPORT_MAX) { + *offset -= XY_REPORT_MAX; + return (mouse_xy_report_t)XY_REPORT_MAX; + } else if (*offset < XY_REPORT_MIN) { + *offset += XY_REPORT_MAX; + return (mouse_xy_report_t)XY_REPORT_MIN; } else { mouse_xy_report_t temp_return = *offset; *offset = 0; diff --git a/drivers/sensors/pmw33xx_common.h b/drivers/sensors/pmw33xx_common.h index 82303ba6d9..22e35c3327 100644 --- a/drivers/sensors/pmw33xx_common.h +++ b/drivers/sensors/pmw33xx_common.h @@ -10,7 +10,6 @@ #pragma once -#include "compiler_support.h" #include "keyboard.h" #include #include "spi_master.h" @@ -40,8 +39,8 @@ typedef struct __attribute__((packed)) { int16_t delta_y; // displacement on y directions. } pmw33xx_report_t; -STATIC_ASSERT(sizeof(pmw33xx_report_t) == 6, "pmw33xx_report_t must be 6 bytes in size"); -STATIC_ASSERT(sizeof((pmw33xx_report_t){0}.motion) == 1, "pmw33xx_report_t.motion must be 1 byte in size"); +_Static_assert(sizeof(pmw33xx_report_t) == 6, "pmw33xx_report_t must be 6 bytes in size"); +_Static_assert(sizeof((pmw33xx_report_t){0}.motion) == 1, "pmw33xx_report_t.motion must be 1 byte in size"); #if !defined(PMW33XX_CLOCK_SPEED) # define PMW33XX_CLOCK_SPEED 2000000 diff --git a/drivers/spi_master.h b/drivers/spi_master.h deleted file mode 100644 index d206b812bf..0000000000 --- a/drivers/spi_master.h +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include -#include -#include "gpio.h" - -/** - * \file - * - * \defgroup spi_master SPI Master API - * - * \brief API to communicate with SPI devices. - * \{ - */ - -// Hardware SS pin is defined in the header so that user code can refer to it -#ifdef __AVR__ -# if defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) -# define SPI_SS_PIN B0 -# elif defined(__AVR_ATmega32A__) -# define SPI_SS_PIN B4 -# elif defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__) -# define SPI_SS_PIN B2 -# endif -#endif - -typedef int16_t spi_status_t; - -#define SPI_STATUS_SUCCESS (0) -#define SPI_STATUS_ERROR (-1) -#define SPI_STATUS_TIMEOUT (-2) - -#define SPI_TIMEOUT_IMMEDIATE (0) -#define SPI_TIMEOUT_INFINITE (0xFFFF) - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct spi_start_config_t { - pin_t slave_pin; - bool lsb_first; - uint8_t mode; - uint16_t divisor; - bool cs_active_low; -} spi_start_config_t; - -/** - * \brief Initialize the SPI driver. This function must be called only once, before any of the below functions can be called. - */ -void spi_init(void); - -/** - * \brief Start an SPI transaction. - * - * \param slavePin The GPIO pin connected to the desired device's `SS` line. - * \param lsbFirst Determines the endianness of the transmission. If `true`, the least significant bit of each byte is sent first. - * \param mode The SPI mode to use. - * \param divisor The SPI clock divisor. - * - * \return `true` if the operation was successful, otherwise `false` if the supplied parameters are invalid or the SPI peripheral is already in use. - */ -bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor); - -bool spi_start_extended(spi_start_config_t *start_config); - -/** - * \brief Write a byte to the selected SPI device. - * - * \param data The byte to write. - * - * \return `SPI_STATUS_TIMEOUT` if the timeout period elapses, or `SPI_STATUS_SUCCESS`. - */ -spi_status_t spi_write(uint8_t data); - -/** - * \brief Read a byte from the selected SPI device. - * - * \return `SPI_STATUS_TIMEOUT` if the timeout period elapses, otherwise the byte read from the device. - */ -spi_status_t spi_read(void); - -/** - * \brief Send multiple bytes to the selected SPI device. - * - * \param data A pointer to the data to write from. - * \param length The number of bytes to write. Take care not to overrun the length of `data`. - * - * \return `SPI_STATUS_TIMEOUT` if the timeout period elapses, `SPI_STATUS_ERROR` if some other error occurs, otherwise `SPI_STATUS_SUCCESS`. - */ -spi_status_t spi_transmit(const uint8_t *data, uint16_t length); - -/** - * \brief Receive multiple bytes from the selected SPI device. - * - * \param data A pointer to a buffer to read into. - * \param length The number of bytes to read. Take care not to overrun the length of `data`. - * - * \return `SPI_STATUS_TIMEOUT` if the timeout period elapses, `SPI_STATUS_ERROR` if some other error occurs, otherwise `SPI_STATUS_SUCCESS`. - */ -spi_status_t spi_receive(uint8_t *data, uint16_t length); - -/** - * \brief End the current SPI transaction. This will deassert the slave select pin and reset the endianness, mode and divisor configured by `spi_start()`. - * - */ -void spi_stop(void); - -#ifdef __cplusplus -} -#endif - -/** \} */ diff --git a/drivers/uart.h b/drivers/uart.h deleted file mode 100644 index c5068c86e1..0000000000 --- a/drivers/uart.h +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include -#include - -/** - * \file - * - * \defgroup uart UART API - * - * \brief API to communicate with UART devices. - * \{ - */ - -/** - * \brief Initialize the UART driver. This function must be called only once, before any of the below functions can be called. - * - * \param baud The baud rate to transmit and receive at. This may depend on the device you are communicating with. Common values are 1200, 2400, 4800, 9600, 19200, 38400, 57600, and 115200. - */ -void uart_init(uint32_t baud); - -/** - * \brief Transmit a single byte. - * - * \param data The byte to write. - */ -void uart_write(uint8_t data); - -/** - * \brief Receive a single byte. - * - * \return The byte read from the receive buffer. This function will block if the buffer is empty (ie. no data to read). - */ -uint8_t uart_read(void); - -/** - * \brief Transmit multiple bytes. - * - * \param data A pointer to the data to write from. - * \param length The number of bytes to write. Take care not to overrun the length of `data`. - */ -void uart_transmit(const uint8_t *data, uint16_t length); - -/** - * \brief Receive multiple bytes. - * - * \param data A pointer to a buffer to read into. - * \param length The number of bytes to read. Take care not to overrun the length of `data`. - */ -void uart_receive(uint8_t *data, uint16_t length); - -/** - * \brief Return whether the receive buffer contains data. Call this function to determine if `uart_read()` will return data immediately. - * - * \return true if there is data available to read. - */ -bool uart_available(void); - -/** \} */ diff --git a/drivers/usbpd.h b/drivers/usbpd.h index e9dca67f66..df4f29bb9d 100644 --- a/drivers/usbpd.h +++ b/drivers/usbpd.h @@ -26,4 +26,4 @@ typedef enum { void usbpd_init(void); // Gets the current state of the USBPD allowance -usbpd_allowance_t usbpd_get_allowance(void); +usbpd_allowance_t usbpd_get_allowance(void); \ No newline at end of file diff --git a/drivers/wear_leveling/wear_leveling_flash_spi.c b/drivers/wear_leveling/wear_leveling_flash_spi.c index ca2c174580..304aed1641 100644 --- a/drivers/wear_leveling/wear_leveling_flash_spi.c +++ b/drivers/wear_leveling/wear_leveling_flash_spi.c @@ -5,7 +5,6 @@ #include "util.h" #include "timer.h" #include "wear_leveling.h" -#include "wear_leveling_flash_spi_config.h" #include "wear_leveling_internal.h" #ifndef WEAR_LEVELING_EXTERNAL_FLASH_BULK_COUNT diff --git a/drivers/led/ws2812.c b/drivers/ws2812.c similarity index 100% rename from drivers/led/ws2812.c rename to drivers/ws2812.c diff --git a/drivers/led/ws2812.h b/drivers/ws2812.h similarity index 100% rename from drivers/led/ws2812.h rename to drivers/ws2812.h diff --git a/keyboards/0_sixty/info.json b/keyboards/0_sixty/info.json index 79b9388ed3..ce76f808b2 100644 --- a/keyboards/0_sixty/info.json +++ b/keyboards/0_sixty/info.json @@ -1,5 +1,6 @@ { "manufacturer": "ven0mtr0n", + "url": "", "maintainer": "vinamarora8", "usb": { "vid": "0x7654", @@ -25,7 +26,8 @@ "resync": true } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT_1x2uC": { "layout": [ diff --git a/keyboards/0_sixty/rules.mk b/keyboards/0_sixty/rules.mk new file mode 100644 index 0000000000..a0d06a89dd --- /dev/null +++ b/keyboards/0_sixty/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = 0_sixty/base diff --git a/keyboards/0xc7/61key/keyboard.json b/keyboards/0xc7/61key/keyboard.json index 969d0ce7f9..ab5127db38 100644 --- a/keyboards/0xc7/61key/keyboard.json +++ b/keyboards/0xc7/61key/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "61Key", "manufacturer": "0xC7", + "url": "", "maintainer": "RealEmanGaming", "usb": { "vid": "0xE117", @@ -13,6 +14,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": false, "key_lock": true, "mousekey": false, diff --git a/keyboards/0xcb/1337/keyboard.json b/keyboards/0xcb/1337/keyboard.json index 9983d068bc..b2ef00906b 100644 --- a/keyboards/0xcb/1337/keyboard.json +++ b/keyboards/0xcb/1337/keyboard.json @@ -65,6 +65,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/0xcb/splaytoraid/rules.mk b/keyboards/0xcb/splaytoraid/rules.mk new file mode 100644 index 0000000000..65884dec4f --- /dev/null +++ b/keyboards/0xcb/splaytoraid/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = 0xcb/splaytoraid/rp2040_ce diff --git a/keyboards/0xcb/static/keyboard.json b/keyboards/0xcb/static/keyboard.json index b0ec0b7a14..73a6a802cc 100644 --- a/keyboards/0xcb/static/keyboard.json +++ b/keyboards/0xcb/static/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/0xcb/tutelpad/keyboard.json b/keyboards/0xcb/tutelpad/keyboard.json index dfb4ee1a0b..2885377262 100644 --- a/keyboards/0xcb/tutelpad/keyboard.json +++ b/keyboards/0xcb/tutelpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TutelPad", "manufacturer": "ItsFiremanSam", + "url": "", "maintainer": "ItsFiremanSam", "usb": { "vid": "0xCB00", @@ -30,9 +31,12 @@ "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/1k/keyboard.json b/keyboards/1k/keyboard.json index 269f11782a..440856d0bd 100644 --- a/keyboards/1k/keyboard.json +++ b/keyboards/1k/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "1K", "manufacturer": "MakotoKurauchi", + "url": "", "maintainer": "MakotoKurauchi", "usb": { "vid": "0x0009", diff --git a/keyboards/1upkeyboards/1up60hse/keyboard.json b/keyboards/1upkeyboards/1up60hse/keyboard.json index 9f1d0c0ff4..990b51c1f8 100644 --- a/keyboards/1upkeyboards/1up60hse/keyboard.json +++ b/keyboards/1upkeyboards/1up60hse/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "1up60hse", "manufacturer": "1upkeyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6F75", diff --git a/keyboards/1upkeyboards/1up60hte/keyboard.json b/keyboards/1upkeyboards/1up60hte/keyboard.json index 4f781f91ee..7f8a660d80 100644 --- a/keyboards/1upkeyboards/1up60hte/keyboard.json +++ b/keyboards/1upkeyboards/1up60hte/keyboard.json @@ -14,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/1upkeyboards/1up60rgb/keyboard.json b/keyboards/1upkeyboards/1up60rgb/keyboard.json index e863edae1b..f4ba111251 100644 --- a/keyboards/1upkeyboards/1up60rgb/keyboard.json +++ b/keyboards/1upkeyboards/1up60rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "1UP RGB Underglow PCB", "manufacturer": "1upkeyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6F75", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/1upkeyboards/1upocarina/keyboard.json b/keyboards/1upkeyboards/1upocarina/keyboard.json index feeafdedbd..1f33c048c1 100644 --- a/keyboards/1upkeyboards/1upocarina/keyboard.json +++ b/keyboards/1upkeyboards/1upocarina/keyboard.json @@ -15,6 +15,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/1upkeyboards/1upslider8/keyboard.json b/keyboards/1upkeyboards/1upslider8/keyboard.json index fd969c8f06..6b65361f67 100644 --- a/keyboards/1upkeyboards/1upslider8/keyboard.json +++ b/keyboards/1upkeyboards/1upslider8/keyboard.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/1upkeyboards/1upsuper16v3/keyboard.json b/keyboards/1upkeyboards/1upsuper16v3/keyboard.json index b3b7ef5535..7ef33a0342 100644 --- a/keyboards/1upkeyboards/1upsuper16v3/keyboard.json +++ b/keyboards/1upkeyboards/1upsuper16v3/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/1upkeyboards/pi40/grid_v1_1/keyboard.json b/keyboards/1upkeyboards/pi40/grid_v1_1/keyboard.json index 6d9fc9fe01..63f76eb1a6 100644 --- a/keyboards/1upkeyboards/pi40/grid_v1_1/keyboard.json +++ b/keyboards/1upkeyboards/pi40/grid_v1_1/keyboard.json @@ -19,6 +19,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/keyboard.json b/keyboards/1upkeyboards/pi40/mit_v1_0/keyboard.json index 6cd624bad0..ed1f139126 100644 --- a/keyboards/1upkeyboards/pi40/mit_v1_0/keyboard.json +++ b/keyboards/1upkeyboards/pi40/mit_v1_0/keyboard.json @@ -19,6 +19,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/1upkeyboards/pi40/mit_v1_1/keyboard.json b/keyboards/1upkeyboards/pi40/mit_v1_1/keyboard.json index 402143991a..aa19a502b9 100644 --- a/keyboards/1upkeyboards/pi40/mit_v1_1/keyboard.json +++ b/keyboards/1upkeyboards/pi40/mit_v1_1/keyboard.json @@ -19,6 +19,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/1upkeyboards/pi40/rules.mk b/keyboards/1upkeyboards/pi40/rules.mk new file mode 100644 index 0000000000..48aea570e0 --- /dev/null +++ b/keyboards/1upkeyboards/pi40/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = 1upkeyboards/pi40/mit_v1_0 diff --git a/keyboards/1upkeyboards/pi50/info.json b/keyboards/1upkeyboards/pi50/info.json index dd222b2b5d..409fbecbc8 100644 --- a/keyboards/1upkeyboards/pi50/info.json +++ b/keyboards/1upkeyboards/pi50/info.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/1upkeyboards/pi50/pi50.c b/keyboards/1upkeyboards/pi50/pi50.c index cc0cdbe333..ea73875970 100644 --- a/keyboards/1upkeyboards/pi50/pi50.c +++ b/keyboards/1upkeyboards/pi50/pi50.c @@ -33,9 +33,6 @@ enum { #ifdef RGB_MATRIX_CUSTOM_USER # include "rgb_matrix_user.inc" #endif -#if defined(COMMUNITY_MODULES_ENABLE) && __has_include("rgb_matrix_community_modules.inc") -# include "rgb_matrix_community_modules.inc" -#endif }; #define RGB_MATRIX_EFFECT(x) \ @@ -52,9 +49,6 @@ const char* rgb_matrix_name(uint8_t effect) { #endif #ifdef RGB_MATRIX_CUSTOM_USER # include "rgb_matrix_user.inc" -#endif -#if defined(COMMUNITY_MODULES_ENABLE) && __has_include("rgb_matrix_community_modules.inc") -# include "rgb_matrix_community_modules.inc" #endif default: return "UNKNOWN"; diff --git a/keyboards/1upkeyboards/pi50/rules.mk b/keyboards/1upkeyboards/pi50/rules.mk new file mode 100644 index 0000000000..a9660074af --- /dev/null +++ b/keyboards/1upkeyboards/pi50/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = 1upkeyboards/pi50/grid diff --git a/keyboards/1upkeyboards/pi60/keyboard.json b/keyboards/1upkeyboards/pi60/keyboard.json index b25204bd13..ca3007ee76 100644 --- a/keyboards/1upkeyboards/pi60/keyboard.json +++ b/keyboards/1upkeyboards/pi60/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/1upkeyboards/pi60_hse/keyboard.json b/keyboards/1upkeyboards/pi60_hse/keyboard.json index ec60c0c3f8..d5a5f86187 100644 --- a/keyboards/1upkeyboards/pi60_hse/keyboard.json +++ b/keyboards/1upkeyboards/pi60_hse/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/1upkeyboards/pi60_rgb/keyboard.json b/keyboards/1upkeyboards/pi60_rgb/keyboard.json index 6e362eb8c9..21dab3f71a 100644 --- a/keyboards/1upkeyboards/pi60_rgb/keyboard.json +++ b/keyboards/1upkeyboards/pi60_rgb/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/1upkeyboards/super16/keyboard.json b/keyboards/1upkeyboards/super16/keyboard.json index 3b5859474a..9da4168d47 100644 --- a/keyboards/1upkeyboards/super16/keyboard.json +++ b/keyboards/1upkeyboards/super16/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "super16", "manufacturer": "1upkeyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6F75", @@ -78,6 +79,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -94,7 +97,8 @@ "rows": ["D1", "D0", "F4", "F5"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["ortho_4x4", "numpad_4x4"], "layouts": { "LAYOUT_ortho_4x4": { diff --git a/keyboards/1upkeyboards/super16v2/keyboard.json b/keyboards/1upkeyboards/super16v2/keyboard.json index 5c5123453c..652b03006e 100644 --- a/keyboards/1upkeyboards/super16v2/keyboard.json +++ b/keyboards/1upkeyboards/super16v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "super16v2", "manufacturer": "1upkeyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6F75", @@ -50,6 +51,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/1upkeyboards/sweet16/info.json b/keyboards/1upkeyboards/sweet16/info.json index 78c59fb2ae..5fb70bb8e9 100644 --- a/keyboards/1upkeyboards/sweet16/info.json +++ b/keyboards/1upkeyboards/sweet16/info.json @@ -1,9 +1,12 @@ { "keyboard_name": "Sweet16", "manufacturer": "1up Keyboards", + "url": "", "maintainer": "skullydazed", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/1upkeyboards/sweet16/rules.mk b/keyboards/1upkeyboards/sweet16/rules.mk new file mode 100644 index 0000000000..7d269ac93f --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = 1upkeyboards/sweet16/v1 diff --git a/keyboards/1upkeyboards/sweet16/v1/keyboard.json b/keyboards/1upkeyboards/sweet16/v1/keyboard.json index a8c5bf7e92..3ac73ce8eb 100644 --- a/keyboards/1upkeyboards/sweet16/v1/keyboard.json +++ b/keyboards/1upkeyboards/sweet16/v1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Sweet16", "manufacturer": "1up Keyboards", + "url": "", "maintainer": "skullydazed", "usb": { "vid": "0x6F75", @@ -48,7 +49,8 @@ "rows": ["F4", "F5", "F6", "F7"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT_ortho_4x4": { "layout": [ diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json b/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json index 40a0ec4039..d8d6c5e3ea 100644 --- a/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json +++ b/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json b/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json index d8ff291e69..d46f723a17 100644 --- a/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json +++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/25keys/aleth42/rules.mk b/keyboards/25keys/aleth42/rules.mk new file mode 100644 index 0000000000..8034ad5440 --- /dev/null +++ b/keyboards/25keys/aleth42/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = 25keys/aleth42/rev1 diff --git a/keyboards/25keys/cassette42/keyboard.json b/keyboards/25keys/cassette42/keyboard.json index 97aab705ca..cba2e61272 100644 --- a/keyboards/25keys/cassette42/keyboard.json +++ b/keyboards/25keys/cassette42/keyboard.json @@ -43,7 +43,8 @@ "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "matrix_pins": { "direct": [ ["B4", "F6", "F5", "F4", "B5", "F7"] diff --git a/keyboards/25keys/zinc/rev1/keyboard.json b/keyboards/25keys/zinc/rev1/keyboard.json index fc7160cb6c..fd11273c18 100644 --- a/keyboards/25keys/zinc/rev1/keyboard.json +++ b/keyboards/25keys/zinc/rev1/keyboard.json @@ -8,7 +8,8 @@ "pid": "0xEA3B", "device_version": "0.0.1" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "matrix_pins": { "cols": ["F4", "D4", "C6", "D7", "E6", "B4"], "rows": ["F6", "F7", "B1", "B3"] diff --git a/keyboards/25keys/zinc/reva/keyboard.json b/keyboards/25keys/zinc/reva/keyboard.json index 6acd188c75..dedc8f22f8 100644 --- a/keyboards/25keys/zinc/reva/keyboard.json +++ b/keyboards/25keys/zinc/reva/keyboard.json @@ -8,7 +8,8 @@ "pid": "0xEA3B", "device_version": "0.0.1" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3"], "rows": ["D4", "C6", "D7", "E6"] diff --git a/keyboards/25keys/zinc/rules.mk b/keyboards/25keys/zinc/rules.mk new file mode 100644 index 0000000000..1edcb0a345 --- /dev/null +++ b/keyboards/25keys/zinc/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = 25keys/zinc/rev1 diff --git a/keyboards/2key2crawl/keyboard.json b/keyboards/2key2crawl/keyboard.json index 179c9d59ad..fec55c811a 100644 --- a/keyboards/2key2crawl/keyboard.json +++ b/keyboards/2key2crawl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "2Key2Crawl", "manufacturer": "WoodKeys.click", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": false, diff --git a/keyboards/30wer/keyboard.json b/keyboards/30wer/keyboard.json index 4d27043ed9..606c13f7aa 100644 --- a/keyboards/30wer/keyboard.json +++ b/keyboards/30wer/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "30wer", "manufacturer": "8o7wer", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x1234", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": false, @@ -19,7 +21,8 @@ "rows": ["E6", "B4", "B5"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/3keyecosystem/2key2/keyboard.json b/keyboards/3keyecosystem/2key2/keyboard.json index 2b4659f252..5c77fdf6ae 100644 --- a/keyboards/3keyecosystem/2key2/keyboard.json +++ b/keyboards/3keyecosystem/2key2/keyboard.json @@ -69,6 +69,8 @@ "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/40percentclub/25/keyboard.json b/keyboards/40percentclub/25/keyboard.json index b6c6621eed..e23d0578c3 100644 --- a/keyboards/40percentclub/25/keyboard.json +++ b/keyboards/40percentclub/25/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "The 5x5 Keyboard", "manufacturer": "di0ib", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", @@ -31,7 +32,8 @@ "pin": "D0" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["ortho_5x5", "ortho_5x10"], "layout_aliases": { "LAYOUT_macro": "LAYOUT_ortho_5x5", diff --git a/keyboards/40percentclub/4pack/keyboard.json b/keyboards/40percentclub/4pack/keyboard.json index 08c70e61d0..a114e97dbb 100644 --- a/keyboards/40percentclub/4pack/keyboard.json +++ b/keyboards/40percentclub/4pack/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "4pack", "manufacturer": "40percentclub", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", @@ -11,10 +12,13 @@ "driver": "timer", "pins": ["F6", "F7"] }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/40percentclub/4x4/keyboard.json b/keyboards/40percentclub/4x4/keyboard.json index cd5e0f4c0c..735a3865da 100644 --- a/keyboards/40percentclub/4x4/keyboard.json +++ b/keyboards/40percentclub/4x4/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "The 4x4 Keyboard", "manufacturer": "di0ib", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", diff --git a/keyboards/40percentclub/5x5/keyboard.json b/keyboards/40percentclub/5x5/keyboard.json index 1a76644489..039d9fe47b 100644 --- a/keyboards/40percentclub/5x5/keyboard.json +++ b/keyboards/40percentclub/5x5/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "The 5x5 Keyboard", "manufacturer": "di0ib", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", diff --git a/keyboards/40percentclub/6lit/keyboard.json b/keyboards/40percentclub/6lit/keyboard.json index ffab3266ae..52a8914d7d 100644 --- a/keyboards/40percentclub/6lit/keyboard.json +++ b/keyboards/40percentclub/6lit/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "The 6lit Macropad", "manufacturer": "di0ib", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", @@ -31,7 +32,8 @@ "pin": "D0" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["ortho_2x3", "ortho_2x6"], "layout_aliases": { "LAYOUT_macro": "LAYOUT_ortho_2x3", diff --git a/keyboards/40percentclub/foobar/keyboard.json b/keyboards/40percentclub/foobar/keyboard.json index b47af21598..ec568b2382 100644 --- a/keyboards/40percentclub/foobar/keyboard.json +++ b/keyboards/40percentclub/foobar/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "The foobar Keyboard", "manufacturer": "di0ib", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", @@ -31,7 +32,8 @@ "pin": "D0" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["ortho_3x10"], "layout_aliases": { "LAYOUT_macro": "LAYOUT_ortho_3x5", diff --git a/keyboards/40percentclub/gherkin/info.json b/keyboards/40percentclub/gherkin/info.json index 644001bc05..0c9f609cdc 100644 --- a/keyboards/40percentclub/gherkin/info.json +++ b/keyboards/40percentclub/gherkin/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Gherkin", "manufacturer": "40 Percent Club", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", diff --git a/keyboards/40percentclub/half_n_half/keyboard.json b/keyboards/40percentclub/half_n_half/keyboard.json index 1b19794cce..4f18d235b2 100644 --- a/keyboards/40percentclub/half_n_half/keyboard.json +++ b/keyboards/40percentclub/half_n_half/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "half_n_half", "manufacturer": "di0ib", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", @@ -31,7 +32,8 @@ "pin": "D0" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/40percentclub/i75/info.json b/keyboards/40percentclub/i75/info.json index 197667cba5..a7124adec2 100644 --- a/keyboards/40percentclub/i75/info.json +++ b/keyboards/40percentclub/i75/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "i75", "manufacturer": "di0ib", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", diff --git a/keyboards/40percentclub/i75/promicro/keyboard.json b/keyboards/40percentclub/i75/promicro/keyboard.json index 58a9b11b1c..933c4f8616 100644 --- a/keyboards/40percentclub/i75/promicro/keyboard.json +++ b/keyboards/40percentclub/i75/promicro/keyboard.json @@ -4,5 +4,6 @@ "rows": ["B4", "E6", "D7", "C6", "D4", "D0", "D1", "D2", "D3"] }, "diode_direction": "COL2ROW", - "development_board": "promicro" + "processor": "atmega32u4", + "bootloader": "caterina" } diff --git a/keyboards/40percentclub/i75/rules.mk b/keyboards/40percentclub/i75/rules.mk new file mode 100644 index 0000000000..48b0427550 --- /dev/null +++ b/keyboards/40percentclub/i75/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = 40percentclub/i75/promicro diff --git a/keyboards/40percentclub/luddite/keyboard.json b/keyboards/40percentclub/luddite/keyboard.json index f8c47ef7d4..a9f79d7369 100644 --- a/keyboards/40percentclub/luddite/keyboard.json +++ b/keyboards/40percentclub/luddite/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Luddite", "manufacturer": "di0ib", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -48,7 +51,8 @@ "ws2812": { "pin": "B4" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["60_ansi"], "layouts": { "LAYOUT_60_ansi": { diff --git a/keyboards/40percentclub/mf68/keyboard.json b/keyboards/40percentclub/mf68/keyboard.json index fd3d5be874..45585d5e47 100644 --- a/keyboards/40percentclub/mf68/keyboard.json +++ b/keyboards/40percentclub/mf68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MF68", "manufacturer": "di0ib", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -29,7 +32,8 @@ "pin": "B5", "breathing": true }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["68_ansi"], "layouts": { "LAYOUT_68_ansi": { diff --git a/keyboards/40percentclub/nano/keyboard.json b/keyboards/40percentclub/nano/keyboard.json index 46158c11d6..547aed16f9 100644 --- a/keyboards/40percentclub/nano/keyboard.json +++ b/keyboards/40percentclub/nano/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Nano", "manufacturer": "di0ib", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", @@ -25,9 +26,12 @@ "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/40percentclub/nein/keyboard.json b/keyboards/40percentclub/nein/keyboard.json index d2d48e6b0c..9e1711f71e 100644 --- a/keyboards/40percentclub/nein/keyboard.json +++ b/keyboards/40percentclub/nein/keyboard.json @@ -8,9 +8,12 @@ "pid": "0x9999", "device_version": "99.9.9" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/40percentclub/nori/keyboard.json b/keyboards/40percentclub/nori/keyboard.json index e4f2b3604a..968e74e19e 100644 --- a/keyboards/40percentclub/nori/keyboard.json +++ b/keyboards/40percentclub/nori/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "The nori Keyboard", "manufacturer": "di0ib", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", @@ -50,7 +51,8 @@ "ws2812": { "pin": "B4" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["ortho_4x4", "ortho_4x12"], "layouts": { "LAYOUT_ortho_4x4": { diff --git a/keyboards/40percentclub/polyandry/info.json b/keyboards/40percentclub/polyandry/info.json index bddfe9e556..49b8bedbe3 100644 --- a/keyboards/40percentclub/polyandry/info.json +++ b/keyboards/40percentclub/polyandry/info.json @@ -1,9 +1,12 @@ { "keyboard_name": "Polypad", "manufacturer": "di0ib", + "url": "", "maintainer": "QMK", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/40percentclub/polyandry/promicro/keyboard.json b/keyboards/40percentclub/polyandry/promicro/keyboard.json index e8b2fcdb23..a8169c93dd 100644 --- a/keyboards/40percentclub/polyandry/promicro/keyboard.json +++ b/keyboards/40percentclub/polyandry/promicro/keyboard.json @@ -4,5 +4,6 @@ "rows": ["D7"] }, "diode_direction": "COL2ROW", - "development_board": "promicro" + "processor": "atmega32u4", + "bootloader": "caterina" } diff --git a/keyboards/40percentclub/polyandry/rules.mk b/keyboards/40percentclub/polyandry/rules.mk new file mode 100644 index 0000000000..3064c8202c --- /dev/null +++ b/keyboards/40percentclub/polyandry/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = 40percentclub/polyandry/promicro diff --git a/keyboards/40percentclub/sixpack/keyboard.json b/keyboards/40percentclub/sixpack/keyboard.json index 892d929ff5..059c9de091 100644 --- a/keyboards/40percentclub/sixpack/keyboard.json +++ b/keyboards/40percentclub/sixpack/keyboard.json @@ -19,10 +19,13 @@ "num_lock": "D5", "on_state": 0 }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/40percentclub/tomato/keyboard.json b/keyboards/40percentclub/tomato/keyboard.json index 6fc1d7df98..c0b526cbc6 100644 --- a/keyboards/40percentclub/tomato/keyboard.json +++ b/keyboards/40percentclub/tomato/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Tomato", "manufacturer": "40 Percent Club", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -48,7 +51,8 @@ "rows": ["F7", "B1", "B3", "B2", "B6"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["ortho_3x10"], "layouts": { "LAYOUT_ortho_3x10": { diff --git a/keyboards/40percentclub/ut47/keyboard.json b/keyboards/40percentclub/ut47/keyboard.json index 00c8edef69..62e4a940a1 100644 --- a/keyboards/40percentclub/ut47/keyboard.json +++ b/keyboards/40percentclub/ut47/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ut47", "manufacturer": "40percent.club", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4025", diff --git a/keyboards/45_ats/keyboard.json b/keyboards/45_ats/keyboard.json index 17ef036999..5e5465f264 100644 --- a/keyboards/45_ats/keyboard.json +++ b/keyboards/45_ats/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "45ATS", "manufacturer": "Abec13", + "url": "", "maintainer": "The-Royal", "usb": { "vid": "0xAB13", diff --git a/keyboards/4by3/keyboard.json b/keyboards/4by3/keyboard.json index 4de26c809d..8801a1e920 100644 --- a/keyboards/4by3/keyboard.json +++ b/keyboards/4by3/keyboard.json @@ -21,7 +21,8 @@ "rows": ["D1", "D0", "D4"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layout_aliases": { "LAYOUT": "LAYOUT_horizontal" }, diff --git a/keyboards/4pplet/aekiso60/info.json b/keyboards/4pplet/aekiso60/info.json index 50dd5e55df..80d5ab233d 100644 --- a/keyboards/4pplet/aekiso60/info.json +++ b/keyboards/4pplet/aekiso60/info.json @@ -1,5 +1,6 @@ { "manufacturer": "4pplet", + "url": "", "maintainer": "4pplet", "usb": { "vid": "0x4444" diff --git a/keyboards/4pplet/aekiso60/rev_a/keyboard.json b/keyboards/4pplet/aekiso60/rev_a/keyboard.json index 4fcf8a83f0..5e236adc9a 100644 --- a/keyboards/4pplet/aekiso60/rev_a/keyboard.json +++ b/keyboards/4pplet/aekiso60/rev_a/keyboard.json @@ -26,6 +26,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/4pplet/bootleg/rev_a/keyboard.json b/keyboards/4pplet/bootleg/rev_a/keyboard.json index 18ded6df53..10aa3de678 100644 --- a/keyboards/4pplet/bootleg/rev_a/keyboard.json +++ b/keyboards/4pplet/bootleg/rev_a/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/4pplet/perk60_iso/rev_a/keyboard.json b/keyboards/4pplet/perk60_iso/rev_a/keyboard.json index 8d3a519a87..56e7a25de4 100644 --- a/keyboards/4pplet/perk60_iso/rev_a/keyboard.json +++ b/keyboards/4pplet/perk60_iso/rev_a/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Perk60 ISO Rev A", "manufacturer": "4pplet", + "url": "", "maintainer": "4pplet", "usb": { "vid": "0x4444", @@ -41,6 +42,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c index c4ab064cb2..2de3acc60d 100644 --- a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c +++ b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c @@ -14,20 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" - -#ifndef CAPS_LOCK_ENABLE -# define CAPS_LOCK_ENABLE true -#endif - -#ifndef CAPS_LOCK_COLOR -# define CAPS_LOCK_COLOR RGB_RED -#endif - -#ifndef CAPS_LED_GROUP -// change what leds to target, for example LED_FLAG_KEYLIGHT for alpas or LED_FLAG_MODIFIER for modifiers -# define CAPS_LED_GROUP LED_FLAG_INDICATOR -#endif +#include "rev_a.h" #ifdef RGB_MATRIX_ENABLE const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { diff --git a/keyboards/trnthsn/e8ghtyneo/config.h b/keyboards/4pplet/perk60_iso/rev_a/rev_a.h similarity index 68% rename from keyboards/trnthsn/e8ghtyneo/config.h rename to keyboards/4pplet/perk60_iso/rev_a/rev_a.h index 5e5c1eb155..2f4fa7531a 100644 --- a/keyboards/trnthsn/e8ghtyneo/config.h +++ b/keyboards/4pplet/perk60_iso/rev_a/rev_a.h @@ -1,5 +1,5 @@ /* -Copyright 2025 Tyson.Keebs +Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,10 +14,10 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ - #pragma once -#define WS2812_SPI_DRIVER SPID2 -#define WS2812_SPI_MOSI_PAL_MODE 0 -#define WS2812_SPI_SCK_PAL_MODE 0 -#define WS2812_SPI_SCK_PIN B13 +#define CAPS_LOCK_ENABLE true +#define CAPS_LOCK_COLOR RGB_RED +#define CAPS_LED_GROUP LED_FLAG_INDICATOR // change what leds to target, for example LED_FLAG_KEYLIGHT for alpas or LED_FLAG_MODIFIER for modifiers + +#include "quantum.h" diff --git a/keyboards/4pplet/steezy60/rev_a/keyboard.json b/keyboards/4pplet/steezy60/rev_a/keyboard.json index bab6a0a9a8..bbc3d1601b 100644 --- a/keyboards/4pplet/steezy60/rev_a/keyboard.json +++ b/keyboards/4pplet/steezy60/rev_a/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/4pplet/steezy60/rev_b/keyboard.json b/keyboards/4pplet/steezy60/rev_b/keyboard.json index 5f1be975ce..810f7f8cb9 100644 --- a/keyboards/4pplet/steezy60/rev_b/keyboard.json +++ b/keyboards/4pplet/steezy60/rev_b/keyboard.json @@ -27,6 +27,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/4pplet/unextended_std/rev_a/keyboard.json b/keyboards/4pplet/unextended_std/rev_a/keyboard.json index be89861e25..1b1909854a 100644 --- a/keyboards/4pplet/unextended_std/rev_a/keyboard.json +++ b/keyboards/4pplet/unextended_std/rev_a/keyboard.json @@ -19,6 +19,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgblight": true, "key_lock": true diff --git a/keyboards/4pplet/waffling60/rev_a/keyboard.json b/keyboards/4pplet/waffling60/rev_a/keyboard.json index 6a3c2ea0ae..cbb24bd56a 100644 --- a/keyboards/4pplet/waffling60/rev_a/keyboard.json +++ b/keyboards/4pplet/waffling60/rev_a/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/4pplet/waffling60/rev_b/keyboard.json b/keyboards/4pplet/waffling60/rev_b/keyboard.json index 158f4ecee5..54e51b388b 100644 --- a/keyboards/4pplet/waffling60/rev_b/keyboard.json +++ b/keyboards/4pplet/waffling60/rev_b/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/4pplet/waffling60/rev_b/rev_b.c b/keyboards/4pplet/waffling60/rev_b/rev_b.c index 8923ba6f7d..c03f3630e6 100644 --- a/keyboards/4pplet/waffling60/rev_b/rev_b.c +++ b/keyboards/4pplet/waffling60/rev_b/rev_b.c @@ -14,11 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" - -#ifndef CAPS_LOCK_ENABLE -# define CAPS_LOCK_ENABLE true -#endif +#include "rev_b.h" bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); diff --git a/keyboards/trnthsn/s6xtyfs/mcuconf.h b/keyboards/4pplet/waffling60/rev_b/rev_b.h similarity index 80% rename from keyboards/trnthsn/s6xtyfs/mcuconf.h rename to keyboards/4pplet/waffling60/rev_b/rev_b.h index 03624a3d2f..57a4964202 100644 --- a/keyboards/trnthsn/s6xtyfs/mcuconf.h +++ b/keyboards/4pplet/waffling60/rev_b/rev_b.h @@ -1,5 +1,5 @@ /* -Copyright 2025 Tyson.Keebs +Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,10 +14,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ - #pragma once -#include_next +#define CAPS_LOCK_ENABLE true +//#define CAPS_LOCK_COLOR HSV_ORANGE -#undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 TRUE +#include "quantum.h" diff --git a/keyboards/4pplet/waffling60/rev_c/keyboard.json b/keyboards/4pplet/waffling60/rev_c/keyboard.json index 8f3fd7da9a..a7c23cc349 100644 --- a/keyboards/4pplet/waffling60/rev_c/keyboard.json +++ b/keyboards/4pplet/waffling60/rev_c/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/4pplet/waffling60/rev_c/rev_c.c b/keyboards/4pplet/waffling60/rev_c/rev_c.c index f7f78f679d..fc7e99b601 100644 --- a/keyboards/4pplet/waffling60/rev_c/rev_c.c +++ b/keyboards/4pplet/waffling60/rev_c/rev_c.c @@ -14,11 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" - -#ifndef CAPS_LOCK_ENABLE -# define CAPS_LOCK_ENABLE true -#endif +#include "rev_c.h" bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); diff --git a/keyboards/trnthsn/s6xtyfs/halconf.h b/keyboards/4pplet/waffling60/rev_c/rev_c.h similarity index 81% rename from keyboards/trnthsn/s6xtyfs/halconf.h rename to keyboards/4pplet/waffling60/rev_c/rev_c.h index 737b1927a3..641b663336 100644 --- a/keyboards/trnthsn/s6xtyfs/halconf.h +++ b/keyboards/4pplet/waffling60/rev_c/rev_c.h @@ -1,5 +1,5 @@ /* -Copyright 2025 Tyson.Keebs +Copyright 2022 Stefan Sundin "4pplet" This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,9 +14,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ - #pragma once -#define HAL_USE_SPI TRUE +#define CAPS_LOCK_ENABLE true +//#define CAPS_LOCK_COLOR HSV_ORANGE -#include_next +#include "quantum.h" diff --git a/keyboards/4pplet/waffling60/rev_d/rev_d.c b/keyboards/4pplet/waffling60/rev_d/rev_d.c index f7f78f679d..2e0511459d 100644 --- a/keyboards/4pplet/waffling60/rev_d/rev_d.c +++ b/keyboards/4pplet/waffling60/rev_d/rev_d.c @@ -14,11 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" - -#ifndef CAPS_LOCK_ENABLE -# define CAPS_LOCK_ENABLE true -#endif +#include "rev_d.h" bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); diff --git a/keyboards/umbra/solder/config.h b/keyboards/4pplet/waffling60/rev_d/rev_d.h similarity index 81% rename from keyboards/umbra/solder/config.h rename to keyboards/4pplet/waffling60/rev_d/rev_d.h index 56ca17df40..641b663336 100644 --- a/keyboards/umbra/solder/config.h +++ b/keyboards/4pplet/waffling60/rev_d/rev_d.h @@ -1,5 +1,5 @@ /* -Copyright 2024 Joseph Williams IV "IV Works" +Copyright 2022 Stefan Sundin "4pplet" This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,5 +16,7 @@ along with this program. If not, see . */ #pragma once -#define WS2812_EXTERNAL_PULLUP +#define CAPS_LOCK_ENABLE true +//#define CAPS_LOCK_COLOR HSV_ORANGE +#include "quantum.h" diff --git a/keyboards/4pplet/waffling60/rev_e/keyboard.json b/keyboards/4pplet/waffling60/rev_e/keyboard.json index aed977061f..9adf6dada3 100644 --- a/keyboards/4pplet/waffling60/rev_e/keyboard.json +++ b/keyboards/4pplet/waffling60/rev_e/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "key_lock": true, "mousekey": true, diff --git a/keyboards/4pplet/waffling60/rev_e/rev_e.c b/keyboards/4pplet/waffling60/rev_e/rev_e.c index ca71947bfe..81941d54be 100644 --- a/keyboards/4pplet/waffling60/rev_e/rev_e.c +++ b/keyboards/4pplet/waffling60/rev_e/rev_e.c @@ -14,15 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" - -#ifndef CAPS_LOCK_ENABLE -# define CAPS_LOCK_ENABLE true -#endif - -#ifndef CAPS_LOCK_COLOR -# define CAPS_LOCK_COLOR HSV_GREEN -#endif +#include "rev_e.h" void keyboard_pre_init_kb(void) { rgblight_set_effect_range(0, 16); diff --git a/keyboards/umbra/hotswap/config.h b/keyboards/4pplet/waffling60/rev_e/rev_e.h similarity index 81% rename from keyboards/umbra/hotswap/config.h rename to keyboards/4pplet/waffling60/rev_e/rev_e.h index 56ca17df40..61ebac1912 100644 --- a/keyboards/umbra/hotswap/config.h +++ b/keyboards/4pplet/waffling60/rev_e/rev_e.h @@ -1,5 +1,5 @@ /* -Copyright 2024 Joseph Williams IV "IV Works" +Copyright 2022 Stefan Sundin "4pplet" This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,5 +16,7 @@ along with this program. If not, see . */ #pragma once -#define WS2812_EXTERNAL_PULLUP +#include "quantum.h" +#define CAPS_LOCK_ENABLE true +#define CAPS_LOCK_COLOR HSV_GREEN diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json b/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json index 0dab5e799e..15d3c7cfe9 100644 --- a/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json +++ b/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "key_lock": true, "mousekey": true, diff --git a/keyboards/4pplet/waffling60/rev_e_iso/keyboard.json b/keyboards/4pplet/waffling60/rev_e_iso/keyboard.json index 41bb967bdc..a9bfad4d62 100644 --- a/keyboards/4pplet/waffling60/rev_e_iso/keyboard.json +++ b/keyboards/4pplet/waffling60/rev_e_iso/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "key_lock": true, "mousekey": true, diff --git a/keyboards/4pplet/waffling80/info.json b/keyboards/4pplet/waffling80/info.json index c003b16fed..72fcd4615b 100644 --- a/keyboards/4pplet/waffling80/info.json +++ b/keyboards/4pplet/waffling80/info.json @@ -1,5 +1,6 @@ { "manufacturer": "4pplet", + "url": "", "maintainer": "4pplet", "usb": { "vid": "0x4444" diff --git a/keyboards/4pplet/waffling80/rev_a/keyboard.json b/keyboards/4pplet/waffling80/rev_a/keyboard.json index 0623b7ddaa..157cefa536 100644 --- a/keyboards/4pplet/waffling80/rev_a/keyboard.json +++ b/keyboards/4pplet/waffling80/rev_a/keyboard.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/4pplet/waffling80/rev_a/rev_a.c b/keyboards/4pplet/waffling80/rev_a/rev_a.c index 9983830548..d1032e7c6c 100644 --- a/keyboards/4pplet/waffling80/rev_a/rev_a.c +++ b/keyboards/4pplet/waffling80/rev_a/rev_a.c @@ -14,19 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" - -#ifndef CAPS_LOCK_ENABLE -# define CAPS_LOCK_ENABLE 1 -#endif - -#ifndef SCROLL_LOCK_ENABLE -# define SCROLL_LOCK_ENABLE 1 -#endif - -// If colors are defined, they will be static. If not defined, color for indicators can be set in VIA. -//#define CAPS_LOCK_COLOR HSV_GREEN -//#define SCROLL_LOCK_COLOR HSV_GREEN +#include "rev_a.h" bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); diff --git a/keyboards/trnthsn/s6xtyfs/config.h b/keyboards/4pplet/waffling80/rev_a/rev_a.h similarity index 67% rename from keyboards/trnthsn/s6xtyfs/config.h rename to keyboards/4pplet/waffling80/rev_a/rev_a.h index 5e5c1eb155..c8d4c8b971 100644 --- a/keyboards/trnthsn/s6xtyfs/config.h +++ b/keyboards/4pplet/waffling80/rev_a/rev_a.h @@ -1,5 +1,5 @@ /* -Copyright 2025 Tyson.Keebs +Copyright 2022 Stefan Sundin "4pplet" This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,10 +14,13 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ - #pragma once -#define WS2812_SPI_DRIVER SPID2 -#define WS2812_SPI_MOSI_PAL_MODE 0 -#define WS2812_SPI_SCK_PAL_MODE 0 -#define WS2812_SPI_SCK_PIN B13 +#define CAPS_LOCK_ENABLE 1 +#define SCROLL_LOCK_ENABLE 1 + +// If colors are defined, they will be static. If not defined, color for incicators can be set in VIA. +//#define CAPS_LOCK_COLOR HSV_GREEN +//#define SCROLL_LOCK_COLOR HSV_GREEN + +#include "quantum.h" diff --git a/keyboards/4pplet/waffling80/rev_b/rev_b.c b/keyboards/4pplet/waffling80/rev_b/rev_b.c index 9983830548..15e44b93a1 100644 --- a/keyboards/4pplet/waffling80/rev_b/rev_b.c +++ b/keyboards/4pplet/waffling80/rev_b/rev_b.c @@ -14,19 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" - -#ifndef CAPS_LOCK_ENABLE -# define CAPS_LOCK_ENABLE 1 -#endif - -#ifndef SCROLL_LOCK_ENABLE -# define SCROLL_LOCK_ENABLE 1 -#endif - -// If colors are defined, they will be static. If not defined, color for indicators can be set in VIA. -//#define CAPS_LOCK_COLOR HSV_GREEN -//#define SCROLL_LOCK_COLOR HSV_GREEN +#include "rev_b.h" bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); diff --git a/keyboards/4pplet/waffling80/rev_b/rev_b.h b/keyboards/4pplet/waffling80/rev_b/rev_b.h new file mode 100644 index 0000000000..c8d4c8b971 --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_b/rev_b.h @@ -0,0 +1,26 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#define CAPS_LOCK_ENABLE 1 +#define SCROLL_LOCK_ENABLE 1 + +// If colors are defined, they will be static. If not defined, color for incicators can be set in VIA. +//#define CAPS_LOCK_COLOR HSV_GREEN +//#define SCROLL_LOCK_COLOR HSV_GREEN + +#include "quantum.h" diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.c b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.c index 2cadd18a27..9e617eaa7a 100644 --- a/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.c +++ b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.c @@ -14,19 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" - -#ifndef CAPS_LOCK_ENABLE -# define CAPS_LOCK_ENABLE 1 -#endif - -#ifndef SCROLL_LOCK_ENABLE -# define SCROLL_LOCK_ENABLE 1 -#endif - -// If colors are defined, they will be static. If not defined, color for indicators can be set in VIA. -//#define CAPS_LOCK_COLOR HSV_GREEN -//#define SCROLL_LOCK_COLOR HSV_GREEN +#include "rev_b_ansi.h" bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.h b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.h new file mode 100644 index 0000000000..c8d4c8b971 --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.h @@ -0,0 +1,26 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#define CAPS_LOCK_ENABLE 1 +#define SCROLL_LOCK_ENABLE 1 + +// If colors are defined, they will be static. If not defined, color for incicators can be set in VIA. +//#define CAPS_LOCK_COLOR HSV_GREEN +//#define SCROLL_LOCK_COLOR HSV_GREEN + +#include "quantum.h" diff --git a/keyboards/4pplet/yakiimo/rev_a/keyboard.json b/keyboards/4pplet/yakiimo/rev_a/keyboard.json index a031a1438a..f22f67ac6a 100644 --- a/keyboards/4pplet/yakiimo/rev_a/keyboard.json +++ b/keyboards/4pplet/yakiimo/rev_a/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/5keys/keyboard.json b/keyboards/5keys/keyboard.json deleted file mode 100644 index 7282db2922..0000000000 --- a/keyboards/5keys/keyboard.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "manufacturer": "mikiya418", - "keyboard_name": "5keys", - "maintainer": "mikiya418", - "development_board": "promicro", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": false - }, - "matrix_pins": { - "direct": [ - ["F4","F5","F6","F7","B1"] - ] - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x0001", - "vid": "0x4D4B" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix":[0,0], "x":0, "y":0}, - {"matrix":[0,1], "x":1, "y":0}, - {"matrix":[0,2], "x":2, "y":0}, - {"matrix":[0,3], "x":3, "y":0}, - {"matrix":[0,4], "x":4, "y":0} - ] - } - } -} diff --git a/keyboards/5keys/keymaps/default/keymap.c b/keyboards/5keys/keymaps/default/keymap.c deleted file mode 100644 index 878ae4286b..0000000000 --- a/keyboards/5keys/keymaps/default/keymap.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copylight 2024 mikiya418. - * - * This program is free software: you can redistribute it and/or modify it under the terms - * of the GNU General Public License as published by the Free Software Foundation, - * either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this - * program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_WBAK, KC_WFWD, LSG_T(KC_S), G(KC_L), MO(1) - ) -}; diff --git a/keyboards/5keys/readme.md b/keyboards/5keys/readme.md deleted file mode 100644 index e14792d82b..0000000000 --- a/keyboards/5keys/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# 5keys - -![5keys](https://imgur.com/yOkI4HT) - -This keyboard is a macro keyboard with five keys. - -* Keyboard Maintainer: [mikiya418](https://github.com/mikiya418) -* Hardware Supported: 5keys PCBs, Pro Micro -* Hardware Availability: [Thingiverse](https://www.thingiverse.com/thing:6834908) - -Make example for this keyboard (after setting up your build environment): - - make 5keys:default - -Flashing example for this keyboard: - - make 5keys:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/7c8/framework/keyboard.json b/keyboards/7c8/framework/keyboard.json index a6d1f8e9e3..33f9cfc591 100644 --- a/keyboards/7c8/framework/keyboard.json +++ b/keyboards/7c8/framework/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Framework", "manufacturer": "7c8", + "url": "", "maintainer": "stevennguyen", "usb": { "vid": "0x77C8", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "leader": true, diff --git a/keyboards/8pack/info.json b/keyboards/8pack/info.json index 041990fbb3..84d81c11d3 100644 --- a/keyboards/8pack/info.json +++ b/keyboards/8pack/info.json @@ -36,7 +36,8 @@ "ws2812": { "pin": "D2" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "backlight": true, "bootmagic": false, diff --git a/keyboards/8pack/rules.mk b/keyboards/8pack/rules.mk new file mode 100644 index 0000000000..81024a7119 --- /dev/null +++ b/keyboards/8pack/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = 8pack/rev12 diff --git a/keyboards/9key/keyboard.json b/keyboards/9key/keyboard.json index 609989ff5c..c1e95e3f08 100644 --- a/keyboards/9key/keyboard.json +++ b/keyboards/9key/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "9Key", "manufacturer": "Bishop Keyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -15,6 +16,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/a_jazz/akc084/keyboard.json b/keyboards/a_jazz/akc084/keyboard.json index 85a2c50bc9..a489a5ade5 100644 --- a/keyboards/a_jazz/akc084/keyboard.json +++ b/keyboards/a_jazz/akc084/keyboard.json @@ -11,6 +11,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, @@ -19,7 +20,7 @@ }, "indicators": { "caps_lock": "A9", - "scroll_lock": "A10" + "num_lock": "A10" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B11", "B12", "B13"], diff --git a/keyboards/a_jazz/akc084/keymaps/default/keymap.c b/keyboards/a_jazz/akc084/keymaps/default/keymap.c index 2bd7992707..0ea7355fec 100644 --- a/keyboards/a_jazz/akc084/keymaps/default/keymap.c +++ b/keyboards/a_jazz/akc084/keymaps/default/keymap.c @@ -25,19 +25,19 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PAUS, KC_DEL, KC_MUTE, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, KC_MUTE, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), [1] = LAYOUT( - _______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_MYCM, KC_CALC, _______, _______, KC_SCRL, _______, + _______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_MYCM, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, GU_TOGG, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCRL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; \ No newline at end of file diff --git a/keyboards/a_jazz/akc084/readme.md b/keyboards/a_jazz/akc084/readme.md index 4be104f581..d93c8a687d 100644 --- a/keyboards/a_jazz/akc084/readme.md +++ b/keyboards/a_jazz/akc084/readme.md @@ -1,8 +1,8 @@ -# A-JAZZ AKC084 (AKP846) +# A-JAZZ AKC084 A customizable 84keys keyboard -![akc084](https://i.imgur.com/6D0jBco.png) +![akc084](https://i.imgur.com/381vaD7.png) * Keyboard Maintainer: [Feng](https://github.com/fenggx-a-jazz) * Hardware Supported: [a-jazz](https://www.a-jazz.com) * Hardware Availability: [a-jazz](https://ajazzstore.com/collections/all/products/ajazz-akp846) @@ -18,6 +18,6 @@ Flashing example for this keyboard: See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide. ## Bootloader ESC the bootloader in 3 ways: -* **Bootmagic reset: Hold down Esc in the keyboard then replug +* **Bootmagic reset: Hold down Enter in the keyboard then replug * **Physical reset button: Briefly press the button on the back of the PCB * **Keycode in layout: Press the key mapped to QK_BOOT diff --git a/keyboards/abatskeyboardclub/nayeon/keyboard.json b/keyboards/abatskeyboardclub/nayeon/keyboard.json index 9d56e3246b..a3fac207f4 100644 --- a/keyboards/abatskeyboardclub/nayeon/keyboard.json +++ b/keyboards/abatskeyboardclub/nayeon/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Nayeon", "manufacturer": "Abats Keyboard Club", + "url": "", "maintainer": "ramonimbao", "layout_aliases": { "LAYOUT_ansi": "LAYOUT_tkl_f13_ansi_tsangan", @@ -10,6 +11,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": false, "rgb_matrix": true }, diff --git a/keyboards/abstract/ellipse/rev1/keyboard.json b/keyboards/abstract/ellipse/rev1/keyboard.json index eb84a27fd4..8e38f29d56 100644 --- a/keyboards/abstract/ellipse/rev1/keyboard.json +++ b/keyboards/abstract/ellipse/rev1/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/acekeyboard/titan60/keyboard.json b/keyboards/acekeyboard/titan60/keyboard.json index 6995cefcce..4446927ab8 100644 --- a/keyboards/acekeyboard/titan60/keyboard.json +++ b/keyboards/acekeyboard/titan60/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/acheron/apollo/87h/delta/keyboard.json b/keyboards/acheron/apollo/87h/delta/keyboard.json index f5bdf28d96..5d01c1b8f7 100644 --- a/keyboards/acheron/apollo/87h/delta/keyboard.json +++ b/keyboards/acheron/apollo/87h/delta/keyboard.json @@ -61,6 +61,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/acheron/apollo/87h/info.json b/keyboards/acheron/apollo/87h/info.json index 41606da15f..ac47f594b5 100644 --- a/keyboards/acheron/apollo/87h/info.json +++ b/keyboards/acheron/apollo/87h/info.json @@ -1,5 +1,6 @@ { "manufacturer": "AcheronProject", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x4150" diff --git a/keyboards/acheron/apollo/87htsc/keyboard.json b/keyboards/acheron/apollo/87htsc/keyboard.json index 4b2ff1ad66..55229706b1 100644 --- a/keyboards/acheron/apollo/87htsc/keyboard.json +++ b/keyboards/acheron/apollo/87htsc/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Apollo87H-T-SC", "manufacturer": "AcheronProject", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x4150", @@ -64,6 +65,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/acheron/apollo/88htsc/keyboard.json b/keyboards/acheron/apollo/88htsc/keyboard.json index 165c8d76eb..9b9482874f 100644 --- a/keyboards/acheron/apollo/88htsc/keyboard.json +++ b/keyboards/acheron/apollo/88htsc/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Apollo88H-T-SC", "manufacturer": "AcheronProject", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x4150", @@ -64,6 +65,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/acheron/athena/alpha/keyboard.json b/keyboards/acheron/athena/alpha/keyboard.json index 3a64456b51..7e29cdc037 100644 --- a/keyboards/acheron/athena/alpha/keyboard.json +++ b/keyboards/acheron/athena/alpha/keyboard.json @@ -10,6 +10,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/acheron/athena/beta/keyboard.json b/keyboards/acheron/athena/beta/keyboard.json index 539c28aac2..ba96b20151 100644 --- a/keyboards/acheron/athena/beta/keyboard.json +++ b/keyboards/acheron/athena/beta/keyboard.json @@ -10,6 +10,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/acheron/athena/info.json b/keyboards/acheron/athena/info.json index e10cb288f0..4f9d3b61e6 100644 --- a/keyboards/acheron/athena/info.json +++ b/keyboards/acheron/athena/info.json @@ -1,5 +1,6 @@ { "manufacturer": "AcheronProject", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0xAC11" diff --git a/keyboards/acheron/austin/keyboard.json b/keyboards/acheron/austin/keyboard.json index 140e398cce..a3df5dd75d 100755 --- a/keyboards/acheron/austin/keyboard.json +++ b/keyboards/acheron/austin/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Austin", "manufacturer": "DriftMechanics", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xAC11", diff --git a/keyboards/acheron/elongate/beta/keyboard.json b/keyboards/acheron/elongate/beta/keyboard.json index d998d80506..d15f178991 100644 --- a/keyboards/acheron/elongate/beta/keyboard.json +++ b/keyboards/acheron/elongate/beta/keyboard.json @@ -35,6 +35,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/acheron/elongate/delta/keyboard.json b/keyboards/acheron/elongate/delta/keyboard.json index 1cc2317b54..1c6d0927d6 100644 --- a/keyboards/acheron/elongate/delta/keyboard.json +++ b/keyboards/acheron/elongate/delta/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/acheron/lasgweloth/keyboard.json b/keyboards/acheron/lasgweloth/keyboard.json index 85769d0732..35d30e89b2 100644 --- a/keyboards/acheron/lasgweloth/keyboard.json +++ b/keyboards/acheron/lasgweloth/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lasgweloth", "manufacturer": "AcheronProject", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x4150", diff --git a/keyboards/acheron/shark/beta/keyboard.json b/keyboards/acheron/shark/beta/keyboard.json index 2281c24b30..2433f61fec 100644 --- a/keyboards/acheron/shark/beta/keyboard.json +++ b/keyboards/acheron/shark/beta/keyboard.json @@ -8,6 +8,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/acheron/themis/87h/keyboard.json b/keyboards/acheron/themis/87h/keyboard.json index d94f7b0ff3..488cb324c1 100644 --- a/keyboards/acheron/themis/87h/keyboard.json +++ b/keyboards/acheron/themis/87h/keyboard.json @@ -15,6 +15,7 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, "rgblight": true, "nkro": true }, diff --git a/keyboards/acheron/themis/87htsc/keyboard.json b/keyboards/acheron/themis/87htsc/keyboard.json index 460c1f8f8e..46cdb09247 100644 --- a/keyboards/acheron/themis/87htsc/keyboard.json +++ b/keyboards/acheron/themis/87htsc/keyboard.json @@ -15,6 +15,7 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, "rgblight": true, "nkro": true }, diff --git a/keyboards/acheron/themis/88htsc/keyboard.json b/keyboards/acheron/themis/88htsc/keyboard.json index 5449461e15..1e193d2661 100644 --- a/keyboards/acheron/themis/88htsc/keyboard.json +++ b/keyboards/acheron/themis/88htsc/keyboard.json @@ -15,6 +15,7 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, "rgblight": true, "nkro": true }, diff --git a/keyboards/acheron/themis/info.json b/keyboards/acheron/themis/info.json index e10cb288f0..4f9d3b61e6 100644 --- a/keyboards/acheron/themis/info.json +++ b/keyboards/acheron/themis/info.json @@ -1,5 +1,6 @@ { "manufacturer": "AcheronProject", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0xAC11" diff --git a/keyboards/ada/ada1800mini/keyboard.json b/keyboards/ada/ada1800mini/keyboard.json index 37c0be1582..80e8ee64aa 100644 --- a/keyboards/ada/ada1800mini/keyboard.json +++ b/keyboards/ada/ada1800mini/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ada1800mini", "manufacturer": "Ada", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xADA0", diff --git a/keyboards/ada/infinity81/keyboard.json b/keyboards/ada/infinity81/keyboard.json index d2fc2ff024..40c5bd2f18 100644 --- a/keyboards/ada/infinity81/keyboard.json +++ b/keyboards/ada/infinity81/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "infinity81", "manufacturer": "Ada", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xADA0", @@ -30,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/adafruit/macropad/halconf.h b/keyboards/adafruit/macropad/halconf.h index 53c366ea1c..2e3be29bbf 100644 --- a/keyboards/adafruit/macropad/halconf.h +++ b/keyboards/adafruit/macropad/halconf.h @@ -16,7 +16,16 @@ #pragma once -#define HAL_USE_SPI TRUE -#define HAL_USE_PWM TRUE - #include_next + +#undef HAL_USE_SPI +#define HAL_USE_SPI TRUE + +#undef SPI_USE_WAIT +#define SPI_USE_WAIT TRUE + +#undef SPI_SELECT_MODE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#undef HAL_USE_PWM +#define HAL_USE_PWM TRUE diff --git a/keyboards/adafruit/macropad/keymaps/ahoneybun/keymap.c b/keyboards/adafruit/macropad/keymaps/ahoneybun/keymap.c deleted file mode 100644 index b5e8d9f50a..0000000000 --- a/keyboards/adafruit/macropad/keymaps/ahoneybun/keymap.c +++ /dev/null @@ -1,171 +0,0 @@ -/* Copyright 2022 Jose Pablo Ramirez - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - HOME, - WORK, - NUMBERS -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Layer 0, home layer - - ------------------------------- - | O L E D | Volume | - | DISPLAY | Knob | - |----------|---------|----------| - | Previous | Play | Next | - | Track | Pause | Track | - |----------|---------|----------| - | Empty | Empty | Empty | - | | | | - |----------|---------|----------| - | Empty | Empty | Empty | - | | | | - |----------|---------|----------| - |Workspace | Work |Workspace | - | Left | Layer | Right | - ------------------------------- - - */ - - [HOME] = LAYOUT( - LT(1,KC_MUTE), - KC_MPRV, KC_MPLY, KC_MNXT, - _______, _______, _______, - _______, _______, _______, - LGUI(KC_PGUP), TO(WORK), LGUI(KC_PGDN) - ), - - /* Layer 1, work layer - * - - *----------------------------- - | O L E D | Volume | - | DISPLAY | Knob | - |----------|---------|---------| - | Previous | Play | Next | - | Track | Pause | Track | - |----------|---------|---------| - | Reuse | Reuse | Reuse | - | | | | - |----------|---------|---------| - | Reuse | Reuse | Reuse | - | | | | - |----------|---------|---------| - | Reuse | Reuse | Reuse | - | | | | - ------------------------------ - - */ - - [WORK] = LAYOUT( - _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - LCTL(LGUI(KC_LEFT)), TO(HOME), LCTL(LGUI(KC_RIGHT)) - ), -}; - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [HOME] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WORK] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, -}; -#endif - - -#ifdef OLED_ENABLE -static void render_qmk_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x07, 0x1f, 0x7f, 0xff, 0xfe, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xff, 0xff, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, - 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7e, 0x3e, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, - 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x3e, 0x7e, 0xfc, 0xfc, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1e, 0x7e, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x3f, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x00, 0x80, - 0xc0, 0xf0, 0xfc, 0xff, 0xff, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, - 0xff, 0xff, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, - 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, - 0x1e, 0x1e, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xe7, 0x87, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0x07, 0x0f, 0x1f, 0x7f, - 0xff, 0xfe, 0xf8, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0x0f, 0x3f, 0x7f, 0xff, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xfc, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x3f, 0xff, 0xff, 0xfc, 0xf0, 0xe0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x07, 0x0f, 0x1f, 0x7f, 0xff, 0xfe, 0xf8, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x07, 0x06, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - - oled_write_raw_P(qmk_logo, sizeof(qmk_logo)); -} - -bool oled_task_user(void) { - render_qmk_logo(); - return true; -} - -#endif diff --git a/keyboards/adafruit/macropad/keymaps/ahoneybun/rules.mk b/keyboards/adafruit/macropad/keymaps/ahoneybun/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/adafruit/macropad/keymaps/ahoneybun/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/adafruit/macropad/keymaps/default/keymap.c b/keyboards/adafruit/macropad/keymaps/default/keymap.c index 9095d4d320..08cd65ae8e 100644 --- a/keyboards/adafruit/macropad/keymaps/default/keymap.c +++ b/keyboards/adafruit/macropad/keymaps/default/keymap.c @@ -17,6 +17,28 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Layer 0, default layer + * + * ------------------------------ + * | QMK LOGO | Volume | + * | | Knob | + * |----------|---------|---------| + * | Enter | Number | Back | + * | Key | Zero | Space | + * |----------|---------|---------| + * | Number | Number | Number | + * | Seven | Eight | Nine | + * |----------|---------|---------| + * | Number | Number | Number | + * | Four | Five | Six | + * |----------|---------|---------| + * | Number | Number | Number | + * | One | Two | Three | + * ------------------------------- + * + */ + [0] = LAYOUT( LT(1,KC_MUTE), KC_ENT, KC_0, KC_BSPC, @@ -24,6 +46,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_4, KC_5, KC_6, KC_1, KC_2, KC_3 ), + + /* Layer 1, 2nd layer + * + * - *----------------------------- + * | QMK LOGO | Volume | + * | | Knob | + * |----------|---------|---------| + * | Toggles | Audio | Back | + * | Audio | Clicky | Space | + * |----------|---------|---------| + * | Number | Number | Number | + * | Seven | Eight | Nine | + * |----------|---------|---------| + * | Number | Number | Number | + * | Four | Five | Six | + * |----------|---------|---------| + * | Number | Number | Number | + * | One | Two | Three | + * ------------------------------- + * + */ + + [1] = LAYOUT( _______, CK_TOGG, AU_TOGG, _______, diff --git a/keyboards/adafruit/pico_pad/keyboard.json b/keyboards/adafruit/pico_pad/keyboard.json deleted file mode 100644 index aacb7a9c00..0000000000 --- a/keyboards/adafruit/pico_pad/keyboard.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "manufacturer": "Raspberry Pi", - "keyboard_name": "DirectPins Pico Pad 21 keys RP2040", - "maintainer": "icyavocado", - "bootloader": "rp2040", - "usb": { - "vid": "0x2326", - "pid": "0xFEED", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true - }, - "processor": "RP2040", - "matrix_pins": { - "direct": [ - [ "GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6" ], - [ "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13"], - [ "GP14", "GP16", "GP17", "GP18", "GP19", "GP20", "GP21"] - ] - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "GP0", "x": 0, "y": 0, "matrix": [0, 0]}, - {"label": "GP1", "x": 0, "y": 1, "matrix": [0, 1]}, - {"label": "GP2", "x": 0, "y": 2, "matrix": [0, 2]}, - {"label": "GP3", "x": 0, "y": 3, "matrix": [0, 3]}, - {"label": "GP4", "x": 0, "y": 4, "matrix": [0, 4]}, - {"label": "GP5", "x": 0, "y": 5, "matrix": [0, 5]}, - {"label": "GP6", "x": 0, "y": 6, "matrix": [0, 6]}, - - {"label": "GP7", "x": 1, "y": 0, "matrix": [1, 0]}, - {"label": "GP8", "x": 1, "y": 1, "matrix": [1, 1]}, - {"label": "GP9", "x": 1, "y": 2, "matrix": [1, 2]}, - {"label": "GP10", "x": 1, "y": 3, "matrix": [1, 3]}, - {"label": "GP11", "x": 1, "y": 4, "matrix": [1, 4]}, - {"label": "GP12", "x": 1, "y": 5, "matrix": [1, 5]}, - {"label": "GP13", "x": 1, "y": 6, "matrix": [1, 6]}, - - {"label": "GP14", "x": 2, "y": 0, "matrix": [2, 0]}, - {"label": "GP16", "x": 2, "y": 1, "matrix": [2, 1]}, - {"label": "GP17", "x": 2, "y": 2, "matrix": [2, 2]}, - {"label": "GP18", "x": 2, "y": 3, "matrix": [2, 3]}, - {"label": "GP19", "x": 2, "y": 4, "matrix": [2, 4]}, - {"label": "GP20", "x": 2, "y": 5, "matrix": [2, 5]}, - {"label": "GP21", "x": 2, "y": 6, "matrix": [2, 6]} - ] - } - } -} diff --git a/keyboards/adafruit/pico_pad/keymaps/default/keymap.json b/keyboards/adafruit/pico_pad/keymaps/default/keymap.json deleted file mode 100644 index 33e2979a09..0000000000 --- a/keyboards/adafruit/pico_pad/keymaps/default/keymap.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "keyboard": "adafruit/pico_pad", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - [ - "KC_A", "KC_B", "KC_C", "KC_D", "KC_E", "KC_F", "KC_G", - "KC_H", "KC_I", "KC_J", "KC_K", "KC_L", "KC_M", "KC_N", - "KC_O", "KC_P", "KC_Q", "KC_R", "KC_S", "KC_T", "KC_U" - ] - ] -} diff --git a/keyboards/adafruit/pico_pad/readme.md b/keyboards/adafruit/pico_pad/readme.md deleted file mode 100644 index 4a834fbf4d..0000000000 --- a/keyboards/adafruit/pico_pad/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# PICO PAD - -![PICO PAD](https://imgur.com/Nl4tZPl.jpg) - -A RP2040 powered direct pins QMK keyboard in 3x7 layout. - -A guide can be found here: [Pico Mechanical Keyboard](https://learn.adafruit.com/diy-pico-mechanical-keyboard-with-fritzing-circuitpython/overview) - -* Keyboard Maintainer: [IcyAvocado](https://github.com/icyavocado) -* Hardware Supported: [Pico 1 Microcontrollers - RP2040](https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html#pico-1-family) -* Hardware Availability: [The PiHut](https://thepihut.com/products/raspberry-pi-pico) | [Adafruit Parts](https://learn.adafruit.com/diy-pico-mechanical-keyboard-with-fritzing-circuitpython/overview) - -Make example for this board (after setting up your build environment): - -```sh -qmk compile -kb adafruit/pico_pad -km default -``` - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader: -* **Physical reset button**: Briefly press the reset button on the left of the PCB - some may have pads you must short instead -* **Boot button**: Press and hold the BOOTSEL button on the pico when powered on diff --git a/keyboards/adelheid/keyboard.json b/keyboards/adelheid/keyboard.json index 4247a06b21..7766a44a8d 100644 --- a/keyboards/adelheid/keyboard.json +++ b/keyboards/adelheid/keyboard.json @@ -12,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/adkb96/rev1/keyboard.json b/keyboards/adkb96/rev1/keyboard.json index 3c0c757c05..7cf92f1516 100644 --- a/keyboards/adkb96/rev1/keyboard.json +++ b/keyboards/adkb96/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ADKB96", "manufacturer": "Bit Trade One", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x00A5", @@ -34,7 +35,8 @@ "tapping": { "term": 100 }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layout_aliases": { "LAYOUT": "LAYOUT_ortho_6x16" }, diff --git a/keyboards/adkb96/rules.mk b/keyboards/adkb96/rules.mk new file mode 100644 index 0000000000..ac7561b21d --- /dev/null +++ b/keyboards/adkb96/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = adkb96/rev1 diff --git a/keyboards/adm42/rev4/keyboard.json b/keyboards/adm42/rev4/keyboard.json index 761364d8a7..efb0eea029 100644 --- a/keyboards/adm42/rev4/keyboard.json +++ b/keyboards/adm42/rev4/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -80,6 +82,7 @@ {"matrix": [0, 10], "x": 194, "y": 13, "flags": 4}, {"matrix": [0, 11], "x": 210, "y": 11, "flags": 4} ], + "led_flush_limit": 16, "led_process_limit": 21, "max_brightness": 170, "sat_steps": 24, diff --git a/keyboards/adm42/rules.mk b/keyboards/adm42/rules.mk new file mode 100644 index 0000000000..06fc88e9f6 --- /dev/null +++ b/keyboards/adm42/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = adm42/rev4 \ No newline at end of file diff --git a/keyboards/adpenrose/akemipad/keyboard.json b/keyboards/adpenrose/akemipad/keyboard.json index 2dcfed3b5a..50003fbb5f 100644 --- a/keyboards/adpenrose/akemipad/keyboard.json +++ b/keyboards/adpenrose/akemipad/keyboard.json @@ -23,6 +23,8 @@ "features": { "audio": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/adpenrose/kintsugi/keyboard.json b/keyboards/adpenrose/kintsugi/keyboard.json index ee4de0e267..46504298f8 100644 --- a/keyboards/adpenrose/kintsugi/keyboard.json +++ b/keyboards/adpenrose/kintsugi/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/adpenrose/obi/keyboard.json b/keyboards/adpenrose/obi/keyboard.json index e02a331434..8c1428ca81 100644 --- a/keyboards/adpenrose/obi/keyboard.json +++ b/keyboards/adpenrose/obi/keyboard.json @@ -29,6 +29,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/adpenrose/shisaku/keyboard.json b/keyboards/adpenrose/shisaku/keyboard.json index 62bdd42563..1382ee3b62 100644 --- a/keyboards/adpenrose/shisaku/keyboard.json +++ b/keyboards/adpenrose/shisaku/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/aeboards/aegis/keyboard.json b/keyboards/aeboards/aegis/keyboard.json index fcebbf4bc5..26f5f2a0c1 100644 --- a/keyboards/aeboards/aegis/keyboard.json +++ b/keyboards/aeboards/aegis/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Aegis", "manufacturer": "AEboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4145", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/aeboards/constellation/rev1/keyboard.json b/keyboards/aeboards/constellation/rev1/keyboard.json index 4c21a8f3b9..5a43568d57 100644 --- a/keyboards/aeboards/constellation/rev1/keyboard.json +++ b/keyboards/aeboards/constellation/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Constellation Rev1", "manufacturer": "AEBoards", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x4145", diff --git a/keyboards/aeboards/constellation/rev2/keyboard.json b/keyboards/aeboards/constellation/rev2/keyboard.json index e4add7a63a..f296b523e0 100644 --- a/keyboards/aeboards/constellation/rev2/keyboard.json +++ b/keyboards/aeboards/constellation/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Constellation Rev2", "manufacturer": "AEBoards", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x4145", diff --git a/keyboards/aeboards/constellation/rev3/keyboard.json b/keyboards/aeboards/constellation/rev3/keyboard.json index 306561409c..ab39641b74 100644 --- a/keyboards/aeboards/constellation/rev3/keyboard.json +++ b/keyboards/aeboards/constellation/rev3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Constellation Rev3", "manufacturer": "AEBoards", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x4145", diff --git a/keyboards/aeboards/constellation/rules.mk b/keyboards/aeboards/constellation/rules.mk new file mode 100755 index 0000000000..bd2af5d22b --- /dev/null +++ b/keyboards/aeboards/constellation/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = aeboards/constellation/rev1 diff --git a/keyboards/aeboards/ext65/info.json b/keyboards/aeboards/ext65/info.json index e4c57bd144..3f4b0bbc00 100644 --- a/keyboards/aeboards/ext65/info.json +++ b/keyboards/aeboards/ext65/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ext65", "manufacturer": "AEBoards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4145" diff --git a/keyboards/aeboards/ext65/rev1/keyboard.json b/keyboards/aeboards/ext65/rev1/keyboard.json index 80370f6045..1d105505e5 100644 --- a/keyboards/aeboards/ext65/rev1/keyboard.json +++ b/keyboards/aeboards/ext65/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ext65 Rev1", "manufacturer": "AEBoards", + "url": "", "maintainer": "qmk", "usb": { "pid": "0xAE65", diff --git a/keyboards/aeboards/ext65/rev2/keyboard.json b/keyboards/aeboards/ext65/rev2/keyboard.json index ca2777d36c..ab7cceeefb 100644 --- a/keyboards/aeboards/ext65/rev2/keyboard.json +++ b/keyboards/aeboards/ext65/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ext65 Rev2", "manufacturer": "AEBoards", + "url": "", "maintainer": "qmk", "usb": { "pid": "0xA652", diff --git a/keyboards/aeboards/ext65/rev3/keyboard.json b/keyboards/aeboards/ext65/rev3/keyboard.json index 867e46e519..8c8051fc44 100644 --- a/keyboards/aeboards/ext65/rev3/keyboard.json +++ b/keyboards/aeboards/ext65/rev3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ext65 Rev3", "manufacturer": "AEBoards", + "url": "", "maintainer": "qmk", "usb": { "pid": "0xA653", diff --git a/keyboards/aeboards/ext65/rules.mk b/keyboards/aeboards/ext65/rules.mk new file mode 100644 index 0000000000..d8b0595a5d --- /dev/null +++ b/keyboards/aeboards/ext65/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = aeboards/ext65/rev2 \ No newline at end of file diff --git a/keyboards/aeboards/satellite/rev1/keyboard.json b/keyboards/aeboards/satellite/rev1/keyboard.json index f9355171fb..8b90704efa 100644 --- a/keyboards/aeboards/satellite/rev1/keyboard.json +++ b/keyboards/aeboards/satellite/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Satellite Rev1", "manufacturer": "AEBoards", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x4145", diff --git a/keyboards/aeboards/satellite/rules.mk b/keyboards/aeboards/satellite/rules.mk new file mode 100644 index 0000000000..bc32615d2b --- /dev/null +++ b/keyboards/aeboards/satellite/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = aeboards/satellite/rev1 diff --git a/keyboards/afternoonlabs/gust/rev1/keyboard.json b/keyboards/afternoonlabs/gust/rev1/keyboard.json index 7f22279cc3..93ad60ad7d 100644 --- a/keyboards/afternoonlabs/gust/rev1/keyboard.json +++ b/keyboards/afternoonlabs/gust/rev1/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/ah/haven80/info.json b/keyboards/ah/haven80/info.json index 1a8c33890a..bd87815154 100644 --- a/keyboards/ah/haven80/info.json +++ b/keyboards/ah/haven80/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Atelier_Haven", + "url": "", "maintainer": "Freather", "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/ai/keyboard.json b/keyboards/ai/keyboard.json index bf594d306a..8f4039b4d2 100644 --- a/keyboards/ai/keyboard.json +++ b/keyboards/ai/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["D0", "D4", "C6", "D7", "D1"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/ai03/altair/keyboard.json b/keyboards/ai03/altair/keyboard.json index ac5ff28eb1..a8cd8b02a7 100644 --- a/keyboards/ai03/altair/keyboard.json +++ b/keyboards/ai03/altair/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ai03/altair_x/keyboard.json b/keyboards/ai03/altair_x/keyboard.json index 922496778f..27f36af97b 100644 --- a/keyboards/ai03/altair_x/keyboard.json +++ b/keyboards/ai03/altair_x/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ai03/andromeda/keyboard.json b/keyboards/ai03/andromeda/keyboard.json index 0ad082436a..d085b91ad1 100644 --- a/keyboards/ai03/andromeda/keyboard.json +++ b/keyboards/ai03/andromeda/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Andromeda", "manufacturer": "ai03 Design Studio", + "url": "", "maintainer": "ai03", "usb": { "vid": "0xA103", diff --git a/keyboards/ai03/duet/keyboard.json b/keyboards/ai03/duet/keyboard.json index 287097e0e1..1d11c868a3 100644 --- a/keyboards/ai03/duet/keyboard.json +++ b/keyboards/ai03/duet/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/ai03/equinox/info.json b/keyboards/ai03/equinox/info.json index a6c424e187..7c2cc46500 100644 --- a/keyboards/ai03/equinox/info.json +++ b/keyboards/ai03/equinox/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Equinox", "manufacturer": "ai03 Design Studio", + "url": "", "maintainer": "ai03", "usb": { "vid": "0xA103", diff --git a/keyboards/ai03/equinox/rev0/keyboard.json b/keyboards/ai03/equinox/rev0/keyboard.json index 5006c88239..e38fada333 100644 --- a/keyboards/ai03/equinox/rev0/keyboard.json +++ b/keyboards/ai03/equinox/rev0/keyboard.json @@ -3,6 +3,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ai03/equinox/rev1/keyboard.json b/keyboards/ai03/equinox/rev1/keyboard.json index 59a311e577..590a84b31c 100644 --- a/keyboards/ai03/equinox/rev1/keyboard.json +++ b/keyboards/ai03/equinox/rev1/keyboard.json @@ -3,6 +3,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ai03/equinox_xl/keyboard.json b/keyboards/ai03/equinox_xl/keyboard.json index d3b6fd0969..e6abf4a0c2 100644 --- a/keyboards/ai03/equinox_xl/keyboard.json +++ b/keyboards/ai03/equinox_xl/keyboard.json @@ -9,6 +9,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ai03/jp60/keyboard.json b/keyboards/ai03/jp60/keyboard.json index 901263c6c8..389993626d 100644 --- a/keyboards/ai03/jp60/keyboard.json +++ b/keyboards/ai03/jp60/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ai03/lily/keyboard.json b/keyboards/ai03/lily/keyboard.json deleted file mode 100644 index ce482a674e..0000000000 --- a/keyboards/ai03/lily/keyboard.json +++ /dev/null @@ -1,189 +0,0 @@ -{ - "manufacturer": "ai03 Design Studio", - "keyboard_name": "Lily", - "maintainer": "ai03", - "bootloader": "atmel-dfu", - "build": { - "debounce_type": "asym_eager_defer_pk", - "lto": true - }, - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "indicators": { - "caps_lock": "B0", - "on_state": 0 - }, - "matrix_pins": { - "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], - "rows": ["B2", "B7", "D5", "B1", "D3"] - }, - "processor": "atmega32u4", - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "rgb_test": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 4 - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x0026", - "vid": "0xA103" - }, - "ws2812": { - "pin": "D2" - }, - "community_layouts": ["60_hhkb"], - "layouts": { - "LAYOUT_60_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4} - ] - }, - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 5], "x": 4, "y": 4, "w": 3}, - {"matrix": [4, 7], "x": 7, "y": 4}, - {"matrix": [4, 9], "x": 8, "y": 4, "w": 3}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4} - ] - } - } -} diff --git a/keyboards/ai03/lily/keymaps/60_hhkb/keymap.c b/keyboards/ai03/lily/keymaps/60_hhkb/keymap.c deleted file mode 100644 index be9e2ee1a1..0000000000 --- a/keyboards/ai03/lily/keymaps/60_hhkb/keymap.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright 2025 Cipulot & ai03 Design Studio - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // clang-format off - [0] = LAYOUT_60_hhkb( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT - ), - - [1] = LAYOUT_60_hhkb( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, - _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, - _______, _______, _______, _______, MO(2) - ), - - [2] = LAYOUT_60_hhkb( - QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______ - ) - // clang-format on -}; diff --git a/keyboards/ai03/lily/keymaps/default/keymap.c b/keyboards/ai03/lily/keymaps/default/keymap.c deleted file mode 100644 index ae1949810d..0000000000 --- a/keyboards/ai03/lily/keymaps/default/keymap.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright 2025 Cipulot & ai03 Design Studio - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // clang-format off - [0] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT - ), - - [1] = LAYOUT_all( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, - _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, - _______, _______, _______, _______, _______, _______, MO(2) - ), - - [2] = LAYOUT_all( - QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ) - // clang-format on -}; diff --git a/keyboards/ai03/lily/readme.md b/keyboards/ai03/lily/readme.md deleted file mode 100644 index c8733629a2..0000000000 --- a/keyboards/ai03/lily/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Lily - -![Lily](https://i.imgur.com/nIhwT2V.png) - -PCB for Gok's Lily keyboard - -* Keyboard Maintainer: [ai03](https://github.com/ai03-2725) -* Hardware Supported: Lily PCB -* Hardware Availability: Through Lily group buy - -Make example for this keyboard (after setting up your build environment): - - make ai03/lily:default - -Flashing example for this keyboard: - - make ai03/liily:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 2 ways: - -* **Physical reset**: Double tap the button on the bottom on the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/ai03/orbit_x/keyboard.json b/keyboards/ai03/orbit_x/keyboard.json index 859ff47085..d039969b37 100644 --- a/keyboards/ai03/orbit_x/keyboard.json +++ b/keyboards/ai03/orbit_x/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "OrbitX", "manufacturer": "ai03 Design Studio", + "url": "", "maintainer": "ai03", "usb": { "vid": "0xA103", diff --git a/keyboards/ai03/polaris/keyboard.json b/keyboards/ai03/polaris/keyboard.json index 72fe915cb2..7e6ab9aec7 100644 --- a/keyboards/ai03/polaris/keyboard.json +++ b/keyboards/ai03/polaris/keyboard.json @@ -12,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/ai03/quasar/keyboard.json b/keyboards/ai03/quasar/keyboard.json index bd4b1b51d9..52902e3067 100644 --- a/keyboards/ai03/quasar/keyboard.json +++ b/keyboards/ai03/quasar/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/ai03/soyuz/keyboard.json b/keyboards/ai03/soyuz/keyboard.json index be41a01798..2abfbd5ead 100644 --- a/keyboards/ai03/soyuz/keyboard.json +++ b/keyboards/ai03/soyuz/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ai03/voyager60_alps/keyboard.json b/keyboards/ai03/voyager60_alps/keyboard.json index 1c1ed33f52..9b8fa051b5 100644 --- a/keyboards/ai03/voyager60_alps/keyboard.json +++ b/keyboards/ai03/voyager60_alps/keyboard.json @@ -19,6 +19,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/aidansmithdotdev/fine40/keyboard.json b/keyboards/aidansmithdotdev/fine40/keyboard.json index 503e7a162a..9663106607 100644 --- a/keyboards/aidansmithdotdev/fine40/keyboard.json +++ b/keyboards/aidansmithdotdev/fine40/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "encoder": true, diff --git a/keyboards/akb/ogr/keyboard.json b/keyboards/akb/ogr/keyboard.json index 0e401c8f52..d1b062820a 100644 --- a/keyboards/akb/ogr/keyboard.json +++ b/keyboards/akb/ogr/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/akb/ogrn/keyboard.json b/keyboards/akb/ogrn/keyboard.json index 7ccf6ebb97..780c353747 100644 --- a/keyboards/akb/ogrn/keyboard.json +++ b/keyboards/akb/ogrn/keyboard.json @@ -5,6 +5,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/akb/vero/config.h b/keyboards/akb/vero/config.h new file mode 100644 index 0000000000..bb6d15d92c --- /dev/null +++ b/keyboards/akb/vero/config.h @@ -0,0 +1,23 @@ +// Copyright 2022 Martin Arnstad (@arnstadm) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* Set HSE clock since it differs from F411 default */ +#define STM32_HSECLK 16000000 diff --git a/keyboards/akb/vero/keyboard.json b/keyboards/akb/vero/keyboard.json index dcdaf21635..a598578c0c 100644 --- a/keyboards/akb/vero/keyboard.json +++ b/keyboards/akb/vero/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/akko/5087/5087.c b/keyboards/akko/5087/5087.c index 27439c20ef..996f8c2585 100644 --- a/keyboards/akko/5087/5087.c +++ b/keyboards/akko/5087/5087.c @@ -164,7 +164,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { if (record->event.pressed) { set_single_persistent_default_layer(MAC_B); keymap_config.no_gui = 0; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } return false; case QK_RGB_MATRIX_TOGGLE: diff --git a/keyboards/akko/5087/halconf.h b/keyboards/akko/5087/halconf.h index b8ebdb3369..55bfe5c977 100644 --- a/keyboards/akko/5087/halconf.h +++ b/keyboards/akko/5087/halconf.h @@ -17,5 +17,7 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/akko/5087/keyboard.json b/keyboards/akko/5087/keyboard.json index 0561817b69..a2f72351ed 100644 --- a/keyboards/akko/5087/keyboard.json +++ b/keyboards/akko/5087/keyboard.json @@ -16,6 +16,8 @@ "bootmagic": true, "mousekey": false, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/akko/5108/halconf.h b/keyboards/akko/5108/halconf.h index 2ddb9c35d8..2f64e65393 100644 --- a/keyboards/akko/5108/halconf.h +++ b/keyboards/akko/5108/halconf.h @@ -17,5 +17,7 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/akko/5108/keyboard.json b/keyboards/akko/5108/keyboard.json index b62dbbf17c..e98e421089 100644 --- a/keyboards/akko/5108/keyboard.json +++ b/keyboards/akko/5108/keyboard.json @@ -16,6 +16,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/akko/acr87/halconf.h b/keyboards/akko/acr87/halconf.h index 2ddb9c35d8..2f64e65393 100644 --- a/keyboards/akko/acr87/halconf.h +++ b/keyboards/akko/acr87/halconf.h @@ -17,5 +17,7 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/akko/acr87/keyboard.json b/keyboards/akko/acr87/keyboard.json index 17981b609a..9f37a91b9a 100644 --- a/keyboards/akko/acr87/keyboard.json +++ b/keyboards/akko/acr87/keyboard.json @@ -16,6 +16,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/akko/top40/halconf.h b/keyboards/akko/top40/halconf.h index 2ddb9c35d8..2f64e65393 100644 --- a/keyboards/akko/top40/halconf.h +++ b/keyboards/akko/top40/halconf.h @@ -17,5 +17,7 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/akko/top40/keyboard.json b/keyboards/akko/top40/keyboard.json index 3cb7086608..fd7cf497e7 100644 --- a/keyboards/akko/top40/keyboard.json +++ b/keyboards/akko/top40/keyboard.json @@ -16,6 +16,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/al1/keyboard.json b/keyboards/al1/keyboard.json index aed02e8ade..7e6440560f 100644 --- a/keyboards/al1/keyboard.json +++ b/keyboards/al1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "AL1", "manufacturer": "Alsoran", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x544C", diff --git a/keyboards/al1/readme.md b/keyboards/al1/readme.md index 4dcf83f05f..3531e2fdc6 100644 --- a/keyboards/al1/readme.md +++ b/keyboards/al1/readme.md @@ -1,5 +1,7 @@ # TriangleLabs AL1 +![AL1](imgur.com image replace me!) + * Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin), [Olivia](https://github.com/olivia) * Hardware Supported: AL1 PCB * Hardware Availability: [GroupBuy](https://geekhack.org/index.php?topic=93258.0) diff --git a/keyboards/alf/dc60/readme.md b/keyboards/alf/dc60/readme.md index 628878e8de..d8e20a8f4f 100644 --- a/keyboards/alf/dc60/readme.md +++ b/keyboards/alf/dc60/readme.md @@ -1,5 +1,7 @@ # dc60 +![dc60](imgur.com image replace me!) + A 60% PCB sold with the Alf DC60. Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) diff --git a/keyboards/alf/x11/keyboard.json b/keyboards/alf/x11/keyboard.json index 5d141804ba..c571705dc1 100644 --- a/keyboards/alf/x11/keyboard.json +++ b/keyboards/alf/x11/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "X1.1", "manufacturer": "ALF", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4146", @@ -13,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/alf/x2/keyboard.json b/keyboards/alf/x2/keyboard.json index 103c7ad88b..9dd011c7f1 100644 --- a/keyboards/alf/x2/keyboard.json +++ b/keyboards/alf/x2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "X2", "manufacturer": "ALF", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/alfredslab/swift65/hotswap/keyboard.json b/keyboards/alfredslab/swift65/hotswap/keyboard.json index edf4a13ce1..d2a6e6da03 100644 --- a/keyboards/alfredslab/swift65/hotswap/keyboard.json +++ b/keyboards/alfredslab/swift65/hotswap/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/alfredslab/swift65/solder/keyboard.json b/keyboards/alfredslab/swift65/solder/keyboard.json index 50cdb3fd56..cb419d4cc1 100644 --- a/keyboards/alfredslab/swift65/solder/keyboard.json +++ b/keyboards/alfredslab/swift65/solder/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/alhenkb/macropad5x4/keyboard.json b/keyboards/alhenkb/macropad5x4/keyboard.json index 79cf98fb63..1fb472255d 100644 --- a/keyboards/alhenkb/macropad5x4/keyboard.json +++ b/keyboards/alhenkb/macropad5x4/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -14,6 +16,7 @@ "rows": ["F5", "F7", "B3", "B6", "B5"], "cols": ["F4", "F6", "B1", "B2"] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/alpha/keyboard.json b/keyboards/alpha/keyboard.json index 84a25eb180..1cb2fe71cd 100644 --- a/keyboards/alpha/keyboard.json +++ b/keyboards/alpha/keyboard.json @@ -29,6 +29,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/alpine65/keyboard.json b/keyboards/alpine65/keyboard.json index ae372d2a08..36bba880a8 100644 --- a/keyboards/alpine65/keyboard.json +++ b/keyboards/alpine65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Alpine65", "manufacturer": "Bitmap Designs", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x6680", diff --git a/keyboards/alps64/keyboard.json b/keyboards/alps64/keyboard.json index d8f5fb22b5..a6a60478f8 100644 --- a/keyboards/alps64/keyboard.json +++ b/keyboards/alps64/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Alps64", "manufacturer": "Hasu", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6873", diff --git a/keyboards/amag23/keyboard.json b/keyboards/amag23/keyboard.json index 01b4b18e0c..e3eb16cdad 100644 --- a/keyboards/amag23/keyboard.json +++ b/keyboards/amag23/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/amjkeyboard/amj40/keyboard.json b/keyboards/amjkeyboard/amj40/keyboard.json index 1c1824c25c..de536cb55e 100644 --- a/keyboards/amjkeyboard/amj40/keyboard.json +++ b/keyboards/amjkeyboard/amj40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "AMJ40", "manufacturer": "Han Chen", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x00D8", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/amjkeyboard/amj60/keyboard.json b/keyboards/amjkeyboard/amj60/keyboard.json index f7d074041e..a2cfd1b6e1 100644 --- a/keyboards/amjkeyboard/amj60/keyboard.json +++ b/keyboards/amjkeyboard/amj60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "AMJ60", "manufacturer": "Han Chen", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x00D8", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/amjkeyboard/amj66/keyboard.json b/keyboards/amjkeyboard/amj66/keyboard.json index f674452f32..72646e4fc7 100644 --- a/keyboards/amjkeyboard/amj66/keyboard.json +++ b/keyboards/amjkeyboard/amj66/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "AMJ66", "manufacturer": "AMJKeyboard", + "url": "", "maintainer": "FSund, qmk", "usb": { "vid": "0x00D8", diff --git a/keyboards/amjkeyboard/amj84/keyboard.json b/keyboards/amjkeyboard/amj84/keyboard.json index a6108ab9a7..b544ffc8b3 100644 --- a/keyboards/amjkeyboard/amj84/keyboard.json +++ b/keyboards/amjkeyboard/amj84/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "AMJ84", "manufacturer": "Han Chen", + "url": "", "maintainer": "peepeetee", "usb": { "vid": "0x00D8", @@ -11,6 +12,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/amjkeyboard/amj96/keyboard.json b/keyboards/amjkeyboard/amj96/keyboard.json index ea02e6170c..23a131c615 100644 --- a/keyboards/amjkeyboard/amj96/keyboard.json +++ b/keyboards/amjkeyboard/amj96/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "AMJ96", "manufacturer": "Han Chen", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x00D8", diff --git a/keyboards/amjkeyboard/amjpad/keyboard.json b/keyboards/amjkeyboard/amjpad/keyboard.json index 3fa60ed3d7..e331f3af19 100644 --- a/keyboards/amjkeyboard/amjpad/keyboard.json +++ b/keyboards/amjkeyboard/amjpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "PAD", "manufacturer": "AMJ", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x00D8", diff --git a/keyboards/amptrics/0422/0422.c b/keyboards/amptrics/0422/0422.c deleted file mode 100644 index 4c0ed2e5b8..0000000000 --- a/keyboards/amptrics/0422/0422.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright 2024 Vinod Chowl (@vchowl) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2.0 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -#define LED_LAYER_0 B3 -#define LED_LAYER_1 B4 -#define LED_LAYER_2 B5 -#define LED_LAYER_3 B6 - -#define LED_PINS_COUNT 4 - -static pin_t pins[LED_PINS_COUNT] = {LED_LAYER_0, LED_LAYER_1, LED_LAYER_2, LED_LAYER_3}; - -// Function to turn on all LEDs -void turn_on_all_leds(void) { - for (uint8_t i = 0; i < LED_PINS_COUNT; i++) { - gpio_write_pin_high(pins[i]); // Turn on LED - } -} - -// Function to turn off all LEDs -void turn_off_all_leds(void) { - for (uint8_t i = 0; i < LED_PINS_COUNT; i++) { - gpio_write_pin_low(pins[i]); // Turn off LED - } -} - -void update_leds_for_layer(uint8_t layer) { - turn_off_all_leds(); - if (layer < LED_PINS_COUNT) { - gpio_write_pin_high(pins[layer]); - } -} - -void keyboard_post_init_kb(void) { - for (uint8_t i = 0; i < LED_PINS_COUNT; i++) { - gpio_set_pin_output(pins[i]); - gpio_write_pin_low(pins[i]); - } - - // Blink all LEDs - turn_on_all_leds(); - wait_ms(500); // Keep LEDs on for 500ms - turn_off_all_leds(); - - update_leds_for_layer(0); // Update LEDs to indicate the default layer - keyboard_post_init_user(); -} - -layer_state_t layer_state_set_kb(layer_state_t state) { - uint8_t layer = get_highest_layer(state); - update_leds_for_layer(layer); - return layer_state_set_user(state); -} diff --git a/keyboards/amptrics/0422/config.h b/keyboards/amptrics/0422/config.h deleted file mode 100644 index e9c1eed8b9..0000000000 --- a/keyboards/amptrics/0422/config.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define DYNAMIC_KEYMAP_MACRO_COUNT 36 diff --git a/keyboards/amptrics/0422/keyboard.json b/keyboards/amptrics/0422/keyboard.json deleted file mode 100644 index 09ca2e10c3..0000000000 --- a/keyboards/amptrics/0422/keyboard.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "manufacturer": "Amptrics Technologies", - "keyboard_name": "Amptrics 0422", - "maintainer": "vchowl", - "bootloader": "stm32-dfu", - "diode_direction": "ROW2COL", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["C8", "C7", "C6"], - "rows": ["A14", "A13", "A10", "A9"] - }, - "processor": "STM32F072", - "usb": { - "device_version": "1.0.0", - "pid": "0x01A6", - "vid": "0x616D" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3} - ] - } - } -} diff --git a/keyboards/amptrics/0422/keymaps/default/keymap.c b/keyboards/amptrics/0422/keymaps/default/keymap.c deleted file mode 100644 index ef36a65835..0000000000 --- a/keyboards/amptrics/0422/keymaps/default/keymap.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright 2024 Vinod Chowl (@vchowl) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2.0 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┐ - * │Tog│ - * ├───┼───┬───┐ - * │ 7 │ 8 │ 9 │ - * ├───┼───┼───┤ - * │ 4 │ 5 │ 6 │ - * ├───┼───┼───┤ - * │ 1 │ 2 │ 3 │ - * └───┴───┴───┘ - */ - [0] = LAYOUT( - TO(1), - KC_7, KC_8, KC_9, - KC_4, KC_5, KC_6, - KC_1, KC_2, KC_3 - ), - - [1] = LAYOUT( - TO(2), - KC_A, KC_B, KC_C, - KC_D, KC_E, KC_F, - KC_G, KC_H, KC_I - ), - - [2] = LAYOUT( - TO(3), - KC_J, KC_K, KC_L, - KC_M, KC_N, KC_O, - KC_P, KC_Q, KC_R - ), - - [3] = LAYOUT( - TO(0), - KC_S, KC_T, KC_U, - KC_V, KC_W, KC_X, - KC_Y, KC_Z, KC_ENT - ) -}; diff --git a/keyboards/amptrics/0422/readme.md b/keyboards/amptrics/0422/readme.md deleted file mode 100644 index 7d900f9b58..0000000000 --- a/keyboards/amptrics/0422/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# Amptrics 0422 Programmable Keypad - -![magtray4x3](https://i.imgur.com/G5QMlpn_d.jpeg) - -* Keyboard Maintainer: [vchowl](https://github.com/vchowl) -* Hardware Supported: STM32F072RBT6 -* Hardware Availability: Not yet available. - -Make example for this keyboard (after setting up your build environment): - - make amptrics/0422:default - -Flashing example for this keyboard: - - make amptrics/0422:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/an_achronism/tetromino/keyboard.json b/keyboards/an_achronism/tetromino/keyboard.json index b9c0acb374..98cb9faf3e 100644 --- a/keyboards/an_achronism/tetromino/keyboard.json +++ b/keyboards/an_achronism/tetromino/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/anavi/arrows/keyboard.json b/keyboards/anavi/arrows/keyboard.json index 0d09b6d551..48dae7b2ea 100644 --- a/keyboards/anavi/arrows/keyboard.json +++ b/keyboards/anavi/arrows/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/anavi/knob1/keyboard.json b/keyboards/anavi/knob1/keyboard.json index 83d0064b8d..9c4c60640e 100644 --- a/keyboards/anavi/knob1/keyboard.json +++ b/keyboards/anavi/knob1/keyboard.json @@ -7,6 +7,8 @@ "bootloader": "rp2040", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/anavi/knobs3/keyboard.json b/keyboards/anavi/knobs3/keyboard.json index 13f5ab6e14..11081ee086 100644 --- a/keyboards/anavi/knobs3/keyboard.json +++ b/keyboards/anavi/knobs3/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, @@ -21,6 +23,9 @@ "rgblight": { "led_count": 1, "hue_steps": 10, + "saturation_steps": 17, + "brightness_steps": 17, + "max_brightness": 255, "animations": { "alternating": true, "breathing": true, diff --git a/keyboards/anavi/macropad10/keyboard.json b/keyboards/anavi/macropad10/keyboard.json index 6b104b7afc..a355fdd549 100644 --- a/keyboards/anavi/macropad10/keyboard.json +++ b/keyboards/anavi/macropad10/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, @@ -20,6 +22,9 @@ "rgblight": { "led_count": 4, "hue_steps": 10, + "saturation_steps": 17, + "brightness_steps": 17, + "max_brightness": 255, "animations": { "alternating": true, "breathing": true, diff --git a/keyboards/anavi/macropad12/keyboard.json b/keyboards/anavi/macropad12/keyboard.json index 7ac3e27fcd..3a1a07a0a1 100644 --- a/keyboards/anavi/macropad12/keyboard.json +++ b/keyboards/anavi/macropad12/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/anavi/macropad8/keyboard.json b/keyboards/anavi/macropad8/keyboard.json index 8073a038a2..d70d3fa047 100644 --- a/keyboards/anavi/macropad8/keyboard.json +++ b/keyboards/anavi/macropad8/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Macro Pad 8", "manufacturer": "ANAVI", + "url": "", "maintainer": "leon-anavi", "usb": { "vid": "0xCEEB", @@ -22,6 +23,7 @@ "rainbow_swirl": true, "snake": true, "knight": true, + "christmas": true, "static_gradient": true, "rgb_test": true, "alternating": true, @@ -36,6 +38,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/andean_condor/keyboard.json b/keyboards/andean_condor/keyboard.json index 02cb70986b..cfc3eefa87 100644 --- a/keyboards/andean_condor/keyboard.json +++ b/keyboards/andean_condor/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/annepro2/annepro2.c b/keyboards/annepro2/annepro2.c index 9e72dbf6fb..f536690de3 100644 --- a/keyboards/annepro2/annepro2.c +++ b/keyboards/annepro2/annepro2.c @@ -48,11 +48,6 @@ ble_capslock_t ble_capslock = {._dummy = {0}, .caps_lock = false}; static uint8_t led_enabled = 1; #endif -void mcu_reset(void) { - __disable_irq(); - NVIC_SystemReset(); -} - void bootloader_jump(void) { // Send msg to shine to boot into IAP ap2_set_IAP(); diff --git a/keyboards/annepro2/c15/rules.mk b/keyboards/annepro2/c15/rules.mk index cd056527b7..f35d9002ef 100644 --- a/keyboards/annepro2/c15/rules.mk +++ b/keyboards/annepro2/c15/rules.mk @@ -4,7 +4,7 @@ ARMV = 6 USE_FPU = no MCU_FAMILY = HT32 MCU_SERIES = HT32F523xx -MCU_LDSCRIPT = HT32F52342_ANNEPRO2_C15 +MCU_LDSCRIPT = HT32F52342_ANNEPRO2 MCU_STARTUP = ht32f523xx BOARD = ANNEPRO2_C15 diff --git a/keyboards/annepro2/c18/rules.mk b/keyboards/annepro2/c18/rules.mk index 414e3f855d..b310454c5d 100644 --- a/keyboards/annepro2/c18/rules.mk +++ b/keyboards/annepro2/c18/rules.mk @@ -4,7 +4,7 @@ ARMV = 6 USE_FPU = no MCU_FAMILY = HT32 MCU_SERIES = HT32F523xx -MCU_LDSCRIPT = HT32F52352_ANNEPRO2_C18 +MCU_LDSCRIPT = HT32F52342_ANNEPRO2 MCU_STARTUP = ht32f523xx BOARD = ANNEPRO2_C18 diff --git a/keyboards/annepro2/halconf.h b/keyboards/annepro2/halconf.h index 980435448f..dcb04eab1b 100644 --- a/keyboards/annepro2/halconf.h +++ b/keyboards/annepro2/halconf.h @@ -26,5 +26,7 @@ #define SERIAL_USB_BUFFERS_SIZE 256 #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/annepro2/ld/HT32F52342_ANNEPRO2_C15.ld b/keyboards/annepro2/ld/HT32F52342_ANNEPRO2.ld similarity index 100% rename from keyboards/annepro2/ld/HT32F52342_ANNEPRO2_C15.ld rename to keyboards/annepro2/ld/HT32F52342_ANNEPRO2.ld diff --git a/keyboards/annepro2/ld/HT32F52352_ANNEPRO2_C18.ld b/keyboards/annepro2/ld/HT32F52352_ANNEPRO2_C18.ld deleted file mode 100644 index 0ac02d6c89..0000000000 --- a/keyboards/annepro2/ld/HT32F52352_ANNEPRO2_C18.ld +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (c) 2013-2016 Fabio UJonathan A. Kollaschtzig, http://fabioutzig.com - * (c) 2020 Yaotian Feng (Codetector) - * (c) 2025 Michał Kopeć - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -/* - * HT32F52342 w/ Anne Pro 2 bootloader memory setup. - */ -MEMORY { - flash0 : org = 0x00004000, len = 64k - 16k /* firmware */ - flash1 : org = 0x00000000, len = 0 - flash2 : org = 0x00000000, len = 0 - flash3 : org = 0x00000000, len = 0 - flash4 : org = 0x00000000, len = 0 - flash5 : org = 0x00000000, len = 0 - flash6 : org = 0x00000000, len = 0 - flash7 : org = 0x00000000, len = 0 - ram0 : org = 0x20000000, len = 16k /* RAM */ - ram1 : org = 0x00000000, len = 0 - ram2 : org = 0x00000000, len = 0 - ram3 : org = 0x00000000, len = 0 - ram4 : org = 0x00000000, len = 0 - ram5 : org = 0x00000000, len = 0 - ram6 : org = 0x00000000, len = 0 - ram7 : org = 0x00000000, len = 0 -} - -/* For each data/text section two region are defined, a virtual region - and a load region (_LMA suffix).*/ - -/* Flash region to be used for exception vectors.*/ -REGION_ALIAS("VECTORS_FLASH", flash0); -REGION_ALIAS("VECTORS_FLASH_LMA", flash0); - -/* Flash region to be used for constructors and destructors.*/ -REGION_ALIAS("XTORS_FLASH", flash0); -REGION_ALIAS("XTORS_FLASH_LMA", flash0); - -/* Flash region to be used for code text.*/ -REGION_ALIAS("TEXT_FLASH", flash0); -REGION_ALIAS("TEXT_FLASH_LMA", flash0); - -/* Flash region to be used for read only data.*/ -REGION_ALIAS("RODATA_FLASH", flash0); -REGION_ALIAS("RODATA_FLASH_LMA", flash0); - -/* Flash region to be used for various.*/ -REGION_ALIAS("VARIOUS_FLASH", flash0); -REGION_ALIAS("VARIOUS_FLASH_LMA", flash0); - -/* Flash region to be used for RAM(n) initialization data.*/ -REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0); - -/* RAM region to be used for Main stack. This stack accommodates the processing - of all exceptions and interrupts.*/ -REGION_ALIAS("MAIN_STACK_RAM", ram0); - -/* RAM region to be used for the process stack. This is the stack used by - the main() function.*/ -REGION_ALIAS("PROCESS_STACK_RAM", ram0); - -/* RAM region to be used for data segment.*/ -REGION_ALIAS("DATA_RAM", ram0); -REGION_ALIAS("DATA_RAM_LMA", flash0); - -/* RAM region to be used for BSS segment.*/ -REGION_ALIAS("BSS_RAM", ram0); - -/* RAM region to be used for the default heap.*/ -REGION_ALIAS("HEAP_RAM", ram0); - -/* Generic rules inclusion.*/ -INCLUDE rules.ld diff --git a/keyboards/ano/keyboard.json b/keyboards/ano/keyboard.json index 2954fd981e..9c46895f1a 100644 --- a/keyboards/ano/keyboard.json +++ b/keyboards/ano/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/anomalykb/a65i/keyboard.json b/keyboards/anomalykb/a65i/keyboard.json index 88de392a3b..8fadaadadb 100644 --- a/keyboards/anomalykb/a65i/keyboard.json +++ b/keyboards/anomalykb/a65i/keyboard.json @@ -9,6 +9,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/aos/tkl/keyboard.json b/keyboards/aos/tkl/keyboard.json index 7739ba860b..8cd47a44a5 100644 --- a/keyboards/aos/tkl/keyboard.json +++ b/keyboards/aos/tkl/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/aplyard/aplx6/info.json b/keyboards/aplyard/aplx6/info.json index a0624a7d49..9f86182a33 100644 --- a/keyboards/aplyard/aplx6/info.json +++ b/keyboards/aplyard/aplx6/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Aplx6", "manufacturer": "Aplyard", + "url": "", "maintainer": "Aplyard", "usb": { "vid": "0xE0E0" diff --git a/keyboards/aplyard/aplx6/rev1/keyboard.json b/keyboards/aplyard/aplx6/rev1/keyboard.json index 667ebdba02..e7f59d12c6 100644 --- a/keyboards/aplyard/aplx6/rev1/keyboard.json +++ b/keyboards/aplyard/aplx6/rev1/keyboard.json @@ -5,6 +5,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/aplyard/aplx6/rev2/keyboard.json b/keyboards/aplyard/aplx6/rev2/keyboard.json index 4c881534f4..7cd8d00544 100644 --- a/keyboards/aplyard/aplx6/rev2/keyboard.json +++ b/keyboards/aplyard/aplx6/rev2/keyboard.json @@ -5,6 +5,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/arabica37/rev1/keyboard.json b/keyboards/arabica37/rev1/keyboard.json index d1db9a276c..63c4fe2940 100644 --- a/keyboards/arabica37/rev1/keyboard.json +++ b/keyboards/arabica37/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Arabica3/7", "manufacturer": "CalciumNitride", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/archetype/minervalx/keyboard.json b/keyboards/archetype/minervalx/keyboard.json index 3523e95afb..0d01ccf485 100644 --- a/keyboards/archetype/minervalx/keyboard.json +++ b/keyboards/archetype/minervalx/keyboard.json @@ -18,6 +18,7 @@ "rows": ["GP11", "GP12", "GP13", "GP14", "GP15"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0100", diff --git a/keyboards/ares/keyboard.json b/keyboards/ares/keyboard.json index 21bf1a55f2..f1e650397e 100644 --- a/keyboards/ares/keyboard.json +++ b/keyboards/ares/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ares", "manufacturer": "LSJ", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json b/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json index 9717ada94f..47414ee0c4 100644 --- a/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json +++ b/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json @@ -15,6 +15,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json b/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json index 54a5b72d5a..89b9b1994f 100644 --- a/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json +++ b/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/arisu/keyboard.json b/keyboards/arisu/keyboard.json index 2dd58321e3..43bb668b99 100644 --- a/keyboards/arisu/keyboard.json +++ b/keyboards/arisu/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/arrayperipherals/1x4p1/keyboard.json b/keyboards/arrayperipherals/1x4p1/keyboard.json index 4a0f1b9cfd..f9344e3538 100644 --- a/keyboards/arrayperipherals/1x4p1/keyboard.json +++ b/keyboards/arrayperipherals/1x4p1/keyboard.json @@ -17,6 +17,8 @@ "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/artemis/paragon/info.json b/keyboards/artemis/paragon/info.json index 1ff5d4ab42..63fefe8c55 100644 --- a/keyboards/artemis/paragon/info.json +++ b/keyboards/artemis/paragon/info.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -15,6 +17,7 @@ "lto": true }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x3449", diff --git a/keyboards/ash1800/keyboard.json b/keyboards/ash1800/keyboard.json index c253590937..7156172173 100644 --- a/keyboards/ash1800/keyboard.json +++ b/keyboards/ash1800/keyboard.json @@ -15,6 +15,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/ash_xiix/keyboard.json b/keyboards/ash_xiix/keyboard.json index c1ba811d32..e743b80a8f 100644 --- a/keyboards/ash_xiix/keyboard.json +++ b/keyboards/ash_xiix/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ashwing66/keyboard.json b/keyboards/ashwing66/keyboard.json index 427eebcd96..27a5799964 100644 --- a/keyboards/ashwing66/keyboard.json +++ b/keyboards/ashwing66/keyboard.json @@ -75,6 +75,7 @@ {"matrix": [0, 14], "x": 206, "y": 1, "flags": 4}, {"matrix": [0, 15], "x": 223, "y": 0, "flags": 4} ], + "led_flush_limit": 16, "led_process_limit": 5, "max_brightness": 125, "sleep": true diff --git a/keyboards/ask55/keyboard.json b/keyboards/ask55/keyboard.json index 1731d1a3d9..66efb1749a 100644 --- a/keyboards/ask55/keyboard.json +++ b/keyboards/ask55/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -34,7 +36,9 @@ "static_gradient": true }, "brightness_steps": 8, + "hue_steps": 8, "led_count": 8, + "max_brightness": 255, "saturation_steps": 8, "sleep": true }, diff --git a/keyboards/at_at/660m/keyboard.json b/keyboards/at_at/660m/keyboard.json index f42c0b7cbb..a9c5af73f8 100644 --- a/keyboards/at_at/660m/keyboard.json +++ b/keyboards/at_at/660m/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "660M", "manufacturer": "AT-AT", + "url": "", "maintainer": "adrientetar", "usb": { "vid": "0xA22A", diff --git a/keyboards/atlantis/ak81_ve/keyboard.json b/keyboards/atlantis/ak81_ve/keyboard.json index 7c01714201..aa85a55e0a 100644 --- a/keyboards/atlantis/ak81_ve/keyboard.json +++ b/keyboards/atlantis/ak81_ve/keyboard.json @@ -181,6 +181,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dynamic_macro": true, "encoder": true, "extrakey": true, diff --git a/keyboards/atlantis/ps17/keyboard.json b/keyboards/atlantis/ps17/keyboard.json index 3c7f50be0b..ee7255c8fa 100644 --- a/keyboards/atlantis/ps17/keyboard.json +++ b/keyboards/atlantis/ps17/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/atlas_65/keyboard.json b/keyboards/atlas_65/keyboard.json index 3d72ec602e..4e8db96d3a 100644 --- a/keyboards/atlas_65/keyboard.json +++ b/keyboards/atlas_65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/atomic/keyboard.json b/keyboards/atomic/keyboard.json index 3e0ac225c9..5a269316cf 100644 --- a/keyboards/atomic/keyboard.json +++ b/keyboards/atomic/keyboard.json @@ -11,6 +11,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/atreus/feather/keyboard.json b/keyboards/atreus/feather/keyboard.json index 1392849fd4..7f5866e502 100644 --- a/keyboards/atreus/feather/keyboard.json +++ b/keyboards/atreus/feather/keyboard.json @@ -7,7 +7,8 @@ "processor": "atmega32u4", "bootloader": "caterina", "features": { - "bluetooth": true + "bluetooth": true, + "console": false }, "build": { "lto": true diff --git a/keyboards/atreus/info.json b/keyboards/atreus/info.json index cf53b506a0..1a33591ab5 100644 --- a/keyboards/atreus/info.json +++ b/keyboards/atreus/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Atreus", "manufacturer": "Technomancy", + "url": "", "maintainer": "qmk", "features": { "bootmagic": false, diff --git a/keyboards/atreus/rules.mk b/keyboards/atreus/rules.mk new file mode 100644 index 0000000000..d933cb327d --- /dev/null +++ b/keyboards/atreus/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = atreus/astar diff --git a/keyboards/atreus62/keyboard.json b/keyboards/atreus62/keyboard.json index 5fb786fa98..c24c02e71e 100644 --- a/keyboards/atreus62/keyboard.json +++ b/keyboards/atreus62/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Atreus62", "manufacturer": "Profet", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5072", diff --git a/keyboards/atreyu/rules.mk b/keyboards/atreyu/rules.mk new file mode 100644 index 0000000000..4daffe6b9d --- /dev/null +++ b/keyboards/atreyu/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = atreyu/rev1 diff --git a/keyboards/atxkb/1894/keyboard.json b/keyboards/atxkb/1894/keyboard.json index 3fdd217171..878c3d998c 100644 --- a/keyboards/atxkb/1894/keyboard.json +++ b/keyboards/atxkb/1894/keyboard.json @@ -15,6 +15,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/aves60/keyboard.json b/keyboards/aves60/keyboard.json index 09298df289..6d58d43b6a 100644 --- a/keyboards/aves60/keyboard.json +++ b/keyboards/aves60/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/aves65/keyboard.json b/keyboards/aves65/keyboard.json index 6d61bd211a..3ad686f83a 100644 --- a/keyboards/aves65/keyboard.json +++ b/keyboards/aves65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Aves65", "manufacturer": "I/O Keyboards", + "url": "", "maintainer": "Hund", "usb": { "vid": "0x9991", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/axolstudio/foundation_gamma/keyboard.json b/keyboards/axolstudio/foundation_gamma/keyboard.json index 3d79739719..86ba316268 100644 --- a/keyboards/axolstudio/foundation_gamma/keyboard.json +++ b/keyboards/axolstudio/foundation_gamma/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/axolstudio/helpo/keyboard.json b/keyboards/axolstudio/helpo/keyboard.json index 4af362c596..c90c967788 100644 --- a/keyboards/axolstudio/helpo/keyboard.json +++ b/keyboards/axolstudio/helpo/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Helpo", "manufacturer": "Axolstudio", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0x525C", diff --git a/keyboards/axolstudio/yeti/hotswap/keyboard.json b/keyboards/axolstudio/yeti/hotswap/keyboard.json index 5607001287..728c359880 100644 --- a/keyboards/axolstudio/yeti/hotswap/keyboard.json +++ b/keyboards/axolstudio/yeti/hotswap/keyboard.json @@ -51,6 +51,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/axolstudio/yeti/soldered/keyboard.json b/keyboards/axolstudio/yeti/soldered/keyboard.json index 6dac1e5b16..9edb808330 100644 --- a/keyboards/axolstudio/yeti/soldered/keyboard.json +++ b/keyboards/axolstudio/yeti/soldered/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/bacca70/keyboard.json b/keyboards/bacca70/keyboard.json index 6fe4718c49..8d4483bc6f 100644 --- a/keyboards/bacca70/keyboard.json +++ b/keyboards/bacca70/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/baguette/keyboard.json b/keyboards/baguette/keyboard.json index 857c28b0bd..001757f861 100644 --- a/keyboards/baguette/keyboard.json +++ b/keyboards/baguette/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Baguette", "manufacturer": "Yiancar", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/bahm/aster_ergo/keyboard.json b/keyboards/bahm/aster_ergo/keyboard.json index 963764d497..5545e02409 100644 --- a/keyboards/bahm/aster_ergo/keyboard.json +++ b/keyboards/bahm/aster_ergo/keyboard.json @@ -17,6 +17,7 @@ "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B1", "B0", "A7", "A6", "B4", "B3", "A15", "A5", "A2", "A1"], "rows": ["B7", "B6", "B5", "B11", "B10", "A4"] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x8701", diff --git a/keyboards/balloondogcaps/tr90/keyboard.json b/keyboards/balloondogcaps/tr90/keyboard.json index 6defe95987..42071ba3f0 100644 --- a/keyboards/balloondogcaps/tr90/keyboard.json +++ b/keyboards/balloondogcaps/tr90/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["F0", "F1", "F4"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/balloondogcaps/tr90pm/keyboard.json b/keyboards/balloondogcaps/tr90pm/keyboard.json index da8f29e977..c5badb7836 100644 --- a/keyboards/balloondogcaps/tr90pm/keyboard.json +++ b/keyboards/balloondogcaps/tr90pm/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["C6", "D7", "E6"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0002", diff --git a/keyboards/bantam44/keyboard.json b/keyboards/bantam44/keyboard.json index d5deffa01b..ac534af6a9 100644 --- a/keyboards/bantam44/keyboard.json +++ b/keyboards/bantam44/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Bantam44", "manufacturer": "Bantam Keyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/barracuda/keyboard.json b/keyboards/barracuda/keyboard.json index fd05e9ca7c..6e606e11ea 100644 --- a/keyboards/barracuda/keyboard.json +++ b/keyboards/barracuda/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h b/keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h index 300b0eeaed..c43f84e0de 100644 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h +++ b/keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h @@ -21,5 +21,7 @@ #define HAL_USE_PWM TRUE #define HAL_USE_SERIAL TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json index 2fd99fb5ab..4a94d023d4 100644 --- a/keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json @@ -26,9 +26,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D2" - }, + "soft_serial_pin": "D2", "matrix_pins": { "right": { "cols": ["C7", "B7", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json index 51f6cedf51..bc95061ced 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json @@ -26,9 +26,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D2" - } + "soft_serial_pin": "D2" }, "processor": "atmega32u4", "bootloader": "atmel-dfu" diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json index cf800062b3..cc990d3f21 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json @@ -20,9 +20,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json index d9039f7591..6719b21196 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json @@ -20,9 +20,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json index ca48cc0f3c..2de77b07f0 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json @@ -30,9 +30,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "A3" - } + "soft_serial_pin": "A3" }, "development_board": "stemcell" } diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h b/keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h index 5c5dff98d4..1ba700a80f 100644 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h +++ b/keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h @@ -21,5 +21,7 @@ #define HAL_USE_PWM TRUE #define HAL_USE_SERIAL TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json index cef4eab72f..dcc454366c 100644 --- a/keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json @@ -26,9 +26,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D2" - }, + "soft_serial_pin": "D2", "matrix_pins": { "right": { "cols": ["F1", "C7", "B7", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json index fdfd2c38f9..ce74b2dc6d 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json @@ -26,9 +26,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D2" - } + "soft_serial_pin": "D2" }, "processor": "atmega32u4", "bootloader": "atmel-dfu" diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json index 650bf46481..825508475c 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json @@ -20,9 +20,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json index b2a4890f56..4d9cfb616d 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json @@ -20,9 +20,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json index a405395438..05d82b2445 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json @@ -30,9 +30,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "A3" - } + "soft_serial_pin": "A3" }, "development_board": "stemcell" } diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h b/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h index 300b0eeaed..c43f84e0de 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h @@ -21,5 +21,7 @@ #define HAL_USE_PWM TRUE #define HAL_USE_SERIAL TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json index 6b0caff82e..b90b144c8b 100644 --- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json +++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json @@ -26,9 +26,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D2" - }, + "soft_serial_pin": "D2", "matrix_pins": { "right": { "cols": ["F1", "C7", "B7", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json index 4163f9d476..8ae66d083b 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json @@ -26,9 +26,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D2" - } + "soft_serial_pin": "D2" }, "processor": "atmega32u4", "bootloader": "atmel-dfu" diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json index 0da7d0b442..b0c98389f7 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json @@ -20,9 +20,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json index 026684eb92..1e072db85b 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json @@ -20,9 +20,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json index ed929f7fb7..ab145e0f95 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json @@ -30,9 +30,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "A3" - } + "soft_serial_pin": "A3" }, "development_board": "stemcell" } diff --git a/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json b/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json index 366deac293..ac52a86eb5 100644 --- a/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json +++ b/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json @@ -13,9 +13,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "processor": "RP2040", "bootloader": "rp2040" diff --git a/keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json b/keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json index e954f4f657..3c4c559cb6 100644 --- a/keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json +++ b/keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json @@ -13,9 +13,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "processor": "RP2040", "bootloader": "rp2040" diff --git a/keyboards/bastardkb/dilemma/3x5_3/keyboard.json b/keyboards/bastardkb/dilemma/3x5_3/keyboard.json index b09f32cf5f..12e336f023 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/keyboard.json +++ b/keyboards/bastardkb/dilemma/3x5_3/keyboard.json @@ -14,9 +14,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - }, + "soft_serial_pin": "GP1", "bootmagic": { "matrix": [4, 0] }, @@ -34,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/bastardkb/dilemma/4x6_4/keyboard.json b/keyboards/bastardkb/dilemma/4x6_4/keyboard.json index 4613509dba..7e40208a5d 100644 --- a/keyboards/bastardkb/dilemma/4x6_4/keyboard.json +++ b/keyboards/bastardkb/dilemma/4x6_4/keyboard.json @@ -14,9 +14,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - }, + "soft_serial_pin": "GP1", "bootmagic": { "matrix": [5, 0] }, @@ -34,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/bastardkb/scylla/blackpill/halconf.h b/keyboards/bastardkb/scylla/blackpill/halconf.h index 5c5dff98d4..1ba700a80f 100644 --- a/keyboards/bastardkb/scylla/blackpill/halconf.h +++ b/keyboards/bastardkb/scylla/blackpill/halconf.h @@ -21,5 +21,7 @@ #define HAL_USE_PWM TRUE #define HAL_USE_SERIAL TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/bastardkb/scylla/v1/elitec/keyboard.json b/keyboards/bastardkb/scylla/v1/elitec/keyboard.json index 25963f006c..17b6b7fc36 100644 --- a/keyboards/bastardkb/scylla/v1/elitec/keyboard.json +++ b/keyboards/bastardkb/scylla/v1/elitec/keyboard.json @@ -22,9 +22,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "atmel-dfu" diff --git a/keyboards/bastardkb/scylla/v2/elitec/keyboard.json b/keyboards/bastardkb/scylla/v2/elitec/keyboard.json index 316606b17b..7bfb7ff5a4 100644 --- a/keyboards/bastardkb/scylla/v2/elitec/keyboard.json +++ b/keyboards/bastardkb/scylla/v2/elitec/keyboard.json @@ -22,9 +22,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D2" - } + "soft_serial_pin": "D2" }, "processor": "atmega32u4", "bootloader": "atmel-dfu" diff --git a/keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json b/keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json index 2c0beb5c1d..2b9022d24e 100644 --- a/keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json +++ b/keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json @@ -19,9 +19,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json b/keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json index ed92be5a45..cd4da3ac41 100644 --- a/keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json +++ b/keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json @@ -19,9 +19,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/scylla/v2/stemcell/keyboard.json b/keyboards/bastardkb/scylla/v2/stemcell/keyboard.json index 80325bfea3..06bfeda7d2 100644 --- a/keyboards/bastardkb/scylla/v2/stemcell/keyboard.json +++ b/keyboards/bastardkb/scylla/v2/stemcell/keyboard.json @@ -26,9 +26,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "A3" - } + "soft_serial_pin": "A3" }, "development_board": "stemcell" } diff --git a/keyboards/bastardkb/skeletyl/blackpill/halconf.h b/keyboards/bastardkb/skeletyl/blackpill/halconf.h index 5c5dff98d4..1ba700a80f 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/halconf.h +++ b/keyboards/bastardkb/skeletyl/blackpill/halconf.h @@ -21,5 +21,7 @@ #define HAL_USE_PWM TRUE #define HAL_USE_SERIAL TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json b/keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json index 3bbba6d310..2910d80b2f 100644 --- a/keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json +++ b/keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json @@ -22,9 +22,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "atmel-dfu" diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json b/keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json index 43675db36d..dec2537b65 100644 --- a/keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json +++ b/keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json @@ -22,9 +22,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D2" - } + "soft_serial_pin": "D2" }, "processor": "atmega32u4", "bootloader": "atmel-dfu" diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json b/keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json index 32030dbd00..897f195a31 100644 --- a/keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json +++ b/keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json @@ -19,9 +19,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json b/keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json index 51227f5065..06a93dfbeb 100644 --- a/keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json +++ b/keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json @@ -19,9 +19,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json b/keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json index 2e9745b7f2..6dd86bcc12 100644 --- a/keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json +++ b/keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json @@ -26,9 +26,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "A3" - } + "soft_serial_pin": "A3" }, "development_board": "stemcell" } diff --git a/keyboards/bastardkb/tbkmini/blackpill/halconf.h b/keyboards/bastardkb/tbkmini/blackpill/halconf.h index 5c5dff98d4..1ba700a80f 100644 --- a/keyboards/bastardkb/tbkmini/blackpill/halconf.h +++ b/keyboards/bastardkb/tbkmini/blackpill/halconf.h @@ -21,5 +21,7 @@ #define HAL_USE_PWM TRUE #define HAL_USE_SERIAL TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json b/keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json index 5110ea0d74..59988074ba 100644 --- a/keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json +++ b/keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json @@ -22,9 +22,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "atmel-dfu" diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json b/keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json index 701ec6af28..01679bcff9 100644 --- a/keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json +++ b/keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json @@ -22,9 +22,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D2" - } + "soft_serial_pin": "D2" }, "processor": "atmega32u4", "bootloader": "atmel-dfu" diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json b/keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json index 15db3db6e8..2048db6251 100644 --- a/keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json +++ b/keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json @@ -19,9 +19,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json b/keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json index 3936b9368a..8dd21b7591 100644 --- a/keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json +++ b/keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json @@ -19,9 +19,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "GP1" - } + "soft_serial_pin": "GP1" }, "ws2812": { "pin": "GP0", diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json b/keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json index 2cbee7fe17..41abba96cb 100644 --- a/keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json +++ b/keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json @@ -26,9 +26,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "A3" - } + "soft_serial_pin": "A3" }, "development_board": "stemcell" } diff --git a/keyboards/bear_face/info.json b/keyboards/bear_face/info.json index 1a35a26a27..90191299d8 100644 --- a/keyboards/bear_face/info.json +++ b/keyboards/bear_face/info.json @@ -9,6 +9,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false }, diff --git a/keyboards/beatervan/keyboard.json b/keyboards/beatervan/keyboard.json index f1a6380727..27d0f3e535 100644 --- a/keyboards/beatervan/keyboard.json +++ b/keyboards/beatervan/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "beatervan", "manufacturer": "OJ", + "url": "", "maintainer": "OJ", "usb": { "vid": "0x6F7A", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/beekeeb/3w6hs/keyboard.json b/keyboards/beekeeb/3w6hs/info.json similarity index 100% rename from keyboards/beekeeb/3w6hs/keyboard.json rename to keyboards/beekeeb/3w6hs/info.json diff --git a/keyboards/beekeeb/piantor/keyboard.json b/keyboards/beekeeb/piantor/keyboard.json index 94463f6c6d..77bfc3678c 100644 --- a/keyboards/beekeeb/piantor/keyboard.json +++ b/keyboards/beekeeb/piantor/keyboard.json @@ -5,6 +5,8 @@ "bootloader": "rp2040", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/beekeeb/piantor_pro/keyboard.json b/keyboards/beekeeb/piantor_pro/keyboard.json index bca723d5ba..ad4890ae68 100644 --- a/keyboards/beekeeb/piantor_pro/keyboard.json +++ b/keyboards/beekeeb/piantor_pro/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["GP7", "GP8", "GP9", "GP10"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0002", diff --git a/keyboards/bestway/keyboard.json b/keyboards/bestway/keyboard.json index 2f4541b268..66856115f8 100644 --- a/keyboards/bestway/keyboard.json +++ b/keyboards/bestway/keyboard.json @@ -35,6 +35,7 @@ "led_count": 3, "saturation_steps": 8 }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xBB05", diff --git a/keyboards/bfake/keyboard.json b/keyboards/bfake/keyboard.json index febcc29f91..4774e282d7 100644 --- a/keyboards/bfake/keyboard.json +++ b/keyboards/bfake/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "B.fake", "manufacturer": "NotWinkeyless", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/biacco42/ergo42/rev1/keyboard.json b/keyboards/biacco42/ergo42/rev1/keyboard.json index 4639bf9639..c75e9d1c51 100644 --- a/keyboards/biacco42/ergo42/rev1/keyboard.json +++ b/keyboards/biacco42/ergo42/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ergo42", "manufacturer": "Biacco42", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xBC42", diff --git a/keyboards/biacco42/ergo42/rules.mk b/keyboards/biacco42/ergo42/rules.mk new file mode 100644 index 0000000000..18059c0a3b --- /dev/null +++ b/keyboards/biacco42/ergo42/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = biacco42/ergo42/rev1 diff --git a/keyboards/biacco42/meishi/keyboard.json b/keyboards/biacco42/meishi/keyboard.json index 99f7c5debb..b7d751d83e 100644 --- a/keyboards/biacco42/meishi/keyboard.json +++ b/keyboards/biacco42/meishi/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Meishi", "manufacturer": "Biacco42", + "url": "", "maintainer": "Biacco42", "usb": { "vid": "0xBC42", diff --git a/keyboards/biacco42/meishi2/keyboard.json b/keyboards/biacco42/meishi2/keyboard.json index 137c429ff1..2f553681bc 100644 --- a/keyboards/biacco42/meishi2/keyboard.json +++ b/keyboards/biacco42/meishi2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "meishi2", "manufacturer": "Biacco42", + "url": "", "maintainer": "biacco42", "usb": { "vid": "0xBC42", diff --git a/keyboards/biacco42/meishi2/readme.md b/keyboards/biacco42/meishi2/readme.md index b190ff38ce..97c5465f86 100644 --- a/keyboards/biacco42/meishi2/readme.md +++ b/keyboards/biacco42/meishi2/readme.md @@ -5,7 +5,8 @@ meishi2 - The better micro macro keyboard Keyboard Maintainer: [Biacco42](https://github.com/Biacco42) -Hardware Availability: https://github.com/Biacco42/meishi2 +Hardware Supported: The PCBs, controllers supported +Hardware Availability: [links to where you can find this hardware](https://github.com/Biacco42/meishi2) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/binepad/bn006/keyboard.json b/keyboards/binepad/bn006/keyboard.json index 52f0086d1a..e5e25b4b90 100755 --- a/keyboards/binepad/bn006/keyboard.json +++ b/keyboards/binepad/bn006/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/binepad/bn009/info.json b/keyboards/binepad/bn009/info.json index eba9ab4e4b..5e06ee9ef6 100644 --- a/keyboards/binepad/bn009/info.json +++ b/keyboards/binepad/bn009/info.json @@ -4,6 +4,8 @@ "maintainer": "binepad", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/binepad/bn009/rules.mk b/keyboards/binepad/bn009/rules.mk new file mode 100644 index 0000000000..74214d60ed --- /dev/null +++ b/keyboards/binepad/bn009/rules.mk @@ -0,0 +1,3 @@ +# This file is mostly left blank + +DEFAULT_FOLDER = binepad/bn009/r2 diff --git a/keyboards/binepad/bnr1/info.json b/keyboards/binepad/bnr1/info.json index b2591901fc..42067200cd 100755 --- a/keyboards/binepad/bnr1/info.json +++ b/keyboards/binepad/bnr1/info.json @@ -4,6 +4,8 @@ "maintainer": "Binpad", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/binepad/bnr1/rules.mk b/keyboards/binepad/bnr1/rules.mk new file mode 100755 index 0000000000..ce85c57404 --- /dev/null +++ b/keyboards/binepad/bnr1/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = binepad/bnr1/v2 diff --git a/keyboards/binepad/kn01/keyboard.json b/keyboards/binepad/kn01/keyboard.json deleted file mode 100755 index d7edaee77e..0000000000 --- a/keyboards/binepad/kn01/keyboard.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "manufacturer": "Binepad", - "keyboard_name": "KN01", - "maintainer": "Binpad", - "bootloader": "stm32duino", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "B3", "pin_b": "B4"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true - }, - "matrix_pins": { - "cols": ["A15"], - "rows": ["A8"] - }, - "processor": "STM32F103", - "url": "http://binepad.com", - "usb": { - "device_version": "1.0.0", - "pid": "0x4040", - "vid": "0x4249" - }, - "community_layouts": ["ortho_1x1"], - "layouts": { - "LAYOUT_ortho_1x1": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "w": 2, "h": 2} - ] - } - } -} diff --git a/keyboards/binepad/kn01/keymaps/default/keymap.json b/keyboards/binepad/kn01/keymaps/default/keymap.json deleted file mode 100644 index d6a3835f6c..0000000000 --- a/keyboards/binepad/kn01/keymaps/default/keymap.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "config": { - "features": { - "encoder_map": true - } - }, - "encoders": [ - [ - { - "ccw": "KC_VOLD", - "cw": "KC_VOLU" - } - ], - [ - { - "ccw": "KC_MS_WH_DOWN", - "cw": "KC_MS_WH_UP" - } - ] - ], - "keyboard": "binepad/kn01", - "keymap": "default", - "layers": [ - ["LT(1, KC_MUTE)"], - ["_______"] - ], - "layout": "LAYOUT_ortho_1x1", - "version": 1 -} diff --git a/keyboards/binepad/kn01/readme.md b/keyboards/binepad/kn01/readme.md deleted file mode 100755 index e65709a540..0000000000 --- a/keyboards/binepad/kn01/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# BINEPAD NEOKNOB KN01 - -![Binepad NeoKnob KN01](https://i.imgur.com/N8GXq7P.png) - -The KN01 is a multifunction knob, which can be rotated, pressed, and rotated while pressed. - -* Keyboard Maintainer: [Binpad](https://github.com/binepad) -* Hardware Supported: **NEOKNOB KN01** -* Hardware Availability: [Binepad.com](https://www.binepad.com/products/kn01) - -Make example for this keyboard (after setting up your build environment): - - make binepad/kn01:default - -Flashing example for this keyboard: - - make binepad/kn01:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. -Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the knob while plugging in the keyboard's USB cable -* **Physical reset button**: Briefly press the button on the underside of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/binepad/knobx1/keyboard.json b/keyboards/binepad/knobx1/keyboard.json deleted file mode 100644 index f82cf1dbd3..0000000000 --- a/keyboards/binepad/knobx1/keyboard.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "manufacturer": "Binepad", - "keyboard_name": "KnobX1", - "maintainer": "binepad", - "bootloader": "stm32duino", - "bootloader_instructions": "Hold down the layer button (small button on the bottom left) and plug in the keyboard.", - "diode_direction": "COL2ROW", - "eeprom": { - "wear_leveling": { - "backing_size": 1024 - } - }, - "encoder": { - "rotary": [ - {"pin_a": "B12", "pin_b": "B13", "resolution": 2} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "rgblight": true - }, - "matrix_pins": { - "direct": [ - ["A7", "A15"] - ] - }, - "processor": "STM32F103", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "gradient": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "twinkle": true - }, - "default": { - "hue": 198, - "speed": 2, - "val": 204 - }, - "driver": "ws2812", - "led_count": 2, - "sleep": true - }, - "url": "https://binepad.com/products/knobx1", - "usb": { - "device_version": "1.0.0", - "pid": "0x4249", - "vid": "0x5831" - }, - "ws2812": { - "pin": "C13" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0, "w": 3, "h": 3} - ] - } - } -} diff --git a/keyboards/binepad/knobx1/keymaps/default/keymap.json b/keyboards/binepad/knobx1/keymaps/default/keymap.json deleted file mode 100644 index 4d91c09968..0000000000 --- a/keyboards/binepad/knobx1/keymaps/default/keymap.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "config": { - "features": { - "encoder_map": true - } - }, - "encoders": [ - [ - { - "ccw": "KC_VOLD", - "cw": "KC_VOLU" - } - ] - ], - "keyboard": "binepad/knobx1", - "keymap": "default", - "layers": [ - ["X1_LYRU", "KC_MUTE"] - ], - "layout": "LAYOUT", - "version": 1 -} diff --git a/keyboards/binepad/knobx1/knobx1.c b/keyboards/binepad/knobx1/knobx1.c deleted file mode 100644 index 7f299b67e3..0000000000 --- a/keyboards/binepad/knobx1/knobx1.c +++ /dev/null @@ -1,76 +0,0 @@ -// (c) 2025 Binepad (@binpad) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "knobx1.h" - -#ifdef DYNAMIC_KEYMAP_LAYER_COUNT -# define X1_KEYMAP_LAYER_COUNT DYNAMIC_KEYMAP_LAYER_COUNT -#else -# define X1_KEYMAP_LAYER_COUNT 4 -#endif - -void keyboard_pre_init_kb(void) { - const pin_t indicator_leds[4] = {IND1_LED, IND2_LED, IND3_LED, IND4_LED}; - for (int i = 0; i < 4; i++) { - gpio_set_pin_output(indicator_leds[i]); // Set Indicators as output - gpio_write_pin_low(indicator_leds[i]); // Set initial indicator low / OFF - } - - // Call the user pre-init function if needed - // Do it after ._kb incase the user wants to change pin stuff - keyboard_pre_init_user(); -} - -layer_state_t layer_state_set_kb(layer_state_t state) { - state = layer_state_set_user(state); - uint8_t layer = get_highest_layer(state); - x1_layer_led(layer); - return state; -} - -void matrix_init_kb(void) { - // Direct PINS use; gpio -> switch -> ground. - // Setting Row 0 to ground makes it work like a direct pin - gpio_set_pin_output(ROW0_PIN); // Set Col0 as an output - gpio_write_pin_low(ROW0_PIN); // Set Col0 to low / ground - - matrix_init_user(); -} - -bool process_x1_layer_up(keyrecord_t *record) { - if (record->event.pressed) { - uint8_t current_layer = get_highest_layer(layer_state); - // Cycle through layers - uint8_t next_layer = (current_layer + 1) % X1_KEYMAP_LAYER_COUNT; - layer_move(next_layer); - x1_layer_led(next_layer); // Update LED indicators - } - return false; -} - -bool process_x1_layer_down(keyrecord_t *record) { - if (record->event.pressed) { - uint8_t current_layer = get_highest_layer(layer_state); - // Reverse through layers - uint8_t prev_layer = (current_layer == 0) ? (X1_KEYMAP_LAYER_COUNT - 1) : (current_layer - 1); - layer_move(prev_layer); - x1_layer_led(prev_layer); - } - return false; -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - switch (keycode) { - case X1_LAYER_SELECTOR_UP: - return process_x1_layer_up(record); - - case X1_LAYER_SELECTOR_DOWN: - return process_x1_layer_down(record); - - default: - return true; - } -} diff --git a/keyboards/binepad/knobx1/knobx1.h b/keyboards/binepad/knobx1/knobx1.h deleted file mode 100644 index 7645124057..0000000000 --- a/keyboards/binepad/knobx1/knobx1.h +++ /dev/null @@ -1,49 +0,0 @@ -// (c) 2025 Binepad (@binpad) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "quantum.h" - -// PCB has a 1x2 matrix. Set the ROW0 to ground for faster direct pin access. -#define ROW0_PIN B8 - -#define IND1_LED A6 -#define IND2_LED A5 -#define IND3_LED A4 -#define IND4_LED A3 - -// clang-format off -enum x1_keycodes { - X1_LAYER_SELECTOR_UP = QK_USER, - X1_LAYER_SELECTOR_DOWN -}; -// clang-format on - -#define X1_LYRU X1_LAYER_SELECTOR_UP -#define X1_LYRD X1_LAYER_SELECTOR_DOWN - -// clang-format off -static inline void x1_led_1(bool on) { gpio_write_pin(IND1_LED, on); } -static inline void x1_led_2(bool on) { gpio_write_pin(IND2_LED, on); } -static inline void x1_led_3(bool on) { gpio_write_pin(IND3_LED, on); } -static inline void x1_led_4(bool on) { gpio_write_pin(IND4_LED, on); } -static inline void x1_led_1_on(void) { gpio_write_pin_high(IND1_LED); } -static inline void x1_led_2_on(void) { gpio_write_pin_high(IND2_LED); } -static inline void x1_led_3_on(void) { gpio_write_pin_high(IND3_LED); } -static inline void x1_led_4_on(void) { gpio_write_pin_high(IND4_LED); } -static inline void x1_led_1_off(void) { gpio_write_pin_low(IND1_LED); } -static inline void x1_led_2_off(void) { gpio_write_pin_low(IND2_LED); } -static inline void x1_led_3_off(void) { gpio_write_pin_low(IND3_LED); } -static inline void x1_led_4_off(void) { gpio_write_pin_low(IND4_LED); } -// clang-format on - -static inline void x1_layer_led(uint8_t lyr) { - gpio_write_pin(IND1_LED, lyr >= 0); - gpio_write_pin(IND2_LED, lyr >= 1); - gpio_write_pin(IND3_LED, lyr >= 2); - gpio_write_pin(IND4_LED, lyr >= 3); -} - -bool process_x1_layer_up(keyrecord_t *record); -bool process_x1_layer_down(keyrecord_t *record); diff --git a/keyboards/binepad/knobx1/readme.md b/keyboards/binepad/knobx1/readme.md deleted file mode 100644 index 36f082dbfd..0000000000 --- a/keyboards/binepad/knobx1/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Binepad KnobX1 - -![Binepad KnobX1](https://i.imgur.com/9HeFQXP.png) - -*A fully customizable knob designed to enhance your PC experience* - -* Keyboard Maintainer: [binepad](https://github.com/binepad) -* Hardware Supported: *Binepad knobX1* -* Hardware Availability: [binepad.com](https://binepad.com/products/knobx1) - -Make example for this keyboard (after setting up your build environment): - - make binepad/knobx1:default - -Flashing example for this keyboard: - - make binepad/knobx1:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 2 ways: - -* **Bootmagic reset**: Hold down the layer button (small button on the bottom left) and plug in the keyboard. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/binepad/pixie/keyboard.json b/keyboards/binepad/pixie/keyboard.json index 8017121006..7d9d2ceb9a 100644 --- a/keyboards/binepad/pixie/keyboard.json +++ b/keyboards/binepad/pixie/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/bioi/f60/keyboard.json b/keyboards/bioi/f60/keyboard.json index 1ad2f89cf8..8974a68e02 100644 --- a/keyboards/bioi/f60/keyboard.json +++ b/keyboards/bioi/f60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BIOI F60", "manufacturer": "Basic IO Instruments", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0x8101", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/bioi/g60ble/keyboard.json b/keyboards/bioi/g60ble/keyboard.json index ad1aed6048..8b24556b37 100644 --- a/keyboards/bioi/g60ble/keyboard.json +++ b/keyboards/bioi/g60ble/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BIOI G60 BLE", "manufacturer": "Basic IO Instruments", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6583", diff --git a/keyboards/bioi/morgan65/keyboard.json b/keyboards/bioi/morgan65/keyboard.json index 0182392706..5606233f2a 100644 --- a/keyboards/bioi/morgan65/keyboard.json +++ b/keyboards/bioi/morgan65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Morgan65", "manufacturer": "Basic IO Instruments", + "url": "", "maintainer": "scottywei", "usb": { "vid": "0x8101", diff --git a/keyboards/bioi/s65/keyboard.json b/keyboards/bioi/s65/keyboard.json index c07fd9158d..56d53b54cf 100644 --- a/keyboards/bioi/s65/keyboard.json +++ b/keyboards/bioi/s65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BIOI S65", "manufacturer": "Basic IO Instruments", + "url": "", "maintainer": "scottywei", "usb": { "vid": "0x8101", @@ -13,6 +14,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/black_hellebore/keyboard.json b/keyboards/black_hellebore/keyboard.json index e93b6c05f5..b59cb8f7b9 100644 --- a/keyboards/black_hellebore/keyboard.json +++ b/keyboards/black_hellebore/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/blackplum/keyboard.json b/keyboards/blackplum/keyboard.json index 4fabde8535..277e0eae62 100644 --- a/keyboards/blackplum/keyboard.json +++ b/keyboards/blackplum/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/blank/blank01/keyboard.json b/keyboards/blank/blank01/keyboard.json index 0e7e7d1de5..672a292def 100644 --- a/keyboards/blank/blank01/keyboard.json +++ b/keyboards/blank/blank01/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BLANK.01", "manufacturer": "BLANK", + "url": "", "maintainer": "gkeyboard", "usb": { "vid": "0x424C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/blaster75/keyboard.json b/keyboards/blaster75/keyboard.json index f0b3a5fccf..81cc789da6 100644 --- a/keyboards/blaster75/keyboard.json +++ b/keyboards/blaster75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Blaster 75", "manufacturer": "Altain", + "url": "", "maintainer": "Altain", "usb": { "vid": "0xA122", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": false, "mousekey": false, diff --git a/keyboards/blockboy/ac980mini/keyboard.json b/keyboards/blockboy/ac980mini/keyboard.json index ce261639e2..ad844102dc 100644 --- a/keyboards/blockboy/ac980mini/keyboard.json +++ b/keyboards/blockboy/ac980mini/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -19,6 +21,7 @@ "rows": ["D0", "D1", "D2", "D3", "D5"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x6060", diff --git a/keyboards/blockey/keyboard.json b/keyboards/blockey/keyboard.json index e9c5ceafa1..9710606a52 100644 --- a/keyboards/blockey/keyboard.json +++ b/keyboards/blockey/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BlocKey", "manufacturer": "Eucalyn", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/boardrun/bizarre/keyboard.json b/keyboards/boardrun/bizarre/keyboard.json index 22ddfb005d..f61f3b053f 100644 --- a/keyboards/boardrun/bizarre/keyboard.json +++ b/keyboards/boardrun/bizarre/keyboard.json @@ -33,6 +33,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/boardrun/classic/keyboard.json b/keyboards/boardrun/classic/keyboard.json index bdddee8067..be21483c8e 100644 --- a/keyboards/boardrun/classic/keyboard.json +++ b/keyboards/boardrun/classic/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/boardsource/beiwagon/keyboard.json b/keyboards/boardsource/beiwagon/keyboard.json index 0bfa159a8a..39a9006b85 100644 --- a/keyboards/boardsource/beiwagon/keyboard.json +++ b/keyboards/boardsource/beiwagon/keyboard.json @@ -61,24 +61,24 @@ }, "driver": "ws2812", "layout": [ - {"x": 200, "y": 11, "flags": 2}, - {"x": 200, "y": 32, "flags": 2}, - {"x": 200, "y": 52, "flags": 2}, - {"x": 24, "y": 52, "flags": 2}, - {"x": 24, "y": 32, "flags": 2}, - {"x": 24, "y": 11, "flags": 2}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, - {"matrix": [1, 1], "x": 112, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 224, "y": 21, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4}, - {"matrix": [2, 1], "x": 112, "y": 42, "flags": 4}, - {"matrix": [2, 2], "x": 224, "y": 42, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 112, "y": 64, "flags": 4}, - {"matrix": [3, 2], "x": 224, "y": 64, "flags": 4} + {"flags": 2, "x": 16, "y": 38}, + {"flags": 2, "x": 16, "y": 113}, + {"flags": 2, "x": 16, "y": 188}, + {"flags": 2, "x": 48, "y": 38}, + {"flags": 2, "x": 48, "y": 113}, + {"flags": 2, "x": 48, "y": 188}, + {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, + {"flags": 4, "matrix": [0, 1], "x": 32, "y": 0}, + {"flags": 4, "matrix": [0, 2], "x": 64, "y": 0}, + {"flags": 4, "matrix": [1, 0], "x": 0, "y": 75}, + {"flags": 4, "matrix": [1, 1], "x": 32, "y": 75}, + {"flags": 4, "matrix": [1, 2], "x": 64, "y": 75}, + {"flags": 4, "matrix": [2, 0], "x": 0, "y": 150}, + {"flags": 4, "matrix": [2, 1], "x": 32, "y": 150}, + {"flags": 4, "matrix": [2, 2], "x": 64, "y": 150}, + {"flags": 4, "matrix": [3, 0], "x": 0, "y": 224}, + {"flags": 4, "matrix": [3, 1], "x": 32, "y": 224}, + {"flags": 4, "matrix": [3, 2], "x": 64, "y": 224} ] }, "layouts": { diff --git a/keyboards/jankycaps/janky9/keymaps/default/keymap.c b/keyboards/boardsource/beiwagon/keymaps/default/keymap.c similarity index 65% rename from keyboards/jankycaps/janky9/keymaps/default/keymap.c rename to keyboards/boardsource/beiwagon/keymaps/default/keymap.c index 2a04817a90..4f799550e1 100644 --- a/keyboards/jankycaps/janky9/keymaps/default/keymap.c +++ b/keyboards/boardsource/beiwagon/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2025 +/* Copyright 2022 Boardsource * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -13,13 +13,28 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - + #include QMK_KEYBOARD_H -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_3x3( - KC_1, KC_2, KC_3, - KC_4, KC_5, KC_6, - KC_7, KC_8, KC_9 - ), +enum layers { + _MAIN, + _RAISE +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT( + KC_7, KC_8, KC_9, + KC_4, KC_5, KC_6, + KC_1, KC_2, KC_3, + KC_0, KC_PENT,RAISE + ), + [_RAISE] = LAYOUT( + KC_7, KC_8, RM_TOGG, + KC_4, KC_5, RM_NEXT, + KC_1, KC_2, KC_3, + KC_0, KC_PENT,_______ + ) }; diff --git a/keyboards/boardsource/beiwagon/keymaps/default/keymap.json b/keyboards/boardsource/beiwagon/keymaps/default/keymap.json deleted file mode 100644 index b6ba14a076..0000000000 --- a/keyboards/boardsource/beiwagon/keymaps/default/keymap.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "keyboard": "boardsource/beiwagon", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - [ - "KC_7", "KC_8", "KC_9", - "KC_4", "KC_5", "KC_6", - "KC_1", "KC_2", "KC_3", - "KC_0", "KC_PENT", "MO(1)" - ], - [ - "QK_BOOT", "_______", "RM_TOGG", - "_______", "_______", "RM_NEXT", - "_______", "_______", "_______", - "_______", "_______", "_______" - ] - ] -} diff --git a/keyboards/boardsource/lulu/readme.md b/keyboards/boardsource/lulu/readme.md index 9304a0fa8d..a1c184eaac 100644 --- a/keyboards/boardsource/lulu/readme.md +++ b/keyboards/boardsource/lulu/readme.md @@ -6,8 +6,8 @@ The lulu is what the ergo community has needed for a long time, a high-end aesth * Keyboard Maintainer: [Boardsource](https://github.com/daysgobye) -* Hardware Supported: lulu v1/v2, lily pad v2 -* Hardware Availability: this keyboard is available from the [Boardsource store](https://boardsource.xyz/products/lily-pad-pcb) +* Hardware Supported: lulu v1 +* Hardware Availability: this keyboard is available from the [Boardsource store](https://boardsource.xyz/store/61d0b772319a1f3cc53ba2fb) Make example for this keyboard (after setting up your build environment): @@ -21,7 +21,7 @@ Flashing example for this keyboard: make boardsource/lulu/avr:default:flash -Compile `rp2040` firmware if you purchased PCB in lulu group buy or lily pad (integrated microcontroller). +Compile `rp2040` firmware if you purchased PCB in lulu group buy (integrated microcontroller). Compile `avr` firmware if your PCB uses a drop-in microcontroller like Pro Micro. diff --git a/keyboards/boardwalk/keyboard.json b/keyboards/boardwalk/keyboard.json index 50a00b0f65..6fb7673ec8 100644 --- a/keyboards/boardwalk/keyboard.json +++ b/keyboards/boardwalk/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Boardwalk", "manufacturer": "shensmobile", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xCDCD", @@ -31,6 +32,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/bobpad/keyboard.json b/keyboards/bobpad/keyboard.json index 2581097a67..feddbbf222 100644 --- a/keyboards/bobpad/keyboard.json +++ b/keyboards/bobpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "bobPad", "manufacturer": "Desiboards", + "url": "", "maintainer": "Ananya Kirti", "usb": { "vid": "0x416B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/bolsa/bolsalice/keyboard.json b/keyboards/bolsa/bolsalice/keyboard.json index 74607ed464..8ada9b5546 100644 --- a/keyboards/bolsa/bolsalice/keyboard.json +++ b/keyboards/bolsa/bolsalice/keyboard.json @@ -28,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -40,6 +42,7 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "url": "", "maintainer": "qmk", "community_layouts": ["alice", "alice_split_bs"], "layouts": { diff --git a/keyboards/bolsa/damapad/keyboard.json b/keyboards/bolsa/damapad/keyboard.json index 1a31316f9c..5a47d12322 100644 --- a/keyboards/bolsa/damapad/keyboard.json +++ b/keyboards/bolsa/damapad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Damapad", "manufacturer": "Bolsa Keyboard Supply", + "url": "", "maintainer": "matthewdias", "usb": { "vid": "0x6D64", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -30,13 +33,13 @@ "layouts": { "LAYOUT_wkl": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.25}, - {"matrix": [0, 1], "x": 1, "y": 0.25}, - {"matrix": [0, 2], "x": 2, "y": 0.25}, - {"matrix": [0, 3], "x": 3, "y": 0.25}, - {"matrix": [0, 4], "x": 4, "y": 0.25}, + {"matrix": [0, 0], "x": 5.25, "y": 0}, - {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 1], "x": 0, "y": 0.25}, + {"matrix": [0, 2], "x": 1, "y": 0.25}, + {"matrix": [0, 3], "x": 2, "y": 0.25}, + {"matrix": [0, 4], "x": 3, "y": 0.25}, + {"matrix": [0, 5], "x": 4, "y": 0.25}, {"matrix": [1, 0], "x": 0, "y": 1.25}, {"matrix": [1, 1], "x": 1, "y": 1.25}, @@ -55,13 +58,13 @@ }, "LAYOUT_bar": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.25}, - {"matrix": [0, 1], "x": 1, "y": 0.25}, - {"matrix": [0, 2], "x": 2, "y": 0.25}, - {"matrix": [0, 3], "x": 3, "y": 0.25}, - {"matrix": [0, 4], "x": 4, "y": 0.25}, + {"matrix": [0, 0], "x": 5.25, "y": 0}, - {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 1], "x": 0, "y": 0.25}, + {"matrix": [0, 2], "x": 1, "y": 0.25}, + {"matrix": [0, 3], "x": 2, "y": 0.25}, + {"matrix": [0, 4], "x": 3, "y": 0.25}, + {"matrix": [0, 5], "x": 4, "y": 0.25}, {"matrix": [1, 0], "x": 0, "y": 1.25}, {"matrix": [1, 1], "x": 1, "y": 1.25}, @@ -71,7 +74,7 @@ {"matrix": [1, 5], "x": 5.25, "y": 1.25}, - {"matrix": [2, 1], "x": 0, "y": 2.25, "w": 2.75}, + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 2.75}, {"matrix": [2, 3], "x": 2.75, "y": 2.25, "w": 2.25}, {"matrix": [2, 5], "x": 5.25, "y": 2.25} diff --git a/keyboards/bop/keyboard.json b/keyboards/bop/keyboard.json index f94264a670..6a88bb4617 100644 --- a/keyboards/bop/keyboard.json +++ b/keyboards/bop/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/boston/keyboard.json b/keyboards/boston/keyboard.json index f32101ca2e..050076c7a6 100644 --- a/keyboards/boston/keyboard.json +++ b/keyboards/boston/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/boston_meetup/2019/keyboard.json b/keyboards/boston_meetup/2019/keyboard.json index 4f07e0c631..40a390b0a8 100644 --- a/keyboards/boston_meetup/2019/keyboard.json +++ b/keyboards/boston_meetup/2019/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Boston Meetup Board", "manufacturer": "ishtob", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFB30", diff --git a/keyboards/boston_meetup/rules.mk b/keyboards/boston_meetup/rules.mk new file mode 100644 index 0000000000..6d6745a0e5 --- /dev/null +++ b/keyboards/boston_meetup/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = boston_meetup/2019 diff --git a/keyboards/botanicalkeyboards/fm2u/keyboard.json b/keyboards/botanicalkeyboards/fm2u/keyboard.json index 8c2714ade3..907d5d46b8 100644 --- a/keyboards/botanicalkeyboards/fm2u/keyboard.json +++ b/keyboards/botanicalkeyboards/fm2u/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "FM2U", "manufacturer": "Botanical Keyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6969", diff --git a/keyboards/box75/keyboard.json b/keyboards/box75/keyboard.json index 9c5c245f20..89afff1716 100644 --- a/keyboards/box75/keyboard.json +++ b/keyboards/box75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BOX75", "manufacturer": "Lin Design", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x7668", diff --git a/keyboards/bpiphany/four_banger/keyboard.json b/keyboards/bpiphany/four_banger/keyboard.json index b94bdf2e90..a368fbfe61 100644 --- a/keyboards/bpiphany/four_banger/keyboard.json +++ b/keyboards/bpiphany/four_banger/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Four Banger", "manufacturer": "1up Keyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/bpiphany/frosty_flake/20130602/keyboard.json b/keyboards/bpiphany/frosty_flake/20130602/keyboard.json index a5efb2e322..142010c9c4 100644 --- a/keyboards/bpiphany/frosty_flake/20130602/keyboard.json +++ b/keyboards/bpiphany/frosty_flake/20130602/keyboard.json @@ -1,6 +1,8 @@ { "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/bpiphany/frosty_flake/20140521/keyboard.json b/keyboards/bpiphany/frosty_flake/20140521/keyboard.json index 33f9ee5f3d..2ca004c24d 100644 --- a/keyboards/bpiphany/frosty_flake/20140521/keyboard.json +++ b/keyboards/bpiphany/frosty_flake/20140521/keyboard.json @@ -1,6 +1,8 @@ { "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/bpiphany/frosty_flake/info.json b/keyboards/bpiphany/frosty_flake/info.json index bfec449931..33a2f792d9 100644 --- a/keyboards/bpiphany/frosty_flake/info.json +++ b/keyboards/bpiphany/frosty_flake/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Frosty Flake", "manufacturer": "Bathroom Epiphanies", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/bpiphany/frosty_flake/rules.mk b/keyboards/bpiphany/frosty_flake/rules.mk new file mode 100644 index 0000000000..e5402b32f7 --- /dev/null +++ b/keyboards/bpiphany/frosty_flake/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER=bpiphany/frosty_flake/20140521 diff --git a/keyboards/bpiphany/ghost_squid/keyboard.json b/keyboards/bpiphany/ghost_squid/keyboard.json index 68901ba316..85f6f0fa8e 100644 --- a/keyboards/bpiphany/ghost_squid/keyboard.json +++ b/keyboards/bpiphany/ghost_squid/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ghost Squid", "manufacturer": "Bathroom Epiphanies", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/bpiphany/hid_liber/keyboard.json b/keyboards/bpiphany/hid_liber/keyboard.json index 2f8f3ea4ce..67c8416849 100644 --- a/keyboards/bpiphany/hid_liber/keyboard.json +++ b/keyboards/bpiphany/hid_liber/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "HIDLiberation", "manufacturer": "bpiphany", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/bpiphany/kitten_paw/keyboard.json b/keyboards/bpiphany/kitten_paw/keyboard.json index 42c6cb8732..829129d406 100644 --- a/keyboards/bpiphany/kitten_paw/keyboard.json +++ b/keyboards/bpiphany/kitten_paw/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kitten Paw", "manufacturer": "bpiphany", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/bpiphany/pegasushoof/info.json b/keyboards/bpiphany/pegasushoof/info.json index a28f68e63e..1e9e9db306 100644 --- a/keyboards/bpiphany/pegasushoof/info.json +++ b/keyboards/bpiphany/pegasushoof/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Filco", + "url": "", "maintainer": "qmk", "features": { "bootmagic": true, diff --git a/keyboards/bpiphany/pegasushoof/rules.mk b/keyboards/bpiphany/pegasushoof/rules.mk new file mode 100644 index 0000000000..20adecaa08 --- /dev/null +++ b/keyboards/bpiphany/pegasushoof/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER=bpiphany/pegasushoof/2013 diff --git a/keyboards/bpiphany/sixshooter/keyboard.json b/keyboards/bpiphany/sixshooter/keyboard.json index b84e8f5c5d..21e52f3629 100644 --- a/keyboards/bpiphany/sixshooter/keyboard.json +++ b/keyboards/bpiphany/sixshooter/keyboard.json @@ -12,6 +12,8 @@ "bootloader": "halfkay", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/bpiphany/tiger_lily/keyboard.json b/keyboards/bpiphany/tiger_lily/keyboard.json index f260f84c71..118f89f39d 100644 --- a/keyboards/bpiphany/tiger_lily/keyboard.json +++ b/keyboards/bpiphany/tiger_lily/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "tiger_lily", "manufacturer": "Bathroom Epiphanies", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4245", diff --git a/keyboards/bpiphany/unloved_bastard/readme.md b/keyboards/bpiphany/unloved_bastard/readme.md index b11a9bfa77..9909d5af3f 100644 --- a/keyboards/bpiphany/unloved_bastard/readme.md +++ b/keyboards/bpiphany/unloved_bastard/readme.md @@ -1,5 +1,9 @@ # unloved_bastard +![unloved_bastard](imgur.com image replace me!) + +A short description of the keyboard/project + Keyboard Maintainer: [Alexander Fougner](https://github.com/fougner) Hardware Supported: CoolerMaster Masterkeys S PBT (Not the Pro versions with backlighting etc) Hardware Availability: Pretty much anywhere diff --git a/keyboards/bredworks/wyvern_hs/keyboard.json b/keyboards/bredworks/wyvern_hs/keyboard.json index c5233c304a..63e85496ae 100644 --- a/keyboards/bredworks/wyvern_hs/keyboard.json +++ b/keyboards/bredworks/wyvern_hs/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/bschwind/key_ripper/keyboard.json b/keyboards/bschwind/key_ripper/keyboard.json index f9dbf9d6cb..ee30687d4f 100644 --- a/keyboards/bschwind/key_ripper/keyboard.json +++ b/keyboards/bschwind/key_ripper/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/bt66tech/bt66tech60/keyboard.json b/keyboards/bt66tech/bt66tech60/keyboard.json index 9f747397c3..778e27fe67 100644 --- a/keyboards/bt66tech/bt66tech60/keyboard.json +++ b/keyboards/bt66tech/bt66tech60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "bt66tech 60%", "manufacturer": "bt66tech", + "url": "", "maintainer": "bt66tech", "usb": { "vid": "0x4254", diff --git a/keyboards/bthlabs/geekpad/keyboard.json b/keyboards/bthlabs/geekpad/keyboard.json index 1ea302612a..43ce11edf5 100644 --- a/keyboards/bthlabs/geekpad/keyboard.json +++ b/keyboards/bthlabs/geekpad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/bubble75/hotswap/keyboard.json b/keyboards/bubble75/hotswap/keyboard.json index 92f57144ce..011ce33ec4 100644 --- a/keyboards/bubble75/hotswap/keyboard.json +++ b/keyboards/bubble75/hotswap/keyboard.json @@ -1,5 +1,6 @@ { "keyboard_name": "bubble75", + "url": "", "manufacturer": "phl", "maintainer": "velocifire", "usb": { diff --git a/keyboards/budgy/keyboard.json b/keyboards/budgy/keyboard.json index d43e02fdc0..0dc45c9da0 100644 --- a/keyboards/budgy/keyboard.json +++ b/keyboards/budgy/keyboard.json @@ -5,11 +5,14 @@ "bootloader": "rp2040", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0117", diff --git a/keyboards/buildakb/mw60/keyboard.json b/keyboards/buildakb/mw60/keyboard.json index 00e21a0335..9969768345 100644 --- a/keyboards/buildakb/mw60/keyboard.json +++ b/keyboards/buildakb/mw60/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["E6", "D1", "F7", "F4", "F1"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0004", diff --git a/keyboards/buildakb/potato65/keyboard.json b/keyboards/buildakb/potato65/keyboard.json index c78ee1948e..db20353142 100644 --- a/keyboards/buildakb/potato65/keyboard.json +++ b/keyboards/buildakb/potato65/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/buildakb/potato65hs/keyboard.json b/keyboards/buildakb/potato65hs/keyboard.json index 3a91ac1ccc..9e5edd6adb 100644 --- a/keyboards/buildakb/potato65hs/keyboard.json +++ b/keyboards/buildakb/potato65hs/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/buildakb/potato65s/keyboard.json b/keyboards/buildakb/potato65s/keyboard.json index 3ff7187962..8dd9b6cc53 100644 --- a/keyboards/buildakb/potato65s/keyboard.json +++ b/keyboards/buildakb/potato65s/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/butterkeebs/pocketpad/keyboard.json b/keyboards/butterkeebs/pocketpad/keyboard.json index 0829f91438..0b42d5fb17 100644 --- a/keyboards/butterkeebs/pocketpad/keyboard.json +++ b/keyboards/butterkeebs/pocketpad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/buzzard/rules.mk b/keyboards/buzzard/rules.mk new file mode 100644 index 0000000000..2f66720b77 --- /dev/null +++ b/keyboards/buzzard/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = buzzard/rev1 diff --git a/keyboards/cablecardesigns/cypher/rev6/keyboard.json b/keyboards/cablecardesigns/cypher/rev6/keyboard.json index f6e481c1df..644f2f1aa6 100644 --- a/keyboards/cablecardesigns/cypher/rev6/keyboard.json +++ b/keyboards/cablecardesigns/cypher/rev6/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cablecardesigns/phoenix/keyboard.json b/keyboards/cablecardesigns/phoenix/keyboard.json index a165758ad0..0d2ea10ad6 100755 --- a/keyboards/cablecardesigns/phoenix/keyboard.json +++ b/keyboards/cablecardesigns/phoenix/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/caffeinated/serpent65/keyboard.json b/keyboards/caffeinated/serpent65/keyboard.json index 7ea4957921..add4854720 100644 --- a/keyboards/caffeinated/serpent65/keyboard.json +++ b/keyboards/caffeinated/serpent65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Serpent65", "manufacturer": "Caffeinated Studios", + "url": "", "maintainer": "jrfhoutx", "usb": { "vid": "0x4353", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/canary/canary60rgb/v1/keyboard.json b/keyboards/canary/canary60rgb/v1/keyboard.json index a1247769e6..ac1ba67de0 100644 --- a/keyboards/canary/canary60rgb/v1/keyboard.json +++ b/keyboards/canary/canary60rgb/v1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CANARY60RGB", "manufacturer": "CANARY", + "url": "", "maintainer": "tuananhnguyen204", "usb": { "vid": "0x4341", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/cannonkeys/adelie/keyboard.json b/keyboards/cannonkeys/adelie/keyboard.json index 136c0d362f..6b36af3082 100644 --- a/keyboards/cannonkeys/adelie/keyboard.json +++ b/keyboards/cannonkeys/adelie/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Adelie", "manufacturer": "Abec13", + "url": "", "maintainer": "Abec13", "usb": { "vid": "0xCA04", @@ -30,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/cannonkeys/atlas_alps/keyboard.json b/keyboards/cannonkeys/atlas_alps/keyboard.json index f70ce60acc..39bfa968b9 100644 --- a/keyboards/cannonkeys/atlas_alps/keyboard.json +++ b/keyboards/cannonkeys/atlas_alps/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cannonkeys/bakeneko60_iso_hs/keyboard.json b/keyboards/cannonkeys/bakeneko60_iso_hs/keyboard.json index 4865ca02b6..cba8980b9d 100644 --- a/keyboards/cannonkeys/bakeneko60_iso_hs/keyboard.json +++ b/keyboards/cannonkeys/bakeneko60_iso_hs/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/bakeneko65_iso_hs/keyboard.json b/keyboards/cannonkeys/bakeneko65_iso_hs/keyboard.json index f9cc28f864..c8ef323906 100644 --- a/keyboards/cannonkeys/bakeneko65_iso_hs/keyboard.json +++ b/keyboards/cannonkeys/bakeneko65_iso_hs/keyboard.json @@ -15,6 +15,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cannonkeys/bastion60/keyboard.json b/keyboards/cannonkeys/bastion60/keyboard.json index 518d332ce0..26cf507984 100644 --- a/keyboards/cannonkeys/bastion60/keyboard.json +++ b/keyboards/cannonkeys/bastion60/keyboard.json @@ -13,6 +13,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cannonkeys/bastion65/keyboard.json b/keyboards/cannonkeys/bastion65/keyboard.json index 4d13309331..dd7dd4516e 100644 --- a/keyboards/cannonkeys/bastion65/keyboard.json +++ b/keyboards/cannonkeys/bastion65/keyboard.json @@ -13,6 +13,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cannonkeys/bastion75/keyboard.json b/keyboards/cannonkeys/bastion75/keyboard.json index 3c96e4f943..276cc03c51 100644 --- a/keyboards/cannonkeys/bastion75/keyboard.json +++ b/keyboards/cannonkeys/bastion75/keyboard.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cannonkeys/bastiontkl/keyboard.json b/keyboards/cannonkeys/bastiontkl/keyboard.json index 9617bce56c..72733b3d8f 100644 --- a/keyboards/cannonkeys/bastiontkl/keyboard.json +++ b/keyboards/cannonkeys/bastiontkl/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/brutalv2_1800/keyboard.json b/keyboards/cannonkeys/brutalv2_1800/keyboard.json index 0fd9204be9..13f1b12733 100644 --- a/keyboards/cannonkeys/brutalv2_1800/keyboard.json +++ b/keyboards/cannonkeys/brutalv2_1800/keyboard.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/caerdroia/keyboard.json b/keyboards/cannonkeys/caerdroia/keyboard.json index 0fec202dea..4b5baf21dd 100644 --- a/keyboards/cannonkeys/caerdroia/keyboard.json +++ b/keyboards/cannonkeys/caerdroia/keyboard.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/cerberus/hotswap/keymaps/default/keymap.c b/keyboards/cannonkeys/cerberus/hotswap/keymaps/default/keymap.c index 779070197a..865dbff400 100644 --- a/keyboards/cannonkeys/cerberus/hotswap/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/cerberus/hotswap/keymaps/default/keymap.c @@ -12,8 +12,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_INS, KC_HOME, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_LGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN1] = LAYOUT_all( diff --git a/keyboards/cannonkeys/cerberus/solderable/keymaps/default/keymap.c b/keyboards/cannonkeys/cerberus/solderable/keymaps/default/keymap.c index 782e9a138f..2b87af0e99 100644 --- a/keyboards/cannonkeys/cerberus/solderable/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/cerberus/solderable/keymaps/default/keymap.c @@ -11,8 +11,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_INS, KC_HOME, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_LGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN1] = LAYOUT_all( diff --git a/keyboards/cannonkeys/chimera65_hs/keyboard.json b/keyboards/cannonkeys/chimera65_hs/keyboard.json index fd5c7dd84a..a126a007b5 100644 --- a/keyboards/cannonkeys/chimera65_hs/keyboard.json +++ b/keyboards/cannonkeys/chimera65_hs/keyboard.json @@ -19,6 +19,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/db60/hotswap/rules.mk b/keyboards/cannonkeys/db60/hotswap/rules.mk deleted file mode 100644 index 0ab54aaaf7..0000000000 --- a/keyboards/cannonkeys/db60/hotswap/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/cipulot/ok_1/rules.mk b/keyboards/cannonkeys/db60/rules.mk similarity index 62% rename from keyboards/cipulot/ok_1/rules.mk rename to keyboards/cannonkeys/db60/rules.mk index 0ab54aaaf7..60addd7fe7 100644 --- a/keyboards/cipulot/ok_1/rules.mk +++ b/keyboards/cannonkeys/db60/rules.mk @@ -1,2 +1,4 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF + +DEFAULT_FOLDER = cannonkeys/db60/rev2 diff --git a/keyboards/cannonkeys/ellipse/keyboard.json b/keyboards/cannonkeys/ellipse/keyboard.json index dc99210b88..c7e37befbd 100644 --- a/keyboards/cannonkeys/ellipse/keyboard.json +++ b/keyboards/cannonkeys/ellipse/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cannonkeys/ellipse_hs/keyboard.json b/keyboards/cannonkeys/ellipse_hs/keyboard.json index fba7abf9ea..da79dea27a 100644 --- a/keyboards/cannonkeys/ellipse_hs/keyboard.json +++ b/keyboards/cannonkeys/ellipse_hs/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/hoodrowg/keyboard.json b/keyboards/cannonkeys/hoodrowg/keyboard.json index 73d4370c4a..971779411d 100644 --- a/keyboards/cannonkeys/hoodrowg/keyboard.json +++ b/keyboards/cannonkeys/hoodrowg/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/cannonkeys/leviatan/keyboard.json b/keyboards/cannonkeys/leviatan/keyboard.json index f68ca0ef2c..c929447e89 100644 --- a/keyboards/cannonkeys/leviatan/keyboard.json +++ b/keyboards/cannonkeys/leviatan/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c index a410480d7d..6f76582e4b 100644 --- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c +++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c @@ -53,26 +53,10 @@ void board_init(void) { SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); } -uint32_t read_custom_config(void *data, uint32_t offset, uint32_t length) { -#ifdef VIA_ENABLE - return via_read_custom_config(data, offset, length); -#else - return eeconfig_read_kb_datablock(data, offset, length); -#endif -} - -uint32_t write_custom_config(const void *data, uint32_t offset, uint32_t length) { -#ifdef VIA_ENABLE - return via_update_custom_config(data, offset, length); -#else - return eeconfig_update_kb_datablock(data, offset, length); -#endif -} - void keyboard_post_init_kb(void) { /* This is a workaround to some really weird behavior - Without this code, the OLED will turn on, but not when you initially plug the keyboard in. + Without this code, the OLED will turn on, but not when you initially plug the keyboard in. You have to manually trigger a user reset to get the OLED to initialize properly I'm not sure what the root cause is at this time, but this workaround fixes it. */ @@ -90,11 +74,11 @@ void keyboard_post_init_kb(void) { void custom_set_value(uint8_t *data) { uint8_t *value_id = &(data[0]); uint8_t *value_data = &(data[1]); - + switch ( *value_id ) { case id_oled_default_mode: { - write_custom_config(&value_data[0], EEPROM_DEFAULT_OLED_OFFSET, 1); + eeprom_update_byte((uint8_t*)EEPROM_DEFAULT_OLED, value_data[0]); break; } case id_oled_mode: @@ -108,7 +92,7 @@ void custom_set_value(uint8_t *data) { uint8_t index = value_data[0]; uint8_t enable = value_data[1]; enabled_encoder_modes = (enabled_encoder_modes & ~(1< #include -#include - #include "via.h" // only for EEPROM address #include "satisfaction_keycodes.h" -#define EEPROM_ENABLED_ENCODER_MODES_OFFSET 0 -#define EEPROM_DEFAULT_OLED_OFFSET 1 -#define EEPROM_CUSTOM_ENCODER_OFFSET 2 +#define EEPROM_ENABLED_ENCODER_MODES (VIA_EEPROM_CUSTOM_CONFIG_ADDR) +#define EEPROM_DEFAULT_OLED (VIA_EEPROM_CUSTOM_CONFIG_ADDR+1) +#define EEPROM_CUSTOM_ENCODER (VIA_EEPROM_CUSTOM_CONFIG_ADDR+2) enum s75_keyboard_value_id { id_encoder_modes = 1, @@ -96,6 +94,3 @@ void oled_request_repaint(void); bool oled_task_needs_to_repaint(void); void custom_config_load(void); - -uint32_t read_custom_config(void *data, uint32_t offset, uint32_t length); -uint32_t write_custom_config(const void *data, uint32_t offset, uint32_t length); diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c index 87ff87ea66..7e0b82e9e7 100644 --- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c +++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c @@ -215,13 +215,10 @@ uint16_t handle_encoder_press(void){ uint16_t retrieve_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior){ #ifdef DYNAMIC_KEYMAP_ENABLE - uint32_t offset = EEPROM_CUSTOM_ENCODER_OFFSET + (encoder_idx * 6) + (behavior * 2); + void* addr = (void*)(EEPROM_CUSTOM_ENCODER + (encoder_idx * 6) + (behavior * 2)); //big endian - uint8_t hi, lo; - read_custom_config(&hi, offset+0, 1); - read_custom_config(&lo, offset+1, 1); - uint16_t keycode = hi << 8; - keycode |= lo; + uint16_t keycode = eeprom_read_byte(addr) << 8; + keycode |= eeprom_read_byte(addr + 1); return keycode; #else return 0; @@ -230,10 +227,8 @@ uint16_t retrieve_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior){ void set_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior, uint16_t new_code){ #ifdef DYNAMIC_KEYMAP_ENABLE - uint32_t offset = EEPROM_CUSTOM_ENCODER_OFFSET + (encoder_idx * 6) + (behavior * 2); - uint8_t hi = new_code >> 8; - uint8_t lo = new_code & 0xFF; - write_custom_config(&hi, offset+0, 1); - write_custom_config(&lo, offset+1, 1); + void* addr = (void*)(EEPROM_CUSTOM_ENCODER + (encoder_idx * 6) + (behavior * 2)); + eeprom_update_byte(addr, (uint8_t)(new_code >> 8)); + eeprom_update_byte(addr + 1, (uint8_t)(new_code & 0xFF)); #endif } diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c index 815e84901d..0361453c52 100644 --- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c +++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c @@ -8,6 +8,7 @@ #include "matrix.h" #include "led.h" #include "host.h" +#include "oled_driver.h" #include "progmem.h" #include @@ -15,7 +16,6 @@ void draw_default(void); void draw_clock(void); #ifdef OLED_ENABLE -#include "oled_driver.h" oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return OLED_ROTATION_0; } diff --git a/keyboards/cannonkeys/link/config.h b/keyboards/cannonkeys/link/config.h deleted file mode 100644 index c244f7a56b..0000000000 --- a/keyboards/cannonkeys/link/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2024 CannonKeys */ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -#pragma once - -/* VBUS-routed pin for upstream detection */ -#define USB_VBUS_PIN GP27 - -#define SPLIT_HAND_PIN_LOW_IS_LEFT - -// Configure full duplex split comms over PIO -#define SERIAL_USART_FULL_DUPLEX -#define SERIAL_USART_TX_PIN GP28 -#define SERIAL_USART_RX_PIN GP29 -#define SERIAL_USART_PIN_SWAP - -/* RP2040- and hardware-specific config */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U -#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 - -/* I2C for OLEDs */ -#define I2C_DRIVER I2CD1 -#define I2C1_SDA_PIN GP14 -#define I2C1_SCL_PIN GP15 - -#define OLED_DISPLAY_64X128 diff --git a/keyboards/cannonkeys/link/halconf.h b/keyboards/cannonkeys/link/halconf.h deleted file mode 100644 index 538c60c0b2..0000000000 --- a/keyboards/cannonkeys/link/halconf.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2024 Andrew Kannan -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_I2C TRUE -#include_next diff --git a/keyboards/cannonkeys/link/keyboard.json b/keyboards/cannonkeys/link/keyboard.json deleted file mode 100644 index e5692cd458..0000000000 --- a/keyboards/cannonkeys/link/keyboard.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "manufacturer": "CannonKeys", - "keyboard_name": "Link", - "maintainer": "awkannan", - "bootloader": "rp2040", - "bootmagic": { - "matrix": [0, 5] - }, - "build": { - "debounce_type": "asym_eager_defer_pk" - }, - "diode_direction": "COL2ROW", - "dynamic_keymap": { - "layer_count": 6 - }, - "encoder": { - "rotary": [ - {"pin_a": "GP12", "pin_b": "GP13", "resolution": 2} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "oled": true - }, - "matrix_pins": { - "cols": ["GP17", "GP18", "GP19", "GP20", "GP21", "GP24"], - "rows": ["GP25", "GP26", "GP16", "GP11", "GP10"] - }, - "processor": "RP2040", - "qmk": { - "tap_keycode_delay": 10 - }, - "split": { - "bootmagic": { - "matrix": [5, 5] - }, - "enabled": true, - "handedness": { - "pin": "GP8" - }, - "matrix_pins": { - "right": { - "cols": ["GP16", "GP11", "GP10", "GP3", "GP2", "GP1"], - "rows": ["GP9", "GP0", "GP17", "GP18", "GP19"] - } - }, - "serial": { - "driver": "vendor" - }, - "transport": { - "sync": { - "layer_state": true, - "matrix_state": true, - "oled": true, - "wpm": true - } - } - }, - "url": "https://cannonkeys.com/", - "usb": { - "device_version": "0.0.1", - "pid": "0x0038", - "vid": "0xCA04" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 5], "x": 0, "y": 0}, - {"matrix": [0, 4], "x": 1, "y": 0}, - {"matrix": [0, 3], "x": 2, "y": 0}, - {"matrix": [0, 2], "x": 3, "y": 0}, - {"matrix": [0, 1], "x": 4, "y": 0}, - {"matrix": [0, 0], "x": 5, "y": 0}, - {"matrix": [5, 0], "x": 11, "y": 0}, - {"matrix": [5, 1], "x": 12, "y": 0}, - {"matrix": [5, 2], "x": 13, "y": 0}, - {"matrix": [5, 3], "x": 14, "y": 0}, - {"matrix": [5, 4], "x": 15, "y": 0}, - {"matrix": [5, 5], "x": 16, "y": 0}, - {"matrix": [1, 5], "x": 0, "y": 1}, - {"matrix": [1, 4], "x": 1, "y": 1}, - {"matrix": [1, 3], "x": 2, "y": 1}, - {"matrix": [1, 2], "x": 3, "y": 1}, - {"matrix": [1, 1], "x": 4, "y": 1}, - {"matrix": [1, 0], "x": 5, "y": 1}, - {"matrix": [6, 0], "x": 11, "y": 1}, - {"matrix": [6, 1], "x": 12, "y": 1}, - {"matrix": [6, 2], "x": 13, "y": 1}, - {"matrix": [6, 3], "x": 14, "y": 1}, - {"matrix": [6, 4], "x": 15, "y": 1}, - {"matrix": [6, 5], "x": 16, "y": 1}, - {"matrix": [2, 5], "x": 0, "y": 2}, - {"matrix": [2, 4], "x": 1, "y": 2}, - {"matrix": [2, 3], "x": 2, "y": 2}, - {"matrix": [2, 2], "x": 3, "y": 2}, - {"matrix": [2, 1], "x": 4, "y": 2}, - {"matrix": [2, 0], "x": 5, "y": 2}, - {"matrix": [7, 0], "x": 11, "y": 2}, - {"matrix": [7, 1], "x": 12, "y": 2}, - {"matrix": [7, 2], "x": 13, "y": 2}, - {"matrix": [7, 3], "x": 14, "y": 2}, - {"matrix": [7, 4], "x": 15, "y": 2}, - {"matrix": [7, 5], "x": 16, "y": 2}, - {"matrix": [3, 5], "x": 0, "y": 3}, - {"matrix": [3, 4], "x": 1, "y": 3}, - {"matrix": [3, 3], "x": 2, "y": 3}, - {"matrix": [3, 2], "x": 3, "y": 3}, - {"matrix": [3, 1], "x": 4, "y": 3}, - {"matrix": [3, 0], "x": 5, "y": 3}, - {"matrix": [4, 5], "x": 6, "y": 3}, - {"matrix": [9, 5], "x": 10, "y": 3}, - {"matrix": [8, 0], "x": 11, "y": 3}, - {"matrix": [8, 1], "x": 12, "y": 3}, - {"matrix": [8, 2], "x": 13, "y": 3}, - {"matrix": [8, 3], "x": 14, "y": 3}, - {"matrix": [8, 4], "x": 15, "y": 3}, - {"matrix": [8, 5], "x": 16, "y": 3}, - {"matrix": [4, 4], "x": 2, "y": 4}, - {"matrix": [4, 3], "x": 3, "y": 4}, - {"matrix": [4, 2], "x": 4, "y": 4}, - {"matrix": [4, 1], "x": 5, "y": 4}, - {"matrix": [4, 0], "x": 6, "y": 4, "h": 1.5}, - {"matrix": [9, 0], "x": 10, "y": 4, "h": 1.5}, - {"matrix": [9, 1], "x": 11, "y": 4}, - {"matrix": [9, 2], "x": 12, "y": 4}, - {"matrix": [9, 3], "x": 13, "y": 4}, - {"matrix": [9, 4], "x": 14, "y": 4} - ] - } - } -} diff --git a/keyboards/cannonkeys/link/keymaps/default/keymap.c b/keyboards/cannonkeys/link/keymaps/default/keymap.c deleted file mode 100644 index eba810d868..0000000000 --- a/keyboards/cannonkeys/link/keymaps/default/keymap.c +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2025 Andrew Kannan (awkannan) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[0] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LGUI, KC_LALT, KC_LCTL, MO(1), KC_ENT, KC_SPC, MO(2), KC_RCTL, KC_RALT, KC_RGUI -), - -[1] = LAYOUT( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, - KC_WREF, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, - KC_TRNS, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_DOT, KC_COLN, KC_BSLS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -), - -[2] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_INS, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_PGUP, KC_MPRV, KC_MNXT, KC_PSCR, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -) -}; diff --git a/keyboards/cannonkeys/link/link.c b/keyboards/cannonkeys/link/link.c deleted file mode 100644 index 2d0d2cb557..0000000000 --- a/keyboards/cannonkeys/link/link.c +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2025 Andrew Kannan (awkannan) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_0; - } else { - return OLED_ROTATION_90; - } - return rotation; -} - -static void render_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0 - }; - oled_write_P(qmk_logo, false); -} - -void print_status_narrow(void) { - oled_write_P(PSTR("\n\n"), false); - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_ln_P(PSTR("Qwrt"), false); - break; - case 1: - oled_write_ln_P(PSTR("Clmk"), false); - break; - default: - oled_write_P(PSTR("Mod\n"), false); - break; - } - oled_write_P(PSTR("\n\n"), false); - oled_write_ln_P(PSTR("LAYER"), false); - switch (get_highest_layer(layer_state)) { - case 0: - case 1: - oled_write_P(PSTR("Base\n"), false); - break; - case 2: - oled_write_P(PSTR("Raise"), false); - break; - case 3: - oled_write_P(PSTR("Lower"), false); - break; - default: - oled_write_ln_P(PSTR("Undef"), false); - } - oled_write_P(PSTR("\n\n"), false); - led_t led_usb_state = host_keyboard_led_state(); - oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock); -} - -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - if (is_keyboard_master()) { - print_status_narrow(); - } else { - render_logo(); - } - return true; -} - -#endif - -#ifdef ENCODER_ENABLE -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { - return false; - } - if (index == 0) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else if (index == 1) { - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } - return true; -} -#endif diff --git a/keyboards/cannonkeys/link/readme.md b/keyboards/cannonkeys/link/readme.md deleted file mode 100644 index 461be86180..0000000000 --- a/keyboards/cannonkeys/link/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Link - -The Link is a Sofle58 inspired Ergo Split keyboard from CannonKeys. -It uses 1.3" SH1107 screens and ALPS EC11 compatible encoders. - -* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) -* Hardware Supported: RP2040 -* Hardware Availability: [CannonKeys](https://cannonkeys.com) - - -Make example for this keyboard (after setting up your build environment): - - make cannonkeys/link:default - -Flashing example for this keyboard: - - make cannonkeys/link:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top-most and outer-most key in the matrix and plug in the keyboard -* **Physical reset button**: Hold the "BOOTMODE" button on the back of the PCB and briefly press the "RESET" button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/cannonkeys/meetuppad2023/keyboard.json b/keyboards/cannonkeys/meetuppad2023/keyboard.json index ae393ecb2c..e55d4361d8 100644 --- a/keyboards/cannonkeys/meetuppad2023/keyboard.json +++ b/keyboards/cannonkeys/meetuppad2023/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/moment/keyboard.json b/keyboards/cannonkeys/moment/keyboard.json index 1585403293..4aec3c9c06 100644 --- a/keyboards/cannonkeys/moment/keyboard.json +++ b/keyboards/cannonkeys/moment/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cannonkeys/moment_hs/keyboard.json b/keyboards/cannonkeys/moment_hs/keyboard.json index 4a55026974..dc1f650322 100644 --- a/keyboards/cannonkeys/moment_hs/keyboard.json +++ b/keyboards/cannonkeys/moment_hs/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/nearfield/keyboard.json b/keyboards/cannonkeys/nearfield/keyboard.json index 0d49846394..e516198f09 100644 --- a/keyboards/cannonkeys/nearfield/keyboard.json +++ b/keyboards/cannonkeys/nearfield/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Nearfield", "manufacturer": "JLC", + "url": "", "maintainer": "tominabox1", "usb": { "vid": "0x0004", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/ortho48/keyboard.json b/keyboards/cannonkeys/ortho48/keyboard.json index 34f295fcd3..2e045c183e 100644 --- a/keyboards/cannonkeys/ortho48/keyboard.json +++ b/keyboards/cannonkeys/ortho48/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ortho48", "manufacturer": "CannonKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xCA04", diff --git a/keyboards/cannonkeys/ortho48v2/keyboard.json b/keyboards/cannonkeys/ortho48v2/keyboard.json index 7861f33425..4ead7db042 100644 --- a/keyboards/cannonkeys/ortho48v2/keyboard.json +++ b/keyboards/cannonkeys/ortho48v2/keyboard.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cannonkeys/ortho60/keyboard.json b/keyboards/cannonkeys/ortho60/keyboard.json index 874dc9efae..2e8ad77297 100644 --- a/keyboards/cannonkeys/ortho60/keyboard.json +++ b/keyboards/cannonkeys/ortho60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ortho60", "manufacturer": "CannonKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xCA04", diff --git a/keyboards/cannonkeys/ortho60v2/keyboard.json b/keyboards/cannonkeys/ortho60v2/keyboard.json index 99c15f1058..360c98bff9 100644 --- a/keyboards/cannonkeys/ortho60v2/keyboard.json +++ b/keyboards/cannonkeys/ortho60v2/keyboard.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cannonkeys/ortho75/keyboard.json b/keyboards/cannonkeys/ortho75/keyboard.json index e46b255b79..af09fd47a7 100644 --- a/keyboards/cannonkeys/ortho75/keyboard.json +++ b/keyboards/cannonkeys/ortho75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ortho75", "manufacturer": "CannonKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/cannonkeys/petrichor/keyboard.json b/keyboards/cannonkeys/petrichor/keyboard.json index 90f9886cdc..ecec61e7cf 100644 --- a/keyboards/cannonkeys/petrichor/keyboard.json +++ b/keyboards/cannonkeys/petrichor/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cannonkeys/practice60/keyboard.json b/keyboards/cannonkeys/practice60/keyboard.json index 9cd29cb2c5..ad8cde6d6b 100644 --- a/keyboards/cannonkeys/practice60/keyboard.json +++ b/keyboards/cannonkeys/practice60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Practice 60", "manufacturer": "CannonKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xCA04", diff --git a/keyboards/cannonkeys/reverie/info.json b/keyboards/cannonkeys/reverie/info.json index 418d0a6176..1e2a885781 100644 --- a/keyboards/cannonkeys/reverie/info.json +++ b/keyboards/cannonkeys/reverie/info.json @@ -5,6 +5,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/ripple/keyboard.json b/keyboards/cannonkeys/ripple/keyboard.json index e2f6c77645..3dc11719a1 100644 --- a/keyboards/cannonkeys/ripple/keyboard.json +++ b/keyboards/cannonkeys/ripple/keyboard.json @@ -15,6 +15,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -34,6 +36,8 @@ "rgblight": { "led_count": 20, "hue_steps": 17, + "saturation_steps": 17, + "brightness_steps": 17, "animations": { "static_gradient": true, "twinkle": true, diff --git a/keyboards/cannonkeys/ripple_hs/keyboard.json b/keyboards/cannonkeys/ripple_hs/keyboard.json index 34ba5c8210..7892acc6c6 100644 --- a/keyboards/cannonkeys/ripple_hs/keyboard.json +++ b/keyboards/cannonkeys/ripple_hs/keyboard.json @@ -15,6 +15,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/satisfaction75/config.h b/keyboards/cannonkeys/satisfaction75/config.h index 28bc6b286a..969206b19a 100644 --- a/keyboards/cannonkeys/satisfaction75/config.h +++ b/keyboards/cannonkeys/satisfaction75/config.h @@ -42,7 +42,4 @@ // 6 for 3x custom encoder settings, left, right, and press (18 bytes) #define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20 -// And if VIA isn't enabled, fall back to using standard QMK for configuration -#ifndef VIA_ENABLE -#define EECONFIG_KB_DATA_SIZE VIA_EEPROM_CUSTOM_CONFIG_SIZE -#endif + diff --git a/keyboards/cannonkeys/satisfaction75/info.json b/keyboards/cannonkeys/satisfaction75/info.json index 69efb36a8c..96aeca80ee 100644 --- a/keyboards/cannonkeys/satisfaction75/info.json +++ b/keyboards/cannonkeys/satisfaction75/info.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/cannonkeys/satisfaction75_hs/config.h b/keyboards/cannonkeys/satisfaction75_hs/config.h index 26c3e4080c..658babd3c0 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/config.h +++ b/keyboards/cannonkeys/satisfaction75_hs/config.h @@ -40,10 +40,5 @@ // 6 for 3x custom encoder settings, left, right, and press (18 bytes) #define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20 -// And if VIA isn't enabled, fall back to using standard QMK for configuration -#ifndef VIA_ENABLE -#define EECONFIG_KB_DATA_SIZE VIA_EEPROM_CUSTOM_CONFIG_SIZE -#endif - // VIA lighting is handled by the keyboard-level code #define VIA_CUSTOM_LIGHTING_ENABLE diff --git a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json index 55a03da463..48faa60362 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json +++ b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json @@ -11,6 +11,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/cannonkeys/savage65/keyboard.json b/keyboards/cannonkeys/savage65/keyboard.json index 471b785633..bc9c1d77e5 100644 --- a/keyboards/cannonkeys/savage65/keyboard.json +++ b/keyboards/cannonkeys/savage65/keyboard.json @@ -1,62 +1,140 @@ { - "manufacturer": "CannonKeys", "keyboard_name": "Savage65", + "manufacturer": "CannonKeys", + "url": "https://cannonkeys.com", "maintainer": "awkannan", - "backlight": { - "breathing": true, - "levels": 6, - "pin": "A6" - }, - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "features": { - "backlight": true, - "bootmagic": true, - "command": true, - "console": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true + "usb": { + "vid": "0xCA04", + "pid": "0x5A65", + "device_version": "0.0.1" }, "matrix_pins": { "cols": ["A5", "B10", "A3", "A2", "B0", "A9", "C13", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"], "rows": ["B12", "B11", "B14", "A8", "A1"] }, + "diode_direction": "COL2ROW", + "backlight": { + "pin": "A6", + "levels": 6, + "breathing": true + }, + "rgblight": { + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, + "ws2812": { + "pin": "B15", + "driver": "spi" + }, "processor": "STM32F072", + "bootloader": "stm32-dfu", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": true, + "command": true, + "nkro": true, + "backlight": true, + "rgblight": true + }, "qmk": { "locking": { "enabled": true, "resync": true } }, - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "rgb_test": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 20 - }, - "url": "https://cannonkeys.com", - "usb": { - "device_version": "0.0.1", - "pid": "0x5A65", - "vid": "0xCA04" - }, - "ws2812": { - "driver": "spi", - "pin": "B15" - }, - "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs", "65_iso_blocker"], + "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_iso_blocker"], "layouts": { + "LAYOUT_default": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, "LAYOUT_65_ansi_blocker": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -74,6 +152,7 @@ {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -89,6 +168,7 @@ {"matrix": [1, 12], "x": 12.5, "y": 1}, {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -103,6 +183,7 @@ {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [3, 2], "x": 2.25, "y": 3}, {"matrix": [3, 3], "x": 3.25, "y": 3}, @@ -117,6 +198,7 @@ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, {"matrix": [3, 13], "x": 14, "y": 3}, {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, @@ -146,6 +228,7 @@ {"matrix": [0, 13], "x": 13, "y": 0}, {"matrix": [0, 14], "x": 14, "y": 0}, {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -161,6 +244,7 @@ {"matrix": [1, 12], "x": 12.5, "y": 1}, {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -175,6 +259,7 @@ {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [3, 2], "x": 2.25, "y": 3}, {"matrix": [3, 3], "x": 3.25, "y": 3}, @@ -189,6 +274,7 @@ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, {"matrix": [3, 13], "x": 14, "y": 3}, {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, @@ -217,6 +303,7 @@ {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -232,6 +319,7 @@ {"matrix": [1, 12], "x": 12.5, "y": 1}, {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -246,6 +334,7 @@ {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [3, 2], "x": 2.25, "y": 3}, {"matrix": [3, 3], "x": 3.25, "y": 3}, @@ -260,77 +349,7 @@ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, {"matrix": [3, 13], "x": 14, "y": 3}, {"matrix": [3, 15], "x": 15, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 13, "y": 4}, - {"matrix": [4, 13], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_ansi_blocker_tsangan_split_bs": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - {"matrix": [0, 15], "x": 15, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [1, 15], "x": 15, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [2, 15], "x": 15, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, {"matrix": [4, 1], "x": 1.5, "y": 4}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, @@ -358,6 +377,7 @@ {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -372,6 +392,7 @@ {"matrix": [1, 11], "x": 11.5, "y": 1}, {"matrix": [1, 12], "x": 12.5, "y": 1}, {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -387,6 +408,7 @@ {"matrix": [2, 12], "x": 12.75, "y": 2}, {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, {"matrix": [3, 1], "x": 1.25, "y": 3}, {"matrix": [3, 2], "x": 2.25, "y": 3}, @@ -402,80 +424,7 @@ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, {"matrix": [3, 13], "x": 14, "y": 3}, {"matrix": [3, 15], "x": 15, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 13, "y": 4}, - {"matrix": [4, 13], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4} - ] - }, - "LAYOUT_default": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - {"matrix": [0, 15], "x": 15, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [1, 15], "x": 15, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, - {"matrix": [2, 15], "x": 15, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, diff --git a/keyboards/cannonkeys/serenity/keyboard.json b/keyboards/cannonkeys/serenity/keyboard.json index 83eed98abb..3259baaca9 100644 --- a/keyboards/cannonkeys/serenity/keyboard.json +++ b/keyboards/cannonkeys/serenity/keyboard.json @@ -13,6 +13,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cannonkeys/typeb/keyboard.json b/keyboards/cannonkeys/typeb/keyboard.json index fb3bf0964d..1f16991205 100644 --- a/keyboards/cannonkeys/typeb/keyboard.json +++ b/keyboards/cannonkeys/typeb/keyboard.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cannonkeys/vector/keyboard.json b/keyboards/cannonkeys/vector/keyboard.json index 117a83208f..46fc0b4578 100644 --- a/keyboards/cannonkeys/vector/keyboard.json +++ b/keyboards/cannonkeys/vector/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -19,6 +21,7 @@ "on_state": 0 }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "vid": "0xCA04", diff --git a/keyboards/cannonkeys/vida/config.h b/keyboards/cannonkeys/vida/config.h deleted file mode 100644 index 4eec357f20..0000000000 --- a/keyboards/cannonkeys/vida/config.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2024 Andrew Kannan -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U - -#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 diff --git a/keyboards/cannonkeys/vida/hotswap/keyboard.json b/keyboards/cannonkeys/vida/hotswap/keyboard.json deleted file mode 100644 index a2278354e5..0000000000 --- a/keyboards/cannonkeys/vida/hotswap/keyboard.json +++ /dev/null @@ -1,272 +0,0 @@ -{ - "keyboard_name": "Vida HS", - "usb": { - "pid": "0x0035" - }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_hhkb"], - "layout_aliases": { - "LAYOUT_60_ansi_split_bs_rshift": "LAYOUT_all" - }, - "layouts": { - "LAYOUT_60_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4} - ] - }, - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - } - } -} diff --git a/keyboards/cannonkeys/vida/hotswap/keymaps/default/keymap.c b/keyboards/cannonkeys/vida/hotswap/keymaps/default/keymap.c deleted file mode 100644 index 8ff252918f..0000000000 --- a/keyboards/cannonkeys/vida/hotswap/keymaps/default/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2023 Andrew Kannan -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum layer_names { - _BASE, - _FN1 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_all( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL - ), - - [_FN1] = LAYOUT_all( - QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT - ) -}; diff --git a/keyboards/cannonkeys/vida/info.json b/keyboards/cannonkeys/vida/info.json deleted file mode 100644 index c8462b2ea9..0000000000 --- a/keyboards/cannonkeys/vida/info.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "manufacturer": "CannonKeys", - "maintainer": "awkannan", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "indicators": { - "caps_lock": "GP29", - "on_state": 0 - }, - "matrix_pins": { - "cols": ["GP28", "GP8", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1"], - "rows": ["GP26", "GP27", "GP15", "GP16", "GP17"] - }, - "processor": "RP2040", - "url": "https://cannonkeys.com", - "usb": { - "device_version": "0.0.1", - "vid": "0xCA04" - } -} diff --git a/keyboards/cannonkeys/vida/readme.md b/keyboards/cannonkeys/vida/readme.md deleted file mode 100644 index 2143a7d20a..0000000000 --- a/keyboards/cannonkeys/vida/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Vida Keyboard PCB - -Vida PCB from CannonKeys - -This folder has files for both the wired hotswap and solderable versions of the Vida PCB - -The hotswap version does not have as much layout support as the solderable version (no ISO, no split space) -The hotswap version does not support per key LED backlighting - -* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) -* Hardware Supported: RP2040 -* Hardware Availability: [CannonKeys](https://cannonkeys.com) - - -Make example for this keyboard (after setting up your build environment): - - make cannonkeys/vida:hotswap:default - -Flashing example for this keyboard: - - make cannonkeys/vida:hotswap:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Hold the "BOOTMODE" button on the back of the PCB and briefly press the "RESET" button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/cannonkeys/vida/solderable/config.h b/keyboards/cannonkeys/vida/solderable/config.h deleted file mode 100644 index 9a8669d7a8..0000000000 --- a/keyboards/cannonkeys/vida/solderable/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2024 Andrew Kannan -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A diff --git a/keyboards/cannonkeys/vida/solderable/halconf.h b/keyboards/cannonkeys/vida/solderable/halconf.h deleted file mode 100644 index 0536c37ff3..0000000000 --- a/keyboards/cannonkeys/vida/solderable/halconf.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2024 Andrew Kannan -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/cannonkeys/vida/solderable/keyboard.json b/keyboards/cannonkeys/vida/solderable/keyboard.json deleted file mode 100644 index 1b8635b443..0000000000 --- a/keyboards/cannonkeys/vida/solderable/keyboard.json +++ /dev/null @@ -1,680 +0,0 @@ -{ - "keyboard_name": "Vida", - "backlight": { - "breathing": true, - "breathing_period": 5, - "levels": 15, - "pin": "GP22" - }, - "features": { - "backlight": true - }, - "usb": { - "pid": "0x0032" - }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan"], - "layouts": { - "LAYOUT_60_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4} - ] - }, - "LAYOUT_60_iso": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_iso_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_iso_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_tsangan_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 2.25}, - {"matrix": [4, 6], "x": 6, "y": 4, "w": 1.25}, - {"matrix": [4, 9], "x": 7.25, "y": 4, "w": 2.75}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - } - } -} diff --git a/keyboards/cannonkeys/vida/solderable/keymaps/default/keymap.c b/keyboards/cannonkeys/vida/solderable/keymaps/default/keymap.c deleted file mode 100644 index 46d376f42d..0000000000 --- a/keyboards/cannonkeys/vida/solderable/keymaps/default/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2023 Andrew Kannan -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum layer_names { - _BASE, - _FN1 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_all( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL - ), - - [_FN1] = LAYOUT_all( - QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT - ) -}; diff --git a/keyboards/cannonkeys/vida/solderable/matrix_diagram.md b/keyboards/cannonkeys/vida/solderable/matrix_diagram.md deleted file mode 100644 index 6de584cb4e..0000000000 --- a/keyboards/cannonkeys/vida/solderable/matrix_diagram.md +++ /dev/null @@ -1,24 +0,0 @@ -# Matrix Diagram for CannonKeys Vida - -``` - ┌───────┐ - 2u Backspace │0D │ - └───────┘ -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ -│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2C │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐ -│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ ISO Enter -│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │1D │ │ -├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘ -│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ -├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ -│40 │41 │42 │46 │4A │4B │4C │4D │ -└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ -┌────────┐ ┌──────────┐ -│30 │ 2.25u LShift 2.75u RShift │3C │ -└────────┘ └──────────┘ -┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ -│40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL/HHKB -└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ -``` diff --git a/keyboards/cannonkeys/vida/solderable/mcuconf.h b/keyboards/cannonkeys/vida/solderable/mcuconf.h deleted file mode 100644 index 200f75c11b..0000000000 --- a/keyboards/cannonkeys/vida/solderable/mcuconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2024 Andrew Kannan -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef RP_PWM_USE_PWM3 -#define RP_PWM_USE_PWM3 TRUE diff --git a/keyboards/cantor/keyboard.json b/keyboards/cantor/keyboard.json index 9065e11ae5..26b79c0280 100644 --- a/keyboards/cantor/keyboard.json +++ b/keyboards/cantor/keyboard.json @@ -4,6 +4,8 @@ "maintainer": "diepala", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/capsunlocked/cu24/keyboard.json b/keyboards/capsunlocked/cu24/keyboard.json index 2a8ccf19c0..ceec64611c 100644 --- a/keyboards/capsunlocked/cu24/keyboard.json +++ b/keyboards/capsunlocked/cu24/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CU24", "manufacturer": "Yiancar/CapsUnlocked", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/capsunlocked/cu65/keyboard.json b/keyboards/capsunlocked/cu65/keyboard.json index 444a5ae178..80f1149661 100644 --- a/keyboards/capsunlocked/cu65/keyboard.json +++ b/keyboards/capsunlocked/cu65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CU65", "manufacturer": "CapsUnlocked", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4355", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/capsunlocked/cu7/keyboard.json b/keyboards/capsunlocked/cu7/keyboard.json index e19dc5acb3..46f8b34213 100644 --- a/keyboards/capsunlocked/cu7/keyboard.json +++ b/keyboards/capsunlocked/cu7/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/capsunlocked/cu75/keyboard.json b/keyboards/capsunlocked/cu75/keyboard.json index b226f74bf9..f7a8356bcc 100644 --- a/keyboards/capsunlocked/cu75/keyboard.json +++ b/keyboards/capsunlocked/cu75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CU75", "manufacturer": "LFKeyboards/CapsUnlocked", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/capsunlocked/cu80/v1/keyboard.json b/keyboards/capsunlocked/cu80/v1/keyboard.json index 18fb97037b..e3283d99cb 100644 --- a/keyboards/capsunlocked/cu80/v1/keyboard.json +++ b/keyboards/capsunlocked/cu80/v1/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/carbo65/keyboard.json b/keyboards/carbo65/keyboard.json index 918cbf465e..f2a4ce0dac 100644 --- a/keyboards/carbo65/keyboard.json +++ b/keyboards/carbo65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/centromere/keyboard.json b/keyboards/centromere/keyboard.json index 01dd6c9875..c190bd84d7 100644 --- a/keyboards/centromere/keyboard.json +++ b/keyboards/centromere/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Centromere", "manufacturer": "Southpaw Design", + "url": "", "maintainer": "spe2", "usb": { "vid": "0xFEED", diff --git a/keyboards/cest73/tkm/keyboard.json b/keyboards/cest73/tkm/keyboard.json index 5fc85d0e75..e9aad4461b 100644 --- a/keyboards/cest73/tkm/keyboard.json +++ b/keyboards/cest73/tkm/keyboard.json @@ -12,6 +12,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/chalice/keyboard.json b/keyboards/chalice/keyboard.json index 3b9f1fa0b7..b8b4436966 100644 --- a/keyboards/chalice/keyboard.json +++ b/keyboards/chalice/keyboard.json @@ -29,6 +29,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/chaos65/keyboard.json b/keyboards/chaos65/keyboard.json index c2a3d4b1a5..ed3f33e0c3 100644 --- a/keyboards/chaos65/keyboard.json +++ b/keyboards/chaos65/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/charue/charon/keyboard.json b/keyboards/charue/charon/keyboard.json index 206474171b..3dede57ba4 100644 --- a/keyboards/charue/charon/keyboard.json +++ b/keyboards/charue/charon/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/charue/sunsetter_r2/keyboard.json b/keyboards/charue/sunsetter_r2/keyboard.json index 6e2c1a92e1..b7b7cc8d92 100644 --- a/keyboards/charue/sunsetter_r2/keyboard.json +++ b/keyboards/charue/sunsetter_r2/keyboard.json @@ -28,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/chavdai40/rev1/keyboard.json b/keyboards/chavdai40/rev1/keyboard.json index 350aa9de5f..22c4ccfb7b 100644 --- a/keyboards/chavdai40/rev1/keyboard.json +++ b/keyboards/chavdai40/rev1/keyboard.json @@ -6,6 +6,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/chavdai40/rev2/keyboard.json b/keyboards/chavdai40/rev2/keyboard.json index 9cf0e3693c..b43c68604f 100644 --- a/keyboards/chavdai40/rev2/keyboard.json +++ b/keyboards/chavdai40/rev2/keyboard.json @@ -6,6 +6,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/checkerboards/axon40/keyboard.json b/keyboards/checkerboards/axon40/keyboard.json index a6647e9f3d..c0b67b611d 100644 --- a/keyboards/checkerboards/axon40/keyboard.json +++ b/keyboards/checkerboards/axon40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Axon40", "manufacturer": "Nasp", + "url": "", "maintainer": "nasp", "usb": { "vid": "0x7070", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/checkerboards/candybar_ortho/keyboard.json b/keyboards/checkerboards/candybar_ortho/keyboard.json index e9735a0bca..d7908a04f4 100644 --- a/keyboards/checkerboards/candybar_ortho/keyboard.json +++ b/keyboards/checkerboards/candybar_ortho/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CandyBar Ortho", "manufacturer": "Nasp", + "url": "", "maintainer": "nasp", "usb": { "vid": "0x7070", @@ -30,6 +31,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/checkerboards/g_idb60/keyboard.json b/keyboards/checkerboards/g_idb60/keyboard.json index 1273341e19..16f70dc868 100644 --- a/keyboards/checkerboards/g_idb60/keyboard.json +++ b/keyboards/checkerboards/g_idb60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "G_IDB60", "manufacturer": "Nasp", + "url": "", "maintainer": "npspears", "usb": { "vid": "0x7070", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/checkerboards/nop60/keyboard.json b/keyboards/checkerboards/nop60/keyboard.json index d4648387f5..9b86a3936a 100644 --- a/keyboards/checkerboards/nop60/keyboard.json +++ b/keyboards/checkerboards/nop60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NOP60", "manufacturer": "Nasp", + "url": "", "maintainer": "nasp", "usb": { "vid": "0x7070", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/checkerboards/plexus75/keyboard.json b/keyboards/checkerboards/plexus75/keyboard.json index 4bab1ce986..14bd4deb75 100644 --- a/keyboards/checkerboards/plexus75/keyboard.json +++ b/keyboards/checkerboards/plexus75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Plexus75", "manufacturer": "Nasp", + "url": "", "maintainer": "npspears", "usb": { "vid": "0x7070", @@ -31,6 +32,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/checkerboards/plexus75_he/keyboard.json b/keyboards/checkerboards/plexus75_he/keyboard.json index 55a7a49235..2da1bf34f3 100644 --- a/keyboards/checkerboards/plexus75_he/keyboard.json +++ b/keyboards/checkerboards/plexus75_he/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/checkerboards/pursuit40/keyboard.json b/keyboards/checkerboards/pursuit40/keyboard.json index 3ef3e2f3ab..996a55850d 100644 --- a/keyboards/checkerboards/pursuit40/keyboard.json +++ b/keyboards/checkerboards/pursuit40/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/checkerboards/quark/keyboard.json b/keyboards/checkerboards/quark/keyboard.json index 90d378b528..4bb7c7fef7 100644 --- a/keyboards/checkerboards/quark/keyboard.json +++ b/keyboards/checkerboards/quark/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "QUARK", "manufacturer": "Nasp", + "url": "", "maintainer": "nasp", "usb": { "vid": "0x7070", diff --git a/keyboards/checkerboards/quark_lp/keyboard.json b/keyboards/checkerboards/quark_lp/keyboard.json index 7634a71d3e..59fda2efc8 100644 --- a/keyboards/checkerboards/quark_lp/keyboard.json +++ b/keyboards/checkerboards/quark_lp/keyboard.json @@ -40,6 +40,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/checkerboards/quark_plus/keyboard.json b/keyboards/checkerboards/quark_plus/keyboard.json index 6f38cbb752..311d21c219 100644 --- a/keyboards/checkerboards/quark_plus/keyboard.json +++ b/keyboards/checkerboards/quark_plus/keyboard.json @@ -32,6 +32,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/checkerboards/ud40_ortho_alt/keyboard.json b/keyboards/checkerboards/ud40_ortho_alt/keyboard.json index 7e18bd3708..2aae3d1cc8 100644 --- a/keyboards/checkerboards/ud40_ortho_alt/keyboard.json +++ b/keyboards/checkerboards/ud40_ortho_alt/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "UD40_Ortho_Alt", "manufacturer": "Nasp", + "url": "", "maintainer": "nasp", "usb": { "vid": "0x7070", @@ -30,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cherrybstudio/cb1800/keyboard.json b/keyboards/cherrybstudio/cb1800/keyboard.json index 384109b83d..fedcc1c75e 100644 --- a/keyboards/cherrybstudio/cb1800/keyboard.json +++ b/keyboards/cherrybstudio/cb1800/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cherrybstudio/cb65/keyboard.json b/keyboards/cherrybstudio/cb65/keyboard.json index f9facaa1aa..8f14ec0941 100644 --- a/keyboards/cherrybstudio/cb65/keyboard.json +++ b/keyboards/cherrybstudio/cb65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cherrybstudio/cb87/keyboard.json b/keyboards/cherrybstudio/cb87/keyboard.json index 2b7fba491e..417c40e53d 100644 --- a/keyboards/cherrybstudio/cb87/keyboard.json +++ b/keyboards/cherrybstudio/cb87/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cherrybstudio/cb87rgb/keyboard.json b/keyboards/cherrybstudio/cb87rgb/keyboard.json index 1ce2fab78f..d2cc0c72de 100644 --- a/keyboards/cherrybstudio/cb87rgb/keyboard.json +++ b/keyboards/cherrybstudio/cb87rgb/keyboard.json @@ -58,6 +58,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cherrybstudio/cb87v2/keyboard.json b/keyboards/cherrybstudio/cb87v2/keyboard.json index 7337ed186b..c40bb1778f 100644 --- a/keyboards/cherrybstudio/cb87v2/keyboard.json +++ b/keyboards/cherrybstudio/cb87v2/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cheshire/curiosity/keyboard.json b/keyboards/cheshire/curiosity/keyboard.json index d630072123..b408a5b6e9 100644 --- a/keyboards/cheshire/curiosity/keyboard.json +++ b/keyboards/cheshire/curiosity/keyboard.json @@ -33,6 +33,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/chew/split/config.h b/keyboards/chew/config.h similarity index 94% rename from keyboards/chew/split/config.h rename to keyboards/chew/config.h index bb047c0adf..df672bc4e1 100644 --- a/keyboards/chew/split/config.h +++ b/keyboards/chew/config.h @@ -6,3 +6,5 @@ /* Flash */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // In ms in which the double tap can occur + +#define EE_HANDS diff --git a/keyboards/chew/info.json b/keyboards/chew/info.json deleted file mode 100644 index 306e7f3057..0000000000 --- a/keyboards/chew/info.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "manufacturer": "florent@linguenheld.fr", - "maintainer": "florent@linguenheld.fr", - "bootloader": "rp2040", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "processor": "RP2040", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - } -} diff --git a/keyboards/chew/split/keyboard.json b/keyboards/chew/keyboard.json similarity index 86% rename from keyboards/chew/split/keyboard.json rename to keyboards/chew/keyboard.json index 2a0245a9b4..01175e6341 100644 --- a/keyboards/chew/split/keyboard.json +++ b/keyboards/chew/keyboard.json @@ -1,5 +1,16 @@ { - "keyboard_name": "chew/split", + "manufacturer": "florent@linguenheld.fr", + "keyboard_name": "chew", + "maintainer": "florent@linguenheld.fr", + "bootloader": "rp2040", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, "matrix_pins": { "direct": [ ["GP4", "GP3", "GP2", "GP1", "GP0"], @@ -8,11 +19,9 @@ ["GP7", "GP6", "GP5", "NO_PIN", "NO_PIN"] ] }, + "processor": "RP2040", "split": { "enabled": true, - "handedness": { - "pin": "GP10" - }, "matrix_pins": { "right": { "direct": [ @@ -31,6 +40,11 @@ "watchdog": true } }, + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/chew/split/keymaps/default/keymap.c b/keyboards/chew/keymaps/default/keymap.c similarity index 100% rename from keyboards/chew/split/keymaps/default/keymap.c rename to keyboards/chew/keymaps/default/keymap.c diff --git a/keyboards/chew/mono/config.h b/keyboards/chew/mono/config.h deleted file mode 100644 index bb047c0adf..0000000000 --- a/keyboards/chew/mono/config.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2024 Florent (@FLinguenheld) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* Flash */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // In ms in which the double tap can occur diff --git a/keyboards/chew/mono/keyboard.json b/keyboards/chew/mono/keyboard.json deleted file mode 100644 index 9e48102367..0000000000 --- a/keyboards/chew/mono/keyboard.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "keyboard_name": "chew/mono", - "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["GP28", "GP27", "GP26", "GP15", "GP14", "GP4", "GP3", "GP2", "GP1", "GP0"], - "rows": ["GP5", "GP6", "GP7", "GP8"] - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 6], "x": 6, "y": 2}, - {"matrix": [2, 7], "x": 7, "y": 2}, - {"matrix": [2, 8], "x": 8, "y": 2}, - {"matrix": [2, 9], "x": 9, "y": 2}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - {"matrix": [3, 6], "x": 6, "y": 3}, - {"matrix": [3, 7], "x": 7, "y": 3} - ] - } - } -} diff --git a/keyboards/chew/mono/keymaps/default/keymap.c b/keyboards/chew/mono/keymaps/default/keymap.c deleted file mode 100644 index 0a69b72f85..0000000000 --- a/keyboards/chew/mono/keymaps/default/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2024 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ - * │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ - * ├───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤ - * │ Z │ X │ C │ V │ │ M │ , │ . │ / │ - * └───┴───┼───┼───┼───┬───┼───┼───┼───┴───┘ - * │ B │Bsp│Alt│ ␣ │Ent│ N │ - * └───┴───┴───┴───┴───┴───┘ - */ - [0] = LAYOUT( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_B, KC_BSPC, KC_RALT, KC_SPC, KC_ENT, KC_N - - ) -}; diff --git a/keyboards/chew/mono/readme.md b/keyboards/chew/mono/readme.md deleted file mode 100644 index a0c15170e4..0000000000 --- a/keyboards/chew/mono/readme.md +++ /dev/null @@ -1,37 +0,0 @@ -## Chew Mono - -[![Chew mono front photo](https://live.staticflickr.com/65535/53759880304_2e97179f76_b.jpg)](https://live.staticflickr.com/65535/53759880304_b9eb4130cf_o.png) -[![Chew mono front photo](https://live.staticflickr.com/65535/53759543226_57e3d6354f_b.jpg)](https://live.staticflickr.com/65535/53759543226_decbf17d2a_o.png) - -A crunched *monobloc* 34 key choc-spaced keyboard. - -- Keyboard Maintainer: [Florent Linguenheld](https://github.com/flinguenheld/) -- Visit the repository to get the last release: [Chew](https://github.com/flinguenheld/chew) -- Read the wiki to have some help or information: [Chew wiki](https://github.com/flinguenheld/chew/wiki) - - -![fox](https://github.com/flinguenheld/chew/blob/main/images/fox_brown.png?raw=true) - -### Requirements - -- 1x PCB -- 1x MCU board [RP2040-Zero](https://www.waveshare.com/wiki/RP2040-Zero) -- 34x [1N4148W SMD diodes](https://splitkb.com/collections/keyboard-parts/products/smd-diodes) -- 34x switches Choc V1 **only** -- 34x keycaps Choc V1 - -Optional: -- 18x [Mill Max sockets](https://splitkb.com/collections/keyboard-parts/products/mill-max-low-profile-sockets) -- 34x [kailh hotswap sockets](https://cdn.shopify.com/s/files/1/0588/1108/9090/files/5118-Choc-Socket.pdf?v=1686715063) -- 1x Back PCB + screws and bolts - -### Bootloader - -The controller has two buttons, so you can enter the bootloader in 2 ways: - -- Maintain the **boot** button and plug the usb cable in. -- Press twice the **reset** button. - -![sausages](https://github.com/flinguenheld/chew/blob/main/images/sausages.png?raw=true) - -[![Chew mono back photo](https://live.staticflickr.com/65535/53758638612_167c55f840_o.png)](https://live.staticflickr.com/65535/53758638612_167c55f840_o.png) diff --git a/keyboards/chew/readme.md b/keyboards/chew/readme.md index d478f86c49..a08398ea0f 100644 --- a/keyboards/chew/readme.md +++ b/keyboards/chew/readme.md @@ -1,12 +1,38 @@ -## Chew Mono +## Chew -[![Chew both](https://live.staticflickr.com/65535/53759959610_2960edcb50_b.jpg)](https://live.staticflickr.com/65535/53759959610_0c255fe2d4_o.png) +![Chew front photo](https://live.staticflickr.com/65535/53681212617_90e4eebaf9_o.jpg) +![Chew front photo](https://live.staticflickr.com/65535/53682442119_1fcea26fef_o.jpg) -A crunched 34 key choc-spaced keyboard. -Built with a RP2040 zero and available in [monobloc](https://github.com/qmk/qmk_firmware/tree/master/keyboards/chew/mono) and [splitted](https://github.com/qmk/qmk_firmware/tree/master/keyboards/chew/split) flavors. +A humble 34 key choc-spaced keyboard. - Keyboard Maintainer: [Florent Linguenheld](https://github.com/flinguenheld/) - Visit the repository to get the last release: [Chew](https://github.com/flinguenheld/chew) - Read the wiki to have some help or information: [Chew wiki](https://github.com/flinguenheld/chew/wiki) -![fox](https://github.com/flinguenheld/chew/blob/main/images/fox_brown.png?raw=true) + +![squirrel](https://github.com/flinguenheld/chew/blob/main/images/squirrel_brown.png?raw=true) + +### Requirements + +- 2x PCB +- 2x MCU board [RP2040-Zero](https://www.waveshare.com/wiki/RP2040-Zero) +- 2x TRRS jack +- 34 switches Choc V1 **only** +- 34 keycaps Choc V1 + +Optional: +- 23 [Mill Max sockets](https://splitkb.com/collections/keyboard-parts/products/mill-max-low-profile-sockets) +- 34 [kailh hotswap sockets](https://cdn.shopify.com/s/files/1/0588/1108/9090/files/5118-Choc-Socket.pdf?v=1686715063) +- 2x Back PCB + screws and bolts +- 2x [Tenting pucks](https://splitkb.com/collections/keyboard-parts/products/tenting-puck) +- 2x [Tripods](https://www.manfrotto.com/us-en/pocket-support-large-black-mp3-bk/) + +### Bootloader + +The controller has two buttons, so you can enter the bootloader in 2 ways: + +- Maintain the **boot** button and plug the usb cable in. +- Press twice the **reset** button. + +![hazelnuts](https://github.com/flinguenheld/chew/blob/main/images/hazelnuts.png?raw=true) +![Chew back photo](https://live.staticflickr.com/65535/53682442124_677ffa6cb5_o.jpg) diff --git a/keyboards/chew/split/readme.md b/keyboards/chew/split/readme.md deleted file mode 100644 index b47d5ac0fa..0000000000 --- a/keyboards/chew/split/readme.md +++ /dev/null @@ -1,38 +0,0 @@ -## Chew Split - -[![Chew](https://live.staticflickr.com/65535/53745130678_97ce7dfedf_b.jpg)](https://live.staticflickr.com/65535/53745130678_2d3318d279_o.png) -[![Chew](https://live.staticflickr.com/65535/53745130683_c98f1a152b_b.jpg)](https://live.staticflickr.com/65535/53745130683_90aa38b210_o.png) - -A crunched 34 key choc-spaced keyboard. - -- Keyboard Maintainer: [Florent Linguenheld](https://github.com/flinguenheld/) -- Visit the repository to get the last release: [Chew](https://github.com/flinguenheld/chew) -- Read the wiki to have some help or information: [Chew wiki](https://github.com/flinguenheld/chew/wiki) - - -![squirrel](https://github.com/flinguenheld/chew/blob/main/images/squirrel_brown.png?raw=true) - -### Requirements - -- 2x PCB -- 2x MCU board [RP2040-Zero](https://www.waveshare.com/wiki/RP2040-Zero) -- 2x TRRS jack -- 34 switches Choc V1 **only** -- 34 keycaps Choc V1 - -Optional: -- 23 [Mill Max sockets](https://splitkb.com/collections/keyboard-parts/products/mill-max-low-profile-sockets) -- 34 [kailh hotswap sockets](https://cdn.shopify.com/s/files/1/0588/1108/9090/files/5118-Choc-Socket.pdf?v=1686715063) -- 2x Back PCB + screws and bolts -- 2x [Tenting pucks](https://splitkb.com/collections/keyboard-parts/products/tenting-puck) -- 2x [Tripods](https://www.manfrotto.com/us-en/pocket-support-large-black-mp3-bk/) - -### Bootloader - -The controller has two buttons, so you can enter the bootloader in 2 ways: - -- Maintain the **boot** button and plug the usb cable in. -- Press twice the **reset** button. - -![hazelnuts](https://github.com/flinguenheld/chew/blob/main/images/hazelnuts.png?raw=true) -[![Chew](https://live.staticflickr.com/65535/53744026347_a95fe6d897_b.jpg)](https://live.staticflickr.com/65535/53744026347_a0a3bbedb4_o.png) diff --git a/keyboards/chickenman/ciel/keyboard.json b/keyboards/chickenman/ciel/keyboard.json index 128e0d4b6d..f28995794c 100644 --- a/keyboards/chickenman/ciel/keyboard.json +++ b/keyboards/chickenman/ciel/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ciel", "manufacturer": "ChickenMan", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xC41C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/chickenman/ciel65/keyboard.json b/keyboards/chickenman/ciel65/keyboard.json index fb89fb936e..8c316759a8 100644 --- a/keyboards/chickenman/ciel65/keyboard.json +++ b/keyboards/chickenman/ciel65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ciel65", "manufacturer": "ChickenMan", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xC41C", @@ -18,13 +19,17 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgblight": true }, "rgblight": { "led_count": 14, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, + "max_brightness": 255, "sleep": true, "animations": { "alternating": true, diff --git a/keyboards/chill/ghoul/keyboard.json b/keyboards/chill/ghoul/keyboard.json index 321b7d19bd..ff7435959c 100644 --- a/keyboards/chill/ghoul/keyboard.json +++ b/keyboards/chill/ghoul/keyboard.json @@ -12,6 +12,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/chlx/lfn_merro60/keyboard.json b/keyboards/chlx/lfn_merro60/keyboard.json index 6533e3d37f..54a235c7f8 100644 --- a/keyboards/chlx/lfn_merro60/keyboard.json +++ b/keyboards/chlx/lfn_merro60/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/chlx/merro60/keyboard.json b/keyboards/chlx/merro60/keyboard.json index 1a547a5230..31f83f80a5 100644 --- a/keyboards/chlx/merro60/keyboard.json +++ b/keyboards/chlx/merro60/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/chlx/piche60/keyboard.json b/keyboards/chlx/piche60/keyboard.json index 462338e41c..7eafe4f84f 100644 --- a/keyboards/chlx/piche60/keyboard.json +++ b/keyboards/chlx/piche60/keyboard.json @@ -9,6 +9,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/chlx/ppr_merro60/keyboard.json b/keyboards/chlx/ppr_merro60/keyboard.json index 6ffd1614b6..9f056fef52 100644 --- a/keyboards/chlx/ppr_merro60/keyboard.json +++ b/keyboards/chlx/ppr_merro60/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/chocofly/v1/keyboard.json b/keyboards/chocofly/v1/keyboard.json index ae2a710070..195d1e9a9f 100644 --- a/keyboards/chocofly/v1/keyboard.json +++ b/keyboards/chocofly/v1/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": false, "mousekey": false, diff --git a/keyboards/chocv/keyboard.json b/keyboards/chocv/keyboard.json index 596b80973b..670e46f817 100644 --- a/keyboards/chocv/keyboard.json +++ b/keyboards/chocv/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/chord/zero/keyboard.json b/keyboards/chord/zero/keyboard.json index 5b957a8e53..63e74546d5 100644 --- a/keyboards/chord/zero/keyboard.json +++ b/keyboards/chord/zero/keyboard.json @@ -10,6 +10,8 @@ "maintainer": "sol", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/chosfox/cf81/halconf.h b/keyboards/chosfox/cf81/halconf.h index 2ddb9c35d8..2f64e65393 100644 --- a/keyboards/chosfox/cf81/halconf.h +++ b/keyboards/chosfox/cf81/halconf.h @@ -17,5 +17,7 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/chosfox/cf81/keyboard.json b/keyboards/chosfox/cf81/keyboard.json index 9ff5e35fbd..aae2421a03 100644 --- a/keyboards/chosfox/cf81/keyboard.json +++ b/keyboards/chosfox/cf81/keyboard.json @@ -22,6 +22,8 @@ "bootmagic": true, "mousekey": false, "extrakey": true, + "console": false, + "command": false, "nkro": true, "encoder": true, "rgb_matrix": true diff --git a/keyboards/chouchou/keyboard.json b/keyboards/chouchou/keyboard.json index 1d6236c2ea..726f190aab 100644 --- a/keyboards/chouchou/keyboard.json +++ b/keyboards/chouchou/keyboard.json @@ -5,6 +5,8 @@ "bootloader": "rp2040", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/chromatonemini/keyboard.json b/keyboards/chromatonemini/keyboard.json index 454938ca0c..963496a0c0 100644 --- a/keyboards/chromatonemini/keyboard.json +++ b/keyboards/chromatonemini/keyboard.json @@ -12,6 +12,7 @@ "extrakey": true, "encoder": true, "bootmagic": false, + "console": false, "mousekey": false, "nkro": false }, diff --git a/keyboards/churrosoft/deck8/info.json b/keyboards/churrosoft/deck8/info.json index d656997b78..00fc2d1bad 100644 --- a/keyboards/churrosoft/deck8/info.json +++ b/keyboards/churrosoft/deck8/info.json @@ -12,6 +12,7 @@ }, "features": { "bootmagic": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cipulot/common/ec_board.c b/keyboards/cipulot/common/ec_board.c index b15543e49e..0ccb9f6d3c 100644 --- a/keyboards/cipulot/common/ec_board.c +++ b/keyboards/cipulot/common/ec_board.c @@ -36,7 +36,7 @@ void eeconfig_init_kb(void) { } } // Write default value to EEPROM now - eeconfig_update_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE); + eeconfig_update_kb_datablock(&eeprom_ec_config); eeconfig_init_user(); } @@ -44,7 +44,7 @@ void eeconfig_init_kb(void) { // On Keyboard startup void keyboard_post_init_kb(void) { // Read custom menu variables from memory - eeconfig_read_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE); + eeconfig_read_kb_datablock(&eeprom_ec_config); // Set runtime values to EEPROM values ec_config.actuation_mode = eeprom_ec_config.actuation_mode; diff --git a/keyboards/cipulot/ok_1/mcuconf.h b/keyboards/cipulot/common/eeprom_tools.h similarity index 55% rename from keyboards/cipulot/ok_1/mcuconf.h rename to keyboards/cipulot/common/eeprom_tools.h index e65368bf26..b3c90d8759 100644 --- a/keyboards/cipulot/ok_1/mcuconf.h +++ b/keyboards/cipulot/common/eeprom_tools.h @@ -1,4 +1,4 @@ -/* Copyright 2024 Cipulot +/* Copyright 2023 Cipulot * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -13,10 +13,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - #pragma once -#include_next +#include "eeprom.h" -#undef STM32_PWM_USE_TIM1 -#define STM32_PWM_USE_TIM1 TRUE +#if (EECONFIG_KB_DATA_SIZE) > 0 +# define EEPROM_KB_PARTIAL_UPDATE(__struct, __field) eeprom_update_block(&(__struct.__field), (void *)((void *)(EECONFIG_KB_DATABLOCK) + offsetof(typeof(__struct), __field)), sizeof(__struct.__field)) +#endif + +#if (EECONFIG_USER_DATA_SIZE) > 0 +# define EEPROM_USER_PARTIAL_UPDATE(__struct, __field) eeprom_update_block(&(__struct.__field), (void *)((void *)(EECONFIG_USER_DATABLOCK) + offsetof(typeof(__struct), __field)), sizeof(__struct.__field)) +#endif diff --git a/keyboards/cipulot/common/via_ec.c b/keyboards/cipulot/common/via_ec.c index 7be6edd026..ed34a579b2 100644 --- a/keyboards/cipulot/common/via_ec.c +++ b/keyboards/cipulot/common/via_ec.c @@ -13,6 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ +#include "eeprom_tools.h" #include "ec_switch_matrix.h" #include "action.h" #include "print.h" @@ -72,7 +73,7 @@ void via_config_set_value(uint8_t *data) { uprintf("# Actuation Mode: Rapid Trigger #\n"); uprintf("#################################\n"); } - eeconfig_update_kb_datablock_field(eeprom_ec_config, actuation_mode); + EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, actuation_mode); break; } case id_mode_0_actuation_threshold: { @@ -292,7 +293,7 @@ void ec_save_threshold_data(uint8_t option) { ec_rescale_values(3); ec_rescale_values(4); } - eeconfig_update_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE); + eeconfig_update_kb_datablock(&eeprom_ec_config); uprintf("####################################\n"); uprintf("# New thresholds applied and saved #\n"); uprintf("####################################\n"); @@ -320,7 +321,7 @@ void ec_save_bottoming_reading(void) { ec_rescale_values(2); ec_rescale_values(3); ec_rescale_values(4); - eeconfig_update_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE); + eeconfig_update_kb_datablock(&eeprom_ec_config); } // Show the calibration data diff --git a/keyboards/cipulot/ec_980c/ec_980c.c b/keyboards/cipulot/ec_980c/ec_980c.c index 7a2062a4e4..eaa636ede6 100644 --- a/keyboards/cipulot/ec_980c/ec_980c.c +++ b/keyboards/cipulot/ec_980c/ec_980c.c @@ -44,7 +44,7 @@ void eeconfig_init_kb(void) { } } // Write default value to EEPROM now - eeconfig_update_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE); + eeconfig_update_kb_datablock(&eeprom_ec_config); eeconfig_init_user(); } @@ -52,7 +52,7 @@ void eeconfig_init_kb(void) { // On Keyboard startup void keyboard_post_init_kb(void) { // Read custom menu variables from memory - eeconfig_read_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE); + eeconfig_read_kb_datablock(&eeprom_ec_config); // Set runtime values to EEPROM values ec_config.actuation_mode = eeprom_ec_config.actuation_mode; diff --git a/keyboards/cipulot/ec_980c/keyboard.json b/keyboards/cipulot/ec_980c/keyboard.json index 823a761735..35946fa623 100644 --- a/keyboards/cipulot/ec_980c/keyboard.json +++ b/keyboards/cipulot/ec_980c/keyboard.json @@ -30,7 +30,8 @@ "rgb_matrix": { "animations": { "breathing": true, - "cycle_left_right": true + "cycle_left_right": true, + "solid_color": true }, "driver": "ws2812", "layout": [ @@ -38,7 +39,8 @@ {"matrix": [0, 16], "x": 17, "y": 1, "flags": 4}, {"matrix": [0, 17], "x": 18, "y": 1, "flags": 4} ], - "led_count": 3 + "led_count": 3, + "max_brightness": 255 }, "usb": { "device_version": "0.0.1", diff --git a/keyboards/cipulot/ec_typek/ec_typek.c b/keyboards/cipulot/ec_typek/ec_typek.c index 31616afc02..d4241f66f1 100644 --- a/keyboards/cipulot/ec_typek/ec_typek.c +++ b/keyboards/cipulot/ec_typek/ec_typek.c @@ -44,7 +44,7 @@ void eeconfig_init_kb(void) { } } // Write default value to EEPROM now - eeconfig_update_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE); + eeconfig_update_kb_datablock(&eeprom_ec_config); eeconfig_init_user(); } @@ -52,7 +52,7 @@ void eeconfig_init_kb(void) { // On Keyboard startup void keyboard_post_init_kb(void) { // Read custom menu variables from memory - eeconfig_read_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE); + eeconfig_read_kb_datablock(&eeprom_ec_config); // Set runtime values to EEPROM values ec_config.actuation_mode = eeprom_ec_config.actuation_mode; diff --git a/keyboards/cipulot/kallos/keyboard.json b/keyboards/cipulot/kallos/keyboard.json index ef10f34266..731b37fda9 100644 --- a/keyboards/cipulot/kallos/keyboard.json +++ b/keyboards/cipulot/kallos/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kallos", "manufacturer": "Cipulot", + "url": "", "maintainer": "Cipulot", "usb": { "vid": "0x6369", @@ -30,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/cipulot/ok_1/config.h b/keyboards/cipulot/ok_1/config.h deleted file mode 100644 index 64700a1aff..0000000000 --- a/keyboards/cipulot/ok_1/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2024 Cipulot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// PWM driver with direct memory access (DMA) support -#define WS2812_PWM_COMPLEMENTARY_OUTPUT -#define WS2812_PWM_DRIVER PWMD1 -#define WS2812_PWM_CHANNEL 1 -#define WS2812_PWM_PAL_MODE 2 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM5 -#define WS2812_DMA_CHANNEL 6 diff --git a/keyboards/cipulot/ok_1/halconf.h b/keyboards/cipulot/ok_1/halconf.h deleted file mode 100644 index 33477f45bd..0000000000 --- a/keyboards/cipulot/ok_1/halconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2024 Cipulot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define HAL_USE_PAL TRUE -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/cipulot/ok_1/keyboard.json b/keyboards/cipulot/ok_1/keyboard.json deleted file mode 100644 index 2457f22fd8..0000000000 --- a/keyboards/cipulot/ok_1/keyboard.json +++ /dev/null @@ -1,255 +0,0 @@ -{ - "manufacturer": "Cipulot", - "keyboard_name": "OK-1", - "maintainer": "Cipulot", - "bootloader": "stm32-dfu", - "build": { - "lto": true - }, - "diode_direction": "COL2ROW", - "features": { - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["B10", "B2", "B1", "B0", "A7", "A6", "A5", "A1", "A0", "F1", "F0", "C15", "A4", "A3"], - "rows": ["B11", "A2", "B9", "B8", "B7", "B6"] - }, - "processor": "STM32F072", - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "fractal": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "default": { - "animation": "rainbow_moving_chevron" - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 13], "x": 205, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 187, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 172, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 157, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 142, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 127, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 97, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 82, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 67, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 37, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 22, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 4, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4}, - {"matrix": [1, 1], "x": 15, "y": 13, "flags": 4}, - {"matrix": [1, 2], "x": 30, "y": 13, "flags": 4}, - {"matrix": [1, 3], "x": 45, "y": 13, "flags": 4}, - {"matrix": [1, 4], "x": 60, "y": 13, "flags": 4}, - {"matrix": [1, 5], "x": 75, "y": 13, "flags": 4}, - {"matrix": [1, 6], "x": 90, "y": 13, "flags": 4}, - {"matrix": [1, 7], "x": 105, "y": 13, "flags": 4}, - {"matrix": [1, 8], "x": 119, "y": 13, "flags": 4}, - {"matrix": [1, 9], "x": 134, "y": 13, "flags": 4}, - {"matrix": [1, 10], "x": 149, "y": 13, "flags": 4}, - {"matrix": [1, 11], "x": 164, "y": 13, "flags": 4}, - {"matrix": [1, 12], "x": 179, "y": 13, "flags": 4}, - {"matrix": [1, 13], "x": 202, "y": 13, "flags": 1}, - {"matrix": [2, 13], "x": 205, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 187, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 172, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 157, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 142, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 127, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 97, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 82, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 67, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 37, "y": 26, "flags": 4}, - {"matrix": [2, 1], "x": 22, "y": 26, "flags": 4}, - {"matrix": [2, 0], "x": 4, "y": 26, "flags": 1}, - {"matrix": [3, 0], "x": 6, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 26, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 41, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 56, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 71, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 86, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 101, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 116, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 131, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 146, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 161, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 175, "y": 38, "flags": 4}, - {"matrix": [3, 12], "x": 200, "y": 38, "flags": 1}, - {"matrix": [4, 12], "x": 209, "y": 51, "flags": 1}, - {"matrix": [4, 11], "x": 189, "y": 51, "flags": 1}, - {"matrix": [4, 10], "x": 168, "y": 51, "flags": 4}, - {"matrix": [4, 9], "x": 153, "y": 51, "flags": 4}, - {"matrix": [4, 8], "x": 138, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 123, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 108, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 93, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 78, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 63, "y": 51, "flags": 4}, - {"matrix": [4, 2], "x": 49, "y": 51, "flags": 4}, - {"matrix": [4, 1], "x": 34, "y": 51, "flags": 4}, - {"matrix": [4, 0], "x": 9, "y": 51, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 15, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 30, "y": 64, "flags": 1}, - {"matrix": [5, 3], "x": 47, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 103, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 10], "x": 177, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 194, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 209, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 224, "y": 64, "flags": 1} - ], - "sleep": true - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x6BCA", - "shared_endpoint": { - "keyboard": true - }, - "vid": "0x6369" - }, - "ws2812": { - "driver": "pwm", - "pin": "B13" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, - {"matrix": [0, 1], "x": 1.5, "y": 0}, - {"matrix": [0, 2], "x": 2.5, "y": 0}, - {"matrix": [0, 3], "x": 3.5, "y": 0}, - {"matrix": [0, 4], "x": 4.5, "y": 0}, - {"matrix": [0, 5], "x": 5.5, "y": 0}, - {"matrix": [0, 6], "x": 6.5, "y": 0}, - {"matrix": [0, 7], "x": 7.5, "y": 0}, - {"matrix": [0, 8], "x": 8.5, "y": 0}, - {"matrix": [0, 9], "x": 9.5, "y": 0}, - {"matrix": [0, 10], "x": 10.5, "y": 0}, - {"matrix": [0, 11], "x": 11.5, "y": 0}, - {"matrix": [0, 12], "x": 12.5, "y": 0}, - {"matrix": [0, 13], "x": 13.5, "y": 0, "w": 1.5}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [1, 10], "x": 10, "y": 1}, - {"matrix": [1, 11], "x": 11, "y": 1}, - {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 13], "x": 13, "y": 1, "w": 2}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, - {"matrix": [4, 1], "x": 2.25, "y": 4}, - {"matrix": [4, 2], "x": 3.25, "y": 4}, - {"matrix": [4, 3], "x": 4.25, "y": 4}, - {"matrix": [4, 4], "x": 5.25, "y": 4}, - {"matrix": [4, 5], "x": 6.25, "y": 4}, - {"matrix": [4, 6], "x": 7.25, "y": 4}, - {"matrix": [4, 7], "x": 8.25, "y": 4}, - {"matrix": [4, 8], "x": 9.25, "y": 4}, - {"matrix": [4, 9], "x": 10.25, "y": 4}, - {"matrix": [4, 10], "x": 11.25, "y": 4}, - {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 12], "x": 14, "y": 4}, - {"matrix": [5, 0], "x": 0, "y": 5}, - {"matrix": [5, 1], "x": 1, "y": 5}, - {"matrix": [5, 2], "x": 2, "y": 5}, - {"matrix": [5, 3], "x": 3, "y": 5, "w": 1.25}, - {"matrix": [5, 6], "x": 4.25, "y": 5, "w": 6.25}, - {"matrix": [5, 9], "x": 10.5, "y": 5, "w": 1.25}, - {"matrix": [5, 10], "x": 11.75, "y": 5, "w": 1.25}, - {"matrix": [5, 11], "x": 13, "y": 5}, - {"matrix": [5, 12], "x": 14, "y": 5}, - {"matrix": [5, 13], "x": 15, "y": 5} - ] - } - } -} diff --git a/keyboards/cipulot/ok_1/keymaps/default/keymap.c b/keyboards/cipulot/ok_1/keymaps/default/keymap.c deleted file mode 100644 index ceadc4c064..0000000000 --- a/keyboards/cipulot/ok_1/keymaps/default/keymap.c +++ /dev/null @@ -1,90 +0,0 @@ -/* Copyright 2024 Cipulot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// clang-format off -enum layers{ - _MAC_BASE, - _MAC_FN, - _WIN_BASE, - _WIN_FN -}; - -enum custom_keycodes { - SNIP = SAFE_RANGE, -}; -// clang-format on - -#define MAC PDF(_MAC_BASE) -#define WIN PDF(_WIN_BASE) - -#define MACFN MO(_MAC_FN) -#define WINFN MO(_WIN_FN) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // clang-format off - [_MAC_BASE] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - MACFN, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, KC_LEFT, KC_DOWN, KC_RIGHT - ), - [_MAC_FN] = LAYOUT( - _______, KC_BRID, KC_BRIU, KC_MCTL, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, SNIP, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, WIN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RM_VALU, - _______, _______, _______, _______, _______, _______, _______, RM_PREV, RM_VALD, RM_PREV - ), - [_WIN_BASE] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - WINFN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT - ), - [_WIN_FN] = LAYOUT( - _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, SNIP, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, MAC, _______, _______, _______, _______, RM_VALU, - _______, _______, _______, _______, _______, _______, _______, RM_PREV, RM_VALD, RM_PREV - ), - // clang-format on -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case SNIP: - if (record->event.pressed) { - if (IS_LAYER_ON(_WIN_FN)) { - tap_code(KC_PSCR); - } else if (IS_LAYER_ON(_MAC_FN)) { - tap_code16(LSFT(LGUI(KC_3))); - } - } - return false; - - default: - return true; - } -} diff --git a/keyboards/cipulot/ok_1/readme.md b/keyboards/cipulot/ok_1/readme.md deleted file mode 100644 index aa003326d9..0000000000 --- a/keyboards/cipulot/ok_1/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# OK-1 - -OK-1 is a low profile keyboard. - -* Keyboard Maintainer: [cipulot](https://github.com/cipulot) -* Hardware Supported: OK-1 -* Hardware Availability: TBD - -Make example for this keyboard (after setting up your build environment): - - make cipulot/ok_1:default - -Flashing example for this keyboard: - - make cipulot/ok_1:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured. -* **Physical reset button**: Long press the reset button soldered on the PCB. -* **Bootmagic reset**: Hold down the top left key and plug in the controller. diff --git a/keyboards/ck60i/keyboard.json b/keyboards/ck60i/keyboard.json index d628275c48..72b57598a4 100644 --- a/keyboards/ck60i/keyboard.json +++ b/keyboards/ck60i/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CK60i", "manufacturer": "CandyKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x434B", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/ckeys/handwire_101/keyboard.json b/keyboards/ckeys/handwire_101/keyboard.json index 781cd25c83..642d0d8a25 100644 --- a/keyboards/ckeys/handwire_101/keyboard.json +++ b/keyboards/ckeys/handwire_101/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ckeys/nakey/keyboard.json b/keyboards/ckeys/nakey/keyboard.json index e9cbced1f1..85f744217f 100644 --- a/keyboards/ckeys/nakey/keyboard.json +++ b/keyboards/ckeys/nakey/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "naKey", "manufacturer": "cKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/ckeys/obelus/keyboard.json b/keyboards/ckeys/obelus/keyboard.json index d0929647dc..797bb870b9 100644 --- a/keyboards/ckeys/obelus/keyboard.json +++ b/keyboards/ckeys/obelus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Obelus", "manufacturer": "cKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "audio": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "midi": true, "mousekey": false, diff --git a/keyboards/ckeys/thedora/keyboard.json b/keyboards/ckeys/thedora/keyboard.json index d1e3ffd4da..d287e81a0b 100644 --- a/keyboards/ckeys/thedora/keyboard.json +++ b/keyboards/ckeys/thedora/keyboard.json @@ -11,6 +11,8 @@ "features": { "audio": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "midi": true, diff --git a/keyboards/ckeys/washington/keyboard.json b/keyboards/ckeys/washington/keyboard.json index 76e6322ccb..b410e16f93 100644 --- a/keyboards/ckeys/washington/keyboard.json +++ b/keyboards/ckeys/washington/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/clap_studio/flame60/keyboard.json b/keyboards/clap_studio/flame60/keyboard.json deleted file mode 100644 index 8ceaa45990..0000000000 --- a/keyboards/clap_studio/flame60/keyboard.json +++ /dev/null @@ -1,661 +0,0 @@ -{ - "manufacturer": "Clap_Studio", - "keyboard_name": "Flame60", - "maintainer": "Freather", - "bootloader": "atmel-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["B0", "B1", "B2", "B3", "B7", "D3", "D2", "D1", "D0", "B5", "B4", "D7", "D6", "D4"], - "rows": ["F4", "F1", "D5", "B6", "F5"] - }, - "processor": "atmega32u4", - "url": "https://www.instagram.com/clap__studio__/", - "usb": { - "device_version": "1.0.0", - "pid": "0x464C", - "vid": "0x434C" - }, - "layout_aliases": { - "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" - }, - "layouts": { - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [1, 13], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 1], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [1, 13], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 1], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 1], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [1, 13], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 1], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 12], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_iso_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [1, 13], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 12], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_iso_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 12], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [1, 13], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 12], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/clap_studio/flame60/keymaps/default/keymap.c b/keyboards/clap_studio/flame60/keymaps/default/keymap.c deleted file mode 100644 index bbf725d3b0..0000000000 --- a/keyboards/clap_studio/flame60/keymaps/default/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ - * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ - * │Ctrl│GUI │Alt │ │ Alt│ GUI│ Fn │Ctrl│ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ - */ - [0] = LAYOUT_60_ansi( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL - ), - - [1] = LAYOUT_60_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/clap_studio/flame60/readme.md b/keyboards/clap_studio/flame60/readme.md deleted file mode 100644 index 9e1c6a1163..0000000000 --- a/keyboards/clap_studio/flame60/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Flame60 - -![Flame60 PCB](https://i.imgur.com/vdOxw3j.jpeg) - -The Flame60 consists of a screwless exterior, flex cut pcb and plate to ensure a soft typing experience. - -* Keyboard Maintainer: [CMM.Studio Freather](https://github.com/frankBTHID) -* Hardware Supported: Atmega32u4 -* Hardware Availability: [CLAP.STUDIO (Instagram)](https://www.instagram.com/clap__studio__/) - -Make example for this keyboard (after setting up your build environment): - - make clap_studio/flame60:default - -Flashing example for this keyboard: - - make clap_studio/flame60:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/clawsome/bookerboard/keyboard.json b/keyboards/clawsome/bookerboard/keyboard.json index 7e3065863a..a72260eb60 100644 --- a/keyboards/clawsome/bookerboard/keyboard.json +++ b/keyboards/clawsome/bookerboard/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Bookerboard", "manufacturer": "AlisGraveNil", + "url": "", "maintainer": "AlisGraveNil", "usb": { "vid": "0xFEED", diff --git a/keyboards/clawsome/fightpad/keyboard.json b/keyboards/clawsome/fightpad/keyboard.json index ac5f83af23..7333349028 100644 --- a/keyboards/clawsome/fightpad/keyboard.json +++ b/keyboards/clawsome/fightpad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/clawsome/sidekick/keyboard.json b/keyboards/clawsome/sidekick/keyboard.json index f2712a367d..4f535d09aa 100644 --- a/keyboards/clawsome/sidekick/keyboard.json +++ b/keyboards/clawsome/sidekick/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Sidekick", "manufacturer": "AlisGraveNil", + "url": "", "maintainer": "AlisGraveNil", "usb": { "vid": "0xFEED", diff --git a/keyboards/clickety_split/leeloo/rules.mk b/keyboards/clickety_split/leeloo/rules.mk new file mode 100644 index 0000000000..9d35960f7c --- /dev/null +++ b/keyboards/clickety_split/leeloo/rules.mk @@ -0,0 +1,2 @@ +# Default Folder +DEFAULT_FOLDER = clickety_split/leeloo/rev3 diff --git a/keyboards/clueboard/17/keyboard.json b/keyboards/clueboard/17/keyboard.json index 7b900cafd0..d6aec9cfcc 100644 --- a/keyboards/clueboard/17/keyboard.json +++ b/keyboards/clueboard/17/keyboard.json @@ -8,6 +8,7 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -31,12 +32,15 @@ "static_gradient": true, "twinkle": true }, + "brightness_steps": 17, "hue_steps": 10, - "led_count": 4 + "led_count": 4, + "saturation_steps": 17 }, "ws2812": { "pin": "F6" }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x2312", diff --git a/keyboards/clueboard/2x1800/2018/keyboard.json b/keyboards/clueboard/2x1800/2018/keyboard.json index cf827de11e..1a926c62b9 100644 --- a/keyboards/clueboard/2x1800/2018/keyboard.json +++ b/keyboards/clueboard/2x1800/2018/keyboard.json @@ -8,6 +8,7 @@ "features": { "audio": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -43,6 +44,7 @@ "twinkle": true }, "brightness_steps": 8, + "hue_steps": 8, "led_count": 16, "saturation_steps": 8 }, diff --git a/keyboards/clueboard/60/keyboard.json b/keyboards/clueboard/60/keyboard.json index 4187f5ede4..d0b4d34999 100644 --- a/keyboards/clueboard/60/keyboard.json +++ b/keyboards/clueboard/60/keyboard.json @@ -10,6 +10,7 @@ "features": { "audio": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/clueboard/66/rev1/keyboard.json b/keyboards/clueboard/66/rev1/keyboard.json index 3675f7170f..ca1e3a6553 100644 --- a/keyboards/clueboard/66/rev1/keyboard.json +++ b/keyboards/clueboard/66/rev1/keyboard.json @@ -7,6 +7,7 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -32,8 +33,10 @@ "static_gradient": true, "twinkle": true }, + "brightness_steps": 17, "hue_steps": 10, - "led_count": 14 + "led_count": 14, + "saturation_steps": 17 }, "ws2812": { "pin": "B2" diff --git a/keyboards/clueboard/66/rev2/keyboard.json b/keyboards/clueboard/66/rev2/keyboard.json index 4681056ece..fea4f8d39b 100644 --- a/keyboards/clueboard/66/rev2/keyboard.json +++ b/keyboards/clueboard/66/rev2/keyboard.json @@ -7,6 +7,7 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -33,8 +34,10 @@ "static_gradient": true, "twinkle": true }, + "brightness_steps": 17, "hue_steps": 32, - "led_count": 14 + "led_count": 14, + "saturation_steps": 17 }, "ws2812": { "pin": "D7" diff --git a/keyboards/clueboard/66/rev3/keyboard.json b/keyboards/clueboard/66/rev3/keyboard.json index 03a7608876..4553979d8a 100644 --- a/keyboards/clueboard/66/rev3/keyboard.json +++ b/keyboards/clueboard/66/rev3/keyboard.json @@ -8,6 +8,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -32,8 +34,10 @@ "static_gradient": true, "twinkle": true }, + "brightness_steps": 17, "hue_steps": 32, - "led_count": 18 + "led_count": 18, + "saturation_steps": 17 }, "ws2812": { "pin": "D7" diff --git a/keyboards/clueboard/66/rev4/keyboard.json b/keyboards/clueboard/66/rev4/keyboard.json index c854cfff99..dbc1b94915 100644 --- a/keyboards/clueboard/66/rev4/keyboard.json +++ b/keyboards/clueboard/66/rev4/keyboard.json @@ -9,6 +9,7 @@ "features": { "audio": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -31,8 +32,10 @@ "static_gradient": true, "twinkle": true }, + "brightness_steps": 17, "hue_steps": 32, - "led_count": 18 + "led_count": 18, + "saturation_steps": 17 }, "ws2812": { "pin": "D7" diff --git a/keyboards/clueboard/66_hotswap/prototype/keyboard.json b/keyboards/clueboard/66_hotswap/prototype/keyboard.json index 17dd296d4f..9d0b0dd27c 100644 --- a/keyboards/clueboard/66_hotswap/prototype/keyboard.json +++ b/keyboards/clueboard/66_hotswap/prototype/keyboard.json @@ -9,6 +9,7 @@ "audio": true, "backlight": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": false, @@ -38,8 +39,10 @@ "static_gradient": true, "twinkle": true }, + "brightness_steps": 17, "hue_steps": 32, - "led_count": 26 + "led_count": 26, + "saturation_steps": 17 }, "ws2812": { "pin": "D7" diff --git a/keyboards/clueboard/california/keyboard.json b/keyboards/clueboard/california/keyboard.json index 15467d4deb..66b4b484e2 100644 --- a/keyboards/clueboard/california/keyboard.json +++ b/keyboards/clueboard/california/keyboard.json @@ -1,5 +1,6 @@ { "keyboard_name": "Clueboard California", + "url": "", "maintainer": "skullydazed", "processor": "STM32F303", "board": "QMK_PROTON_C", diff --git a/keyboards/clueboard/card/keyboard.json b/keyboards/clueboard/card/keyboard.json index b5d5122c3d..0425819ed7 100644 --- a/keyboards/clueboard/card/keyboard.json +++ b/keyboards/clueboard/card/keyboard.json @@ -10,6 +10,7 @@ "audio": true, "backlight": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -24,8 +25,10 @@ "rows": ["F0", "F5", "F4", "B4"] }, "rgblight": { + "brightness_steps": 17, "hue_steps": 10, - "led_count": 4 + "led_count": 4, + "saturation_steps": 17 }, "ws2812": { "pin": "E6" diff --git a/keyboards/cmm_studio/fuji65/keyboard.json b/keyboards/cmm_studio/fuji65/keyboard.json index 55ff233335..c4f1e5156e 100644 --- a/keyboards/cmm_studio/fuji65/keyboard.json +++ b/keyboards/cmm_studio/fuji65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Fuji65", "manufacturer": "CMM.Studio", + "url": "", "maintainer": "CMMS-Freather", "usb": { "vid": "0x434D", @@ -29,6 +30,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/cmm_studio/saka68/hotswap/keyboard.json b/keyboards/cmm_studio/saka68/hotswap/keyboard.json index 8ea3185bf7..6dc3ec639a 100644 --- a/keyboards/cmm_studio/saka68/hotswap/keyboard.json +++ b/keyboards/cmm_studio/saka68/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Saka68 Hotswap", "manufacturer": "CMM.Studio", + "url": "", "maintainer": "CMMS-Freather", "usb": { "vid": "0x434D", diff --git a/keyboards/cmm_studio/saka68/solder/keyboard.json b/keyboards/cmm_studio/saka68/solder/keyboard.json index 977162e6a4..d5aea40763 100644 --- a/keyboards/cmm_studio/saka68/solder/keyboard.json +++ b/keyboards/cmm_studio/saka68/solder/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Saka68 Solder", "manufacturer": "CMM.Studio", + "url": "", "maintainer": "CMMS-Freather", "usb": { "vid": "0x434D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/coarse/ixora/keyboard.json b/keyboards/coarse/ixora/keyboard.json index ebcc345d52..33ba2270ac 100644 --- a/keyboards/coarse/ixora/keyboard.json +++ b/keyboards/coarse/ixora/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ixora Rev1", "manufacturer": "PeiorisBoards", + "url": "", "maintainer": "Peioris", "usb": { "vid": "0xFEED", diff --git a/keyboards/coarse/vinta/keyboard.json b/keyboards/coarse/vinta/keyboard.json index 07d5edb29b..df9aa7e5a1 100644 --- a/keyboards/coarse/vinta/keyboard.json +++ b/keyboards/coarse/vinta/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Vinta R1", "manufacturer": "PeiorisBoards", + "url": "", "maintainer": "Peioris", "usb": { "vid": "0xFEED", diff --git a/keyboards/coban/pad12a/config.h b/keyboards/coban/pad12a/config.h deleted file mode 100644 index b6b096ad05..0000000000 --- a/keyboards/coban/pad12a/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2025 RyanDam (https://github.com/RyanDam) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/coban/pad12a/keyboard.json b/keyboards/coban/pad12a/keyboard.json deleted file mode 100644 index dc027d46f4..0000000000 --- a/keyboards/coban/pad12a/keyboard.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "keyboard_name": "Coban Pad 12A", - "name": "Coban Pad 12A", - "url": "https://cobanstationery.com", - "maintainer": "Coban Stationery", - "manufacturer": "Coban Stationery", - "usb": { - "pid": "0xC12A", - "vid": "0xCB3A", - "device_version": "1.0.0" - }, - "matrix_pins": { - "cols": ["GP18", "GP16", "GP11", "GP10"], - "rows": ["GP19", "GP17", "GP12"] - }, - "diode_direction": "ROW2COL", - "encoder": { - "rotary": [ - {"pin_a": "GP20", "pin_b": "GP21"} - ] - }, - "processor": "RP2040", - "bootloader": "rp2040", - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2} - ] - } - } -} diff --git a/keyboards/coban/pad12a/keymaps/default/keymap.c b/keyboards/coban/pad12a/keymaps/default/keymap.c deleted file mode 100644 index 0ef7814f63..0000000000 --- a/keyboards/coban/pad12a/keymaps/default/keymap.c +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2025 RyanDam (https://github.com/RyanDam) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_MPLY, KC_MPRV, KC_MUTE, KC_MNXT, - KC_PGUP, KC_ESC, KC_UP, KC_ENT, - KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT - ), -}; - - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, -}; -#endif diff --git a/keyboards/coban/pad12a/keymaps/default/rules.mk b/keyboards/coban/pad12a/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/coban/pad12a/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/coban/pad12a/readme.md b/keyboards/coban/pad12a/readme.md deleted file mode 100644 index 92b5b4528b..0000000000 --- a/keyboards/coban/pad12a/readme.md +++ /dev/null @@ -1,23 +0,0 @@ -# Coban Pad 12A - -![Coban Pad 12A](https://i.imgur.com/PTIaQld.jpeg) -Small ortho keyboard with 11 hotswapable buttons and 1 encoder - -* Keyboard Maintainer: [RyanDam](https://github.com/RyanDam) -* Hardware Supported: Coban Pad 12A - -Make example for this keyboard (after setting up your build environment): - - make coban/pad12a:default - -Flashing example for this keyboard: - - make coban/pad12a:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader: - -* **boot button**: Hold the BOOT button on the back of the PCB while plug in usb cable diff --git a/keyboards/coban/pad3a/keyboard.json b/keyboards/coban/pad3a/keyboard.json index b2a9c32b77..a9a78b8220 100644 --- a/keyboards/coban/pad3a/keyboard.json +++ b/keyboards/coban/pad3a/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/coban/pad9a/keyboard.json b/keyboards/coban/pad9a/keyboard.json index d34f2b000b..1b5efb3456 100644 --- a/keyboards/coban/pad9a/keyboard.json +++ b/keyboards/coban/pad9a/keyboard.json @@ -69,7 +69,7 @@ {"label": "key_3", "matrix": [0, 4], "x": 2, "y": 1}, {"label": "key_4", "matrix": [0, 5], "x": 0, "y": 2}, {"label": "key_5", "matrix": [0, 6], "x": 1, "y": 2}, - {"label": "key_6", "matrix": [0, 7], "x": 2, "y": 2} + {"label": "key_6", "matrix": [0, 7], "x": 2, "y": 3} ] } } diff --git a/keyboards/compound/keyboard.json b/keyboards/compound/keyboard.json index d30389da84..a0a1e1e949 100644 --- a/keyboards/compound/keyboard.json +++ b/keyboards/compound/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/concreteflowers/cor/keyboard.json b/keyboards/concreteflowers/cor/keyboard.json index ff7f9d1777..c2fa4379df 100644 --- a/keyboards/concreteflowers/cor/keyboard.json +++ b/keyboards/concreteflowers/cor/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -15,6 +17,7 @@ "cols": ["F5", "F6", "F7", "C6", "C7", "B1", "B7", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "vid": "0x5001", diff --git a/keyboards/concreteflowers/cor_tkl/keyboard.json b/keyboards/concreteflowers/cor_tkl/keyboard.json index d5a293eaa3..6a797d644c 100644 --- a/keyboards/concreteflowers/cor_tkl/keyboard.json +++ b/keyboards/concreteflowers/cor_tkl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Cor TKL", "manufacturer": "concreteflowers", + "url": "", "maintainer": "ramonimbao", "community_layouts": [ "tkl_f13_ansi", @@ -16,6 +17,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": false, "rgb_matrix": true }, diff --git a/keyboards/contender/keyboard.json b/keyboards/contender/keyboard.json index ef0812ae19..2e5ef84412 100644 --- a/keyboards/contender/keyboard.json +++ b/keyboards/contender/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/contra/keyboard.json b/keyboards/contra/keyboard.json index b3179564fe..ffa32d6555 100644 --- a/keyboards/contra/keyboard.json +++ b/keyboards/contra/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Contra", "manufacturer": "Cartel", + "url": "", "maintainer": "qmk", "features": { "bootmagic": true, diff --git a/keyboards/contra/keymaps/default/keymap.c b/keyboards/contra/keymaps/default/keymap.c index 645005769a..415e22e81a 100644 --- a/keyboards/contra/keymaps/default/keymap.c +++ b/keyboards/contra/keymaps/default/keymap.c @@ -222,9 +222,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!eeconfig_is_enabled()) { eeconfig_init(); } - eeconfig_read_keymap(&keymap_config); + keymap_config.raw = eeconfig_read_keymap(); keymap_config.nkro = 1; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } return false; break; diff --git a/keyboards/controllerworks/city42/keyboard.json b/keyboards/controllerworks/city42/keyboard.json index 1343229f77..6657a7485b 100644 --- a/keyboards/controllerworks/city42/keyboard.json +++ b/keyboards/controllerworks/city42/keyboard.json @@ -9,6 +9,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/controllerworks/mini36/keyboard.json b/keyboards/controllerworks/mini36/keyboard.json index 64327709a3..8039025a28 100644 --- a/keyboards/controllerworks/mini36/keyboard.json +++ b/keyboards/controllerworks/mini36/keyboard.json @@ -54,6 +54,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/controllerworks/mini42/keyboard.json b/keyboards/controllerworks/mini42/keyboard.json index f917cdd990..ceb7f8ce1f 100644 --- a/keyboards/controllerworks/mini42/keyboard.json +++ b/keyboards/controllerworks/mini42/keyboard.json @@ -54,6 +54,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/converter/a1200/miss1200/keyboard.json b/keyboards/converter/a1200/miss1200/keyboard.json index 5f090449a9..1f7bfcda3f 100644 --- a/keyboards/converter/a1200/miss1200/keyboard.json +++ b/keyboards/converter/a1200/miss1200/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/converter/a1200/mistress1200/keyboard.json b/keyboards/converter/a1200/mistress1200/keyboard.json index 73c0846ea8..c2cf110b2a 100644 --- a/keyboards/converter/a1200/mistress1200/keyboard.json +++ b/keyboards/converter/a1200/mistress1200/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "grave_esc": false, "magic": false, diff --git a/keyboards/converter/a1200/teensy2pp/keyboard.json b/keyboards/converter/a1200/teensy2pp/keyboard.json index f5922cf3e2..0766123913 100644 --- a/keyboards/converter/a1200/teensy2pp/keyboard.json +++ b/keyboards/converter/a1200/teensy2pp/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/converter/adb_usb/info.json b/keyboards/converter/adb_usb/info.json index 3452efd709..3fbe2c0c74 100644 --- a/keyboards/converter/adb_usb/info.json +++ b/keyboards/converter/adb_usb/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "ADB to USB Keyboard Converter", "manufacturer": "QMK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/converter/ibm_terminal/keyboard.json b/keyboards/converter/ibm_terminal/keyboard.json index d37bb2b147..b95ea58d20 100644 --- a/keyboards/converter/ibm_terminal/keyboard.json +++ b/keyboards/converter/ibm_terminal/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "IBM Terminal to USB Keyboard Converter", "manufacturer": "QMK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/converter/m0110_usb/keyboard.json b/keyboards/converter/m0110_usb/keyboard.json index c4803b6e88..11b83bbb18 100644 --- a/keyboards/converter/m0110_usb/keyboard.json +++ b/keyboards/converter/m0110_usb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Apple M0110(A) to USB Keyboard Converter", "manufacturer": "QMK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/converter/numeric_keypad_iie/keyboard.json b/keyboards/converter/numeric_keypad_iie/keyboard.json index 6d64654846..6dcffe7e21 100644 --- a/keyboards/converter/numeric_keypad_iie/keyboard.json +++ b/keyboards/converter/numeric_keypad_iie/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Numeric Keypad IIe", "manufacturer": "Apple Inc.", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/converter/palm_usb/stowaway/config.h b/keyboards/converter/palm_usb/config.h similarity index 100% rename from keyboards/converter/palm_usb/stowaway/config.h rename to keyboards/converter/palm_usb/config.h diff --git a/keyboards/converter/palm_usb/info.json b/keyboards/converter/palm_usb/info.json new file mode 100644 index 0000000000..c5b893d757 --- /dev/null +++ b/keyboards/converter/palm_usb/info.json @@ -0,0 +1,20 @@ +{ + "keyboard_name": "Stowaway Converter", + "manufacturer": "QMK", + "url": "", + "maintainer": "qmk", + "usb": { + "vid": "0xFEED", + "pid": "0x0001", + "device_version": "1.0.0" + }, + "processor": "atmega32u4", + "bootloader": "caterina", + "features": { + "bootmagic": false, + "mousekey": false, + "extrakey": false, + "console": true, + "command": true + } +} diff --git a/keyboards/converter/palm_usb/stowaway/matrix.c b/keyboards/converter/palm_usb/matrix.c similarity index 100% rename from keyboards/converter/palm_usb/stowaway/matrix.c rename to keyboards/converter/palm_usb/matrix.c diff --git a/keyboards/converter/palm_usb/stowaway/readme.md b/keyboards/converter/palm_usb/readme.md similarity index 100% rename from keyboards/converter/palm_usb/stowaway/readme.md rename to keyboards/converter/palm_usb/readme.md diff --git a/keyboards/converter/palm_usb/stowaway/rules.mk b/keyboards/converter/palm_usb/rules.mk similarity index 65% rename from keyboards/converter/palm_usb/stowaway/rules.mk rename to keyboards/converter/palm_usb/rules.mk index ccb8eb9ecc..bdb3bb0d6b 100644 --- a/keyboards/converter/palm_usb/stowaway/rules.mk +++ b/keyboards/converter/palm_usb/rules.mk @@ -3,3 +3,5 @@ CUSTOM_MATRIX = yes SRC += matrix.c UART_DRIVER_REQUIRED = yes + +DEFAULT_FOLDER = converter/palm_usb/stowaway diff --git a/keyboards/converter/palm_usb/stowaway/keyboard.json b/keyboards/converter/palm_usb/stowaway/keyboard.json index 6488b5c23c..9a263327ad 100644 --- a/keyboards/converter/palm_usb/stowaway/keyboard.json +++ b/keyboards/converter/palm_usb/stowaway/keyboard.json @@ -1,21 +1,4 @@ { - "keyboard_name": "Stowaway Converter", - "manufacturer": "QMK", - "maintainer": "qmk", - "usb": { - "vid": "0xFEED", - "pid": "0x0001", - "device_version": "1.0.0" - }, - "processor": "atmega32u4", - "bootloader": "caterina", - "features": { - "bootmagic": false, - "mousekey": false, - "extrakey": false, - "console": true, - "command": true - }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/converter/siemens_tastatur/keyboard.json b/keyboards/converter/siemens_tastatur/keyboard.json index 8f9f31bef1..710a2902cb 100644 --- a/keyboards/converter/siemens_tastatur/keyboard.json +++ b/keyboards/converter/siemens_tastatur/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Siemens Tastatur", "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x8968", diff --git a/keyboards/converter/sun_usb/info.json b/keyboards/converter/sun_usb/info.json index 57c38520ff..e4031595ad 100644 --- a/keyboards/converter/sun_usb/info.json +++ b/keyboards/converter/sun_usb/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Sun Keyboard Converter", "manufacturer": "QMK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/converter/usb_usb/info.json b/keyboards/converter/usb_usb/info.json index 97d048160f..747fd49782 100644 --- a/keyboards/converter/usb_usb/info.json +++ b/keyboards/converter/usb_usb/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "USB to USB Converter", "manufacturer": "QMK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/converter/xt_usb/keyboard.json b/keyboards/converter/xt_usb/keyboard.json index 08e697b8e9..649b283329 100644 --- a/keyboards/converter/xt_usb/keyboard.json +++ b/keyboards/converter/xt_usb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "IBM PC XT Keyboard Converter", "manufacturer": "QMK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/cool836a/keyboard.json b/keyboards/cool836a/keyboard.json index 0095f8c73f..3d32f45c9d 100644 --- a/keyboards/cool836a/keyboard.json +++ b/keyboards/cool836a/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/cool836a/readme.md b/keyboards/cool836a/readme.md index 9473b7136a..dd3ace3cbc 100644 --- a/keyboards/cool836a/readme.md +++ b/keyboards/cool836a/readme.md @@ -28,7 +28,7 @@ git clone のあと、 ----------------- ## English -- [Here](https://github.com/telzo2000/cool836A) are a full description of this project and build guide by the great Designer: m.ki +- [Here](https://github.com/telzo2000/cool836A) are a full description of this project and build guide by the great Designer: [m.ki](imgur.com image replace me!) - Each virsions(A, B+, C+) of cool836A has the same circuit and that means you can install this firmware on any of them. - However, this repository is currently(Jan 7, 2021) tested on ver.B+ (RED version) only. Feel free to contact [ME](https://github.com/ketcha-k) for any problems. diff --git a/keyboards/copenhagen_click/click_pad_v1/keyboard.json b/keyboards/copenhagen_click/click_pad_v1/keyboard.json index 5897b1e114..d84630cfbc 100755 --- a/keyboards/copenhagen_click/click_pad_v1/keyboard.json +++ b/keyboards/copenhagen_click/click_pad_v1/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/coseyfannitutti/discipad/keyboard.json b/keyboards/coseyfannitutti/discipad/keyboard.json index 0c9cf4498f..5c491876e4 100644 --- a/keyboards/coseyfannitutti/discipad/keyboard.json +++ b/keyboards/coseyfannitutti/discipad/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/coseyfannitutti/romeo/keyboard.json b/keyboards/coseyfannitutti/romeo/keyboard.json index 97a3610a48..260589889a 100644 --- a/keyboards/coseyfannitutti/romeo/keyboard.json +++ b/keyboards/coseyfannitutti/romeo/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/cosmo65/keyboard.json b/keyboards/cosmo65/keyboard.json index 690170b1d1..1814b3f0d0 100644 --- a/keyboards/cosmo65/keyboard.json +++ b/keyboards/cosmo65/keyboard.json @@ -28,6 +28,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cozykeys/bloomer/v2/keyboard.json b/keyboards/cozykeys/bloomer/v2/keyboard.json index d1714b7ef1..9f09db86fa 100644 --- a/keyboards/cozykeys/bloomer/v2/keyboard.json +++ b/keyboards/cozykeys/bloomer/v2/keyboard.json @@ -4,6 +4,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/cozykeys/bloomer/v3/keyboard.json b/keyboards/cozykeys/bloomer/v3/keyboard.json index d598b84f0d..a0f04956af 100644 --- a/keyboards/cozykeys/bloomer/v3/keyboard.json +++ b/keyboards/cozykeys/bloomer/v3/keyboard.json @@ -4,6 +4,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/cozykeys/speedo/v2/keyboard.json b/keyboards/cozykeys/speedo/v2/keyboard.json index b361006005..69dd33d6b6 100644 --- a/keyboards/cozykeys/speedo/v2/keyboard.json +++ b/keyboards/cozykeys/speedo/v2/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/cradio/keyboard.json b/keyboards/cradio/keyboard.json index 2074295b36..433c6e96e9 100644 --- a/keyboards/cradio/keyboard.json +++ b/keyboards/cradio/keyboard.json @@ -13,6 +13,8 @@ "pin_compatible": "promicro", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/crawlpad/keyboard.json b/keyboards/crawlpad/keyboard.json index 02791ab583..d4f1c43971 100644 --- a/keyboards/crawlpad/keyboard.json +++ b/keyboards/crawlpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Crawlpad", "manufacturer": "WoodKeys.Click", + "url": "", "maintainer": "colemarkham", "usb": { "vid": "0xFEED", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/crazy_keyboard_68/keyboard.json b/keyboards/crazy_keyboard_68/keyboard.json index b58d7eb342..a53013bfb9 100644 --- a/keyboards/crazy_keyboard_68/keyboard.json +++ b/keyboards/crazy_keyboard_68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Crazy_Keyboard 68", "manufacturer": "chent7", + "url": "", "maintainer": "chent7", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/crbn/keyboard.json b/keyboards/crbn/keyboard.json index a2666c6c52..9febd33ed6 100644 --- a/keyboards/crbn/keyboard.json +++ b/keyboards/crbn/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/creatkeebs/glacier/keyboard.json b/keyboards/creatkeebs/glacier/keyboard.json index ccda609975..61e6bd9136 100644 --- a/keyboards/creatkeebs/glacier/keyboard.json +++ b/keyboards/creatkeebs/glacier/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "glacier", "manufacturer": "creatkeebs", + "url": "", "maintainer": "Timliuzhaolu", "usb": { "vid": "0x0410", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/creatkeebs/thera/keyboard.json b/keyboards/creatkeebs/thera/keyboard.json index f9d40e5f1f..ab10fda324 100644 --- a/keyboards/creatkeebs/thera/keyboard.json +++ b/keyboards/creatkeebs/thera/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/crimsonkeyboards/resume1800/keyboard.json b/keyboards/crimsonkeyboards/resume1800/keyboard.json index 9b68049c6d..aa54b04801 100644 --- a/keyboards/crimsonkeyboards/resume1800/keyboard.json +++ b/keyboards/crimsonkeyboards/resume1800/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Resume1800", "manufacturer": "CrimsonKeyboards", + "url": "", "maintainer": "CrimsonKeyboards", "usb": { "vid": "0xFEED", diff --git a/keyboards/crkbd/rules.mk b/keyboards/crkbd/rules.mk new file mode 100644 index 0000000000..836587e45e --- /dev/null +++ b/keyboards/crkbd/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = crkbd/rev1 diff --git a/keyboards/crowboard/keyboard.json b/keyboards/crowboard/keyboard.json index 2686a3d99c..1a9502cbd1 100644 --- a/keyboards/crowboard/keyboard.json +++ b/keyboards/crowboard/keyboard.json @@ -15,6 +15,7 @@ "rows": ["GP14", "GP15", "GP16", "GP17"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/custommk/cmk11/halconf.h b/keyboards/custommk/cmk11/halconf.h index 32d126efc5..6791d829f9 100644 --- a/keyboards/custommk/cmk11/halconf.h +++ b/keyboards/custommk/cmk11/halconf.h @@ -20,6 +20,11 @@ #define HAL_USE_SPI TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + #define SERIAL_BUFFERS_SIZE 256 +// This enables interrupt-driven mode +#define SPI_USE_WAIT TRUE + #include_next diff --git a/keyboards/custommk/elysian/halconf.h b/keyboards/custommk/elysian/halconf.h index 501c3e00b5..5b2f7eedd2 100644 --- a/keyboards/custommk/elysian/halconf.h +++ b/keyboards/custommk/elysian/halconf.h @@ -5,6 +5,10 @@ #define HAL_USE_SPI TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + #define SERIAL_BUFFERS_SIZE 256 +#define SPI_USE_WAIT TRUE + #include_next diff --git a/keyboards/custommk/ergostrafer/halconf.h b/keyboards/custommk/ergostrafer/halconf.h index 17a94765ca..aed037ba2a 100644 --- a/keyboards/custommk/ergostrafer/halconf.h +++ b/keyboards/custommk/ergostrafer/halconf.h @@ -20,6 +20,11 @@ #define HAL_USE_SPI TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + #define SERIAL_BUFFERS_SIZE 256 +// This enables interrupt-driven mode +#define SPI_USE_WAIT TRUE + #include_next diff --git a/keyboards/custommk/ergostrafer/keyboard.json b/keyboards/custommk/ergostrafer/keyboard.json index 926190d952..4f23417415 100644 --- a/keyboards/custommk/ergostrafer/keyboard.json +++ b/keyboards/custommk/ergostrafer/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/custommk/ergostrafer_rgb/halconf.h b/keyboards/custommk/ergostrafer_rgb/halconf.h index 32d126efc5..6791d829f9 100644 --- a/keyboards/custommk/ergostrafer_rgb/halconf.h +++ b/keyboards/custommk/ergostrafer_rgb/halconf.h @@ -20,6 +20,11 @@ #define HAL_USE_SPI TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + #define SERIAL_BUFFERS_SIZE 256 +// This enables interrupt-driven mode +#define SPI_USE_WAIT TRUE + #include_next diff --git a/keyboards/custommk/evo70/keyboard.json b/keyboards/custommk/evo70/keyboard.json index 14a328e442..95464e691a 100644 --- a/keyboards/custommk/evo70/keyboard.json +++ b/keyboards/custommk/evo70/keyboard.json @@ -8,6 +8,8 @@ "bootmagic": true, "mousekey": false, "extrakey": true, + "console": false, + "command": false, "nkro": true, "backlight": true, "rgblight": true, diff --git a/keyboards/custommk/evo70_r2/halconf.h b/keyboards/custommk/evo70_r2/halconf.h index da1c76d1de..5268fe5de6 100644 --- a/keyboards/custommk/evo70_r2/halconf.h +++ b/keyboards/custommk/evo70_r2/halconf.h @@ -26,6 +26,11 @@ #define HAL_USE_GPT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + #define SERIAL_BUFFERS_SIZE 256 +// This enables interrupt-driven mode +#define SPI_USE_WAIT TRUE + #include_next diff --git a/keyboards/custommk/evo70_r2/keyboard.json b/keyboards/custommk/evo70_r2/keyboard.json index 8f986c92ac..5f10d6705d 100644 --- a/keyboards/custommk/evo70_r2/keyboard.json +++ b/keyboards/custommk/evo70_r2/keyboard.json @@ -6,6 +6,8 @@ "tags": ["70%", "encoder", "underglow", "backlight"], "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -59,6 +61,7 @@ "backlight": { "driver": "pwm", "breathing": true, + "breathing_period": 6, "levels": 17, "pin": "A6" }, diff --git a/keyboards/custommk/genesis/rules.mk b/keyboards/custommk/genesis/rules.mk new file mode 100644 index 0000000000..3d64c0af2b --- /dev/null +++ b/keyboards/custommk/genesis/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = custommk/genesis/rev2 diff --git a/keyboards/cutie_club/borsdorf/keyboard.json b/keyboards/cutie_club/borsdorf/keyboard.json index 02c3c12dff..30b5a74d64 100644 --- a/keyboards/cutie_club/borsdorf/keyboard.json +++ b/keyboards/cutie_club/borsdorf/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Borsdorf", "manufacturer": "Cutie Club", + "url": "", "maintainer": "Cutie Club", "usb": { "vid": "0xFB9C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/cutie_club/fidelity/keyboard.json b/keyboards/cutie_club/fidelity/keyboard.json index 142f303f46..905460d64e 100644 --- a/keyboards/cutie_club/fidelity/keyboard.json +++ b/keyboards/cutie_club/fidelity/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true }, @@ -23,6 +25,7 @@ "resync": true } }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x4D1B", diff --git a/keyboards/cutie_club/giant_macro_pad/keyboard.json b/keyboards/cutie_club/giant_macro_pad/keyboard.json index ee9a42bf7c..f5cde334c0 100644 --- a/keyboards/cutie_club/giant_macro_pad/keyboard.json +++ b/keyboards/cutie_club/giant_macro_pad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Cupar19 Giant Macro Pad", "manufacturer": "Cutie Club", + "url": "", "maintainer": "cutie-club", "usb": { "vid": "0xFB9C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/cutie_club/keebcats/denis/keyboard.json b/keyboards/cutie_club/keebcats/denis/keyboard.json index e5ec7faa7f..098ae39cd2 100644 --- a/keyboards/cutie_club/keebcats/denis/keyboard.json +++ b/keyboards/cutie_club/keebcats/denis/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Keebcats Denis 80", "manufacturer": "Cutie Club", + "url": "", "maintainer": "Cutie Club", "usb": { "vid": "0xFB9C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/cutie_club/keebcats/dougal/keyboard.json b/keyboards/cutie_club/keebcats/dougal/keyboard.json index 6d96936d4a..915e3ad15c 100644 --- a/keyboards/cutie_club/keebcats/dougal/keyboard.json +++ b/keyboards/cutie_club/keebcats/dougal/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Keebcats Dougal 65", "manufacturer": "Cutie Club", + "url": "", "maintainer": "Cutie Club", "usb": { "vid": "0xFB9C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/cutie_club/novus/keyboard.json b/keyboards/cutie_club/novus/keyboard.json index 73ecac31f0..97bb81a71f 100644 --- a/keyboards/cutie_club/novus/keyboard.json +++ b/keyboards/cutie_club/novus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Novus", "manufacturer": "Cutie Club", + "url": "", "maintainer": "Cutie Club", "usb": { "vid": "0xFB9C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/cutie_club/wraith/keyboard.json b/keyboards/cutie_club/wraith/keyboard.json index b163eb76a9..7cc29caf25 100644 --- a/keyboards/cutie_club/wraith/keyboard.json +++ b/keyboards/cutie_club/wraith/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Wraith", "manufacturer": "Amber", + "url": "", "maintainer": "amberstarlight", "usb": { "vid": "0xFEED", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/cx60/keyboard.json b/keyboards/cx60/keyboard.json index 846b870d95..9748d934a6 100644 --- a/keyboards/cx60/keyboard.json +++ b/keyboards/cx60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CX60", "manufacturer": "CX60", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4358", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/cxt_studio/12e3/keyboard.json b/keyboards/cxt_studio/12e3/keyboard.json deleted file mode 100644 index a85126aab6..0000000000 --- a/keyboards/cxt_studio/12e3/keyboard.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "manufacturer": "cxt_studio", - "keyboard_name": "cxt_studio 12E3", - "maintainer": "muge", - "bootloader": "atmel-dfu", - "diode_direction": "ROW2COL", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "encoder": true, - "rgb_matrix": true - }, - "ws2812": { - "pin": "F7" - }, - "matrix_pins": { - "cols": ["D4", "D7", "B4", "B5"], - "rows": ["C7", "C6", "D6", "F4"] - }, - "encoder": { - "rotary": [ - {"pin_a": "F5", "pin_b": "F6", "resolution": 4}, - {"pin_a": "E6", "pin_b": "F0", "resolution": 4}, - {"pin_a": "B3", "pin_b": "B2", "resolution": 2} - ] - }, - "processor": "atmega32u4", - "rgb_matrix": { - "animations": { - "breathing": true, - "typing_heatmap": true, - "digital_rain": true, - "solid_reactive_simple": true, - "solid_reactive": true, - "solid_reactive_wide": true, - "solid_reactive_multiwide": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_nexus": true, - "solid_reactive_multinexus": true, - "splash": true, - "multisplash": true, - "solid_splash": true, - "solid_multisplash": true - }, - "default": { - "animation": "solid_reactive_simple" - }, - "driver": "ws2812", - "layout": [ - {"flags": 4, "matrix": [0, 3], "x": 3, "y": 0}, - {"flags": 4, "matrix": [0, 2], "x": 2, "y": 0}, - {"flags": 4, "matrix": [0, 1], "x": 1, "y": 0}, - {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, - {"flags": 4, "matrix": [1, 0], "x": 0, "y": 1}, - {"flags": 4, "matrix": [1, 1], "x": 1, "y": 1}, - {"flags": 4, "matrix": [1, 2], "x": 2, "y": 1}, - {"flags": 4, "matrix": [1, 3], "x": 3, "y": 1}, - {"flags": 4, "matrix": [2, 3], "x": 3, "y": 2}, - {"flags": 4, "matrix": [2, 2], "x": 2, "y": 2}, - {"flags": 4, "matrix": [2, 1], "x": 1, "y": 2}, - {"flags": 4, "matrix": [2, 0], "x": 0, "y": 2} - ] - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x12E3", - "vid": "0x0215" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - - {"matrix": [3, 2], "x": 4, "y": 0}, - {"matrix": [3, 3], "x": 5, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - - {"matrix": [3, 1], "x": 4, "y": 1, "w": 2, "h": 2}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2} - ] - } - } -} - diff --git a/keyboards/cxt_studio/12e3/keymaps/default/keymap.c b/keyboards/cxt_studio/12e3/keymaps/default/keymap.c deleted file mode 100644 index ef4b6938eb..0000000000 --- a/keyboards/cxt_studio/12e3/keymaps/default/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum my_layers { - _BASE, - _RGBL, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_BASE] = LAYOUT( - KC_ESC, C(KC_X), C(KC_C), C(KC_V), MS_BTN3, RM_TOGG, - KC_PSCR,C(KC_Z), KC_CALC, KC_MNXT, KC_MPLY, - MO(1), KC_LGUI, KC_DEL, KC_APP - ), - - [_RGBL] = LAYOUT( - RM_NEXT, RM_SATU, KC_INS, KC_DEL, _______, _______, - RM_PREV, RM_SATD, KC_PGUP, KC_HOME, KC_MUTE, - _______, QK_BOOT, KC_PGDN, KC_END - ), -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - // Encoders: Left, Right, Big - [_BASE] = { - ENCODER_CCW_CW(MS_WHLD, MS_WHLU), - ENCODER_CCW_CW(KC_PGDN, KC_PGUP), - ENCODER_CCW_CW(KC_VOLD, KC_VOLU) - }, - [_RGBL] = { - ENCODER_CCW_CW(RM_HUED, RM_HUEU), - ENCODER_CCW_CW(RM_SPDD, RM_SPDU), - ENCODER_CCW_CW(RM_VALD, RM_VALU) - }, -}; -#endif diff --git a/keyboards/cxt_studio/12e3/keymaps/default/rules.mk b/keyboards/cxt_studio/12e3/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/cxt_studio/12e3/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/cxt_studio/12e3/readme.md b/keyboards/cxt_studio/12e3/readme.md deleted file mode 100644 index 8ea527f473..0000000000 --- a/keyboards/cxt_studio/12e3/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# cxt_studio/12e3 - -![cxt_studio/12e3](https://i.postimg.cc/NFK8rY8N/M5rtTSP.png) - -3x4 ortho layout, with 3 encoders. - -* Keyboard Maintainer: [muge](https://github.com/muge) -* Hardware Supported: CXT Studio 12E3 -* Hardware Availability: AliExpress, Taobao - -Make example for this keyboard (after setting up your build environment): - - make cxt_studio/12e3:default - -Flashing example for this keyboard: - - make cxt_studio/12e3:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB, located under the large encoder, on the right side -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. It is included in the default layout diff --git a/keyboards/cxt_studio/12e4/config.h b/keyboards/cxt_studio/12e4/config.h deleted file mode 100644 index de0fbad7ec..0000000000 --- a/keyboards/cxt_studio/12e4/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2023 Colin Kinloch (@ColinKinloch) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGB_MATRIX_TYPING_HEATMAP_SPREAD 9 diff --git a/keyboards/cxt_studio/config.h b/keyboards/cxt_studio/config.h new file mode 100644 index 0000000000..e56e07a254 --- /dev/null +++ b/keyboards/cxt_studio/config.h @@ -0,0 +1,22 @@ +// Copyright 2023 Colin Kinloch (@ColinKinloch) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RGB_MATRIX_TYPING_HEATMAP_SPREAD 9 + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/cxt_studio/12e4/cxt_studio.c b/keyboards/cxt_studio/cxt_studio.c similarity index 68% rename from keyboards/cxt_studio/12e4/cxt_studio.c rename to keyboards/cxt_studio/cxt_studio.c index 03a15e4d48..2b36905340 100644 --- a/keyboards/cxt_studio/12e4/cxt_studio.c +++ b/keyboards/cxt_studio/cxt_studio.c @@ -3,6 +3,8 @@ #include "quantum.h" +static uint8_t anim = 0; + #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { @@ -19,26 +21,32 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { break; case 1: { if (clockwise) { - rgb_matrix_increase_hue(); + rgblight_increase_hue(); } else { - rgb_matrix_decrease_hue(); + rgblight_decrease_hue(); } } break; case 2: { if (clockwise) { - rgb_matrix_increase_val(); + rgblight_increase_val(); } else { - rgb_matrix_decrease_val(); + rgblight_decrease_val(); } } break; case 3: { if (clockwise) { - rgb_matrix_step(); + anim++; } else { - rgb_matrix_step_reverse(); + anim--; } + if (anim >= RGB_MATRIX_EFFECT_MAX) { + anim = 0; + } else if (anim < 0) { + anim = RGB_MATRIX_EFFECT_MAX - 1; + } + rgblight_mode(anim); } break; } diff --git a/keyboards/cxt_studio/12e4/keyboard.json b/keyboards/cxt_studio/keyboard.json similarity index 97% rename from keyboards/cxt_studio/12e4/keyboard.json rename to keyboards/cxt_studio/keyboard.json index 9b54d6fd26..7ee7b52d50 100644 --- a/keyboards/cxt_studio/12e4/keyboard.json +++ b/keyboards/cxt_studio/keyboard.json @@ -1,11 +1,12 @@ { "manufacturer": "CXT", - "keyboard_name": "cxt_studio 12E4", + "keyboard_name": "cxt_studio", "maintainer": "ColinKinloch", "bootloader": "atmel-dfu", "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -65,6 +66,7 @@ {"flags": 4, "matrix": [2, 0], "x": 0, "y": 2} ] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xC401", diff --git a/keyboards/cxt_studio/12e4/keymaps/default/keymap.json b/keyboards/cxt_studio/keymaps/default/keymap.json similarity index 90% rename from keyboards/cxt_studio/12e4/keymaps/default/keymap.json rename to keyboards/cxt_studio/keymaps/default/keymap.json index b05d3ba179..9e31833520 100644 --- a/keyboards/cxt_studio/12e4/keymaps/default/keymap.json +++ b/keyboards/cxt_studio/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "cxt_studio/12e4", + "keyboard": "cxt_studio", "keymap": "default", "layout": "LAYOUT", "layers": [ diff --git a/keyboards/cxt_studio/12e4/readme.md b/keyboards/cxt_studio/readme.md similarity index 83% rename from keyboards/cxt_studio/12e4/readme.md rename to keyboards/cxt_studio/readme.md index 760c3544b4..6397a3fdfd 100644 --- a/keyboards/cxt_studio/12e4/readme.md +++ b/keyboards/cxt_studio/readme.md @@ -1,20 +1,20 @@ -# cxt_studio/12e4 +# cxt_studio -![cxt_studio/12e4](https://i.imgur.com/AMCTioSh.jpeg) +![cxt_studio](https://i.imgur.com/AMCTioSh.jpeg) 3x4 ortho rgb lighting 4 knobs. * Keyboard Maintainer: [Colin Kinloch](https://github.com/ColinKinloch) -* Hardware Supported: CXT-Studio/12E4 +* Hardware Supported: CXT-Studio * Hardware Availability: AliExpress. I think the manufacturer is on Taobao. Make example for this keyboard (after setting up your build environment): - make cxt_studio/12e4:default + make cxt_studio:default Flashing example for this keyboard: - make cxt_studio/12e4:default:flash + make cxt_studio:default:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/cybergear/macro25/keyboard.json b/keyboards/cybergear/macro25/keyboard.json index 14ea5cc77d..a1fca49406 100644 --- a/keyboards/cybergear/macro25/keyboard.json +++ b/keyboards/cybergear/macro25/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/dailycraft/bat43/info.json b/keyboards/dailycraft/bat43/info.json index 90e14e3434..19aaa540dd 100644 --- a/keyboards/dailycraft/bat43/info.json +++ b/keyboards/dailycraft/bat43/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "bat43", "manufacturer": "yfuku", + "url": "", "maintainer": "yfuku", "usb": { "vid": "0x5946", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": true, "nkro": false diff --git a/keyboards/dailycraft/bat43/rules.mk b/keyboards/dailycraft/bat43/rules.mk new file mode 100644 index 0000000000..b152851948 --- /dev/null +++ b/keyboards/dailycraft/bat43/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = dailycraft/bat43/rev2 diff --git a/keyboards/dailycraft/claw44/rev1/keyboard.json b/keyboards/dailycraft/claw44/rev1/keyboard.json index 2391bc262f..62b069a490 100644 --- a/keyboards/dailycraft/claw44/rev1/keyboard.json +++ b/keyboards/dailycraft/claw44/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "claw44", "manufacturer": "yfuku", + "url": "", "maintainer": "yfuku", "usb": { "vid": "0x5946", diff --git a/keyboards/dailycraft/claw44/rules.mk b/keyboards/dailycraft/claw44/rules.mk new file mode 100644 index 0000000000..0344b3ee28 --- /dev/null +++ b/keyboards/dailycraft/claw44/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = dailycraft/claw44/rev1 diff --git a/keyboards/dailycraft/owl8/keyboard.json b/keyboards/dailycraft/owl8/keyboard.json index fb3f2042f4..a4a1a70e3e 100644 --- a/keyboards/dailycraft/owl8/keyboard.json +++ b/keyboards/dailycraft/owl8/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "owl8", "manufacturer": "yfuku", + "url": "", "maintainer": "yfuku", "usb": { "vid": "0x5946", @@ -17,6 +18,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/dailycraft/sandbox/rev1/keyboard.json b/keyboards/dailycraft/sandbox/rev1/keyboard.json index 50a114457d..8658de96df 100644 --- a/keyboards/dailycraft/sandbox/rev1/keyboard.json +++ b/keyboards/dailycraft/sandbox/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "sandbox rev1", "manufacturer": "yfuku", + "url": "", "maintainer": "yfuku", "usb": { "vid": "0x5946", diff --git a/keyboards/dailycraft/sandbox/rev2/keyboard.json b/keyboards/dailycraft/sandbox/rev2/keyboard.json index b1991cf56c..1eb61ee12c 100644 --- a/keyboards/dailycraft/sandbox/rev2/keyboard.json +++ b/keyboards/dailycraft/sandbox/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "sandbox rev2", "manufacturer": "yfuku", + "url": "", "maintainer": "yfuku", "usb": { "vid": "0x5946", diff --git a/keyboards/dailycraft/sandbox/rules.mk b/keyboards/dailycraft/sandbox/rules.mk new file mode 100644 index 0000000000..c62f01e18f --- /dev/null +++ b/keyboards/dailycraft/sandbox/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = dailycraft/sandbox/rev2 diff --git a/keyboards/dailycraft/stickey4/keyboard.json b/keyboards/dailycraft/stickey4/keyboard.json index d4cf997877..d0e2a491d3 100644 --- a/keyboards/dailycraft/stickey4/keyboard.json +++ b/keyboards/dailycraft/stickey4/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "stickey4", "manufacturer": "yfuku", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5946", @@ -17,6 +18,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/dailycraft/wings42/rev1/keyboard.json b/keyboards/dailycraft/wings42/rev1/keyboard.json index 307b675d06..f4a3949c61 100644 --- a/keyboards/dailycraft/wings42/rev1/keyboard.json +++ b/keyboards/dailycraft/wings42/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "wings42 rev1", "manufacturer": "yfuku", + "url": "", "maintainer": "yfuku", "usb": { "vid": "0x5946", diff --git a/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json b/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json index ef5b4331b1..bebe264cc0 100644 --- a/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json +++ b/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "wings42 rev1_extkeys", "manufacturer": "yfuku", + "url": "", "maintainer": "yfuku", "usb": { "vid": "0x5946", diff --git a/keyboards/dailycraft/wings42/rev2/keyboard.json b/keyboards/dailycraft/wings42/rev2/keyboard.json index 4d41f54f3b..3f2cb1b766 100644 --- a/keyboards/dailycraft/wings42/rev2/keyboard.json +++ b/keyboards/dailycraft/wings42/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "wings42 rev2", "manufacturer": "yfuku", + "url": "", "maintainer": "yfuku", "usb": { "vid": "0x5946", diff --git a/keyboards/dailycraft/wings42/rules.mk b/keyboards/dailycraft/wings42/rules.mk new file mode 100644 index 0000000000..b027fec9b9 --- /dev/null +++ b/keyboards/dailycraft/wings42/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = dailycraft/wings42/rev2 diff --git a/keyboards/daji/seis_cinco/keyboard.json b/keyboards/daji/seis_cinco/keyboard.json index 837f01380d..358dfc17ce 100644 --- a/keyboards/daji/seis_cinco/keyboard.json +++ b/keyboards/daji/seis_cinco/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Seis Cinco", "manufacturer": "Daji", + "url": "", "maintainer": "toraifu", "usb": { "vid": "0xBF00", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/dark/magnum_ergo_1/keyboard.json b/keyboards/dark/magnum_ergo_1/keyboard.json index d4a74d592b..a52de6decc 100644 --- a/keyboards/dark/magnum_ergo_1/keyboard.json +++ b/keyboards/dark/magnum_ergo_1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Magnum Ergo 1", "manufacturer": "Gondolindrim X Dark", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x4744", @@ -18,6 +19,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/darkproject/kd83a_bfg_edition/config.h b/keyboards/darkproject/kd83a_bfg_edition/config.h index fce00d29ab..880aabd5d7 100644 --- a/keyboards/darkproject/kd83a_bfg_edition/config.h +++ b/keyboards/darkproject/kd83a_bfg_edition/config.h @@ -22,11 +22,8 @@ /* SPI Config for LED Driver */ #define SPI_DRIVER SPIDQ #define SPI_SCK_PIN A5 -#define SPI_SCK_PAL_MODE 5 #define SPI_MOSI_PIN A7 -#define SPI_MOSI_PAL_MODE 5 #define SPI_MISO_PIN A6 -#define SPI_MISO_PAL_MODE 5 #define AW20216S_CS_PIN_1 A15 #define AW20216S_CS_PIN_2 B15 diff --git a/keyboards/darkproject/kd83a_bfg_edition/halconf.h b/keyboards/darkproject/kd83a_bfg_edition/halconf.h index adeb248f90..8f61d3fc64 100644 --- a/keyboards/darkproject/kd83a_bfg_edition/halconf.h +++ b/keyboards/darkproject/kd83a_bfg_edition/halconf.h @@ -17,5 +17,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/darkproject/kd83a_bfg_edition/keyboard.json b/keyboards/darkproject/kd83a_bfg_edition/keyboard.json index f8964bf461..23bd2b6981 100644 --- a/keyboards/darkproject/kd83a_bfg_edition/keyboard.json +++ b/keyboards/darkproject/kd83a_bfg_edition/keyboard.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -172,6 +174,7 @@ ], "sleep": true }, + "url": "", "usb": { "device_version": "0.0.3", "pid": "0xE392", diff --git a/keyboards/darkproject/kd87a_bfg_edition/config.h b/keyboards/darkproject/kd87a_bfg_edition/config.h index 9e68844daf..a32f712231 100644 --- a/keyboards/darkproject/kd87a_bfg_edition/config.h +++ b/keyboards/darkproject/kd87a_bfg_edition/config.h @@ -22,11 +22,8 @@ /* SPI Config for LED Driver */ #define SPI_DRIVER SPIDQ #define SPI_SCK_PIN A5 -#define SPI_SCK_PAL_MODE 5 #define SPI_MOSI_PIN A7 -#define SPI_MOSI_PAL_MODE 5 #define SPI_MISO_PIN A6 -#define SPI_MISO_PAL_MODE 5 #define AW20216S_CS_PIN_1 A15 #define AW20216S_CS_PIN_2 B15 diff --git a/keyboards/darkproject/kd87a_bfg_edition/halconf.h b/keyboards/darkproject/kd87a_bfg_edition/halconf.h index adeb248f90..8f61d3fc64 100644 --- a/keyboards/darkproject/kd87a_bfg_edition/halconf.h +++ b/keyboards/darkproject/kd87a_bfg_edition/halconf.h @@ -17,5 +17,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/darkproject/kd87a_bfg_edition/keyboard.json b/keyboards/darkproject/kd87a_bfg_edition/keyboard.json index cd6ae14108..1e0d7f5e8b 100644 --- a/keyboards/darkproject/kd87a_bfg_edition/keyboard.json +++ b/keyboards/darkproject/kd87a_bfg_edition/keyboard.json @@ -180,6 +180,7 @@ ], "sleep": true }, + "url": "", "usb": { "device_version": "0.0.3", "pid": "0xE393", diff --git a/keyboards/darmoshark/k3/halconf.h b/keyboards/darmoshark/k3/halconf.h index adf026a47a..b6a606056a 100644 --- a/keyboards/darmoshark/k3/halconf.h +++ b/keyboards/darmoshark/k3/halconf.h @@ -4,5 +4,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/darmoshark/k3/keyboard.json b/keyboards/darmoshark/k3/keyboard.json index c58b295404..ff5047b93a 100644 --- a/keyboards/darmoshark/k3/keyboard.json +++ b/keyboards/darmoshark/k3/keyboard.json @@ -2,6 +2,7 @@ "manufacturer": "Darmoshark", "keyboard_name": "K3 QMK", "maintainer": "Proceee", + "url": "", "processor": "WB32FQ95", "bootloader": "wb32-dfu", "usb": { @@ -13,6 +14,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -30,7 +33,8 @@ "cols": ["B1", "C7", "C13", "B9"] }, "indicators": { - "num_lock": "C5" + "num_lock": "C5", + "on_state": 1 }, "ws2812": { "pin": "A8" diff --git a/keyboards/dasky/reverb/keyboard.json b/keyboards/dasky/reverb/keyboard.json index bfeb9ef675..e7e203ebf6 100644 --- a/keyboards/dasky/reverb/keyboard.json +++ b/keyboards/dasky/reverb/keyboard.json @@ -124,6 +124,7 @@ {"matrix": [3, 0], "x": 129, "y": 13, "flags": 4} ] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/db/db63/keyboard.json b/keyboards/db/db63/keyboard.json index b3db08c01c..ec41b8c313 100644 --- a/keyboards/db/db63/keyboard.json +++ b/keyboards/db/db63/keyboard.json @@ -12,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/dc01/arrow/keyboard.json b/keyboards/dc01/arrow/keyboard.json index c8a2b229ea..f56646367f 100644 --- a/keyboards/dc01/arrow/keyboard.json +++ b/keyboards/dc01/arrow/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DC01 Arrow", "manufacturer": "Mechboards", + "url": "", "maintainer": "Yiancar-Designs", "usb": { "vid": "0x8968", diff --git a/keyboards/dc01/left/keyboard.json b/keyboards/dc01/left/keyboard.json index 01942c099c..2238f67564 100644 --- a/keyboards/dc01/left/keyboard.json +++ b/keyboards/dc01/left/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DC01 Left", "manufacturer": "Mechboards", + "url": "", "maintainer": "Yiancar-Designs", "usb": { "vid": "0x8968", diff --git a/keyboards/dc01/numpad/keyboard.json b/keyboards/dc01/numpad/keyboard.json index b78d8b9ee5..900af6e542 100644 --- a/keyboards/dc01/numpad/keyboard.json +++ b/keyboards/dc01/numpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DC01 Numpad", "manufacturer": "Mechboards", + "url": "", "maintainer": "Yiancar-Designs", "usb": { "vid": "0x8968", diff --git a/keyboards/dc01/right/keyboard.json b/keyboards/dc01/right/keyboard.json index 3811ec3331..36dc7a7056 100644 --- a/keyboards/dc01/right/keyboard.json +++ b/keyboards/dc01/right/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DC01 Right", "manufacturer": "Mechboards", + "url": "", "maintainer": "Yiancar-Designs", "usb": { "vid": "0x8968", diff --git a/keyboards/decent/tkl/keyboard.json b/keyboards/decent/tkl/keyboard.json index d5b0c972c6..96b472c6fc 100644 --- a/keyboards/decent/tkl/keyboard.json +++ b/keyboards/decent/tkl/keyboard.json @@ -11,6 +11,8 @@ "bootmagic": true, "rgb_matrix": true, "oled": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/deemen17/de60/readme.md b/keyboards/deemen17/de60/readme.md deleted file mode 100644 index c5ea64a6a6..0000000000 --- a/keyboards/deemen17/de60/readme.md +++ /dev/null @@ -1,17 +0,0 @@ -# DE60 - -Deemen17 Works's 60% PCB Platform, which works as the base for our 60%-layout PCB designs. - -* Keyboard Maintainer: [Deemen17](https://github.com/Deemen17) -* Hardware Supported: DE60 PCBs -* Hardware Availability: [Deemen17 Facebook Page](https://www.facebook.com/deemen17/), [Deemen17 Works Instagram](https://www.instagram.com/deemen17.works) - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (ESC/Escape) and plug in the keyboard -* **Physical reset button**: Double tap the button RESET on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/deemen17/de60/r1/config.h b/keyboards/deemen17/de60fs/config.h similarity index 100% rename from keyboards/deemen17/de60/r1/config.h rename to keyboards/deemen17/de60fs/config.h diff --git a/keyboards/deemen17/de60/r1/keyboard.json b/keyboards/deemen17/de60fs/keyboard.json similarity index 99% rename from keyboards/deemen17/de60/r1/keyboard.json rename to keyboards/deemen17/de60fs/keyboard.json index 62de2691ce..573c012baa 100644 --- a/keyboards/deemen17/de60/r1/keyboard.json +++ b/keyboards/deemen17/de60fs/keyboard.json @@ -1,6 +1,6 @@ { - "manufacturer": "Deemen17 Works", - "keyboard_name": "DE60 R1", + "manufacturer": "Deemen17", + "keyboard_name": "De60fs", "maintainer": "Deemen17", "bootloader": "rp2040", "build": { diff --git a/keyboards/deemen17/de60/r1/keymaps/default/keymap.c b/keyboards/deemen17/de60fs/keymaps/default/keymap.c similarity index 100% rename from keyboards/deemen17/de60/r1/keymaps/default/keymap.c rename to keyboards/deemen17/de60fs/keymaps/default/keymap.c diff --git a/keyboards/deemen17/de60/r1/readme.md b/keyboards/deemen17/de60fs/readme.md similarity index 89% rename from keyboards/deemen17/de60/r1/readme.md rename to keyboards/deemen17/de60fs/readme.md index e71a2fc412..e5135691a8 100644 --- a/keyboards/deemen17/de60/r1/readme.md +++ b/keyboards/deemen17/de60fs/readme.md @@ -1,6 +1,6 @@ -# DE60 Round 1 +# De60fs -![DE60 R1](https://i.imgur.com/7hpYaoXh.jpg) +![De60fs](https://i.imgur.com/7hpYaoXh.jpg) A GH60 form factor PCB for 60% keyboards. Uses a Left USB Type C connector or 5 JST SH positions for daughter board. @@ -10,11 +10,11 @@ A GH60 form factor PCB for 60% keyboards. Uses a Left USB Type C connector or 5 Make example for this keyboard (after setting up your build environment): - make deemen17/de60/r1:default + make deemen17/de60fs:default Flashing example for this keyboard: - make deemen17/de60/r1:default:flash + make deemen17/de60fs:default:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/delikeeb/flatbread60/keyboard.json b/keyboards/delikeeb/flatbread60/keyboard.json index eabb301dc0..b0cf794dfb 100644 --- a/keyboards/delikeeb/flatbread60/keyboard.json +++ b/keyboards/delikeeb/flatbread60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Flatbread60", "manufacturer": "delikeeb", + "url": "", "maintainer": "noclew", "usb": { "vid": "0x9906", @@ -30,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/delikeeb/vaguettelite/keyboard.json b/keyboards/delikeeb/vaguettelite/keyboard.json index 61e65105fb..56919958f2 100644 --- a/keyboards/delikeeb/vaguettelite/keyboard.json +++ b/keyboards/delikeeb/vaguettelite/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Vaguette Lite", "manufacturer": "dELIKEEb", + "url": "", "maintainer": "noclew", "usb": { "vid": "0x9906", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/delikeeb/vanana/info.json b/keyboards/delikeeb/vanana/info.json index 0ba67d4af5..520cd92b09 100644 --- a/keyboards/delikeeb/vanana/info.json +++ b/keyboards/delikeeb/vanana/info.json @@ -1,5 +1,6 @@ { "manufacturer": "dELIKEEb", + "url": "", "maintainer": "noclew", "usb": { "vid": "0x9906", diff --git a/keyboards/delikeeb/vanana/rev1/keyboard.json b/keyboards/delikeeb/vanana/rev1/keyboard.json index 66aeeaa877..d8d5d2e4c9 100644 --- a/keyboards/delikeeb/vanana/rev1/keyboard.json +++ b/keyboards/delikeeb/vanana/rev1/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/delikeeb/vanana/rev2/keyboard.json b/keyboards/delikeeb/vanana/rev2/keyboard.json index 9a7052f65f..9da7a9dd88 100644 --- a/keyboards/delikeeb/vanana/rev2/keyboard.json +++ b/keyboards/delikeeb/vanana/rev2/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/delikeeb/vanana/rules.mk b/keyboards/delikeeb/vanana/rules.mk new file mode 100644 index 0000000000..ff3dc1df61 --- /dev/null +++ b/keyboards/delikeeb/vanana/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = delikeeb/vanana/rev2 diff --git a/keyboards/delikeeb/vaneela/keyboard.json b/keyboards/delikeeb/vaneela/keyboard.json index 8e30581e70..5f76c8b7ab 100644 --- a/keyboards/delikeeb/vaneela/keyboard.json +++ b/keyboards/delikeeb/vaneela/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/delikeeb/vaneelaex/keyboard.json b/keyboards/delikeeb/vaneelaex/keyboard.json index 1890c860e6..9810d341ab 100644 --- a/keyboards/delikeeb/vaneelaex/keyboard.json +++ b/keyboards/delikeeb/vaneelaex/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/delikeeb/waaffle/rev3/elite_c/keyboard.json b/keyboards/delikeeb/waaffle/rev3/elite_c/keyboard.json index 86c1572713..22fb33aade 100644 --- a/keyboards/delikeeb/waaffle/rev3/elite_c/keyboard.json +++ b/keyboards/delikeeb/waaffle/rev3/elite_c/keyboard.json @@ -3,6 +3,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/delikeeb/waaffle/rev3/info.json b/keyboards/delikeeb/waaffle/rev3/info.json index 761c2dc3c7..1201411d46 100644 --- a/keyboards/delikeeb/waaffle/rev3/info.json +++ b/keyboards/delikeeb/waaffle/rev3/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Waaffle rev3", "manufacturer": "dELIKEEb", + "url": "", "maintainer": "noclew", "usb": { "vid": "0x9906", diff --git a/keyboards/delikeeb/waaffle/rev3/pro_micro/keyboard.json b/keyboards/delikeeb/waaffle/rev3/pro_micro/keyboard.json index b1d721e038..55e68c4393 100644 --- a/keyboards/delikeeb/waaffle/rev3/pro_micro/keyboard.json +++ b/keyboards/delikeeb/waaffle/rev3/pro_micro/keyboard.json @@ -3,6 +3,8 @@ "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/delikeeb/waaffle/rev3/rules.mk b/keyboards/delikeeb/waaffle/rev3/rules.mk new file mode 100644 index 0000000000..dbd58ca5bf --- /dev/null +++ b/keyboards/delikeeb/waaffle/rev3/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = delikeeb/waaffle/rev3/pro_micro diff --git a/keyboards/deltapad/keyboard.json b/keyboards/deltapad/keyboard.json index 5fc2edff63..23683bbd1e 100644 --- a/keyboards/deltapad/keyboard.json +++ b/keyboards/deltapad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "deltapad", "manufacturer": "Richard Snijder", + "url": "", "maintainer": "Richard Snijder", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/deltapad/readme.md b/keyboards/deltapad/readme.md index f5dae4d9b0..858f99b436 100644 --- a/keyboards/deltapad/readme.md +++ b/keyboards/deltapad/readme.md @@ -1,10 +1,15 @@ # deltapad + + +*A short description of the keyboard/project* + A 4x4 keypad * Keyboard Maintainer: [Richard Snijder](https://github.com/rich239) * Hardware Supported: Atmel 32u4 based keypads + Make example for this keyboard (after setting up your build environment): make deltapad:default diff --git a/keyboards/deltasplit75/rules.mk b/keyboards/deltasplit75/rules.mk new file mode 100644 index 0000000000..ee888337e5 --- /dev/null +++ b/keyboards/deltasplit75/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = deltasplit75/v2 diff --git a/keyboards/demiurge/keyboard.json b/keyboards/demiurge/keyboard.json index 56ac687cd5..ad5264323b 100644 --- a/keyboards/demiurge/keyboard.json +++ b/keyboards/demiurge/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Demiurge", "manufacturer": "ojthetiny", + "url": "", "maintainer": "ojthetiny", "usb": { "vid": "0x6F6A", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/deng/djam/keyboard.json b/keyboards/deng/djam/keyboard.json index a39c234bfa..94e2aca2ec 100644 --- a/keyboards/deng/djam/keyboard.json +++ b/keyboards/deng/djam/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DJam", "manufacturer": "Leo Deng", + "url": "", "maintainer": "myst729", "usb": { "vid": "0xDE29", @@ -20,6 +21,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/deng/thirty/keyboard.json b/keyboards/deng/thirty/keyboard.json index da36ae19f5..a26d727f12 100644 --- a/keyboards/deng/thirty/keyboard.json +++ b/keyboards/deng/thirty/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Thirty", "manufacturer": "Leo Deng", + "url": "", "maintainer": "myst729", "usb": { "vid": "0xDE29", diff --git a/keyboards/densus/alveus/mx/keyboard.json b/keyboards/densus/alveus/mx/keyboard.json index dd3f1bde05..839c84fb45 100644 --- a/keyboards/densus/alveus/mx/keyboard.json +++ b/keyboards/densus/alveus/mx/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Alveus", "manufacturer": "Mechlovin Studio", + "url": "", "usb": { "vid": "0xDE00", "pid": "0x0F70", diff --git a/keyboards/dichotomy/keyboard.json b/keyboards/dichotomy/keyboard.json index 33a799b0e3..bc3546a082 100644 --- a/keyboards/dichotomy/keyboard.json +++ b/keyboards/dichotomy/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dichotomy", "manufacturer": "Broekhuijsen", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/dinofizz/fnrow/v1/keyboard.json b/keyboards/dinofizz/fnrow/v1/keyboard.json index befcc05c0a..16f80b780d 100644 --- a/keyboards/dinofizz/fnrow/v1/keyboard.json +++ b/keyboards/dinofizz/fnrow/v1/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/djreisch/lumpy27/keyboard.json b/keyboards/djreisch/lumpy27/keyboard.json deleted file mode 100644 index d6c4b180bd..0000000000 --- a/keyboards/djreisch/lumpy27/keyboard.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "manufacturer": "djreisch", - "keyboard_name": "LumPy27", - "maintainer": "djreisch", - "board": "GENERIC_RP_RP2040", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true - }, - "matrix_pins": { - "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5"], - "rows": ["GP14", "GP15", "GP16", "GP17", "GP18"] - }, - "processor": "RP2040", - "usb": { - "device_version": "1.0.0", - "pid": "0x2326", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - {"matrix": [4, 3], "x": 3, "y": 4}, - {"matrix": [4, 4], "x": 4, "y": 4}, - {"matrix": [4, 5], "x": 5, "y": 4} - ] - } - } -} diff --git a/keyboards/djreisch/lumpy27/keymaps/default/keymap.c b/keyboards/djreisch/lumpy27/keymaps/default/keymap.c deleted file mode 100644 index 48897c8064..0000000000 --- a/keyboards/djreisch/lumpy27/keymaps/default/keymap.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright 2024 Daniel Reisch (djreisch) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum custom_keycodes { MACRO_GG = QK_USER }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - Main - ,-----------------------------------------. - | ESC | 1 | 2 | 3 | 4 | 5 | - |------+------+------+------+------+------| - | Tab | G | Q | W | E | R | - |------+------+------+------+------+------| - | LSHIFT | A | S | D | F | - |------+------+------+------+------+------| - | LCTL | B | Z | X | C | V |-------| - `-----------------------------------------/ / - | LAlt | FN | / Space / - | | |/ / - `---------------------' - */ - [0] = LAYOUT(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, - KC_TAB, KC_G, KC_Q, KC_W, KC_E, KC_R, - KC_LSFT, KC_A, KC_S, KC_D, KC_F, - KC_LCTL, KC_B, KC_Z, KC_X, KC_C, KC_V, - KC_LALT, MO(1), KC_SPACE), - - /* - Alt - ,-----------------------------------------. - | ESC | 0 | 9 | 8 | 7 | 6 | - |------+------+------+------+------+------| - | F1 | F2 | F3 | F4 | F5 | F6 | - |------+------+------+------+------+------| - | LSHIFT | A | S | Y | H | - |------+------+------+------+------+------| - | LCTL | B | Z | X | C | M |-------| - `-----------------------------------------/ / - | LAlt | FN | / Enter / - | | |/ / - `---------------------' - */ - [1] = LAYOUT(KC_ESC, KC_0, KC_9, KC_8, KC_7, KC_6, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - KC_LSFT, KC_A, KC_S, KC_Y, KC_H, - KC_LCTL, MACRO_GG, KC_Z, KC_X, KC_C, KC_M, - KC_LALT, KC_TRNS, KC_ENTER) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case MACRO_GG: - if (record->event.pressed) { - // when keycode MACRO_GG is pressed, press shift+enter, send string "gg" and press enter - SEND_STRING(SS_DOWN(X_LSFT) SS_DELAY(10) SS_TAP(X_ENTER) SS_UP(X_LSFT) "gg" SS_TAP(X_ENTER)); - } - break; - } - - return true; -} diff --git a/keyboards/djreisch/lumpy27/readme.md b/keyboards/djreisch/lumpy27/readme.md deleted file mode 100644 index da7d1ca92b..0000000000 --- a/keyboards/djreisch/lumpy27/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# LumPy27 - -The Lightweight User-Modifiable Pi/Python keyboard is a 26-key ergonomic gaming keyboard running on an RP2040. Originally designed to run CircuitPython and KMK, since QMK supports the RP2040 bootloader this is now an additional option for firmware. - -Q: Why is it named the LumPy27 even though it has 26 keys? - -A: When originally designing the PCB and coming up with a name, I miscounted the switches. With the name emblazoned on the silkscreen I figured it sounded better than LumPy26. - -Q: Why are the keys in the wrong place? - -A: For certain games I found it easier instead of remapping them to just change where they are. That's why keys like B and G are not in the right spots. - -* Keyboard Maintainer: [djreisch](https://github.com/djreisch) -* Hardware Availability: [DuckyDebug.org](https://duckydebug.org/products/lumpy27-ergonomic-gaming-keyboard) - -qmk compile example for this keyboard (after setting up your build environment): - - qmk compile -kb djreisch/lumpy27 -km default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 2 ways: - -* **Bootloader Reset**: Hold down the bootload button and press the reset button -* **Bootloader Power On**: Hold down the bootloader button and plug in the keyboard - - diff --git a/keyboards/dk60/keyboard.json b/keyboards/dk60/keyboard.json index 1eb1dbe90a..a88920814d 100644 --- a/keyboards/dk60/keyboard.json +++ b/keyboards/dk60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DK60", "manufacturer": "DARKOU", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/dlip/haritev2/config.h b/keyboards/dlip/haritev2/config.h deleted file mode 100644 index 119ba7cbac..0000000000 --- a/keyboards/dlip/haritev2/config.h +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2024 Dane Lipscombe (@dlip) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1500U - -#define SERIAL_USART_FULL_DUPLEX -#define SERIAL_USART_TX_PIN GP1 -#define SERIAL_USART_RX_PIN GP0 -#define SERIAL_USART_PIN_SWAP - -#define EE_HANDS - -#define SPI_DRIVER SPID0 -#define SPI_SCK_PIN GP2 -#define SPI_MOSI_PIN GP3 -#define SPI_MISO_PIN GP4 -#define POINTING_DEVICE_CS_PIN GP5 diff --git a/keyboards/dlip/haritev2/dual_cirque/config.h b/keyboards/dlip/haritev2/dual_cirque/config.h deleted file mode 100644 index ad92aaa9ad..0000000000 --- a/keyboards/dlip/haritev2/dual_cirque/config.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2024 Dane Lipscombe (@dlip) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define SPLIT_POINTING_ENABLE -#define POINTING_DEVICE_COMBINED -#define POINTING_DEVICE_ROTATION_90 -#define POINTING_DEVICE_ROTATION_90_RIGHT -#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_ABSOLUTE_MODE -#define POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE diff --git a/keyboards/dlip/haritev2/dual_cirque/keyboard.json b/keyboards/dlip/haritev2/dual_cirque/keyboard.json deleted file mode 100644 index 2224a5d894..0000000000 --- a/keyboards/dlip/haritev2/dual_cirque/keyboard.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "features": { - "pointing_device": true - } -} diff --git a/keyboards/dlip/haritev2/dual_cirque/keymaps/default/keymap.c b/keyboards/dlip/haritev2/dual_cirque/keymaps/default/keymap.c deleted file mode 100644 index 3e23d4b088..0000000000 --- a/keyboards/dlip/haritev2/dual_cirque/keymaps/default/keymap.c +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_split_5x6( - KC_U, KC_U, KC_U, KC_U, KC_U, KC_U, KC_U, KC_U, - KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, - KC_D, KC_D, KC_D, KC_D, KC_D, KC_D, KC_D, KC_D, - - KC_U, KC_U, - KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, - KC_D, KC_D, - - KC_U, KC_U, - KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, - KC_D, KC_D - ) -}; diff --git a/keyboards/dlip/haritev2/dual_cirque/readme.md b/keyboards/dlip/haritev2/dual_cirque/readme.md deleted file mode 100644 index 17c540b1c9..0000000000 --- a/keyboards/dlip/haritev2/dual_cirque/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# Harite v2 (Cirque trackpad version) - -5 way switch directional keyboard - -![Harite-v2](https://i.imgur.com/v8kUtL3.jpeg) - -* Keyboard Maintainer: [Dane Lipscombe](https://github.com/dlip) -* Hardware Supported: Harite v2 (Cirque trackpad version) -* Hardware Availability: - -Make example for this keyboard (after setting up your build environment): - -```bash -make dlip/haritev2/dual_cirque:default -``` - -Flashing example for this keyboard: - -```bash -# For the left half... -make dlip/haritev2/dual_cirque:default:uf2-split-left -# or the qmk cli equivalent: -qmk flash -kb dlip/haritev2/dual_cirque --keymap default -bl uf2-split-left - -# For the right half... -make dlip/haritev2/dual_cirque:default:uf2-split-right -# or the qmk cli equivalent: -qmk flash -kb dlip/haritev2/dual_cirque --keymap default -bl uf2-split-right -``` - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/dlip/haritev2/dual_cirque/rules.mk b/keyboards/dlip/haritev2/dual_cirque/rules.mk deleted file mode 100644 index fb5d649735..0000000000 --- a/keyboards/dlip/haritev2/dual_cirque/rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = cirque_pinnacle_spi diff --git a/keyboards/dlip/haritev2/halconf.h b/keyboards/dlip/haritev2/halconf.h deleted file mode 100644 index 102ec51a6b..0000000000 --- a/keyboards/dlip/haritev2/halconf.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2023 Dane Lipscombe (@dlip) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/dlip/haritev2/info.json b/keyboards/dlip/haritev2/info.json deleted file mode 100644 index b7e12b89d5..0000000000 --- a/keyboards/dlip/haritev2/info.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "manufacturer": "Dane Lipscombe", - "keyboard_name": "haritev2", - "maintainer": "dlip", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["GP11", "GP12", "GP13", "GP14", "GP15", "GP26"], - "rows": ["GP6", "GP7", "GP8", "GP9", "GP10"] - }, - "processor": "RP2040", - "split": { - "enabled": true, - "serial": { - "driver": "vendor" - } - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x4832", - "vid": "0x444C" - }, - "layouts": { - "LAYOUT_split_5x6": { - "layout": [ - {"label": "lpu", "matrix": [0, 0], "x": 1, "y": 0}, - {"label": "lru", "matrix": [0, 1], "x": 5, "y": 0}, - {"label": "lmu", "matrix": [0, 2], "x": 9, "y": 0}, - {"label": "liu", "matrix": [0, 3], "x": 13, "y": 0}, - {"label": "riu", "matrix": [8, 3], "x": 21, "y": 0}, - {"label": "rmu", "matrix": [8, 2], "x": 25, "y": 0}, - {"label": "rru", "matrix": [8, 1], "x": 29, "y": 0}, - {"label": "rpu", "matrix": [8, 0], "x": 33, "y": 0}, - {"label": "lpl", "matrix": [2, 0], "x": 0, "y": 1}, - {"label": "lpc", "matrix": [1, 0], "x": 1, "y": 1}, - {"label": "lpr", "matrix": [3, 0], "x": 2, "y": 1}, - {"label": "lrl", "matrix": [2, 1], "x": 4, "y": 1}, - {"label": "lrc", "matrix": [1, 1], "x": 5, "y": 1}, - {"label": "lrr", "matrix": [3, 1], "x": 6, "y": 1}, - {"label": "lml", "matrix": [2, 2], "x": 8, "y": 1}, - {"label": "lmc", "matrix": [1, 2], "x": 9, "y": 1}, - {"label": "lmr", "matrix": [3, 2], "x": 10, "y": 1}, - {"label": "lil", "matrix": [2, 3], "x": 12, "y": 1}, - {"label": "lic", "matrix": [1, 3], "x": 13, "y": 1}, - {"label": "lir", "matrix": [3, 3], "x": 14, "y": 1}, - {"label": "ril", "matrix": [5, 3], "x": 20, "y": 1}, - {"label": "ric", "matrix": [6, 3], "x": 21, "y": 1}, - {"label": "rir", "matrix": [9, 3], "x": 22, "y": 1}, - {"label": "rml", "matrix": [5, 2], "x": 24, "y": 1}, - {"label": "rmc", "matrix": [6, 2], "x": 25, "y": 1}, - {"label": "rmr", "matrix": [9, 2], "x": 26, "y": 1}, - {"label": "rrl", "matrix": [5, 1], "x": 28, "y": 1}, - {"label": "rrc", "matrix": [6, 1], "x": 29, "y": 1}, - {"label": "rrr", "matrix": [9, 1], "x": 30, "y": 1}, - {"label": "rpl", "matrix": [5, 0], "x": 32, "y": 1}, - {"label": "rpc", "matrix": [6, 0], "x": 33, "y": 1}, - {"label": "rpr", "matrix": [9, 0], "x": 34, "y": 1}, - {"label": "lpd", "matrix": [4, 0], "x": 1, "y": 2}, - {"label": "lrd", "matrix": [4, 1], "x": 5, "y": 2}, - {"label": "lmd", "matrix": [4, 2], "x": 9, "y": 2}, - {"label": "lid", "matrix": [4, 3], "x": 13, "y": 2}, - {"label": "rid", "matrix": [7, 3], "x": 21, "y": 2}, - {"label": "rmd", "matrix": [7, 2], "x": 25, "y": 2}, - {"label": "rrd", "matrix": [7, 1], "x": 29, "y": 2}, - {"label": "rpd", "matrix": [7, 0], "x": 33, "y": 2}, - {"label": "ltu", "matrix": [0, 4], "x": 13, "y": 3}, - {"label": "rtu", "matrix": [5, 4], "x": 21, "y": 3}, - {"label": "ltl", "matrix": [2, 4], "x": 12, "y": 4}, - {"label": "ltc", "matrix": [1, 4], "x": 13, "y": 4}, - {"label": "ltr", "matrix": [3, 4], "x": 14, "y": 4}, - {"label": "rtl", "matrix": [7, 4], "x": 20, "y": 4}, - {"label": "rtc", "matrix": [6, 4], "x": 21, "y": 4}, - {"label": "rtr", "matrix": [8, 4], "x": 22, "y": 4}, - {"label": "ltd", "matrix": [4, 4], "x": 13, "y": 5}, - {"label": "rtd", "matrix": [9, 4], "x": 21, "y": 5}, - {"label": "lt2u", "matrix": [0, 5], "x": 13, "y": 6}, - {"label": "rt2u", "matrix": [5, 5], "x": 21, "y": 6}, - {"label": "lt2l", "matrix": [2, 5], "x": 12, "y": 7}, - {"label": "lt2c", "matrix": [1, 5], "x": 13, "y": 7}, - {"label": "lt2r", "matrix": [3, 5], "x": 14, "y": 7}, - {"label": "rt2l", "matrix": [7, 5], "x": 20, "y": 7}, - {"label": "rt2c", "matrix": [6, 5], "x": 21, "y": 7}, - {"label": "rt2r", "matrix": [8, 5], "x": 22, "y": 7}, - {"label": "lt2d", "matrix": [4, 5], "x": 13, "y": 8}, - {"label": "rt2d", "matrix": [9, 5], "x": 21, "y": 8} - ] - } - } -} diff --git a/keyboards/dlip/haritev2/thumbstick_pmw3389/config.h b/keyboards/dlip/haritev2/thumbstick_pmw3389/config.h deleted file mode 100644 index b050985f3e..0000000000 --- a/keyboards/dlip/haritev2/thumbstick_pmw3389/config.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2024 Dane Lipscombe (@dlip) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define PMW33XX_CPI 1000 -#define SPLIT_POINTING_ENABLE -#define POINTING_DEVICE_INVERT_X -#define POINTING_DEVICE_RIGHT diff --git a/keyboards/dlip/haritev2/thumbstick_pmw3389/keyboard.json b/keyboards/dlip/haritev2/thumbstick_pmw3389/keyboard.json deleted file mode 100644 index 687c0ea3a9..0000000000 --- a/keyboards/dlip/haritev2/thumbstick_pmw3389/keyboard.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "features": { - "joystick": true, - "pointing_device": true - }, - "joystick": { - "driver": "analog", - "axes": { - "x": { - "high": 938, - "input_pin": "GP27", - "low": 25, - "rest": 501 - }, - "y": { - "high": 942, - "input_pin": "GP28", - "low": 58, - "rest": 474 - } - }, - "axis_resolution": 10, - "button_count": 32 - } -} diff --git a/keyboards/dlip/haritev2/thumbstick_pmw3389/keymaps/default/keymap.c b/keyboards/dlip/haritev2/thumbstick_pmw3389/keymaps/default/keymap.c deleted file mode 100644 index 3e23d4b088..0000000000 --- a/keyboards/dlip/haritev2/thumbstick_pmw3389/keymaps/default/keymap.c +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_split_5x6( - KC_U, KC_U, KC_U, KC_U, KC_U, KC_U, KC_U, KC_U, - KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, - KC_D, KC_D, KC_D, KC_D, KC_D, KC_D, KC_D, KC_D, - - KC_U, KC_U, - KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, - KC_D, KC_D, - - KC_U, KC_U, - KC_L, KC_C, KC_R, KC_L, KC_C, KC_R, - KC_D, KC_D - ) -}; diff --git a/keyboards/dlip/haritev2/thumbstick_pmw3389/readme.md b/keyboards/dlip/haritev2/thumbstick_pmw3389/readme.md deleted file mode 100644 index ed0caf977a..0000000000 --- a/keyboards/dlip/haritev2/thumbstick_pmw3389/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# Harite v2 (Thumbstick + PMW3389 version) - -5 way switch directional keyboard - -![Harite-v2](https://i.imgur.com/wyrUsjG.jpeg) - -* Keyboard Maintainer: [Dane Lipscombe](https://github.com/dlip) -* Hardware Supported: Harite v2 (Thumbstick + PMW3389 version) -* Hardware Availability: - -Make example for this keyboard (after setting up your build environment): - -```bash -make dlip/haritev2/thumbstick_pmw3389:default -``` - -Flashing example for this keyboard: - -```bash -# For the left half... -make dlip/haritev2/thumbstick_pmw3389:default:uf2-split-left -# or the qmk cli equivalent: -qmk flash -kb dlip/haritev2/thumbstick_pmw3389 --keymap default -bl uf2-split-left - -# For the right half... -make dlip/haritev2/thumbstick_pmw3389:default:uf2-split-right -# or the qmk cli equivalent: -qmk flash -kb dlip/haritev2/thumbstick_pmw3389 --keymap default -bl uf2-split-right -``` - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/dlip/haritev2/thumbstick_pmw3389/rules.mk b/keyboards/dlip/haritev2/thumbstick_pmw3389/rules.mk deleted file mode 100644 index 8ff6b63653..0000000000 --- a/keyboards/dlip/haritev2/thumbstick_pmw3389/rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = pmw3389 diff --git a/keyboards/dm9records/ergoinu/keyboard.json b/keyboards/dm9records/ergoinu/keyboard.json index 0e124d1a21..1f91a06600 100644 --- a/keyboards/dm9records/ergoinu/keyboard.json +++ b/keyboards/dm9records/ergoinu/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ergoinu", "manufacturer": "Dm9Records", + "url": "", "maintainer": "hsgw(Takuya Urakawa)", "usb": { "vid": "0x04D8", diff --git a/keyboards/dm9records/lain/keyboard.json b/keyboards/dm9records/lain/keyboard.json index 1f02a98fc4..32cece9f15 100644 --- a/keyboards/dm9records/lain/keyboard.json +++ b/keyboards/dm9records/lain/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/dm9records/plaid/keymaps/default/keymap.c b/keyboards/dm9records/plaid/keymaps/default/keymap.c index 3ee327f65e..0d8d24c575 100644 --- a/keyboards/dm9records/plaid/keymaps/default/keymap.c +++ b/keyboards/dm9records/plaid/keymaps/default/keymap.c @@ -311,9 +311,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!eeconfig_is_enabled()) { eeconfig_init(); } - eeconfig_read_keymap(&keymap_config); + keymap_config.raw = eeconfig_read_keymap(); keymap_config.nkro = 1; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } return false; break; diff --git a/keyboards/dmqdesign/spin/keyboard.json b/keyboards/dmqdesign/spin/keyboard.json index dd3cbaa838..b271f1ebd5 100644 --- a/keyboards/dmqdesign/spin/keyboard.json +++ b/keyboards/dmqdesign/spin/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "midi": true, diff --git a/keyboards/dnlnm/cloak/keyboard.json b/keyboards/dnlnm/cloak/keyboard.json deleted file mode 100644 index fb429e789a..0000000000 --- a/keyboards/dnlnm/cloak/keyboard.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "manufacturer": "dnlnm", - "keyboard_name": "Cloak", - "maintainer": "dnlnm", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "A9", "pin_b": "A10", "resolution": 2}, - {"pin_a": "B4", "pin_b": "B6", "resolution": 2} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["A8", "B15", "B14", "B13", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "B8"], - "rows": ["B3", "B12", "A15", "B7", "B9"] - }, - "processor": "STM32F072", - "rgblight": { - "default": { - "on": false - }, - "driver": "ws2812", - "layers": { - "blink": true, - "enabled": true, - "override_rgb": true - }, - "led_count": 12 - }, - "url": "https://github.com/dnlnm/cloak-xt-stm32", - "usb": { - "device_version": "1.0.0", - "pid": "0xFCD4", - "vid": "0x7E7E" - }, - "ws2812": { - "pin": "B5" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.25, "y": 0}, - {"matrix": [0, 2], "x": 2.25, "y": 0}, - {"matrix": [0, 3], "x": 3.25, "y": 0}, - {"matrix": [0, 4], "x": 4.25, "y": 0}, - {"matrix": [0, 5], "x": 5.63, "y": 0}, - {"matrix": [0, 6], "x": 6.63, "y": 0}, - {"matrix": [0, 7], "x": 7.63, "y": 0}, - {"matrix": [0, 8], "x": 8.63, "y": 0}, - {"matrix": [0, 9], "x": 10, "y": 0}, - {"matrix": [0, 10], "x": 11, "y": 0}, - {"matrix": [0, 11], "x": 12, "y": 0}, - {"matrix": [0, 12], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14.25, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1.25, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1.25}, - {"matrix": [1, 2], "x": 2.5, "y": 1.25}, - {"matrix": [1, 3], "x": 3.5, "y": 1.25}, - {"matrix": [1, 4], "x": 4.5, "y": 1.25}, - {"matrix": [1, 5], "x": 5.5, "y": 1.25}, - {"matrix": [1, 6], "x": 6.5, "y": 1.25}, - {"matrix": [1, 7], "x": 7.5, "y": 1.25}, - {"matrix": [1, 8], "x": 8.5, "y": 1.25}, - {"matrix": [1, 9], "x": 9.5, "y": 1.25}, - {"matrix": [1, 10], "x": 10.5, "y": 1.25}, - {"matrix": [1, 11], "x": 11.5, "y": 1.25}, - {"matrix": [1, 12], "x": 12.5, "y": 1.25, "w": 1.5}, - {"matrix": [1, 13], "x": 14.25, "y": 1.25}, - {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2.25}, - {"matrix": [2, 2], "x": 2.75, "y": 2.25}, - {"matrix": [2, 3], "x": 3.75, "y": 2.25}, - {"matrix": [2, 4], "x": 4.75, "y": 2.25}, - {"matrix": [2, 5], "x": 5.75, "y": 2.25}, - {"matrix": [2, 6], "x": 6.75, "y": 2.25}, - {"matrix": [2, 7], "x": 7.75, "y": 2.25}, - {"matrix": [2, 8], "x": 8.75, "y": 2.25}, - {"matrix": [2, 9], "x": 9.75, "y": 2.25}, - {"matrix": [2, 10], "x": 10.75, "y": 2.25}, - {"matrix": [2, 11], "x": 11.75, "y": 2.25, "w": 2.25}, - {"matrix": [2, 12], "x": 14.25, "y": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3.25}, - {"matrix": [3, 2], "x": 3.25, "y": 3.25}, - {"matrix": [3, 3], "x": 4.25, "y": 3.25}, - {"matrix": [3, 4], "x": 5.25, "y": 3.25}, - {"matrix": [3, 5], "x": 6.25, "y": 3.25}, - {"matrix": [3, 6], "x": 7.25, "y": 3.25}, - {"matrix": [3, 7], "x": 8.25, "y": 3.25}, - {"matrix": [3, 8], "x": 9.25, "y": 3.25}, - {"matrix": [3, 9], "x": 10.25, "y": 3.25}, - {"matrix": [3, 10], "x": 11.25, "y": 3.25}, - {"matrix": [3, 11], "x": 12.25, "y": 3.25, "w": 1.75}, - {"matrix": [3, 12], "x": 14.25, "y": 3.25}, - {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4.25, "w": 1.25}, - {"matrix": [4, 6], "x": 3.5, "y": 4.25, "w": 7}, - {"matrix": [4, 10], "x": 10.5, "y": 4.25, "w": 1.25}, - {"matrix": [4, 11], "x": 11.75, "y": 4.25}, - {"matrix": [4, 12], "x": 12.75, "y": 4.25, "w": 1.25}, - {"matrix": [4, 13], "x": 14.25, "y": 4.25} - ] - } - } -} diff --git a/keyboards/dnlnm/cloak/keymaps/default/keymap.c b/keyboards/dnlnm/cloak/keymaps/default/keymap.c deleted file mode 100644 index 61733d2bba..0000000000 --- a/keyboards/dnlnm/cloak/keymaps/default/keymap.c +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright (C) 2025 dnlnm -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_MPLY, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, KC_VOLU, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_VOLD, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_MUTE, - KC_LCTL, KC_LGUI, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_PSCR), - - [1] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______), -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = {ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [1] = {ENCODER_CCW_CW(UG_HUED, UG_HUEU), ENCODER_CCW_CW(UG_SATD, UG_SATU)}, -}; -#endif - -#ifdef RGBLIGHT_ENABLE - -// Light LEDs 10 & 11 in blue when caps lock is active. -const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {10, 2, HSV_BLUE} // Light 4 LEDs, starting with LED 6 -); -// Light LEDs 0 & 1 in blue when keyboard layer 1 is active -const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 2, HSV_BLUE} -); -// Light LEDs 4 & 5 in blue when keyboard layer 2 is active -const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {4, 2, HSV_BLUE} -); - -// Now define the array of layers. Later layers take precedence -const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - my_capslock_layer, - my_layer1_layer, // Overrides caps lock layer - my_layer2_layer // Overrides other layers -); - -void keyboard_post_init_user(void) { - // Enable the LED layers - rgblight_layers = my_rgb_layers; -} - -bool led_update_user(led_t led_state) { - rgblight_set_layer_state(0, led_state.caps_lock); - return true; -} - -layer_state_t layer_state_set_user(layer_state_t state) { - rgblight_set_layer_state(1, layer_state_cmp(state, 1)); - rgblight_set_layer_state(2, layer_state_cmp(state, 2)); - return state; -} - -#endif diff --git a/keyboards/dnlnm/cloak/keymaps/default/rules.mk b/keyboards/dnlnm/cloak/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/dnlnm/cloak/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/dnlnm/cloak/readme.md b/keyboards/dnlnm/cloak/readme.md deleted file mode 100644 index 99c50c8d43..0000000000 --- a/keyboards/dnlnm/cloak/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# dnlnm/cloak - -![dnlnm/cloak](https://i.imgur.com/eZCUPvK.jpeg) - -* Keyboard Maintainer: [Daniel Naim](https://github.com/dnlnm) -* Hardware Supported: Cloak-XT -* Hardware Availability: https://github.com/dnlnm/cloak-xt-stm32 - -Make example for this keyboard (after setting up your build environment): - - make dnlnm/cloak:default - -Flashing example for this keyboard: - - make dnlnm/cloak:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Hold the boot button and tap the reset button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/dnworks/frltkl/keyboard.json b/keyboards/dnworks/frltkl/keyboard.json index 1561a648a0..86796a6084 100644 --- a/keyboards/dnworks/frltkl/keyboard.json +++ b/keyboards/dnworks/frltkl/keyboard.json @@ -13,10 +13,13 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "indicators": { - "caps_lock": "GP27" + "caps_lock": "GP27", + "on_state": 1 }, "diode_direction": "COL2ROW", "matrix_pins": { diff --git a/keyboards/dnworks/sbl/keyboard.json b/keyboards/dnworks/sbl/keyboard.json index d9c6fa1bb3..2086fc5aa1 100644 --- a/keyboards/dnworks/sbl/keyboard.json +++ b/keyboards/dnworks/sbl/keyboard.json @@ -13,10 +13,13 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "indicators": { - "caps_lock": "GP29" + "caps_lock": "GP29", + "on_state": 1 }, "diode_direction": "COL2ROW", "matrix_pins": { diff --git a/keyboards/dnworks/tkl87/keyboard.json b/keyboards/dnworks/tkl87/keyboard.json index af912ae25d..6b56435ae3 100644 --- a/keyboards/dnworks/tkl87/keyboard.json +++ b/keyboards/dnworks/tkl87/keyboard.json @@ -17,7 +17,8 @@ }, "indicators": { "caps_lock": "GP27", - "scroll_lock": "GP1" + "scroll_lock": "GP1", + "on_state": 1 }, "diode_direction": "COL2ROW", "matrix_pins": { diff --git a/keyboards/do60/keyboard.json b/keyboards/do60/keyboard.json index 0c6cd8db83..2a7d585f65 100644 --- a/keyboards/do60/keyboard.json +++ b/keyboards/do60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Do60", "manufacturer": "Doyu Studio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4453", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/doio/kb03/config.h b/keyboards/doio/kb03/config.h deleted file mode 100644 index f0f974d940..0000000000 --- a/keyboards/doio/kb03/config.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (C) 2025 DOIO -// Copyright (C) 2025 ClownFish (@clownfish-og) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define WS2812_PWM_CHANNEL 3 -#define WS2812_PWM_DRIVER PWMD1 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM5 diff --git a/keyboards/doio/kb03/halconf.h b/keyboards/doio/kb03/halconf.h deleted file mode 100644 index 8c0968d792..0000000000 --- a/keyboards/doio/kb03/halconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (C) 2025 DOIO -// Copyright (C) 2025 ClownFish (@clownfish-og) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/doio/kb03/kb03.c b/keyboards/doio/kb03/kb03.c deleted file mode 100644 index 9368bc5d41..0000000000 --- a/keyboards/doio/kb03/kb03.c +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (C) 2025 DOIO -// Copyright (C) 2025 ClownFish (@clownfish-og) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - switch (keycode) { - case RM_TOGG: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_NONE); - rgb_matrix_set_color_all(0, 0, 0); - } break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - } break; - } - } - if (!rgb_matrix_is_enabled()) { - rgb_matrix_set_flags(LED_FLAG_ALL); - rgb_matrix_enable(); - } - return false; - } - return true; -} - -bool rgb_matrix_indicators_kb(void) { - if (!rgb_matrix_indicators_user()) { - return false; - } - - hsv_t hsv = {0, 255, 100}; - switch (get_highest_layer(layer_state)) { - case 0: - hsv = (hsv_t){HSV_RED}; - break; - case 1: - hsv = (hsv_t){HSV_GREEN}; - break; - case 2: - hsv = (hsv_t){HSV_BLUE}; - break; - case 3: - hsv = (hsv_t){HSV_WHITE}; - break; - default: - hsv = (hsv_t){HSV_YELLOW}; - break; - } - hsv.v = (rgb_matrix_get_val() * 70 / 200) + 30; //set indicator brightness range 30-100, vary based on RGB Matrix brightness - rgb_t rgb = hsv_to_rgb(hsv); - rgb_matrix_set_color(9, rgb.r, rgb.g, rgb.b); - return false; -} - -#endif diff --git a/keyboards/doio/kb03/keyboard.json b/keyboards/doio/kb03/keyboard.json deleted file mode 100644 index d2a214c92f..0000000000 --- a/keyboards/doio/kb03/keyboard.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "manufacturer": "DOIO", - "keyboard_name": "KB03-01", - "maintainer": "clownfish-og", - "bootloader": "stm32duino", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "B5", "pin_b": "B6", "resolution": 4}, - {"pin_a": "A2", "pin_b": "A1", "resolution": 2} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["B14", "B13", "B12", "B0", "A7"], - "rows": ["B3"] - }, - "processor": "STM32F103", - "rgb_matrix": { - "animations": { - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "dual_beacon": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_wave": true, - "jellybean_raindrops": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 224, "y": 0, "flags": 4}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 0, "y": 32, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 224, "y": 32, "flags": 2}, - {"x": 10, "y": 0, "flags": 8} - ], - "max_brightness": 200, - "sleep": true - }, - "url": "https://www.keebmonkey.com/products/megalodon-dual-layer-knob-macro-pad", - "usb": { - "device_version": "0.0.1", - "pid": "0x0301", - "vid": "0xD010" - }, - "ws2812": { - "pin": "A10", - "driver": "pwm" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "Layers", "matrix": [0, 3], "x": 0.75, "y": 0, "h": 0.5}, - {"label": "1!", "matrix": [0, 0], "x": 0, "y": 0.75}, - {"label": "2@", "matrix": [0, 1], "x": 1, "y": 0.75}, - {"label": "3#", "matrix": [0, 2], "x": 2, "y": 0.75}, - {"label": "Encoder", "matrix": [0, 4], "x": 0.5, "y": 2, "w": 2, "h": 2} - ] - } - } -} diff --git a/keyboards/doio/kb03/keymaps/default/keymap.c b/keyboards/doio/kb03/keymaps/default/keymap.c deleted file mode 100644 index 67e43faca4..0000000000 --- a/keyboards/doio/kb03/keymaps/default/keymap.c +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2025 DOIO -// Copyright 2025 ClownFish (@clownfish-og) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum my_layers { - _BASE, - _MOUSE, - _MEDIA, - _LIGHTS -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( - TO(_MOUSE), - KC_1, KC_2, KC_3, - KC_ENT - ), - [_MOUSE] = LAYOUT( - TO(_MEDIA), - MS_BTN1, MS_BTN3, MS_BTN2, - KC_LCTL - ), - [_MEDIA] = LAYOUT( - TO(_LIGHTS), - KC_MRWD, KC_MPLY, KC_MFFD, - KC_MUTE - ), - [_LIGHTS] = LAYOUT( - TO(_BASE), - RM_VALD, RM_NEXT, RM_VALU, - RM_TOGG - ) -}; - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_BASE] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, - [_MOUSE] = { ENCODER_CCW_CW(MS_LEFT, MS_RGHT), ENCODER_CCW_CW(MS_UP, MS_DOWN) }, - [_MEDIA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, - [_LIGHTS] = { ENCODER_CCW_CW(RM_SATD, RM_SATU), ENCODER_CCW_CW(RM_HUED, RM_HUEU) } -}; -#endif diff --git a/keyboards/doio/kb03/keymaps/default/rules.mk b/keyboards/doio/kb03/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/doio/kb03/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/doio/kb03/mcuconf.h b/keyboards/doio/kb03/mcuconf.h deleted file mode 100644 index 5869741c98..0000000000 --- a/keyboards/doio/kb03/mcuconf.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (C) 2025 DOIO -// Copyright (C) 2025 ClownFish (@clownfish-og) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef STM32_PWM_USE_TIM1 -#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/doio/kb03/readme.md b/keyboards/doio/kb03/readme.md deleted file mode 100644 index 873ab2f38d..0000000000 --- a/keyboards/doio/kb03/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# DOIO KB03-01 - -![KB03-01](https://i.imgur.com/bnlDpkY.png) - -QMK for Megalodon DOIO Dual Layer Knob 3 Key macropad. - -* Keyboard Maintainer: [clownfish-og](https://github.com/clownfish-og) -* Hardware Supported: DOIO KB03-01 using APM32F103CBT6 (clone STM32F103CBT6) -* Hardware Availability: https://www.keebmonkey.com/products/megalodon-dual-layer-knob-macro-pad - -Make example for this keyboard (after setting up your build environment): - - make doio/kb03:default - -Flashing example for this keyboard: - - make doio/kb03:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/doio/kb03/rules.mk b/keyboards/doio/kb03/rules.mk deleted file mode 100644 index 6f0a3736a7..0000000000 --- a/keyboards/doio/kb03/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Configure for 128K flash -MCU_LDSCRIPT = STM32F103xB diff --git a/keyboards/doio/kb04/keyboard.json b/keyboards/doio/kb04/keyboard.json index ea5c58c71c..2455f82e03 100644 --- a/keyboards/doio/kb04/keyboard.json +++ b/keyboards/doio/kb04/keyboard.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/doio/kb09/keyboard.json b/keyboards/doio/kb09/keyboard.json index a9c0e2a579..e3012f510c 100644 --- a/keyboards/doio/kb09/keyboard.json +++ b/keyboards/doio/kb09/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -86,6 +88,7 @@ "max_brightness": 200, "sleep": true }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x0901", diff --git a/keyboards/doio/kb12/keyboard.json b/keyboards/doio/kb12/keyboard.json index 134c4aff76..c87d5f9544 100644 --- a/keyboards/doio/kb12/keyboard.json +++ b/keyboards/doio/kb12/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KB12-01", "manufacturer": "DOIO", + "url": "", "maintainer": "DOIO2022", "usb": { "vid": "0xD010", @@ -93,6 +94,8 @@ "bootloader": "stm32duino", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/doio/kb19/keyboard.json b/keyboards/doio/kb19/keyboard.json index 170794cef7..faaaedd36f 100644 --- a/keyboards/doio/kb19/keyboard.json +++ b/keyboards/doio/kb19/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KB19-01", "manufacturer": "DOIO", + "url": "", "maintainer": "DOIO2022", "usb": { "vid": "0xD010", @@ -12,6 +13,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "encoder": true, "nkro": false, "rgblight": true diff --git a/keyboards/doio/kb30/keyboard.json b/keyboards/doio/kb30/keyboard.json index 86c1535a5d..388df2d9e3 100644 --- a/keyboards/doio/kb30/keyboard.json +++ b/keyboards/doio/kb30/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KB30-01", "manufacturer": "DOIO", + "url": "", "maintainer": "DOIO2022", "usb": { "vid": "0xD010", @@ -92,6 +93,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/doio/kb38/keyboard.json b/keyboards/doio/kb38/keyboard.json index 5214c60d08..a46f1a6a45 100644 --- a/keyboards/doio/kb38/keyboard.json +++ b/keyboards/doio/kb38/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/doio/kb3x/keyboard.json b/keyboards/doio/kb3x/keyboard.json index eb9e843745..be0d138439 100644 --- a/keyboards/doio/kb3x/keyboard.json +++ b/keyboards/doio/kb3x/keyboard.json @@ -86,6 +86,7 @@ "max_brightness": 200, "sleep": true }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x3F01", diff --git a/keyboards/donutcables/budget96/keyboard.json b/keyboards/donutcables/budget96/keyboard.json index 6b9b99abd9..eaba1b7c46 100644 --- a/keyboards/donutcables/budget96/keyboard.json +++ b/keyboards/donutcables/budget96/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Budget96", "manufacturer": "DonutCables", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4443", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/donutcables/scrabblepad/keyboard.json b/keyboards/donutcables/scrabblepad/keyboard.json index f614dffa4f..aa03523ed8 100644 --- a/keyboards/donutcables/scrabblepad/keyboard.json +++ b/keyboards/donutcables/scrabblepad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ScrabblePad", "manufacturer": "DonutCables", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4443", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/doodboard/duckboard/keyboard.json b/keyboards/doodboard/duckboard/keyboard.json index 7e88a22e10..bb0b5c0f00 100644 --- a/keyboards/doodboard/duckboard/keyboard.json +++ b/keyboards/doodboard/duckboard/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/doodboard/duckboard_r2/keyboard.json b/keyboards/doodboard/duckboard_r2/keyboard.json index 6cbf51bcb4..94c79d382c 100644 --- a/keyboards/doodboard/duckboard_r2/keyboard.json +++ b/keyboards/doodboard/duckboard_r2/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/doppelganger/keyboard.json b/keyboards/doppelganger/keyboard.json index 72b3604596..8856927012 100644 --- a/keyboards/doppelganger/keyboard.json +++ b/keyboards/doppelganger/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Doppelganger", "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "yiancar", "usb": { "vid": "0x8968", diff --git a/keyboards/doro67/multi/keyboard.json b/keyboards/doro67/multi/keyboard.json index 6749a234cf..a3a652e40b 100644 --- a/keyboards/doro67/multi/keyboard.json +++ b/keyboards/doro67/multi/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Doro67 Multi", "manufacturer": "Backprop Studio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4250", diff --git a/keyboards/doro67/rgb/keyboard.json b/keyboards/doro67/rgb/keyboard.json index de95db63d6..8f372dc9c7 100644 --- a/keyboards/doro67/rgb/keyboard.json +++ b/keyboards/doro67/rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Doro67 RGB", "manufacturer": "Backprop Studio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4250", @@ -55,6 +56,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/dotmod/dymium65/keyboard.json b/keyboards/dotmod/dymium65/keyboard.json index 301b69edc5..c5cd1b2cb7 100644 --- a/keyboards/dotmod/dymium65/keyboard.json +++ b/keyboards/dotmod/dymium65/keyboard.json @@ -19,6 +19,8 @@ "features": { "bootmagic": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "mousekey": true, "rgb_matrix": true diff --git a/keyboards/dp3000/rev1/keyboard.json b/keyboards/dp3000/rev1/keyboard.json index 00ee2bb59e..aa7ff8bc0a 100644 --- a/keyboards/dp3000/rev1/keyboard.json +++ b/keyboards/dp3000/rev1/keyboard.json @@ -2,6 +2,8 @@ "keyboard_name": "dp3000", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "encoder": true, "oled": true, diff --git a/keyboards/dp3000/rev2/keyboard.json b/keyboards/dp3000/rev2/keyboard.json index 202d3b7bf6..7d82c38460 100644 --- a/keyboards/dp3000/rev2/keyboard.json +++ b/keyboards/dp3000/rev2/keyboard.json @@ -2,6 +2,8 @@ "keyboard_name": "dp3000 rev2", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "encoder": true, "oled": true, diff --git a/keyboards/dp3000/rules.mk b/keyboards/dp3000/rules.mk new file mode 100644 index 0000000000..0f44aefd44 --- /dev/null +++ b/keyboards/dp3000/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = dp3000/rev1 diff --git a/keyboards/dp60/keyboard.json b/keyboards/dp60/keyboard.json index 2c42747bb4..51a2c08d47 100644 --- a/keyboards/dp60/keyboard.json +++ b/keyboards/dp60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DP60", "manufacturer": "astro", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x60BE", diff --git a/keyboards/draculad/keyboard.json b/keyboards/draculad/keyboard.json index c72bda7c38..3ba2f0efae 100644 --- a/keyboards/draculad/keyboard.json +++ b/keyboards/draculad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DracuLad", "manufacturer": "MangoIV", + "url": "", "maintainer": "MangoIV", "usb": { "vid": "0xFEED", diff --git a/keyboards/draytronics/daisy/keyboard.json b/keyboards/draytronics/daisy/keyboard.json index 30a32fd457..92b0b54f43 100644 --- a/keyboards/draytronics/daisy/keyboard.json +++ b/keyboards/draytronics/daisy/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/draytronics/elise/keyboard.json b/keyboards/draytronics/elise/keyboard.json index 6a273d0d1d..782c61d764 100644 --- a/keyboards/draytronics/elise/keyboard.json +++ b/keyboards/draytronics/elise/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/draytronics/elise_v2/keyboard.json b/keyboards/draytronics/elise_v2/keyboard.json index 1feabdbb7c..217f837e19 100644 --- a/keyboards/draytronics/elise_v2/keyboard.json +++ b/keyboards/draytronics/elise_v2/keyboard.json @@ -32,6 +32,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/drewkeys/iskar/keyboard.json b/keyboards/drewkeys/iskar/keyboard.json index ccbbbc16f4..66d4ebd74d 100644 --- a/keyboards/drewkeys/iskar/keyboard.json +++ b/keyboards/drewkeys/iskar/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/drhigsby/bkf/keyboard.json b/keyboards/drhigsby/bkf/keyboard.json index 76808f93de..a3933c8228 100644 --- a/keyboards/drhigsby/bkf/keyboard.json +++ b/keyboards/drhigsby/bkf/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/drhigsby/dubba175/keyboard.json b/keyboards/drhigsby/dubba175/keyboard.json index 0f395d10ff..69570a1c2f 100644 --- a/keyboards/drhigsby/dubba175/keyboard.json +++ b/keyboards/drhigsby/dubba175/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/drhigsby/ogurec/info.json b/keyboards/drhigsby/ogurec/info.json index 7e65e924e2..f3c753f2c0 100644 --- a/keyboards/drhigsby/ogurec/info.json +++ b/keyboards/drhigsby/ogurec/info.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/drhigsby/ogurec/rules.mk b/keyboards/drhigsby/ogurec/rules.mk new file mode 100644 index 0000000000..ed83fb6386 --- /dev/null +++ b/keyboards/drhigsby/ogurec/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = drhigsby/ogurec/left_pm diff --git a/keyboards/drhigsby/packrat/keyboard.json b/keyboards/drhigsby/packrat/keyboard.json index b41b383aee..a836b0bf96 100644 --- a/keyboards/drhigsby/packrat/keyboard.json +++ b/keyboards/drhigsby/packrat/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/drop/alt/v2/keyboard.json b/keyboards/drop/alt/v2/keyboard.json index 18bbe5f76d..8363aca5cf 100644 --- a/keyboards/drop/alt/v2/keyboard.json +++ b/keyboards/drop/alt/v2/keyboard.json @@ -20,6 +20,8 @@ "features": { "rgb_matrix": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/drop/cstm65/keyboard.json b/keyboards/drop/cstm65/keyboard.json index 4ee594f127..708649966e 100644 --- a/keyboards/drop/cstm65/keyboard.json +++ b/keyboards/drop/cstm65/keyboard.json @@ -20,6 +20,8 @@ "features": { "rgb_matrix": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/drop/cstm80/keyboard.json b/keyboards/drop/cstm80/keyboard.json index 4489eebd4a..5ce4e666b1 100644 --- a/keyboards/drop/cstm80/keyboard.json +++ b/keyboards/drop/cstm80/keyboard.json @@ -20,6 +20,8 @@ "features": { "rgb_matrix": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/drop/ctrl/v2/keyboard.json b/keyboards/drop/ctrl/v2/keyboard.json index 402327ed31..f461800dde 100644 --- a/keyboards/drop/ctrl/v2/keyboard.json +++ b/keyboards/drop/ctrl/v2/keyboard.json @@ -20,6 +20,8 @@ "features": { "rgb_matrix": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/drop/sense75/keyboard.json b/keyboards/drop/sense75/keyboard.json index eb9cb121c2..052b494375 100644 --- a/keyboards/drop/sense75/keyboard.json +++ b/keyboards/drop/sense75/keyboard.json @@ -21,6 +21,8 @@ "rgb_matrix": true, "encoder": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/drop/shift/v2/keyboard.json b/keyboards/drop/shift/v2/keyboard.json index 85556998f2..212263d71c 100644 --- a/keyboards/drop/shift/v2/keyboard.json +++ b/keyboards/drop/shift/v2/keyboard.json @@ -20,6 +20,8 @@ "features": { "rgb_matrix": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/drop/thekey/v1/keyboard.json b/keyboards/drop/thekey/v1/keyboard.json index 3038171fb3..f1f204e3a0 100644 --- a/keyboards/drop/thekey/v1/keyboard.json +++ b/keyboards/drop/thekey/v1/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "backlight": true, diff --git a/keyboards/drop/thekey/v2/keyboard.json b/keyboards/drop/thekey/v2/keyboard.json index 7497907187..ced9901bea 100644 --- a/keyboards/drop/thekey/v2/keyboard.json +++ b/keyboards/drop/thekey/v2/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "rgblight": true diff --git a/keyboards/druah/dk_saver_redux/keyboard.json b/keyboards/druah/dk_saver_redux/keyboard.json index 76f6131358..6c76e10756 100644 --- a/keyboards/druah/dk_saver_redux/keyboard.json +++ b/keyboards/druah/dk_saver_redux/keyboard.json @@ -15,6 +15,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/dtisaac/cg108/keyboard.json b/keyboards/dtisaac/cg108/keyboard.json index 3328fcd96a..28e5563111 100644 --- a/keyboards/dtisaac/cg108/keyboard.json +++ b/keyboards/dtisaac/cg108/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CG108", "manufacturer": "DTIsaac", + "url": "", "maintainer": "daotakisaac", "usb": { "vid": "0x4454", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/dtisaac/dosa40rgb/keyboard.json b/keyboards/dtisaac/dosa40rgb/keyboard.json index 4f5522947a..5f3654d2c5 100644 --- a/keyboards/dtisaac/dosa40rgb/keyboard.json +++ b/keyboards/dtisaac/dosa40rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": ">_Dosa40", "manufacturer": "DTIsaac", + "url": "", "maintainer": "DTIsaac", "usb": { "vid": "0x4454", @@ -71,6 +72,8 @@ "features": { "bluetooth": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/dtisaac/dtisaac01/keyboard.json b/keyboards/dtisaac/dtisaac01/keyboard.json index 33885b73f7..0b4b1b3057 100644 --- a/keyboards/dtisaac/dtisaac01/keyboard.json +++ b/keyboards/dtisaac/dtisaac01/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "dtisaac01", "manufacturer": "DTIsaac", + "url": "", "maintainer": "DTIsaac", "usb": { "vid": "0x4454", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/duck/jetfire/keyboard.json b/keyboards/duck/jetfire/keyboard.json index d9adf05ca4..a97ff193a8 100644 --- a/keyboards/duck/jetfire/keyboard.json +++ b/keyboards/duck/jetfire/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Jetfire", "manufacturer": "Duck", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444B", diff --git a/keyboards/duck/jetfire/readme.md b/keyboards/duck/jetfire/readme.md index 2e12315d6b..8de2f5ced6 100644 --- a/keyboards/duck/jetfire/readme.md +++ b/keyboards/duck/jetfire/readme.md @@ -1,5 +1,7 @@ # Jetfire +![jetfire](imgur.com image replace me!) + The Duck Jetfire is a hybrid full size and 1800 layout keyboard that went on Group Buy in November 2017. diff --git a/keyboards/duck/lightsaver/keyboard.json b/keyboards/duck/lightsaver/keyboard.json index 978e0c6e23..d4e1cd1e35 100644 --- a/keyboards/duck/lightsaver/keyboard.json +++ b/keyboards/duck/lightsaver/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lightsaver V3", "manufacturer": "Duck", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444B", diff --git a/keyboards/duck/octagon/rules.mk b/keyboards/duck/octagon/rules.mk new file mode 100644 index 0000000000..46bd457bb7 --- /dev/null +++ b/keyboards/duck/octagon/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = duck/octagon/v2 \ No newline at end of file diff --git a/keyboards/duck/octagon/v1/keyboard.json b/keyboards/duck/octagon/v1/keyboard.json index 7dfd9ec3ea..47f3acdc4d 100644 --- a/keyboards/duck/octagon/v1/keyboard.json +++ b/keyboards/duck/octagon/v1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Octagon V1", "manufacturer": "Duck", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444B", diff --git a/keyboards/duck/octagon/v2/keyboard.json b/keyboards/duck/octagon/v2/keyboard.json index b3a1eb784d..4afbc42d47 100644 --- a/keyboards/duck/octagon/v2/keyboard.json +++ b/keyboards/duck/octagon/v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Octagon V2", "manufacturer": "Duck", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444B", diff --git a/keyboards/duck/orion/rules.mk b/keyboards/duck/orion/rules.mk new file mode 100644 index 0000000000..3788e0fbfb --- /dev/null +++ b/keyboards/duck/orion/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = duck/orion/v3 diff --git a/keyboards/duck/orion/v3/keyboard.json b/keyboards/duck/orion/v3/keyboard.json index 9a7251c650..ba479aa0a2 100644 --- a/keyboards/duck/orion/v3/keyboard.json +++ b/keyboards/duck/orion/v3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Orion V3", "manufacturer": "Duck", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444B", diff --git a/keyboards/duck/tcv3/keyboard.json b/keyboards/duck/tcv3/keyboard.json index 699a44e69b..c03142b4db 100644 --- a/keyboards/duck/tcv3/keyboard.json +++ b/keyboards/duck/tcv3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TC-V3", "manufacturer": "Duck", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444B", diff --git a/keyboards/ducky/one2mini/1861st/keyboard.json b/keyboards/ducky/one2mini/1861st/keyboard.json index e1ab218846..a39945d68c 100644 --- a/keyboards/ducky/one2mini/1861st/keyboard.json +++ b/keyboards/ducky/one2mini/1861st/keyboard.json @@ -235,75 +235,6 @@ {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] - }, - "LAYOUT_60_ansi_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 12], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 5], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] } } } diff --git a/keyboards/ducky/one2mini/keymaps/ansi_tsangan/keymap.c b/keyboards/ducky/one2mini/keymaps/ansi_tsangan/keymap.c deleted file mode 100644 index 259df16ab1..0000000000 --- a/keyboards/ducky/one2mini/keymaps/ansi_tsangan/keymap.c +++ /dev/null @@ -1,70 +0,0 @@ -/* Copyright 2019 /u/KeepItUnder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// LAYERS -enum Layer { - _QWERTY = 0, // Standard QWERTY layer - _FUNCTION, // Function key layer - _COLOUR // RGB key layer -}; -#define _QW _QWERTY -#define _FN _FUNCTION -#define _CLR _COLOUR - - /* - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┐ - * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──────┤ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬────┤ - * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ Fn │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴───┴───┼───┴┬────┬┴────┤ - * │Ctrl│GUI │Alt │ │Alt │GUI │Ctrl │ - * └────┴────┴────┴─────────────────────────────┴────┴────┴─────┘ - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_60_ansi_tsangan( - // 2 3 4 5 6 7 8 9 10 11 12 13 14 - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL - ), - - [_FUNCTION] = LAYOUT_60_ansi_tsangan( - // 2 3 4 5 6 7 8 9 10 11 12 13 14 - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_ENT, - _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, - _______, KC_APP, MO(_CLR), _______, KC_APP, _______, _______ - ), - - [_COLOUR] = LAYOUT_60_ansi_tsangan( - // 2 3 4 5 6 7 8 9 10 11 12 13 14 - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, - _______, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, RM_TOGG, _______, _______, _______ - ), -}; diff --git a/keyboards/ducky/one2mini/rules.mk b/keyboards/ducky/one2mini/rules.mk new file mode 100644 index 0000000000..628be832ee --- /dev/null +++ b/keyboards/ducky/one2mini/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = ducky/one2mini/1861st diff --git a/keyboards/ducky/one2sf/rules.mk b/keyboards/ducky/one2sf/rules.mk new file mode 100644 index 0000000000..0c9ddb957f --- /dev/null +++ b/keyboards/ducky/one2sf/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = ducky/one2sf/1967st diff --git a/keyboards/dumbo/keyboard.json b/keyboards/dumbo/keyboard.json index 8026f22790..b833915d80 100644 --- a/keyboards/dumbo/keyboard.json +++ b/keyboards/dumbo/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dumbo", "manufacturer": "trip_trap", + "url": "", "maintainer": "adamnaldal", "usb": { "vid": "0xFEED", diff --git a/keyboards/dumbpad/rules.mk b/keyboards/dumbpad/rules.mk new file mode 100644 index 0000000000..87ec1ab01b --- /dev/null +++ b/keyboards/dumbpad/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = dumbpad/v0x diff --git a/keyboards/durgod/galaxy/rules.mk b/keyboards/durgod/galaxy/rules.mk new file mode 100644 index 0000000000..ff1e1ff205 --- /dev/null +++ b/keyboards/durgod/galaxy/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER=durgod/dgk6x/galaxy diff --git a/keyboards/durgod/k320/base/keyboard.json b/keyboards/durgod/k320/base/keyboard.json index 243f00e834..89ea273baf 100644 --- a/keyboards/durgod/k320/base/keyboard.json +++ b/keyboards/durgod/k320/base/keyboard.json @@ -4,6 +4,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/durgod/venus/rules.mk b/keyboards/durgod/venus/rules.mk new file mode 100644 index 0000000000..57acf2a48c --- /dev/null +++ b/keyboards/durgod/venus/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER=durgod/dgk6x/venus diff --git a/keyboards/dyz/dyz40/keyboard.json b/keyboards/dyz/dyz40/keyboard.json index ec8e4e8111..4916ec7ecd 100644 --- a/keyboards/dyz/dyz40/keyboard.json +++ b/keyboards/dyz/dyz40/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/dyz/dyz60/keyboard.json b/keyboards/dyz/dyz60/keyboard.json index 6caeecd28c..824e23d709 100644 --- a/keyboards/dyz/dyz60/keyboard.json +++ b/keyboards/dyz/dyz60/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/dyz/dyz60_hs/keyboard.json b/keyboards/dyz/dyz60_hs/keyboard.json index 3afa3fea23..112b128577 100644 --- a/keyboards/dyz/dyz60_hs/keyboard.json +++ b/keyboards/dyz/dyz60_hs/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/dyz/dyz_tkl/keyboard.json b/keyboards/dyz/dyz_tkl/keyboard.json index 584e22fdd4..4d8bba1710 100644 --- a/keyboards/dyz/dyz_tkl/keyboard.json +++ b/keyboards/dyz/dyz_tkl/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/dyz/selka40/keyboard.json b/keyboards/dyz/selka40/keyboard.json index dc117b3b72..4a8df19633 100644 --- a/keyboards/dyz/selka40/keyboard.json +++ b/keyboards/dyz/selka40/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/dyz/synthesis60/keyboard.json b/keyboards/dyz/synthesis60/keyboard.json index 704b87f007..cdb4760381 100644 --- a/keyboards/dyz/synthesis60/keyboard.json +++ b/keyboards/dyz/synthesis60/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/dz60/keyboard.json b/keyboards/dz60/keyboard.json index 52ad5484ae..8a8e631f1b 100644 --- a/keyboards/dz60/keyboard.json +++ b/keyboards/dz60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DZ60", "manufacturer": "KBDFans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x445A", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/dztech/bocc/keyboard.json b/keyboards/dztech/bocc/keyboard.json index 7c2be5645f..a6208b2bf7 100644 --- a/keyboards/dztech/bocc/keyboard.json +++ b/keyboards/dztech/bocc/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BOCC", "manufacturer": "DZTECH", + "url": "", "maintainer": "DZTECH", "usb": { "vid": "0x445A", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/dztech/duo_s/keyboard.json b/keyboards/dztech/duo_s/keyboard.json index 512d4c3256..7bf8b0bfdd 100644 --- a/keyboards/dztech/duo_s/keyboard.json +++ b/keyboards/dztech/duo_s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DUO-S", "manufacturer": "DZTECH", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x445A", @@ -34,6 +35,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/dztech/dz60rgb/info.json b/keyboards/dztech/dz60rgb/info.json index 1bcc77c605..17439e3443 100644 --- a/keyboards/dztech/dz60rgb/info.json +++ b/keyboards/dztech/dz60rgb/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "DZ60RGB", "manufacturer": "DZTECH", + "url": "", "maintainer": "dztech", "usb": { "vid": "0x445A" diff --git a/keyboards/dztech/dz60rgb_ansi/info.json b/keyboards/dztech/dz60rgb_ansi/info.json index dddbd47315..12fefa5d87 100644 --- a/keyboards/dztech/dz60rgb_ansi/info.json +++ b/keyboards/dztech/dz60rgb_ansi/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "DZ60RGB_ANSI", "manufacturer": "DZTECH", + "url": "", "maintainer": "dztech", "usb": { "vid": "0x445A" diff --git a/keyboards/dztech/dz60rgb_wkl/info.json b/keyboards/dztech/dz60rgb_wkl/info.json index a4dfb63c7a..ca43c1cbd7 100644 --- a/keyboards/dztech/dz60rgb_wkl/info.json +++ b/keyboards/dztech/dz60rgb_wkl/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "DZ60RGB_WKL", "manufacturer": "DZTECH", + "url": "", "maintainer": "dztech", "usb": { "vid": "0x445A" diff --git a/keyboards/dztech/dz60v2/keyboard.json b/keyboards/dztech/dz60v2/keyboard.json index 4e0de8ae5c..7714e4b7d2 100644 --- a/keyboards/dztech/dz60v2/keyboard.json +++ b/keyboards/dztech/dz60v2/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/dztech/dz64rgb/keyboard.json b/keyboards/dztech/dz64rgb/keyboard.json index ef95b52400..ea22af59db 100644 --- a/keyboards/dztech/dz64rgb/keyboard.json +++ b/keyboards/dztech/dz64rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DZ64RGB", "manufacturer": "DZTECH", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x445A", diff --git a/keyboards/dztech/dz65rgb/info.json b/keyboards/dztech/dz65rgb/info.json index 39e1242af4..d3a127251b 100644 --- a/keyboards/dztech/dz65rgb/info.json +++ b/keyboards/dztech/dz65rgb/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "DZ65RGB", "manufacturer": "DZTECH", + "url": "", "maintainer": "dztech", "usb": { "vid": "0x445A" diff --git a/keyboards/dztech/dz65rgb/v1/keyboard.json b/keyboards/dztech/dz65rgb/v1/keyboard.json index 32b830052d..6dcc88b59e 100644 --- a/keyboards/dztech/dz65rgb/v1/keyboard.json +++ b/keyboards/dztech/dz65rgb/v1/keyboard.json @@ -46,6 +46,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/dztech/dz65rgb/v2/keyboard.json b/keyboards/dztech/dz65rgb/v2/keyboard.json index bf7331e101..16d38a3af5 100644 --- a/keyboards/dztech/dz65rgb/v2/keyboard.json +++ b/keyboards/dztech/dz65rgb/v2/keyboard.json @@ -46,6 +46,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/dztech/dz96/keyboard.json b/keyboards/dztech/dz96/keyboard.json index 0d37f09ff0..ef2de26a70 100644 --- a/keyboards/dztech/dz96/keyboard.json +++ b/keyboards/dztech/dz96/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DZ96", "manufacturer": "DZTECH", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0x445A", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/dztech/endless80/keyboard.json b/keyboards/dztech/endless80/keyboard.json index 54ca7c12a7..9387b67ead 100644 --- a/keyboards/dztech/endless80/keyboard.json +++ b/keyboards/dztech/endless80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "endless80", "manufacturer": "dztech", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x445A", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/dztech/mellow/keyboard.json b/keyboards/dztech/mellow/keyboard.json index 565c2b0995..24cd11028c 100644 --- a/keyboards/dztech/mellow/keyboard.json +++ b/keyboards/dztech/mellow/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/dztech/pluto/keyboard.json b/keyboards/dztech/pluto/keyboard.json index 1e1b577293..d64e941346 100644 --- a/keyboards/dztech/pluto/keyboard.json +++ b/keyboards/dztech/pluto/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/dztech/tofu/ii/rules.mk b/keyboards/dztech/tofu/ii/rules.mk new file mode 100644 index 0000000000..c08cfdaae9 --- /dev/null +++ b/keyboards/dztech/tofu/ii/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = dztech/tofu/ii/v1 diff --git a/keyboards/dztech/tofu/ii/v1/keyboard.json b/keyboards/dztech/tofu/ii/v1/keyboard.json index ca1d5608c1..60ccc5ec9b 100644 --- a/keyboards/dztech/tofu/ii/v1/keyboard.json +++ b/keyboards/dztech/tofu/ii/v1/keyboard.json @@ -3,6 +3,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/dztech/tofu/jr/rules.mk b/keyboards/dztech/tofu/jr/rules.mk new file mode 100644 index 0000000000..7333c613fd --- /dev/null +++ b/keyboards/dztech/tofu/jr/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = dztech/tofu/jr/v1 diff --git a/keyboards/dztech/tofu/jr/v1/keyboard.json b/keyboards/dztech/tofu/jr/v1/keyboard.json index 5eb20be00d..12930f65d0 100644 --- a/keyboards/dztech/tofu/jr/v1/keyboard.json +++ b/keyboards/dztech/tofu/jr/v1/keyboard.json @@ -4,6 +4,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/dztech/tofu/jr/v2/keyboard.json b/keyboards/dztech/tofu/jr/v2/keyboard.json index d8de9b956f..6a60565b22 100644 --- a/keyboards/dztech/tofu/jr/v2/keyboard.json +++ b/keyboards/dztech/tofu/jr/v2/keyboard.json @@ -4,6 +4,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/dztech/tofu60/keyboard.json b/keyboards/dztech/tofu60/keyboard.json index 6e6a047733..149f04d46a 100644 --- a/keyboards/dztech/tofu60/keyboard.json +++ b/keyboards/dztech/tofu60/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/e88/keyboard.json b/keyboards/e88/keyboard.json index 941eb42729..32ee42aefd 100644 --- a/keyboards/e88/keyboard.json +++ b/keyboards/e88/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "e88", "manufacturer": "Pink Labs", + "url": "", "maintainer": "2-n", "usb": { "vid": "0x4705", diff --git a/keyboards/ealdin/quadrant/keyboard.json b/keyboards/ealdin/quadrant/keyboard.json index eafd9c57fe..7a8bcf0db2 100644 --- a/keyboards/ealdin/quadrant/keyboard.json +++ b/keyboards/ealdin/quadrant/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/earth_rover/keyboard.json b/keyboards/earth_rover/keyboard.json index 516585ca24..0c760f612c 100644 --- a/keyboards/earth_rover/keyboard.json +++ b/keyboards/earth_rover/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/eason/aeroboard/keyboard.json b/keyboards/eason/aeroboard/keyboard.json index 1c15e600c4..3d8c2a6db6 100644 --- a/keyboards/eason/aeroboard/keyboard.json +++ b/keyboards/eason/aeroboard/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "AeroBoard", "manufacturer": "Eason", + "url": "", "maintainer": "EasonQian1", "usb": { "vid": "0x8954", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/eason/capsule65/keyboard.json b/keyboards/eason/capsule65/keyboard.json index cc33904c55..87b7b94568 100644 --- a/keyboards/eason/capsule65/keyboard.json +++ b/keyboards/eason/capsule65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "capsule65", "manufacturer": "eason", + "url": "", "maintainer": "EasonQian1", "usb": { "vid": "0xF21E", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/eason/greatsword80/keyboard.json b/keyboards/eason/greatsword80/keyboard.json index 5f0daebd45..6500fac978 100644 --- a/keyboards/eason/greatsword80/keyboard.json +++ b/keyboards/eason/greatsword80/keyboard.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/eason/meow65/keyboard.json b/keyboards/eason/meow65/keyboard.json index 013e7daf4b..340a741040 100644 --- a/keyboards/eason/meow65/keyboard.json +++ b/keyboards/eason/meow65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Meow65", "manufacturer": "Eason", + "url": "", "maintainer": "Eason", "usb": { "vid": "0x68F4", @@ -10,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/eason/void65h/keyboard.json b/keyboards/eason/void65h/keyboard.json index 006cdb28b8..7b6a7fe2fb 100644 --- a/keyboards/eason/void65h/keyboard.json +++ b/keyboards/eason/void65h/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Void65h", "manufacturer": "Eason", + "url": "", "maintainer": "Eason", "usb": { "vid": "0x51D7", @@ -10,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ebastler/e80_1800/keyboard.json b/keyboards/ebastler/e80_1800/keyboard.json index 5b409c7074..dfb669e72e 100644 --- a/keyboards/ebastler/e80_1800/keyboard.json +++ b/keyboards/ebastler/e80_1800/keyboard.json @@ -16,6 +16,8 @@ "extrakey": true, "backlight": true, "nkro": true, + "command": false, + "console": false, "mousekey": false }, "matrix_pins": { @@ -25,7 +27,8 @@ "backlight": { "breathing": true, "levels": 5, - "pin": "A9" + "pin": "A9", + "on_state": 1 }, "indicators": { "num_lock": "B6", diff --git a/keyboards/ebastler/isometria_75/rev1/keyboard.json b/keyboards/ebastler/isometria_75/rev1/keyboard.json index e7a6e01f3d..cf36d60df1 100644 --- a/keyboards/ebastler/isometria_75/rev1/keyboard.json +++ b/keyboards/ebastler/isometria_75/rev1/keyboard.json @@ -24,6 +24,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/eco/info.json b/keyboards/eco/info.json index f62d91a01f..1bb5c79eb2 100644 --- a/keyboards/eco/info.json +++ b/keyboards/eco/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "The ECO Keyboard", "manufacturer": "Bishop Keyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x1337", diff --git a/keyboards/eco/rev1/keyboard.json b/keyboards/eco/rev1/keyboard.json index e241774e81..1b3cb5f8df 100644 --- a/keyboards/eco/rev1/keyboard.json +++ b/keyboards/eco/rev1/keyboard.json @@ -11,6 +11,7 @@ "backlight": false, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "midi": true, "mousekey": false, diff --git a/keyboards/eco/rev2/keyboard.json b/keyboards/eco/rev2/keyboard.json index ca8709a266..8effdd85e5 100644 --- a/keyboards/eco/rev2/keyboard.json +++ b/keyboards/eco/rev2/keyboard.json @@ -11,6 +11,7 @@ "backlight": false, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "midi": true, "mousekey": false, diff --git a/keyboards/eco/rules.mk b/keyboards/eco/rules.mk new file mode 100644 index 0000000000..a3d419658b --- /dev/null +++ b/keyboards/eco/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = eco/rev2 diff --git a/keyboards/edc40/keyboard.json b/keyboards/edc40/keyboard.json index 33998f4747..7ad2fdd3b8 100644 --- a/keyboards/edc40/keyboard.json +++ b/keyboards/edc40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "edc40", "manufacturer": "OJ", + "url": "", "maintainer": "ojthetiny", "usb": { "vid": "0x4F4A", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/edda/keyboard.json b/keyboards/edda/keyboard.json index a0f91429af..4a997abeac 100644 --- a/keyboards/edda/keyboard.json +++ b/keyboards/edda/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/edi/hardlight/mk2/halconf.h b/keyboards/edi/hardlight/mk2/halconf.h index f7b5100b2c..498f31a919 100644 --- a/keyboards/edi/hardlight/mk2/halconf.h +++ b/keyboards/edi/hardlight/mk2/halconf.h @@ -25,5 +25,8 @@ along with this program. If not, see . // Activate Serial Peripheral Interface #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD -#include_next + +#include_next \ No newline at end of file diff --git a/keyboards/edi/standaside/keyboard.json b/keyboards/edi/standaside/keyboard.json index 744f5fbe1e..410f8f693a 100644 --- a/keyboards/edi/standaside/keyboard.json +++ b/keyboards/edi/standaside/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Stand Aside", "manufacturer": "Fate Everywhere", + "url": "", "maintainer": "fateeverywhere", "usb": { "vid": "0xF7E0", diff --git a/keyboards/eek/info.json b/keyboards/eek/info.json index 0e510e282a..86ff284347 100644 --- a/keyboards/eek/info.json +++ b/keyboards/eek/info.json @@ -13,6 +13,7 @@ "val": 150 }, "driver": "ws2812", + "led_flush_limit": 16, "max_brightness": 200 }, "features": { diff --git a/keyboards/eek/rules.mk b/keyboards/eek/rules.mk new file mode 100644 index 0000000000..65b8265b53 --- /dev/null +++ b/keyboards/eek/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = eek/silk_down diff --git a/keyboards/efreet/keyboard.json b/keyboards/efreet/keyboard.json index 0e42253c47..7dac78cc39 100644 --- a/keyboards/efreet/keyboard.json +++ b/keyboards/efreet/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Efreet", "manufacturer": "Soran", + "url": "", "maintainer": "amberstarlight", "usb": { "vid": "0x534F", diff --git a/keyboards/ein_60/keyboard.json b/keyboards/ein_60/keyboard.json index b1e48f1747..a7902af490 100644 --- a/keyboards/ein_60/keyboard.json +++ b/keyboards/ein_60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ein_60", "manufacturer": "klackygears", + "url": "", "maintainer": "klackygears", "usb": { "vid": "0x4A53", @@ -12,6 +13,7 @@ "val": 150 }, "driver": "ws2812", + "led_flush_limit": 16, "max_brightness": 200 }, "rgblight": { diff --git a/keyboards/emajesty/eiri/keyboard.json b/keyboards/emajesty/eiri/keyboard.json index 2ad711bf9e..6941bb921d 100644 --- a/keyboards/emajesty/eiri/keyboard.json +++ b/keyboards/emajesty/eiri/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/emi20/keyboard.json b/keyboards/emi20/keyboard.json index 7a2b820549..56f13af875 100644 --- a/keyboards/emi20/keyboard.json +++ b/keyboards/emi20/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Emi20", "manufacturer": "Aquacylinder", + "url": "", "maintainer": "Aquacylinder", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/emptystring/nqg/keyboard.json b/keyboards/emptystring/nqg/keyboard.json index 17116704c7..96f9391dcc 100644 --- a/keyboards/emptystring/nqg/keyboard.json +++ b/keyboards/emptystring/nqg/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NQG", "manufacturer": "emptystring", + "url": "", "maintainer": "culturalsnow", "usb": { "vid": "0x0076", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": true diff --git a/keyboards/eniigmakeyboards/ek60/keyboard.json b/keyboards/eniigmakeyboards/ek60/keyboard.json index 97f3469cd8..6446dbce34 100644 --- a/keyboards/eniigmakeyboards/ek60/keyboard.json +++ b/keyboards/eniigmakeyboards/ek60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "EK60", "manufacturer": "Eniigma Keyboards", + "url": "", "maintainer": "adamws", "usb": { "vid": "0x454B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/eniigmakeyboards/ek65/keyboard.json b/keyboards/eniigmakeyboards/ek65/keyboard.json index 60fdc4db81..fa6ad3566a 100644 --- a/keyboards/eniigmakeyboards/ek65/keyboard.json +++ b/keyboards/eniigmakeyboards/ek65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "EK65", "manufacturer": "Eniigma Keyboards", + "url": "", "maintainer": "adamws", "usb": { "vid": "0x454B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/eniigmakeyboards/ek87/keyboard.json b/keyboards/eniigmakeyboards/ek87/keyboard.json index c1ac8623b1..900a74a4b6 100644 --- a/keyboards/eniigmakeyboards/ek87/keyboard.json +++ b/keyboards/eniigmakeyboards/ek87/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "EK87", "manufacturer": "Eniigma Keyboards", + "url": "", "maintainer": "adamws", "usb": { "vid": "0x454B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/enviousdesign/60f/keyboard.json b/keyboards/enviousdesign/60f/keyboard.json index 738211674e..c163ca5d6d 100644 --- a/keyboards/enviousdesign/60f/keyboard.json +++ b/keyboards/enviousdesign/60f/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/enviousdesign/65m/keyboard.json b/keyboards/enviousdesign/65m/keyboard.json index e0661dc9fa..2328932462 100644 --- a/keyboards/enviousdesign/65m/keyboard.json +++ b/keyboards/enviousdesign/65m/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/enviousdesign/commissions/mini1800/keyboard.json b/keyboards/enviousdesign/commissions/mini1800/keyboard.json index 5eb78225a0..9303e7af23 100644 --- a/keyboards/enviousdesign/commissions/mini1800/keyboard.json +++ b/keyboards/enviousdesign/commissions/mini1800/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/enviousdesign/delirium/rev0/keyboard.json b/keyboards/enviousdesign/delirium/rev0/keyboard.json index 75ff24a9ef..f1eb3dc59b 100644 --- a/keyboards/enviousdesign/delirium/rev0/keyboard.json +++ b/keyboards/enviousdesign/delirium/rev0/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/enviousdesign/delirium/rev1/keyboard.json b/keyboards/enviousdesign/delirium/rev1/keyboard.json index 83001140bb..e548d02814 100644 --- a/keyboards/enviousdesign/delirium/rev1/keyboard.json +++ b/keyboards/enviousdesign/delirium/rev1/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/enviousdesign/delirium/rgb/keyboard.json b/keyboards/enviousdesign/delirium/rgb/keyboard.json index 4ef1251e11..b6e0bb0e0c 100644 --- a/keyboards/enviousdesign/delirium/rgb/keyboard.json +++ b/keyboards/enviousdesign/delirium/rgb/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/enviousdesign/mcro/rev1/keyboard.json b/keyboards/enviousdesign/mcro/rev1/keyboard.json index 6e846f9621..c7e4c38765 100644 --- a/keyboards/enviousdesign/mcro/rev1/keyboard.json +++ b/keyboards/enviousdesign/mcro/rev1/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/epomaker/tide65/keyboard.json b/keyboards/epomaker/tide65/keyboard.json index 7a384f180f..60f1b46f70 100644 --- a/keyboards/epomaker/tide65/keyboard.json +++ b/keyboards/epomaker/tide65/keyboard.json @@ -141,6 +141,7 @@ {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4} ] }, + "url": "", "usb": { "device_version": "0.0.1", "force_nkro": true, diff --git a/keyboards/era/divine/keyboard.json b/keyboards/era/divine/keyboard.json index 83da9f0854..d02241da78 100644 --- a/keyboards/era/divine/keyboard.json +++ b/keyboards/era/divine/keyboard.json @@ -14,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -29,6 +31,7 @@ "rows": ["GP11", "GP10", "GP9", "GP8", "GP4"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0002", diff --git a/keyboards/era/era65/keyboard.json b/keyboards/era/era65/keyboard.json index 2939418d72..d5fd612767 100644 --- a/keyboards/era/era65/keyboard.json +++ b/keyboards/era/era65/keyboard.json @@ -18,6 +18,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -30,6 +32,7 @@ "rows": ["GP1", "GP2", "GP4", "GP10", "GP11"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.4", "pid": "0x0001", diff --git a/keyboards/era/linx3/fave65s/keyboard.json b/keyboards/era/linx3/fave65s/keyboard.json index af44df9850..87f4fdf513 100644 --- a/keyboards/era/linx3/fave65s/keyboard.json +++ b/keyboards/era/linx3/fave65s/keyboard.json @@ -109,6 +109,7 @@ ], "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0011", diff --git a/keyboards/era/linx3/n86/keyboard.json b/keyboards/era/linx3/n86/keyboard.json index 354a358470..c0b8b5525a 100644 --- a/keyboards/era/linx3/n86/keyboard.json +++ b/keyboards/era/linx3/n86/keyboard.json @@ -161,6 +161,7 @@ ], "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0008", diff --git a/keyboards/era/linx3/n87/keyboard.json b/keyboards/era/linx3/n87/keyboard.json index 5a03a5cbc5..548a37fadd 100644 --- a/keyboards/era/linx3/n87/keyboard.json +++ b/keyboards/era/linx3/n87/keyboard.json @@ -162,6 +162,7 @@ ], "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0009", diff --git a/keyboards/era/linx3/n8x/keyboard.json b/keyboards/era/linx3/n8x/keyboard.json index c018874bd1..ae0d608ffa 100644 --- a/keyboards/era/linx3/n8x/keyboard.json +++ b/keyboards/era/linx3/n8x/keyboard.json @@ -29,6 +29,7 @@ "rows": ["GP4", "GP5", "GP6", "GP7", "GP10", "GP9"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0007", diff --git a/keyboards/era/sirind/brick65s/keyboard.json b/keyboards/era/sirind/brick65s/keyboard.json index 489b0da323..5d6768a93c 100644 --- a/keyboards/era/sirind/brick65s/keyboard.json +++ b/keyboards/era/sirind/brick65s/keyboard.json @@ -27,6 +27,7 @@ ], "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0012", diff --git a/keyboards/era/sirind/chickpad/config.h b/keyboards/era/sirind/chickpad/config.h deleted file mode 100644 index 4a8c7d1a6b..0000000000 --- a/keyboards/era/sirind/chickpad/config.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2024 Hyojin Bak (@eerraa) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* Reset */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/era/sirind/chickpad/keyboard.json b/keyboards/era/sirind/chickpad/keyboard.json deleted file mode 100644 index c662d8241a..0000000000 --- a/keyboards/era/sirind/chickpad/keyboard.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "manufacturer": "SIRIND", - "keyboard_name": "ChickPad", - "maintainer": "eerraa", - "bootloader": "rp2040", - "build": { - "debounce_type": "sym_defer_pk" - }, - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP23", "GP25", "GP3", "GP5", "GP4"], - "rows": ["GP18", "GP24", "GP22"] - }, - "processor": "RP2040", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "flower_blooming": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "riverflow": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "starlight": true, - "starlight_dual_hue": true, - "starlight_dual_sat": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 168, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 224, "y": 16, "flags": 1}, - {"matrix": [1, 3], "x": 168, "y": 32, "flags": 4}, - {"matrix": [1, 2], "x": 112, "y": 32, "flags": 4}, - {"matrix": [1, 1], "x": 56, "y": 32, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 28, "y": 64, "flags": 1}, - {"matrix": [2, 2], "x": 112, "y": 64, "flags": 4}, - {"matrix": [2, 3], "x": 168, "y": 64, "flags": 4}, - {"matrix": [2, 4], "x": 224, "y": 64, "flags": 4} - ], - "sleep": true - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x0015", - "vid": "0x4552" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP19" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4.25, "y": 0, "w": 1.25, "h": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, - {"matrix": [1, 1], "x": 1.25, "y": 1}, - {"matrix": [1, 2], "x": 2.25, "y": 1}, - {"matrix": [1, 3], "x": 3.25, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 2.25}, - {"matrix": [2, 2], "x": 2.25, "y": 2}, - {"matrix": [2, 3], "x": 3.25, "y": 2}, - {"matrix": [2, 4], "x": 4.25, "y": 2} - ] - } - } -} diff --git a/keyboards/era/sirind/chickpad/keymaps/default/keymap.c b/keyboards/era/sirind/chickpad/keymaps/default/keymap.c deleted file mode 100644 index a208c4866c..0000000000 --- a/keyboards/era/sirind/chickpad/keymaps/default/keymap.c +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2024 QMK (@qmk) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_1 , KC_2 , KC_3 , KC_4 , KC_ENT , - KC_LSFT, KC_VOLU, KC_VOLD, KC_UP , - KC_SPC , KC_LEFT, KC_DOWN, KC_RGHT - ) -}; diff --git a/keyboards/era/sirind/chickpad/readme.md b/keyboards/era/sirind/chickpad/readme.md deleted file mode 100644 index fd6ad72d4f..0000000000 --- a/keyboards/era/sirind/chickpad/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# ChickPad Unified - -![Chickpad](https://i.imgur.com/RAH7dyl.jpeg) - -* Keyboard Maintainer: [ERA](https://github.com/eerraa) -* Hardware supported: Chickpad PCB w/ RP2040 -* Hardware availability: [Syryan](https://srind.mysoho.com/) - -Make example for this keyboard (after setting up your build environment): - - make era/sirind/chickpad:default - -Flashing example for this keyboard: - - make era/sirind/chickpad:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/sirind/klein_hs/keyboard.json b/keyboards/era/sirind/klein_hs/keyboard.json index 01395c3af1..6d677f6748 100644 --- a/keyboards/era/sirind/klein_hs/keyboard.json +++ b/keyboards/era/sirind/klein_hs/keyboard.json @@ -28,6 +28,7 @@ "rows": ["GP18", "GP19", "GP20", "GP21", "GP14", "GP5", "GP6", "GP4", "GP13", "GP12"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0004", diff --git a/keyboards/era/sirind/klein_sd/keyboard.json b/keyboards/era/sirind/klein_sd/keyboard.json index b2fbe33290..62b8f78865 100644 --- a/keyboards/era/sirind/klein_sd/keyboard.json +++ b/keyboards/era/sirind/klein_sd/keyboard.json @@ -149,6 +149,7 @@ ], "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0005", diff --git a/keyboards/era/sirind/tomak/keyboard.json b/keyboards/era/sirind/tomak/keyboard.json index 9f4993614b..cfd933bfe6 100644 --- a/keyboards/era/sirind/tomak/keyboard.json +++ b/keyboards/era/sirind/tomak/keyboard.json @@ -196,6 +196,7 @@ } } }, + "url": "", "usb": { "device_version": "1.0.2", "pid": "0x0006", diff --git a/keyboards/era/sirind/tomak79h/keyboard.json b/keyboards/era/sirind/tomak79h/keyboard.json index d1764bb668..216250f850 100644 --- a/keyboards/era/sirind/tomak79h/keyboard.json +++ b/keyboards/era/sirind/tomak79h/keyboard.json @@ -197,6 +197,7 @@ } } }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0014", diff --git a/keyboards/era/sirind/tomak79s/keyboard.json b/keyboards/era/sirind/tomak79s/keyboard.json index 2e68ad788d..9011a359ad 100644 --- a/keyboards/era/sirind/tomak79s/keyboard.json +++ b/keyboards/era/sirind/tomak79s/keyboard.json @@ -203,6 +203,7 @@ } } }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0013", diff --git a/keyboards/handwired/ergodox_stm32/board.h b/keyboards/ergodox_stm32/board.h similarity index 100% rename from keyboards/handwired/ergodox_stm32/board.h rename to keyboards/ergodox_stm32/board.h diff --git a/keyboards/handwired/ergodox_stm32/chconf.h b/keyboards/ergodox_stm32/chconf.h similarity index 100% rename from keyboards/handwired/ergodox_stm32/chconf.h rename to keyboards/ergodox_stm32/chconf.h diff --git a/keyboards/handwired/ergodox_stm32/config.h b/keyboards/ergodox_stm32/config.h similarity index 100% rename from keyboards/handwired/ergodox_stm32/config.h rename to keyboards/ergodox_stm32/config.h diff --git a/keyboards/handwired/ergodox_stm32/ergodox_stm32.c b/keyboards/ergodox_stm32/ergodox_stm32.c similarity index 100% rename from keyboards/handwired/ergodox_stm32/ergodox_stm32.c rename to keyboards/ergodox_stm32/ergodox_stm32.c diff --git a/keyboards/handwired/ergodox_stm32/ergodox_stm32.h b/keyboards/ergodox_stm32/ergodox_stm32.h similarity index 100% rename from keyboards/handwired/ergodox_stm32/ergodox_stm32.h rename to keyboards/ergodox_stm32/ergodox_stm32.h diff --git a/keyboards/handwired/ergodox_stm32/halconf.h b/keyboards/ergodox_stm32/halconf.h similarity index 100% rename from keyboards/handwired/ergodox_stm32/halconf.h rename to keyboards/ergodox_stm32/halconf.h diff --git a/keyboards/handwired/ergodox_stm32/keyboard.json b/keyboards/ergodox_stm32/keyboard.json similarity index 100% rename from keyboards/handwired/ergodox_stm32/keyboard.json rename to keyboards/ergodox_stm32/keyboard.json diff --git a/keyboards/handwired/ergodox_stm32/keymaps/default/keymap.c b/keyboards/ergodox_stm32/keymaps/default/keymap.c similarity index 100% rename from keyboards/handwired/ergodox_stm32/keymaps/default/keymap.c rename to keyboards/ergodox_stm32/keymaps/default/keymap.c diff --git a/keyboards/handwired/ergodox_stm32/ld/stm32f103_bootloader.ld b/keyboards/ergodox_stm32/ld/stm32f103_bootloader.ld similarity index 100% rename from keyboards/handwired/ergodox_stm32/ld/stm32f103_bootloader.ld rename to keyboards/ergodox_stm32/ld/stm32f103_bootloader.ld diff --git a/keyboards/handwired/ergodox_stm32/matrix.c b/keyboards/ergodox_stm32/matrix.c similarity index 100% rename from keyboards/handwired/ergodox_stm32/matrix.c rename to keyboards/ergodox_stm32/matrix.c diff --git a/keyboards/handwired/ergodox_stm32/mcuconf.h b/keyboards/ergodox_stm32/mcuconf.h similarity index 100% rename from keyboards/handwired/ergodox_stm32/mcuconf.h rename to keyboards/ergodox_stm32/mcuconf.h diff --git a/keyboards/handwired/ergodox_stm32/readme.md b/keyboards/ergodox_stm32/readme.md similarity index 91% rename from keyboards/handwired/ergodox_stm32/readme.md rename to keyboards/ergodox_stm32/readme.md index 84accbb5fe..f8b9c4c553 100644 --- a/keyboards/handwired/ergodox_stm32/readme.md +++ b/keyboards/ergodox_stm32/readme.md @@ -4,6 +4,6 @@ Make example for this keyboard (after setting up your build environment): - make handwired/ergodox_stm32:default + make ergodox_stm32:default See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/handwired/ergodox_stm32/rules.mk b/keyboards/ergodox_stm32/rules.mk similarity index 100% rename from keyboards/handwired/ergodox_stm32/rules.mk rename to keyboards/ergodox_stm32/rules.mk diff --git a/keyboards/ergoslab/rules.mk b/keyboards/ergoslab/rules.mk new file mode 100644 index 0000000000..8eb40c77d5 --- /dev/null +++ b/keyboards/ergoslab/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = ergoslab/rev1 diff --git a/keyboards/ergotravel/rules.mk b/keyboards/ergotravel/rules.mk new file mode 100644 index 0000000000..3f30277bb5 --- /dev/null +++ b/keyboards/ergotravel/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = ergotravel/rev1 diff --git a/keyboards/ericrlau/numdiscipline/readme.md b/keyboards/ericrlau/numdiscipline/readme.md index 9770432e56..bd040df2a5 100644 --- a/keyboards/ericrlau/numdiscipline/readme.md +++ b/keyboards/ericrlau/numdiscipline/readme.md @@ -13,6 +13,7 @@ A modified version of the through hole 65% Discipline keyboard by cftkb. Other Information: * Keyboard Maintainer: [ELau](https://github.com/ericrlau) +* Hardware Supported: The PCBs, controllers supported * Hardware Availability: https://github.com/ericrlau/NumDiscipline Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/esca/getawayvan/keyboard.json b/keyboards/esca/getawayvan/keyboard.json index 404ccd19d2..6105e5850d 100644 --- a/keyboards/esca/getawayvan/keyboard.json +++ b/keyboards/esca/getawayvan/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GetawayVan", "manufacturer": "esca", + "url": "", "maintainer": "esca", "usb": { "vid": "0xE5CA", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/esca/getawayvan_f042/keyboard.json b/keyboards/esca/getawayvan_f042/keyboard.json index 97fe0022dc..6b934e16c7 100644 --- a/keyboards/esca/getawayvan_f042/keyboard.json +++ b/keyboards/esca/getawayvan_f042/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GetawayVan", "manufacturer": "esca", + "url": "", "maintainer": "esca", "usb": { "vid": "0xE5CA", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/eternal_keypad/keyboard.json b/keyboards/eternal_keypad/keyboard.json index 1951c7fa09..f50f235c98 100644 --- a/keyboards/eternal_keypad/keyboard.json +++ b/keyboards/eternal_keypad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/etiennecollin/wave/keyboard.json b/keyboards/etiennecollin/wave/keyboard.json index 0174312280..272cbdd002 100644 --- a/keyboards/etiennecollin/wave/keyboard.json +++ b/keyboards/etiennecollin/wave/keyboard.json @@ -19,6 +19,8 @@ "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/eve/meteor/keyboard.json b/keyboards/eve/meteor/keyboard.json index f012bb6520..a8136496f0 100644 --- a/keyboards/eve/meteor/keyboard.json +++ b/keyboards/eve/meteor/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Meteor", "manufacturer": "EVE", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4556", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/evil80/keyboard.json b/keyboards/evil80/keyboard.json index 1c64076611..9610718b34 100644 --- a/keyboards/evil80/keyboard.json +++ b/keyboards/evil80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Evil80", "manufacturer": "Evil", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": true diff --git a/keyboards/evolv/keyboard.json b/keyboards/evolv/keyboard.json index 8a3b581ead..8373bbb536 100644 --- a/keyboards/evolv/keyboard.json +++ b/keyboards/evolv/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Evolv75", "manufacturer": "NathanAlpha", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7865", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/evyd13/atom47/rev2/keyboard.json b/keyboards/evyd13/atom47/rev2/keyboard.json index 8b1af5ede6..6466c1b7b8 100644 --- a/keyboards/evyd13/atom47/rev2/keyboard.json +++ b/keyboards/evyd13/atom47/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Atom47 rev2", "manufacturer": "Evyd13", + "url": "", "maintainer": "evyd13", "usb": { "vid": "0x4705", diff --git a/keyboards/evyd13/atom47/rev3/keyboard.json b/keyboards/evyd13/atom47/rev3/keyboard.json index e2c6a1e1ba..009c3ef534 100644 --- a/keyboards/evyd13/atom47/rev3/keyboard.json +++ b/keyboards/evyd13/atom47/rev3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Atom47 rev3", "manufacturer": "Evyd13", + "url": "", "maintainer": "evyd13", "usb": { "vid": "0x4705", diff --git a/keyboards/evyd13/atom47/rev4/keyboard.json b/keyboards/evyd13/atom47/rev4/keyboard.json index 9a5d7b1ce4..cea416e1a6 100644 --- a/keyboards/evyd13/atom47/rev4/keyboard.json +++ b/keyboards/evyd13/atom47/rev4/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Atom47 rev4", "manufacturer": "Evyd13", + "url": "", "maintainer": "evyd13", "usb": { "vid": "0x4705", diff --git a/keyboards/evyd13/atom47/rev5/keyboard.json b/keyboards/evyd13/atom47/rev5/keyboard.json index 86ff90c19c..074d34ab43 100644 --- a/keyboards/evyd13/atom47/rev5/keyboard.json +++ b/keyboards/evyd13/atom47/rev5/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Atom47 rev5", "manufacturer": "Evyd13", + "url": "", "maintainer": "evyd13", "usb": { "vid": "0x4705", diff --git a/keyboards/evyd13/atom47/rules.mk b/keyboards/evyd13/atom47/rules.mk new file mode 100644 index 0000000000..9d5b753077 --- /dev/null +++ b/keyboards/evyd13/atom47/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = evyd13/atom47/rev4 diff --git a/keyboards/evyd13/eon65/keyboard.json b/keyboards/evyd13/eon65/keyboard.json index 328e0e4885..05506e0ea8 100644 --- a/keyboards/evyd13/eon65/keyboard.json +++ b/keyboards/evyd13/eon65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Eon65", "manufacturer": "Evyd13", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4705", diff --git a/keyboards/evyd13/eon75/keyboard.json b/keyboards/evyd13/eon75/keyboard.json index d91e1267fb..fe6ee01832 100644 --- a/keyboards/evyd13/eon75/keyboard.json +++ b/keyboards/evyd13/eon75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Eon75", "manufacturer": "Evyd13", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4705", diff --git a/keyboards/evyd13/eon87/keyboard.json b/keyboards/evyd13/eon87/keyboard.json index 1e5bbbda88..a0d73d442e 100644 --- a/keyboards/evyd13/eon87/keyboard.json +++ b/keyboards/evyd13/eon87/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Eon87", "manufacturer": "Evyd13", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4705", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/evyd13/eon95/keyboard.json b/keyboards/evyd13/eon95/keyboard.json index 4da4cad0d1..20be437ea1 100644 --- a/keyboards/evyd13/eon95/keyboard.json +++ b/keyboards/evyd13/eon95/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Eon95", "manufacturer": "Evyd13", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4705", diff --git a/keyboards/evyd13/fin_pad/keyboard.json b/keyboards/evyd13/fin_pad/keyboard.json index 1720eed7db..01b24ccfd0 100644 --- a/keyboards/evyd13/fin_pad/keyboard.json +++ b/keyboards/evyd13/fin_pad/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -19,6 +21,7 @@ "ortho_6x4" ], "processor": "atmega32u2", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xA6E2", diff --git a/keyboards/evyd13/gh80_1800/keyboard.json b/keyboards/evyd13/gh80_1800/keyboard.json index ed214fbb24..4fb513cc3c 100644 --- a/keyboards/evyd13/gh80_1800/keyboard.json +++ b/keyboards/evyd13/gh80_1800/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/evyd13/gh80_3700/keyboard.json b/keyboards/evyd13/gh80_3700/keyboard.json index 7b5ce62909..a647f46118 100644 --- a/keyboards/evyd13/gh80_3700/keyboard.json +++ b/keyboards/evyd13/gh80_3700/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/evyd13/gud70/keyboard.json b/keyboards/evyd13/gud70/keyboard.json index 6f2a787e69..00211d6167 100644 --- a/keyboards/evyd13/gud70/keyboard.json +++ b/keyboards/evyd13/gud70/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/evyd13/minitomic/keyboard.json b/keyboards/evyd13/minitomic/keyboard.json index 97bc0dd050..7a8d6d8c23 100644 --- a/keyboards/evyd13/minitomic/keyboard.json +++ b/keyboards/evyd13/minitomic/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Minitomic", "manufacturer": "Evyd13", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4705", diff --git a/keyboards/evyd13/mx5160/keyboard.json b/keyboards/evyd13/mx5160/keyboard.json index 452d3427d1..b50f6130ce 100644 --- a/keyboards/evyd13/mx5160/keyboard.json +++ b/keyboards/evyd13/mx5160/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/evyd13/nt210/keyboard.json b/keyboards/evyd13/nt210/keyboard.json index cbca2c6758..1c9fab2fcc 100644 --- a/keyboards/evyd13/nt210/keyboard.json +++ b/keyboards/evyd13/nt210/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/evyd13/nt650/keyboard.json b/keyboards/evyd13/nt650/keyboard.json index fe0380fa79..6f2910b630 100644 --- a/keyboards/evyd13/nt650/keyboard.json +++ b/keyboards/evyd13/nt650/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -20,6 +22,7 @@ "rows": ["F7", "D6", "D4", "F1", "D5", "F0", "D3", "D2"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xD5DF", diff --git a/keyboards/evyd13/nt660/keyboard.json b/keyboards/evyd13/nt660/keyboard.json index a0a330ae40..142e9f2920 100644 --- a/keyboards/evyd13/nt660/keyboard.json +++ b/keyboards/evyd13/nt660/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "nt660", "manufacturer": "Evyd13", + "url": "", "maintainer": "evyd13", "usb": { "vid": "0x4705", diff --git a/keyboards/evyd13/nt750/keyboard.json b/keyboards/evyd13/nt750/keyboard.json index 8be6bc827e..03c76f1040 100644 --- a/keyboards/evyd13/nt750/keyboard.json +++ b/keyboards/evyd13/nt750/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/evyd13/nt980/keyboard.json b/keyboards/evyd13/nt980/keyboard.json index 42c05e25c6..65ba93d73d 100644 --- a/keyboards/evyd13/nt980/keyboard.json +++ b/keyboards/evyd13/nt980/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "nt980", "manufacturer": "Evyd13", + "url": "", "maintainer": "evyd13", "usb": { "vid": "0x4705", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/evyd13/omrontkl/keyboard.json b/keyboards/evyd13/omrontkl/keyboard.json index ee79748e6a..1ea340acaa 100644 --- a/keyboards/evyd13/omrontkl/keyboard.json +++ b/keyboards/evyd13/omrontkl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "OmronTKL", "manufacturer": "Evyd13", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4705", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/evyd13/plain60/keyboard.json b/keyboards/evyd13/plain60/keyboard.json index 15c4c5b7f8..ce08a523ed 100644 --- a/keyboards/evyd13/plain60/keyboard.json +++ b/keyboards/evyd13/plain60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Plain60", "manufacturer": "Evyd13", + "url": "", "maintainer": "evyd13", "usb": { "vid": "0x4705", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/evyd13/quackfire/keyboard.json b/keyboards/evyd13/quackfire/keyboard.json index 42a11ea776..85c2ae81fb 100644 --- a/keyboards/evyd13/quackfire/keyboard.json +++ b/keyboards/evyd13/quackfire/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/evyd13/solheim68/keyboard.json b/keyboards/evyd13/solheim68/keyboard.json index 98c617f959..9e04b9caab 100644 --- a/keyboards/evyd13/solheim68/keyboard.json +++ b/keyboards/evyd13/solheim68/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/evyd13/ta65/keyboard.json b/keyboards/evyd13/ta65/keyboard.json index 3f51a25299..1f58de0200 100644 --- a/keyboards/evyd13/ta65/keyboard.json +++ b/keyboards/evyd13/ta65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ta-65", "manufacturer": "Evyd13", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4705", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/evyd13/wonderland/keyboard.json b/keyboards/evyd13/wonderland/keyboard.json index b15ad66f41..526416fd71 100644 --- a/keyboards/evyd13/wonderland/keyboard.json +++ b/keyboards/evyd13/wonderland/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Wonderland", "manufacturer": "Evyd13", + "url": "", "maintainer": "evyd13", "usb": { "vid": "0x4705", diff --git a/keyboards/exclusive/e65/keyboard.json b/keyboards/exclusive/e65/keyboard.json index 2be0dc57d8..9735155abe 100644 --- a/keyboards/exclusive/e65/keyboard.json +++ b/keyboards/exclusive/e65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "E6.5", "manufacturer": "Exclusive / E-Team", + "url": "", "maintainer": "masterzen", "usb": { "vid": "0x4558", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/exclusive/e6_rgb/keyboard.json b/keyboards/exclusive/e6_rgb/keyboard.json index 52d77dfcaa..401bee9aba 100644 --- a/keyboards/exclusive/e6_rgb/keyboard.json +++ b/keyboards/exclusive/e6_rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "E6 RGB", "manufacturer": "astro", + "url": "", "maintainer": "yulei", "usb": { "vid": "0x4154", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/exclusive/e6v2/le/keyboard.json b/keyboards/exclusive/e6v2/le/keyboard.json index a2a460d7de..e6d551126e 100644 --- a/keyboards/exclusive/e6v2/le/keyboard.json +++ b/keyboards/exclusive/e6v2/le/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "E6-V2 LE", "manufacturer": "Exclusive / E-Team", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/exclusive/e6v2/le_bmc/keyboard.json b/keyboards/exclusive/e6v2/le_bmc/keyboard.json index 1e36043e5a..09d99d670f 100644 --- a/keyboards/exclusive/e6v2/le_bmc/keyboard.json +++ b/keyboards/exclusive/e6v2/le_bmc/keyboard.json @@ -11,6 +11,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/exclusive/e6v2/oe/keyboard.json b/keyboards/exclusive/e6v2/oe/keyboard.json index 29730487c9..587205d2df 100644 --- a/keyboards/exclusive/e6v2/oe/keyboard.json +++ b/keyboards/exclusive/e6v2/oe/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "E6-V2 OE", "manufacturer": "Exclusive / E-Team", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/exclusive/e6v2/oe_bmc/keyboard.json b/keyboards/exclusive/e6v2/oe_bmc/keyboard.json index f287417943..7ff3099249 100644 --- a/keyboards/exclusive/e6v2/oe_bmc/keyboard.json +++ b/keyboards/exclusive/e6v2/oe_bmc/keyboard.json @@ -11,6 +11,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/exclusive/e7v1/keyboard.json b/keyboards/exclusive/e7v1/keyboard.json index 04cd7ff0ae..ac0eb5549a 100644 --- a/keyboards/exclusive/e7v1/keyboard.json +++ b/keyboards/exclusive/e7v1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "E7-V1", "manufacturer": "Exclusive / E-Team", + "url": "", "maintainer": "masterzen", "usb": { "vid": "0x4558", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/exclusive/e7v1se/keyboard.json b/keyboards/exclusive/e7v1se/keyboard.json index 8154725075..4cd9484ae4 100644 --- a/keyboards/exclusive/e7v1se/keyboard.json +++ b/keyboards/exclusive/e7v1se/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/exclusive/e85/hotswap/keyboard.json b/keyboards/exclusive/e85/hotswap/keyboard.json index 72e578c04e..7fcd61c843 100644 --- a/keyboards/exclusive/e85/hotswap/keyboard.json +++ b/keyboards/exclusive/e85/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "E8.5 Hotswap", "manufacturer": "Exclusive", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4558", diff --git a/keyboards/exclusive/e85/rules.mk b/keyboards/exclusive/e85/rules.mk new file mode 100644 index 0000000000..8eef46d0ab --- /dev/null +++ b/keyboards/exclusive/e85/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = exclusive/e85/hotswap diff --git a/keyboards/exclusive/e85/soldered/keyboard.json b/keyboards/exclusive/e85/soldered/keyboard.json index eaffa08933..dfd6d18826 100644 --- a/keyboards/exclusive/e85/soldered/keyboard.json +++ b/keyboards/exclusive/e85/soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "E8.5 Soldered", "manufacturer": "Exclusive", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4558", diff --git a/keyboards/exent/keyboard.json b/keyboards/exent/keyboard.json index 5f3e058af0..1fcd11084b 100644 --- a/keyboards/exent/keyboard.json +++ b/keyboards/exent/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Exent", "manufacturer": "Quadcube", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5143", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/eyeohdesigns/babyv/keyboard.json b/keyboards/eyeohdesigns/babyv/keyboard.json index d9bf06190f..1197533189 100644 --- a/keyboards/eyeohdesigns/babyv/keyboard.json +++ b/keyboards/eyeohdesigns/babyv/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "babyv", "manufacturer": "Eye Oh Designs", + "url": "", "maintainer": "eye oh designs", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/eyeohdesigns/theboulevard/keyboard.json b/keyboards/eyeohdesigns/theboulevard/keyboard.json index 78a2e94128..94007dd2c5 100644 --- a/keyboards/eyeohdesigns/theboulevard/keyboard.json +++ b/keyboards/eyeohdesigns/theboulevard/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "the boulevard", "manufacturer": "eye oh designs", + "url": "", "maintainer": "eye oh designs", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/facew/keyboard.json b/keyboards/facew/keyboard.json index b8d22bdf96..a8a7543b7a 100644 --- a/keyboards/facew/keyboard.json +++ b/keyboards/facew/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "FaceW", "manufacturer": "SPRiT", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/falsonix/fx19/keyboard.json b/keyboards/falsonix/fx19/keyboard.json index 64b34d0caf..4ef4730a5d 100644 --- a/keyboards/falsonix/fx19/keyboard.json +++ b/keyboards/falsonix/fx19/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -29,6 +31,7 @@ "rows": ["F0", "F1", "F4", "F5", "F6"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/fatotesa/keyboard.json b/keyboards/fatotesa/keyboard.json index 3013e8b812..ba6fc08d0c 100644 --- a/keyboards/fatotesa/keyboard.json +++ b/keyboards/fatotesa/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -40,6 +42,7 @@ "cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6", null], "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/fc660c/keyboard.json b/keyboards/fc660c/keyboard.json index 6486bf0587..6c573fef88 100644 --- a/keyboards/fc660c/keyboard.json +++ b/keyboards/fc660c/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "FC660C", "manufacturer": "Hasu", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4853", diff --git a/keyboards/fc980c/keyboard.json b/keyboards/fc980c/keyboard.json index b22747ba15..9944dd3899 100644 --- a/keyboards/fc980c/keyboard.json +++ b/keyboards/fc980c/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "FC980C", "manufacturer": "Hasu", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4853", diff --git a/keyboards/fearherbs1/blue_team_pad/keyboard.json b/keyboards/fearherbs1/blue_team_pad/keyboard.json index 5091fc0c31..b47b049b45 100644 --- a/keyboards/fearherbs1/blue_team_pad/keyboard.json +++ b/keyboards/fearherbs1/blue_team_pad/keyboard.json @@ -16,6 +16,7 @@ "mousekey": true, "extrakey": true, "console": true, + "command": false, "nkro": true, "oled": true }, diff --git a/keyboards/feker/ik75/keyboard.json b/keyboards/feker/ik75/keyboard.json index 03b86e5d8b..8f5614098c 100644 --- a/keyboards/feker/ik75/keyboard.json +++ b/keyboards/feker/ik75/keyboard.json @@ -62,6 +62,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/ferris/0_1/matrix.c b/keyboards/ferris/0_1/matrix.c index c05b193c1a..a3e2bebba6 100644 --- a/keyboards/ferris/0_1/matrix.c +++ b/keyboards/ferris/0_1/matrix.c @@ -29,7 +29,7 @@ along with this program. If not, see . #include "i2c_master.h" extern i2c_status_t mcp23017_status; -#define MCP23017_I2C_TIMEOUT 1000 +#define I2C_TIMEOUT 1000 // For a better understanding of the i2c protocol, this is a good read: // https://www.robot-electronics.co.uk/i2c-tutorial @@ -41,7 +41,9 @@ extern i2c_status_t mcp23017_status; // All address pins of the mcp23017 are connected to the ground on the ferris // | 0 | 1 | 0 | 0 | A2 | A1 | A0 | // | 0 | 1 | 0 | 0 | 0 | 0 | 0 | -#define I2C_ADDR (0b0100000 << 1) +#define I2C_ADDR 0b0100000 +#define I2C_ADDR_WRITE ((I2C_ADDR << 1) | I2C_WRITE) +#define I2C_ADDR_READ ((I2C_ADDR << 1) | I2C_READ) // Register addresses // See https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library/blob/master/Adafruit_MCP23017.h @@ -49,8 +51,8 @@ extern i2c_status_t mcp23017_status; #define IODIRB 0x01 #define GPPUA 0x0C // GPIO pull-up resistor register #define GPPUB 0x0D -#define MCP23017_GPIOA 0x12 // general purpose i/o port register (write modifies OLAT) -#define MCP23017_GPIOB 0x13 +#define GPIOA 0x12 // general purpose i/o port register (write modifies OLAT) +#define GPIOB 0x13 #define OLATA 0x14 // output latch register #define OLATB 0x15 @@ -58,14 +60,14 @@ bool i2c_initialized = 0; i2c_status_t mcp23017_status = I2C_ADDR; uint8_t init_mcp23017(void) { - print("init mcp23017\n"); + print("starting init"); mcp23017_status = I2C_ADDR; // I2C subsystem if (i2c_initialized == 0) { i2c_init(); // on pins D(1,0) i2c_initialized = true; - wait_ms(MCP23017_I2C_TIMEOUT); + wait_ms(I2C_TIMEOUT); } // set pin direction @@ -74,10 +76,8 @@ uint8_t init_mcp23017(void) { // - driving : output : 0 // This means: we will read all the bits on GPIOA // This means: we will write to the pins 0-4 on GPIOB (in select_rows) - uint8_t buf[] = {0b11111111, 0b11110000}; - print("before transmit\n"); - mcp23017_status = i2c_write_register(I2C_ADDR, IODIRA, buf, sizeof(buf), MCP23017_I2C_TIMEOUT); - uprintf("after transmit %i\n", mcp23017_status); + uint8_t buf[] = {IODIRA, 0b11111111, 0b11110000}; + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT); if (!mcp23017_status) { // set pull-up // - unused : on : 1 @@ -85,8 +85,8 @@ uint8_t init_mcp23017(void) { // - driving : off : 0 // This means: we will read all the bits on GPIOA // This means: we will write to the pins 0-4 on GPIOB (in select_rows) - mcp23017_status = i2c_write_register(I2C_ADDR, GPPUA, buf, sizeof(buf), MCP23017_I2C_TIMEOUT); - uprintf("after transmit2 %i\n", mcp23017_status); + uint8_t pullup_buf[] = {GPPUA, 0b11111111, 0b11110000}; + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, pullup_buf, sizeof(pullup_buf), I2C_TIMEOUT); } return mcp23017_status; } @@ -144,12 +144,12 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { // if (++mcp23017_reset_loop >= 1300) { // since mcp23017_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans // this will be approx bit more frequent than once per second - print("trying to reset mcp23017\n"); + dprint("trying to reset mcp23017\n"); mcp23017_status = init_mcp23017(); if (mcp23017_status) { - print("right side not responding\n"); + dprint("right side not responding\n"); } else { - print("right side attached\n"); + dprint("right side attached\n"); } } } @@ -204,13 +204,18 @@ static matrix_row_t read_cols(uint8_t row) { if (mcp23017_status) { // if there was an error return 0; } else { + uint8_t buf[] = {GPIOA}; + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT); // We read all the pins on GPIOA. // The initial state was all ones and any depressed key at a given column for the currently selected row will have its bit flipped to zero. // The return value is a row as represented in the generic matrix code were the rightmost bits represent the lower columns and zeroes represent non-depressed keys while ones represent depressed keys. // Since the pins connected to eact columns are sequential, and counting from zero up (col 5 -> GPIOA0, col 6 -> GPIOA1 and so on), the only transformation needed is a bitwise not to swap all zeroes and ones. uint8_t data[] = {0}; - mcp23017_status = i2c_read_register(I2C_ADDR, MCP23017_GPIOA, data, sizeof(data), MCP23017_I2C_TIMEOUT); - return ~data[0]; + if (!mcp23017_status) { + mcp23017_status = i2c_receive(I2C_ADDR_READ, data, sizeof(data), I2C_TIMEOUT); + data[0] = ~(data[0]); + } + return data[0]; } } } @@ -231,7 +236,7 @@ static void unselect_rows(void) { static void select_row(uint8_t row) { if (row < MATRIX_ROWS_PER_SIDE) { - // select on MCU + // select on atmega32u4 pin_t matrix_row_pins_mcu[MATRIX_ROWS_PER_SIDE] = MATRIX_ROW_PINS_MCU; pin_t pin = matrix_row_pins_mcu[row]; gpio_set_pin_output(pin); @@ -243,8 +248,8 @@ static void select_row(uint8_t row) { } else { // Select the desired row by writing a byte for the entire GPIOB bus where only the bit representing the row we want to select is a zero (write instruction) and every other bit is a one. // Note that the row - MATRIX_ROWS_PER_SIDE reflects the fact that being on the right hand, the columns are numbered from MATRIX_ROWS_PER_SIDE to MATRIX_ROWS, but the pins we want to write to are indexed from zero up on the GPIOB bus. - uint8_t buf[] = {0xFF & ~(1 << (row - MATRIX_ROWS_PER_SIDE))}; - mcp23017_status = i2c_write_register(I2C_ADDR, MCP23017_GPIOB, buf, sizeof(buf), MCP23017_I2C_TIMEOUT); + uint8_t buf[] = {GPIOB, 0xFF & ~(1 << (row - MATRIX_ROWS_PER_SIDE))}; + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT); } } } diff --git a/keyboards/ferris/0_2/matrix.c b/keyboards/ferris/0_2/matrix.c index 76bbcaf7b5..74fab717a1 100644 --- a/keyboards/ferris/0_2/matrix.c +++ b/keyboards/ferris/0_2/matrix.c @@ -30,7 +30,8 @@ along with this program. If not, see . extern i2c_status_t mcp23017_status; #define MCP23017_I2C_TIMEOUT 1000 - +#define I2C_WRITE 0x00 +#define I2C_READ 0x01 // For a better understanding of the i2c protocol, this is a good read: // https://www.robot-electronics.co.uk/i2c-tutorial diff --git a/keyboards/ffkeebs/puca/keyboard.json b/keyboards/ffkeebs/puca/keyboard.json index e79032593a..2abd0cfc36 100644 --- a/keyboards/ffkeebs/puca/keyboard.json +++ b/keyboards/ffkeebs/puca/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/ffkeebs/siris/keyboard.json b/keyboards/ffkeebs/siris/keyboard.json index d8bcb4df36..86531b6d01 100644 --- a/keyboards/ffkeebs/siris/keyboard.json +++ b/keyboards/ffkeebs/siris/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/flashquark/horizon_z/keyboard.json b/keyboards/flashquark/horizon_z/keyboard.json index 8e3ba47e4d..0fe14e7c60 100755 --- a/keyboards/flashquark/horizon_z/keyboard.json +++ b/keyboards/flashquark/horizon_z/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/flehrad/numbrero/keyboard.json b/keyboards/flehrad/numbrero/keyboard.json index ac21bb0fbb..f72b06ca7c 100644 --- a/keyboards/flehrad/numbrero/keyboard.json +++ b/keyboards/flehrad/numbrero/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Numbrero", "manufacturer": "Flehrad", + "url": "", "maintainer": "Flehrad", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/flehrad/snagpad/keyboard.json b/keyboards/flehrad/snagpad/keyboard.json index d1a2f3ddee..1b2a2c4ae1 100644 --- a/keyboards/flehrad/snagpad/keyboard.json +++ b/keyboards/flehrad/snagpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Snagpad", "manufacturer": "Flehrad", + "url": "", "maintainer": "Flehrad", "usb": { "vid": "0x4443", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/flehrad/tradestation/keyboard.json b/keyboards/flehrad/tradestation/keyboard.json index b753ce2f8e..757325ceaf 100644 --- a/keyboards/flehrad/tradestation/keyboard.json +++ b/keyboards/flehrad/tradestation/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Trade Station", "manufacturer": "Flehrad", + "url": "", "maintainer": "Flehrad", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/fleuron/keyboard.json b/keyboards/fleuron/keyboard.json index c3f3c35fe1..5cd7b7d8b2 100644 --- a/keyboards/fleuron/keyboard.json +++ b/keyboards/fleuron/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/fluorite/keyboard.json b/keyboards/fluorite/keyboard.json index 17824c36b7..37e74c387c 100644 --- a/keyboards/fluorite/keyboard.json +++ b/keyboards/fluorite/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "fluorite", "manufacturer": "ihotsuno", + "url": "", "maintainer": "ihotsuno, qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/flx/lodestone/keyboard.json b/keyboards/flx/lodestone/keyboard.json index 8ed4e39956..3a70655f2a 100644 --- a/keyboards/flx/lodestone/keyboard.json +++ b/keyboards/flx/lodestone/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/flx/virgo/keyboard.json b/keyboards/flx/virgo/keyboard.json index 7641e3f2ea..996425282d 100644 --- a/keyboards/flx/virgo/keyboard.json +++ b/keyboards/flx/virgo/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Virgo", "manufacturer": "FLX", + "url": "", "maintainer": "mechmerlin", "usb": { "vid": "0x4658", @@ -13,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/flxlb/zplit/keyboard.json b/keyboards/flxlb/zplit/keyboard.json index fdbe34fc7e..cd16ef7a15 100644 --- a/keyboards/flxlb/zplit/keyboard.json +++ b/keyboards/flxlb/zplit/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/foostan/cornelius/keyboard.json b/keyboards/foostan/cornelius/keyboard.json index 5f80d597e7..75cf098c4d 100644 --- a/keyboards/foostan/cornelius/keyboard.json +++ b/keyboards/foostan/cornelius/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Cornelius", "manufacturer": "Yushakobo", + "url": "", "maintainer": "foostan", "usb": { "vid": "0x3265", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/forever65/keyboard.json b/keyboards/forever65/keyboard.json index 17866fa6e7..9f128c1177 100644 --- a/keyboards/forever65/keyboard.json +++ b/keyboards/forever65/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/fortitude60/rev1/keyboard.json b/keyboards/fortitude60/rev1/keyboard.json index 3970a78404..4ad8a723b7 100644 --- a/keyboards/fortitude60/rev1/keyboard.json +++ b/keyboards/fortitude60/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Fortitude60", "manufacturer": "Pekaso", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xCB10", diff --git a/keyboards/fortitude60/rules.mk b/keyboards/fortitude60/rules.mk new file mode 100644 index 0000000000..ef158b8cf0 --- /dev/null +++ b/keyboards/fortitude60/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = fortitude60/rev1 diff --git a/keyboards/foxlab/key65/hotswap/keyboard.json b/keyboards/foxlab/key65/hotswap/keyboard.json index e6c74011d3..b21893fa88 100644 --- a/keyboards/foxlab/key65/hotswap/keyboard.json +++ b/keyboards/foxlab/key65/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Key 65 Hotswap", "manufacturer": "Fox Lab", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x464C", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/foxlab/key65/universal/keyboard.json b/keyboards/foxlab/key65/universal/keyboard.json index 6a70f6e679..daaa1b37b1 100644 --- a/keyboards/foxlab/key65/universal/keyboard.json +++ b/keyboards/foxlab/key65/universal/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Key 65 Universal", "manufacturer": "Fox Lab", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x464C", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/foxlab/leaf60/hotswap/keyboard.json b/keyboards/foxlab/leaf60/hotswap/keyboard.json index dedd885ef7..55639853e9 100644 --- a/keyboards/foxlab/leaf60/hotswap/keyboard.json +++ b/keyboards/foxlab/leaf60/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Leaf 60 Hotswap", "manufacturer": "Fox Lab", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x464C", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/foxlab/leaf60/universal/keyboard.json b/keyboards/foxlab/leaf60/universal/keyboard.json index 8a756aa070..93bfe45cce 100644 --- a/keyboards/foxlab/leaf60/universal/keyboard.json +++ b/keyboards/foxlab/leaf60/universal/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Leaf 60 Universal", "manufacturer": "Fox Lab", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x464C", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/foxlab/time80/keyboard.json b/keyboards/foxlab/time80/keyboard.json index 5bdda54ffd..9902ed770d 100644 --- a/keyboards/foxlab/time80/keyboard.json +++ b/keyboards/foxlab/time80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Time80", "manufacturer": "Fox Lab", + "url": "", "maintainer": "lukelex", "usb": { "vid": "0x464C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/foxlab/time_re/hotswap/keyboard.json b/keyboards/foxlab/time_re/hotswap/keyboard.json index aeef957547..cfef3317f2 100644 --- a/keyboards/foxlab/time_re/hotswap/keyboard.json +++ b/keyboards/foxlab/time_re/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Time 80 Reforged", "manufacturer": "Fox Lab", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x464C", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/foxlab/time_re/universal/keyboard.json b/keyboards/foxlab/time_re/universal/keyboard.json index e04ab3978e..b53364a589 100644 --- a/keyboards/foxlab/time_re/universal/keyboard.json +++ b/keyboards/foxlab/time_re/universal/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Time 80 Reforged", "manufacturer": "Fox Lab", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x464C", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/fr4/southpaw75/keyboard.json b/keyboards/fr4/southpaw75/keyboard.json index dc919b2ee4..47fb954bf9 100644 --- a/keyboards/fr4/southpaw75/keyboard.json +++ b/keyboards/fr4/southpaw75/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/fr4/unix60/keyboard.json b/keyboards/fr4/unix60/keyboard.json index 97da97dd0e..a6c3d0cb6a 100644 --- a/keyboards/fr4/unix60/keyboard.json +++ b/keyboards/fr4/unix60/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/free_willy/keyboard.json b/keyboards/free_willy/keyboard.json index 815f5808f5..512d56516a 100644 --- a/keyboards/free_willy/keyboard.json +++ b/keyboards/free_willy/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/friedrich/keyboard.json b/keyboards/friedrich/keyboard.json index 0489b57cea..d5dd68e0bc 100644 --- a/keyboards/friedrich/keyboard.json +++ b/keyboards/friedrich/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/frobiac/blackbowl/keyboard.json b/keyboards/frobiac/blackbowl/keyboard.json index 704a8b0d62..8a4aed1948 100644 --- a/keyboards/frobiac/blackbowl/keyboard.json +++ b/keyboards/frobiac/blackbowl/keyboard.json @@ -8,6 +8,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": false, + "command": false, + "console": false, "dynamic_macro": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/frobiac/blackflat/keyboard.json b/keyboards/frobiac/blackflat/keyboard.json index b8c8622ac8..086d90d8f8 100644 --- a/keyboards/frobiac/blackflat/keyboard.json +++ b/keyboards/frobiac/blackflat/keyboard.json @@ -8,6 +8,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": false, + "command": false, + "console": false, "dynamic_macro": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/frobiac/hypernano/keyboard.json b/keyboards/frobiac/hypernano/keyboard.json index ec7d850fd3..403beed952 100644 --- a/keyboards/frobiac/hypernano/keyboard.json +++ b/keyboards/frobiac/hypernano/keyboard.json @@ -8,6 +8,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": false, + "command": false, + "console": false, "dynamic_macro": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/frobiac/redtilt/keyboard.json b/keyboards/frobiac/redtilt/keyboard.json index 5a6d746f35..f3cbd96e1c 100644 --- a/keyboards/frobiac/redtilt/keyboard.json +++ b/keyboards/frobiac/redtilt/keyboard.json @@ -8,6 +8,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": false, + "command": false, + "console": false, "dynamic_macro": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/frooastboard/nano/keyboard.json b/keyboards/frooastboard/nano/keyboard.json index 45e3dc75d6..5d7783145e 100644 --- a/keyboards/frooastboard/nano/keyboard.json +++ b/keyboards/frooastboard/nano/keyboard.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": true, diff --git a/keyboards/frooastboard/walnut/keyboard.json b/keyboards/frooastboard/walnut/keyboard.json index f1958c04a2..4387452d38 100644 --- a/keyboards/frooastboard/walnut/keyboard.json +++ b/keyboards/frooastboard/walnut/keyboard.json @@ -8,6 +8,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": true, diff --git a/keyboards/fruitykeeb/fruitbar/r1/rules.mk b/keyboards/fruitykeeb/fruitbar/r1/rules.mk new file mode 100644 index 0000000000..3328de6095 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r1/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = fruitykeeb/fruitbar/r1/promicro diff --git a/keyboards/fs_streampad/keyboard.json b/keyboards/fs_streampad/keyboard.json index 33604f70aa..5adefff443 100644 --- a/keyboards/fs_streampad/keyboard.json +++ b/keyboards/fs_streampad/keyboard.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -74,6 +76,9 @@ "pixel_flow": true, "pixel_rain": true }, + "default": { + "animation": "cycle_left_right" + }, "sleep": true, "layout": [ {"matrix": [0, 0], "flags": 4, "x": 0, "y": 0 }, diff --git a/keyboards/ft/mars65/keyboard.json b/keyboards/ft/mars65/keyboard.json index b8206d29be..3b6f5ec8a9 100644 --- a/keyboards/ft/mars65/keyboard.json +++ b/keyboards/ft/mars65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mars 6.5", "manufacturer": "FT", + "url": "", "maintainer": "wonderbeel", "usb": { "vid": "0x20A0", @@ -13,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/ft/mars80/keyboard.json b/keyboards/ft/mars80/keyboard.json index 38261ad547..1d5e53dcbe 100644 --- a/keyboards/ft/mars80/keyboard.json +++ b/keyboards/ft/mars80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mars 8.0", "manufacturer": "FT", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/function96/v1/keyboard.json b/keyboards/function96/v1/keyboard.json index 7a1367a30c..945042b284 100644 --- a/keyboards/function96/v1/keyboard.json +++ b/keyboards/function96/v1/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/function96/v2/keyboard.json b/keyboards/function96/v2/keyboard.json index bbb508ec91..21d677d9a5 100644 --- a/keyboards/function96/v2/keyboard.json +++ b/keyboards/function96/v2/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/fungo/rev1/keyboard.json b/keyboards/fungo/rev1/keyboard.json index 0b0abec8e7..0970a027c8 100644 --- a/keyboards/fungo/rev1/keyboard.json +++ b/keyboards/fungo/rev1/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "key_lock": true, "mousekey": true, diff --git a/keyboards/funky40/keyboard.json b/keyboards/funky40/keyboard.json index 0658fc4974..d76b9eee2e 100644 --- a/keyboards/funky40/keyboard.json +++ b/keyboards/funky40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Funky40", "manufacturer": "TheFourthCow", + "url": "", "maintainer": "TheFourthCow", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/gami_studio/lex60/keyboard.json b/keyboards/gami_studio/lex60/keyboard.json index 9ddc1513f3..be1715c844 100644 --- a/keyboards/gami_studio/lex60/keyboard.json +++ b/keyboards/gami_studio/lex60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lex60", "manufacturer": "Evyd13", + "url": "", "maintainer": "GamiStudio", "usb": { "vid": "0x7353", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/gboards/butterstick/keyboard.json b/keyboards/gboards/butterstick/keyboard.json index b1401eb87c..59d703925b 100644 --- a/keyboards/gboards/butterstick/keyboard.json +++ b/keyboards/gboards/butterstick/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Butter Stick", "manufacturer": "g Heavy Industries", + "url": "", "maintainer": "germ", "usb": { "vid": "0xFEED", @@ -13,6 +14,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/gboards/gergoplex/keyboard.json b/keyboards/gboards/gergoplex/keyboard.json index 111f7b8f2c..cf1e451392 100644 --- a/keyboards/gboards/gergoplex/keyboard.json +++ b/keyboards/gboards/gergoplex/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GergoPlex", "manufacturer": "g Heavy Industries", + "url": "", "maintainer": "germ", "usb": { "vid": "0x6B0A", diff --git a/keyboards/geekboards/macropad_v2/keyboard.json b/keyboards/geekboards/macropad_v2/keyboard.json index a34912aee3..54d779570a 100644 --- a/keyboards/geekboards/macropad_v2/keyboard.json +++ b/keyboards/geekboards/macropad_v2/keyboard.json @@ -47,6 +47,7 @@ }, "default": { "animation": "cycle_up_down", + "sat": 255, "speed": 30, "val": 192 }, @@ -57,6 +58,8 @@ "bootloader": "stm32-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/geekboards/tester/keyboard.json b/keyboards/geekboards/tester/keyboard.json index 2b85961df8..743e5e2392 100644 --- a/keyboards/geekboards/tester/keyboard.json +++ b/keyboards/geekboards/tester/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Tester", "manufacturer": "Geekboards", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0xFEED", @@ -54,6 +55,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/geistmaschine/geist/keyboard.json b/keyboards/geistmaschine/geist/keyboard.json index 4d1b29c67f..079dd8d6d9 100644 --- a/keyboards/geistmaschine/geist/keyboard.json +++ b/keyboards/geistmaschine/geist/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/geistmaschine/macropod/keyboard.json b/keyboards/geistmaschine/macropod/keyboard.json index f5803778dd..333e7c0a50 100644 --- a/keyboards/geistmaschine/macropod/keyboard.json +++ b/keyboards/geistmaschine/macropod/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/generic_panda/panda65_01/keyboard.json b/keyboards/generic_panda/panda65_01/keyboard.json index 1ba0ec134b..098f3df1c0 100644 --- a/keyboards/generic_panda/panda65_01/keyboard.json +++ b/keyboards/generic_panda/panda65_01/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/genone/eclipse_65/keyboard.json b/keyboards/genone/eclipse_65/keyboard.json index 0b7a27e910..aeb2d8973c 100644 --- a/keyboards/genone/eclipse_65/keyboard.json +++ b/keyboards/genone/eclipse_65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/genone/g1_65/keyboard.json b/keyboards/genone/g1_65/keyboard.json index 3ee452f9d1..367bdfe7bb 100644 --- a/keyboards/genone/g1_65/keyboard.json +++ b/keyboards/genone/g1_65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/geonworks/ee_at/keyboard.json b/keyboards/geonworks/ee_at/keyboard.json index c901901ab0..803e0d3640 100644 --- a/keyboards/geonworks/ee_at/keyboard.json +++ b/keyboards/geonworks/ee_at/keyboard.json @@ -9,6 +9,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/geonworks/frogmini/fmh/keyboard.json b/keyboards/geonworks/frogmini/fmh/keyboard.json index fd42773042..414aa18e12 100644 --- a/keyboards/geonworks/frogmini/fmh/keyboard.json +++ b/keyboards/geonworks/frogmini/fmh/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/geonworks/frogmini/fms/keyboard.json b/keyboards/geonworks/frogmini/fms/keyboard.json index 4c582c2bd8..c34765288b 100644 --- a/keyboards/geonworks/frogmini/fms/keyboard.json +++ b/keyboards/geonworks/frogmini/fms/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/geonworks/w1_at/keyboard.json b/keyboards/geonworks/w1_at/keyboard.json index 240463b9c4..8b7991c03d 100644 --- a/keyboards/geonworks/w1_at/keyboard.json +++ b/keyboards/geonworks/w1_at/keyboard.json @@ -9,6 +9,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ggkeyboards/genesis/hotswap/keyboard.json b/keyboards/ggkeyboards/genesis/hotswap/keyboard.json index cb5e94cf38..5cd4f07716 100644 --- a/keyboards/ggkeyboards/genesis/hotswap/keyboard.json +++ b/keyboards/ggkeyboards/genesis/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Genesis Hotswap", "manufacturer": "GG Keyboards", + "url": "", "maintainer": "Spooknik", "usb": { "vid": "0xBB00", diff --git a/keyboards/ggkeyboards/genesis/solder/keyboard.json b/keyboards/ggkeyboards/genesis/solder/keyboard.json index 15fcc2334b..485be430e5 100644 --- a/keyboards/ggkeyboards/genesis/solder/keyboard.json +++ b/keyboards/ggkeyboards/genesis/solder/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Genesis Solder", "manufacturer": "GG Keyboards", + "url": "", "maintainer": "Spooknik", "usb": { "vid": "0xBB00", diff --git a/keyboards/gh60/revc/keyboard.json b/keyboards/gh60/revc/keyboard.json index bfb81ad093..4f90f2540c 100644 --- a/keyboards/gh60/revc/keyboard.json +++ b/keyboards/gh60/revc/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GH60 Rev C", "manufacturer": "geekhack", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4335", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/gh60/satan/keyboard.json b/keyboards/gh60/satan/keyboard.json index 864e5fa90d..e3f2685297 100644 --- a/keyboards/gh60/satan/keyboard.json +++ b/keyboards/gh60/satan/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GH60 Satan", "manufacturer": "SATAN", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4335", diff --git a/keyboards/gh60/v1p3/keyboard.json b/keyboards/gh60/v1p3/keyboard.json index 38496bb9de..18ac7608bb 100644 --- a/keyboards/gh60/v1p3/keyboard.json +++ b/keyboards/gh60/v1p3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GH60 v1.3", "manufacturer": "Unknown", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/gh80_3000/keyboard.json b/keyboards/gh80_3000/keyboard.json index cf3c346486..c88f5c8232 100644 --- a/keyboards/gh80_3000/keyboard.json +++ b/keyboards/gh80_3000/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GH80-3000", "manufacturer": "farmakon", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/ghs/jem/info.json b/keyboards/ghs/jem/info.json index 543dc041a7..b90655647d 100644 --- a/keyboards/ghs/jem/info.json +++ b/keyboards/ghs/jem/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "GHS.JEM", "manufacturer": "Gone Hacking Studio", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0x0645", @@ -10,6 +11,8 @@ "processor": "atmega32u4", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "rgblight": true, @@ -26,6 +29,8 @@ "rgblight": { "led_count": 22, "hue_steps": 10, + "saturation_steps": 17, + "brightness_steps": 17, "animations": { "breathing": true, "rainbow_mood": true, diff --git a/keyboards/ghs/jem/rules.mk b/keyboards/ghs/jem/rules.mk new file mode 100644 index 0000000000..e96c00e5c0 --- /dev/null +++ b/keyboards/ghs/jem/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = ghs/jem/soldered diff --git a/keyboards/ghs/rar/keyboard.json b/keyboards/ghs/rar/keyboard.json index 75b835a3e2..96184abe6a 100644 --- a/keyboards/ghs/rar/keyboard.json +++ b/keyboards/ghs/rar/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/ghs/xls/keyboard.json b/keyboards/ghs/xls/keyboard.json index 64ce7cbb91..f062f32af8 100644 --- a/keyboards/ghs/xls/keyboard.json +++ b/keyboards/ghs/xls/keyboard.json @@ -5,6 +5,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "encoder": true, @@ -17,6 +19,7 @@ "indicators": { "num_lock": "B0" }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0002", diff --git a/keyboards/giabalanai/keyboard.json b/keyboards/giabalanai/keyboard.json index 2e2357fe4c..ae43139dad 100644 --- a/keyboards/giabalanai/keyboard.json +++ b/keyboards/giabalanai/keyboard.json @@ -34,8 +34,10 @@ "extrakey": true, "encoder": true, "bootmagic": false, + "console": false, "mousekey": false, "nkro": false, + "command": false, "backlight": false }, "build": { diff --git a/keyboards/gizmo_engineering/gk6/keyboard.json b/keyboards/gizmo_engineering/gk6/keyboard.json index 45e5bf0706..d68b356d9c 100644 --- a/keyboards/gizmo_engineering/gk6/keyboard.json +++ b/keyboards/gizmo_engineering/gk6/keyboard.json @@ -29,6 +29,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/gkeyboard/gkb_m16/keyboard.json b/keyboards/gkeyboard/gkb_m16/keyboard.json index 968e154598..1f1fe50a67 100644 --- a/keyboards/gkeyboard/gkb_m16/keyboard.json +++ b/keyboards/gkeyboard/gkb_m16/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GKB-M16", "manufacturer": "gkeyboard", + "url": "", "maintainer": "gkeyboard", "usb": { "vid": "0x474B", @@ -30,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/gkeyboard/gpad8_2r/keyboard.json b/keyboards/gkeyboard/gpad8_2r/keyboard.json index 95645a53fc..6c9a779b05 100644 --- a/keyboards/gkeyboard/gpad8_2r/keyboard.json +++ b/keyboards/gkeyboard/gpad8_2r/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/gkeyboard/greatpad/keyboard.json b/keyboards/gkeyboard/greatpad/keyboard.json index d578111703..6f55141333 100644 --- a/keyboards/gkeyboard/greatpad/keyboard.json +++ b/keyboards/gkeyboard/greatpad/keyboard.json @@ -15,6 +15,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -60,6 +62,7 @@ "rainbow_moving_chevron": true, "rainbow_pinwheels": true, "raindrops": true, + "solid_color": true, "solid_multisplash": true, "solid_reactive": true, "solid_reactive_cross": true, diff --git a/keyboards/gl516/xr63gl/keyboard.json b/keyboards/gl516/xr63gl/keyboard.json index e36b0622d6..ddeb425462 100644 --- a/keyboards/gl516/xr63gl/keyboard.json +++ b/keyboards/gl516/xr63gl/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["GP26", "GP27", "GP28", "GP29", "GP0", "GP3", "GP4", "GP2", "GP1"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/glenpickle/chimera_ergo/keyboard.json b/keyboards/glenpickle/chimera_ergo/keyboard.json index d2b4d93b9d..038498fd10 100644 --- a/keyboards/glenpickle/chimera_ergo/keyboard.json +++ b/keyboards/glenpickle/chimera_ergo/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Chimera Ergo", "manufacturer": "Unknown", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/glenpickle/chimera_ls/keyboard.json b/keyboards/glenpickle/chimera_ls/keyboard.json index 23c870c74d..b0d6a52912 100644 --- a/keyboards/glenpickle/chimera_ls/keyboard.json +++ b/keyboards/glenpickle/chimera_ls/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Chimera Lets Split", "manufacturer": "Unknown", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c index b3ac9906db..d1f01fc8cb 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c +++ b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c @@ -204,26 +204,26 @@ led_config_t g_led_config = {{ {196, 64}, // 65 Down {210, 64}, // 66 Right - {224, 0 }, // 69 LED 1 - {224, 7 }, // 70 LED 2 - {224, 14}, // 71 LED 3 - {224, 21}, // 72 LED 4 - {224, 28}, // 73 LED 5 - {224, 35}, // 74 LED 6 - {224, 42}, // 75 LED 7 - {224, 49}, // 76 LED 8 - {224, 56}, // 77 LED 9 - {224, 64}, // 78 LED 10 - {0, 0 }, // 79 LED 11 - {0, 7 }, // 80 LED 12 - {0, 14}, // 81 LED 13 - {0, 21}, // 82 LED 14 - {0, 28}, // 83 LED 15 - {0, 35}, // 84 LED 16 - {0, 42}, // 85 LED 17 - {0, 49}, // 86 LED 18 - {0, 56}, // 87 LED 19 - {0, 64}, // 88 LED 20 + {0, 0}, // 69 LED 1 + {0, 7}, // 70 LED 2 + {0, 14}, // 71 LED 3 + {0, 21}, // 72 LED 4 + {0, 28}, // 73 LED 5 + {0, 35}, // 74 LED 6 + {0, 42}, // 75 LED 7 + {0, 49}, // 76 LED 8 + {0, 56}, // 77 LED 9 + {0, 64}, // 78 LED 10 + {224, 0 }, // 79 LED 11 + {224, 7 }, // 80 LED 12 + {224, 14}, // 81 LED 13 + {224, 21}, // 82 LED 14 + {224, 28}, // 83 LED 15 + {224, 35}, // 84 LED 16 + {224, 42}, // 85 LED 17 + {224, 49}, // 86 LED 18 + {224, 56}, // 87 LED 19 + {224, 64}, // 88 LED 20 }, { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json b/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json index 70c308da5f..a5c4c92552 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json +++ b/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/gmmk/gmmk2/p65/halconf.h b/keyboards/gmmk/gmmk2/p65/halconf.h index 24941b1b6c..293d182917 100644 --- a/keyboards/gmmk/gmmk2/p65/halconf.h +++ b/keyboards/gmmk/gmmk2/p65/halconf.h @@ -22,5 +22,8 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next + diff --git a/keyboards/gmmk/gmmk2/p65/iso/iso.c b/keyboards/gmmk/gmmk2/p65/iso/iso.c index abadaccd34..2be5285394 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/iso.c +++ b/keyboards/gmmk/gmmk2/p65/iso/iso.c @@ -206,26 +206,26 @@ led_config_t g_led_config = {{ {196, 64}, // 66 Down {210, 64}, // 67 Right - {224, 0 }, // 68 LED 1 - {224, 7 }, // 69 LED 2 - {224, 14}, // 70 LED 3 - {224, 21}, // 71 LED 4 - {224, 28}, // 72 LED 5 - {224, 35}, // 73 LED 6 - {224, 42}, // 74 LED 7 - {224, 49}, // 75 LED 8 - {224, 56}, // 76 LED 9 - {224, 64}, // 77 LED 10 - {0, 0 }, // 78 LED 11 - {0, 7 }, // 79 LED 12 - {0, 14}, // 80 LED 13 - {0, 21}, // 81 LED 14 - {0, 28}, // 82 LED 15 - {0, 35}, // 83 LED 16 - {0, 42}, // 84 LED 17 - {0, 49}, // 85 LED 18 - {0, 56}, // 86 LED 19 - {0, 64}, // 87 LED 20 + {0, 0}, // 68 LED 1 + {0, 7}, // 69 LED 2 + {0, 14}, // 70 LED 3 + {0, 21}, // 71 LED 4 + {0, 28}, // 72 LED 5 + {0, 35}, // 73 LED 6 + {0, 42}, // 74 LED 7 + {0, 49}, // 75 LED 8 + {0, 56}, // 76 LED 9 + {0, 64}, // 77 LED 10 + {224, 0 }, // 78 LED 11 + {224, 7 }, // 79 LED 12 + {224, 14}, // 80 LED 13 + {224, 21}, // 81 LED 14 + {224, 28}, // 82 LED 15 + {224, 35}, // 83 LED 16 + {224, 42}, // 84 LED 17 + {224, 49}, // 85 LED 18 + {224, 56}, // 86 LED 19 + {224, 64}, // 87 LED 20 }, { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, diff --git a/keyboards/gmmk/gmmk2/p65/iso/keyboard.json b/keyboards/gmmk/gmmk2/p65/iso/keyboard.json index 9240268b4f..a4576c8c7f 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/keyboard.json +++ b/keyboards/gmmk/gmmk2/p65/iso/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json b/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json index 0646be8c88..8fd81ba1a0 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json +++ b/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/gmmk/gmmk2/p96/config.h b/keyboards/gmmk/gmmk2/p96/config.h index 852d29df65..1b246e4f3f 100644 --- a/keyboards/gmmk/gmmk2/p96/config.h +++ b/keyboards/gmmk/gmmk2/p96/config.h @@ -22,11 +22,8 @@ /* SPI Config for LED Driver */ #define SPI_DRIVER SPIDQ #define SPI_SCK_PIN A5 -#define SPI_SCK_PAL_MODE 5 #define SPI_MOSI_PIN A7 -#define SPI_MOSI_PAL_MODE 5 #define SPI_MISO_PIN A6 -#define SPI_MISO_PAL_MODE 5 #define AW20216S_CS_PIN_1 A15 #define AW20216S_CS_PIN_2 B15 diff --git a/keyboards/gmmk/gmmk2/p96/halconf.h b/keyboards/gmmk/gmmk2/p96/halconf.h index 24941b1b6c..293d182917 100644 --- a/keyboards/gmmk/gmmk2/p96/halconf.h +++ b/keyboards/gmmk/gmmk2/p96/halconf.h @@ -22,5 +22,8 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next + diff --git a/keyboards/gmmk/gmmk2/p96/iso/keyboard.json b/keyboards/gmmk/gmmk2/p96/iso/keyboard.json index 679881a94b..040b6f9c6f 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/keyboard.json +++ b/keyboards/gmmk/gmmk2/p96/iso/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/gmmk/numpad/halconf.h b/keyboards/gmmk/numpad/halconf.h index 7ac9455f98..b6b68a4e63 100644 --- a/keyboards/gmmk/numpad/halconf.h +++ b/keyboards/gmmk/numpad/halconf.h @@ -18,6 +18,9 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #define HAL_USE_ADC TRUE -#include_next + +#include_next \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/ansi/keyboard.json b/keyboards/gmmk/pro/rev1/ansi/keyboard.json index fbb9107d16..867f7e1d02 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keyboard.json +++ b/keyboards/gmmk/pro/rev1/ansi/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/gmmk/pro/rev1/halconf.h b/keyboards/gmmk/pro/rev1/halconf.h index cfd866f371..8d9b60c234 100644 --- a/keyboards/gmmk/pro/rev1/halconf.h +++ b/keyboards/gmmk/pro/rev1/halconf.h @@ -17,5 +17,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/gmmk/pro/rev1/iso/keyboard.json b/keyboards/gmmk/pro/rev1/iso/keyboard.json index 7506f8952d..6eabec96fe 100644 --- a/keyboards/gmmk/pro/rev1/iso/keyboard.json +++ b/keyboards/gmmk/pro/rev1/iso/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/gmmk/pro/rev2/ansi/keyboard.json b/keyboards/gmmk/pro/rev2/ansi/keyboard.json index 4e0fdfccd9..21bc7df7fb 100644 --- a/keyboards/gmmk/pro/rev2/ansi/keyboard.json +++ b/keyboards/gmmk/pro/rev2/ansi/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/gmmk/pro/rev2/halconf.h b/keyboards/gmmk/pro/rev2/halconf.h index cfd866f371..8d9b60c234 100644 --- a/keyboards/gmmk/pro/rev2/halconf.h +++ b/keyboards/gmmk/pro/rev2/halconf.h @@ -17,5 +17,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/gmmk/pro/rev2/iso/keyboard.json b/keyboards/gmmk/pro/rev2/iso/keyboard.json index 01db9dc22f..83d1fd3028 100644 --- a/keyboards/gmmk/pro/rev2/iso/keyboard.json +++ b/keyboards/gmmk/pro/rev2/iso/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/gon/nerd60/keyboard.json b/keyboards/gon/nerd60/keyboard.json index 01cbaf3cd0..590b3f3d9e 100644 --- a/keyboards/gon/nerd60/keyboard.json +++ b/keyboards/gon/nerd60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NerD 60", "manufacturer": "GON", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E45", diff --git a/keyboards/gon/nerdtkl/keyboard.json b/keyboards/gon/nerdtkl/keyboard.json index ae9db2553b..ccf13ec325 100644 --- a/keyboards/gon/nerdtkl/keyboard.json +++ b/keyboards/gon/nerdtkl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NerD TKL", "manufacturer": "GON", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E45", diff --git a/keyboards/gopolar/gg86/keyboard.json b/keyboards/gopolar/gg86/keyboard.json index a9944beea9..b704582aa6 100644 --- a/keyboards/gopolar/gg86/keyboard.json +++ b/keyboards/gopolar/gg86/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GG86 Tai-Chi", "manufacturer": "Gopolar", + "url": "", "maintainer": "Gopolar", "usb": { "vid": "0x0007", diff --git a/keyboards/gorthage_truck/keyboard.json b/keyboards/gorthage_truck/keyboard.json index 4af39afca3..1a0a364f96 100644 --- a/keyboards/gorthage_truck/keyboard.json +++ b/keyboards/gorthage_truck/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/gowla/keyboard.json b/keyboards/gowla/keyboard.json index f4f0b96838..0f64cad79b 100644 --- a/keyboards/gowla/keyboard.json +++ b/keyboards/gowla/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/gray_studio/aero75/keyboard.json b/keyboards/gray_studio/aero75/keyboard.json index e510c160e8..c0ede794c2 100644 --- a/keyboards/gray_studio/aero75/keyboard.json +++ b/keyboards/gray_studio/aero75/keyboard.json @@ -39,6 +39,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/gray_studio/apollo80/keyboard.json b/keyboards/gray_studio/apollo80/keyboard.json index 6211f78447..f3425aa20d 100644 --- a/keyboards/gray_studio/apollo80/keyboard.json +++ b/keyboards/gray_studio/apollo80/keyboard.json @@ -35,6 +35,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/gray_studio/cod67/keyboard.json b/keyboards/gray_studio/cod67/keyboard.json index e0a71c6703..fa946d9b33 100644 --- a/keyboards/gray_studio/cod67/keyboard.json +++ b/keyboards/gray_studio/cod67/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "COD67", "manufacturer": "Graystudio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4753", diff --git a/keyboards/gray_studio/hb85/keyboard.json b/keyboards/gray_studio/hb85/keyboard.json index 9d182a458e..61387a2709 100644 --- a/keyboards/gray_studio/hb85/keyboard.json +++ b/keyboards/gray_studio/hb85/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "HB85", "manufacturer": "Gray Studio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4753", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/gray_studio/space65/keyboard.json b/keyboards/gray_studio/space65/keyboard.json index 3ca6a306cd..ffe825ff4c 100644 --- a/keyboards/gray_studio/space65/keyboard.json +++ b/keyboards/gray_studio/space65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Space65", "manufacturer": "Graystudio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4753", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/gray_studio/space65r3/keyboard.json b/keyboards/gray_studio/space65r3/keyboard.json index ab2bac62f9..bdf3624c58 100644 --- a/keyboards/gray_studio/space65r3/keyboard.json +++ b/keyboards/gray_studio/space65r3/keyboard.json @@ -39,6 +39,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/gray_studio/think65/hotswap/keyboard.json b/keyboards/gray_studio/think65/hotswap/keyboard.json index a38f648eca..c2dba58190 100644 --- a/keyboards/gray_studio/think65/hotswap/keyboard.json +++ b/keyboards/gray_studio/think65/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Think6.5\u00b0 Hotswap", "manufacturer": "Graystudio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4753", diff --git a/keyboards/gray_studio/think65/solder/keyboard.json b/keyboards/gray_studio/think65/solder/keyboard.json index 283516b60a..09096a854e 100644 --- a/keyboards/gray_studio/think65/solder/keyboard.json +++ b/keyboards/gray_studio/think65/solder/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Think6.5\u00b0", "manufacturer": "Graystudio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4753", diff --git a/keyboards/gray_studio/think65v3/keyboard.json b/keyboards/gray_studio/think65v3/keyboard.json index 201e271b33..0c6b8e7938 100644 --- a/keyboards/gray_studio/think65v3/keyboard.json +++ b/keyboards/gray_studio/think65v3/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/green_keys/gravity_45/keyboard.json b/keyboards/green_keys/gravity_45/keyboard.json deleted file mode 100644 index 762f3ebae6..0000000000 --- a/keyboards/green_keys/gravity_45/keyboard.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "manufacturer": "GreenKeys", - "keyboard_name": "Gravity-45", - "maintainer": "takashicompany", - "processor": "RP2040", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["GP14", "GP15", "GP26", "GP27", "GP28", "GP29", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], - "rows": ["GP10", "GP11", "GP12", "GP13"] - }, - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 1, - "max_brightness": 120 - }, - "url": "https://green-keys.info", - "usb": { - "device_version": "1.0.0", - "pid": "0x9121", - "vid": "0x1209" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP8" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 9.5, "y": 0}, - {"matrix": [0, 7], "x": 10.5, "y": 0}, - {"matrix": [0, 8], "x": 11.5, "y": 0}, - {"matrix": [0, 9], "x": 12.5, "y": 0}, - {"matrix": [0, 10], "x": 13.5, "y": 0}, - {"matrix": [0, 11], "x": 14.5, "y": 0}, - {"matrix": [1, 0], "x": 0.25, "y": 1}, - {"matrix": [1, 1], "x": 1.25, "y": 1}, - {"matrix": [1, 2], "x": 2.25, "y": 1}, - {"matrix": [1, 3], "x": 3.25, "y": 1}, - {"matrix": [1, 4], "x": 4.25, "y": 1}, - {"matrix": [1, 5], "x": 5.25, "y": 1}, - {"matrix": [3, 11], "x": 7.625, "y": 1.5}, - {"matrix": [1, 6], "x": 9.75, "y": 1}, - {"matrix": [1, 7], "x": 10.75, "y": 1}, - {"matrix": [1, 8], "x": 11.75, "y": 1}, - {"matrix": [1, 9], "x": 12.75, "y": 1}, - {"matrix": [1, 10], "x": 13.75, "y": 1}, - {"matrix": [1, 11], "x": 14.75, "y": 1}, - {"matrix": [2, 0], "x": 0.5, "y": 2}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 10, "y": 2}, - {"matrix": [2, 7], "x": 11, "y": 2}, - {"matrix": [2, 8], "x": 12, "y": 2}, - {"matrix": [2, 9], "x": 13, "y": 2}, - {"matrix": [2, 10], "x": 14, "y": 2}, - {"matrix": [2, 11], "x": 15, "y": 2}, - {"matrix": [3, 2], "x": 2.5, "y": 3}, - {"matrix": [3, 3], "x": 3.5, "y": 3, "w": 1.25}, - {"matrix": [3, 4], "x": 4.75, "y": 3, "w": 1.25}, - {"matrix": [3, 5], "x": 6, "y": 3, "w": 1.25}, - {"matrix": [3, 6], "x": 9.75, "y": 3, "w": 1.25}, - {"matrix": [3, 7], "x": 11, "y": 3, "w": 1.25}, - {"matrix": [3, 8], "x": 12.25, "y": 3, "w": 1.25}, - {"matrix": [3, 9], "x": 13.5, "y": 3, "w": 1.25} - ] - } - } -} diff --git a/keyboards/green_keys/gravity_45/keymaps/default/keymap.c b/keyboards/green_keys/gravity_45/keymaps/default/keymap.c deleted file mode 100644 index b1031461d5..0000000000 --- a/keyboards/green_keys/gravity_45/keymaps/default/keymap.c +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2025 takashicompany (@takashicompany) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC, LT(7, KC_Q), KC_W, KC_E, LT(6, KC_R), KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, RGB_TOG, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_ENT, - KC_LSFT, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_DEL, - KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_RALT, KC_RGUI - ), - - [1] = LAYOUT( - KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, - KC_TRNS, LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_TRNS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, KC_TRNS, - KC_TRNS, LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT( - KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), KC_TRNS, - KC_TRNS, KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_TRNS, KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), KC_TRNS, - KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [3] = LAYOUT( - KC_TRNS, LT(7, KC_Q), KC_W, KC_E, LT(6, KC_R), KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS, - KC_TRNS, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_TRNS, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_TRNS, - KC_TRNS, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_TRNS, - KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LNG1), KC_RALT, KC_RGUI - ), - - [4] = LAYOUT( - KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, - KC_TRNS, KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_TRNS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, KC_TRNS, - KC_TRNS, LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [5] = LAYOUT( - KC_TRNS, KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS, - KC_TRNS, KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_TRNS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, - KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [6] = LAYOUT( - KC_TRNS, KC_ESC, KC_TAB, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS, - KC_TRNS, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS, - KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [7] = LAYOUT( - KC_TRNS, KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, - KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, - KC_TRNS, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [8] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, DF(0), DF(3), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/green_keys/gravity_45/readme.md b/keyboards/green_keys/gravity_45/readme.md deleted file mode 100644 index cdf98feab8..0000000000 --- a/keyboards/green_keys/gravity_45/readme.md +++ /dev/null @@ -1,37 +0,0 @@ -# Gravity-45 - -![green_keys/gravity_45](https://i.imgur.com/FTyC65h.jpeg) - -Gravity-45 is a 45-key integrated keyboard. -It uses the Waveshare RP2040-Zero MCU. -Keyswitch sockets are used for easy keyswitch replacement. -The tight PCB outline lines allow for easy case design. - ---- - -Gravity-45 は 45キーの一体型のキーボードだ。 -MCUにはWaveshare RP2040-Zeroを採用している。 -キースイッチソケットを使用するためキースイッチの交換が容易に行える。 -PCBの外形線がタイトなので、ケースの設計が容易だ。 - -* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) -* Hardware Supported: PCB, Waveshare RP2040-Zero -* Hardware Availability: [GreenKeys](https://green-keys.info/) - -Make example for this keyboard (after setting up your build environment): - - make green_keys/gravity_45:default - -Flashing example for this keyboard: - - make green_keys/gravity_45:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/gregandcin/teaqueen/keyboard.json b/keyboards/gregandcin/teaqueen/keyboard.json index bfdd395a7e..871c34587d 100644 --- a/keyboards/gregandcin/teaqueen/keyboard.json +++ b/keyboards/gregandcin/teaqueen/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/grid600/press/keyboard.json b/keyboards/grid600/press/keyboard.json index e5006d99f0..74c3e7aad1 100644 --- a/keyboards/grid600/press/keyboard.json +++ b/keyboards/grid600/press/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "PRESS", "manufacturer": "Grid", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/gummykey/keyboard.json b/keyboards/gummykey/keyboard.json index a16e2e4a1f..bb7001438d 100644 --- a/keyboards/gummykey/keyboard.json +++ b/keyboards/gummykey/keyboard.json @@ -5,6 +5,8 @@ "maintainer": "Gumorr", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/gvalchca/ga150/keyboard.json b/keyboards/gvalchca/ga150/keyboard.json index fbaa777499..38028799fa 100644 --- a/keyboards/gvalchca/ga150/keyboard.json +++ b/keyboards/gvalchca/ga150/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GA15.0", "manufacturer": "Gvalchca", + "url": "", "maintainer": "Gvalchca", "usb": { "vid": "0x6776", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/gvalchca/spaccboard/keyboard.json b/keyboards/gvalchca/spaccboard/keyboard.json index 783584aa85..ad03737fd5 100644 --- a/keyboards/gvalchca/spaccboard/keyboard.json +++ b/keyboards/gvalchca/spaccboard/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/h0oni/deskpad/keyboard.json b/keyboards/h0oni/deskpad/keyboard.json index ac7cb8ca67..d7ad53cd43 100644 --- a/keyboards/h0oni/deskpad/keyboard.json +++ b/keyboards/h0oni/deskpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Deskpad", "manufacturer": "Hydrogen", + "url": "", "maintainer": "Hydrogen BD", "usb": { "vid": "0x4D53", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/h0oni/hotduck/keyboard.json b/keyboards/h0oni/hotduck/keyboard.json index 55cd18762f..bdb2386021 100644 --- a/keyboards/h0oni/hotduck/keyboard.json +++ b/keyboards/h0oni/hotduck/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "hotDuck", "manufacturer": "h0oni", + "url": "", "maintainer": "h0oni", "usb": { "vid": "0x4D53", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/hackpad/keyboard.json b/keyboards/hackpad/keyboard.json index 60a750691a..0a77c9320c 100644 --- a/keyboards/hackpad/keyboard.json +++ b/keyboards/hackpad/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/hadron/info.json b/keyboards/hadron/info.json index 1268c24a10..1d25e18f30 100644 --- a/keyboards/hadron/info.json +++ b/keyboards/hadron/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Hadron", "manufacturer": "ishtob", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFB30", diff --git a/keyboards/hadron/rules.mk b/keyboards/hadron/rules.mk new file mode 100644 index 0000000000..8498675750 --- /dev/null +++ b/keyboards/hadron/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = hadron/ver2 diff --git a/keyboards/halokeys/elemental75/keyboard.json b/keyboards/halokeys/elemental75/keyboard.json index a5ff54fccb..866916b69b 100644 --- a/keyboards/halokeys/elemental75/keyboard.json +++ b/keyboards/halokeys/elemental75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Elemental75", "manufacturer": "Halokeys", + "url": "", "maintainer": "shamit05", "usb": { "vid": "0xEA0B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/han60/keyboard.json b/keyboards/han60/keyboard.json index 243dd9bff2..41d33b1ba8 100644 --- a/keyboards/han60/keyboard.json +++ b/keyboards/han60/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/hand88/keyboard.json b/keyboards/hand88/keyboard.json index f32eef4d62..cb8a320aaf 100755 --- a/keyboards/hand88/keyboard.json +++ b/keyboards/hand88/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/108key_trackpoint/keyboard.json b/keyboards/handwired/108key_trackpoint/keyboard.json index 0e8e1a0963..94acb1a26c 100644 --- a/keyboards/handwired/108key_trackpoint/keyboard.json +++ b/keyboards/handwired/108key_trackpoint/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "108Key-TrackPoint", "manufacturer": "QMK", + "url": "", "maintainer": "mkem114", "usb": { "vid": "0x1234", diff --git a/keyboards/handwired/10k/keyboard.json b/keyboards/handwired/10k/keyboard.json index b1373f1fb3..a3293601e3 100644 --- a/keyboards/handwired/10k/keyboard.json +++ b/keyboards/handwired/10k/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false diff --git a/keyboards/handwired/2x5keypad/keyboard.json b/keyboards/handwired/2x5keypad/keyboard.json index fbf1f478ba..0b146f165b 100644 --- a/keyboards/handwired/2x5keypad/keyboard.json +++ b/keyboards/handwired/2x5keypad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "2x5keypad", "manufacturer": "Jonathan Cameron", + "url": "", "maintainer": "jmcameron", "usb": { "vid": "0xFEED", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/3dfoxc/keyboard.json b/keyboards/handwired/3dfoxc/keyboard.json index 1475d52ab4..7675acd73b 100644 --- a/keyboards/handwired/3dfoxc/keyboard.json +++ b/keyboards/handwired/3dfoxc/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "3dfoxc", "manufacturer": "dlgoodr", + "url": "", "maintainer": "dlgoodr", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/3dortho14u/rev1/keyboard.json b/keyboards/handwired/3dortho14u/rev1/keyboard.json index 5941c1792f..63773d405f 100644 --- a/keyboards/handwired/3dortho14u/rev1/keyboard.json +++ b/keyboards/handwired/3dortho14u/rev1/keyboard.json @@ -1,12 +1,14 @@ { "manufacturer": "xia0", "keyboard_name": "3dortho14u", + "url": "", "maintainer": "xia0", "processor": "atmega32u4", "bootloader": "atmel-dfu", "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/3dortho14u/rev2/keyboard.json b/keyboards/handwired/3dortho14u/rev2/keyboard.json index 3c1cdde353..9e048d643d 100644 --- a/keyboards/handwired/3dortho14u/rev2/keyboard.json +++ b/keyboards/handwired/3dortho14u/rev2/keyboard.json @@ -1,12 +1,14 @@ { "manufacturer": "xia0", "keyboard_name": "3dortho14u", + "url": "", "maintainer": "xia0", "processor": "atmega32u4", "bootloader": "atmel-dfu", "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/3dp660/keyboard.json b/keyboards/handwired/3dp660/keyboard.json index 5b26aaecc6..c1c4c13e7e 100644 --- a/keyboards/handwired/3dp660/keyboard.json +++ b/keyboards/handwired/3dp660/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "3dp660", "manufacturer": "gooberpsycho", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x676F", diff --git a/keyboards/handwired/3dp660_oled/keyboard.json b/keyboards/handwired/3dp660_oled/keyboard.json index cb19d2ab80..ef863b3b52 100644 --- a/keyboards/handwired/3dp660_oled/keyboard.json +++ b/keyboards/handwired/3dp660_oled/keyboard.json @@ -6,6 +6,7 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -21,6 +22,7 @@ "rows": ["D5", "B0", "B5", "B4", "E6", "D7", "C6", "D4", "D2", "D3"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x3661", diff --git a/keyboards/handwired/412_64/keyboard.json b/keyboards/handwired/412_64/keyboard.json index f80611178e..c0f27dcb91 100644 --- a/keyboards/handwired/412_64/keyboard.json +++ b/keyboards/handwired/412_64/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "412-64 Model 00", "manufacturer": "EDI/SCI", + "url": "", "maintainer": "fateeverywhere", "usb": { "vid": "0xF7E0", diff --git a/keyboards/handwired/42/keyboard.json b/keyboards/handwired/42/keyboard.json index 7dbb5827df..45801b7773 100644 --- a/keyboards/handwired/42/keyboard.json +++ b/keyboards/handwired/42/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "42", "manufacturer": "nglgzz", + "url": "", "maintainer": "nglgzz", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/6key/keyboard.json b/keyboards/handwired/6key/keyboard.json index 53a8e50193..7883c1e784 100644 --- a/keyboards/handwired/6key/keyboard.json +++ b/keyboards/handwired/6key/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/6macro/keyboard.json b/keyboards/handwired/6macro/keyboard.json index 7aa7311806..702008de34 100644 --- a/keyboards/handwired/6macro/keyboard.json +++ b/keyboards/handwired/6macro/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "6macro", "manufacturer": "joaofbmaia", + "url": "", "maintainer": "joaofbmaia", "usb": { "vid": "0xFEED", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/acacia/keyboard.json b/keyboards/handwired/acacia/keyboard.json index 16f614d795..d761764727 100644 --- a/keyboards/handwired/acacia/keyboard.json +++ b/keyboards/handwired/acacia/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/aek64/keyboard.json b/keyboards/handwired/aek64/keyboard.json index 0a57e17927..a06ed6decc 100644 --- a/keyboards/handwired/aek64/keyboard.json +++ b/keyboards/handwired/aek64/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "AEK64", "manufacturer": "4sStylZ and others makers", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/aim65/keyboard.json b/keyboards/handwired/aim65/keyboard.json index 393a2b9803..3f026a91fa 100644 --- a/keyboards/handwired/aim65/keyboard.json +++ b/keyboards/handwired/aim65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/alcor_dactyl/keyboard.json b/keyboards/handwired/alcor_dactyl/keyboard.json index 46f23c944b..b38d39bfcc 100644 --- a/keyboards/handwired/alcor_dactyl/keyboard.json +++ b/keyboards/handwired/alcor_dactyl/keyboard.json @@ -4,12 +4,15 @@ "maintainer": "rocketstrong", "bootloader": "rp2040", "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", "vid": "0xFEED" }, "features": { + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/amigopunk/keyboard.json b/keyboards/handwired/amigopunk/keyboard.json index 816dbb344d..e8e45d2b99 100644 --- a/keyboards/handwired/amigopunk/keyboard.json +++ b/keyboards/handwired/amigopunk/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/angel/keyboard.json b/keyboards/handwired/angel/keyboard.json index 6f2fe16589..6a4b40bb21 100644 --- a/keyboards/handwired/angel/keyboard.json +++ b/keyboards/handwired/angel/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/aplx2/keyboard.json b/keyboards/handwired/aplx2/keyboard.json index 36e00fa1bf..6a9d7130bd 100644 --- a/keyboards/handwired/aplx2/keyboard.json +++ b/keyboards/handwired/aplx2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Aplx2", "manufacturer": "Aplyard", + "url": "", "maintainer": "Aplyard", "usb": { "vid": "0xE0E0", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/aranck/keyboard.json b/keyboards/handwired/aranck/keyboard.json index ebc2203675..435d6da696 100644 --- a/keyboards/handwired/aranck/keyboard.json +++ b/keyboards/handwired/aranck/keyboard.json @@ -11,6 +11,8 @@ "features": { "audio": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/handwired/arrow_pad/keyboard.json b/keyboards/handwired/arrow_pad/keyboard.json index f70645fe2a..237c1f0749 100644 --- a/keyboards/handwired/arrow_pad/keyboard.json +++ b/keyboards/handwired/arrow_pad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GoldPad", "manufacturer": "Nobody", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/at101ish/keyboard.json b/keyboards/handwired/at101ish/keyboard.json deleted file mode 100644 index bd629f1605..0000000000 --- a/keyboards/handwired/at101ish/keyboard.json +++ /dev/null @@ -1,363 +0,0 @@ -{ - "manufacturer": "Henrik O. S\u00f8rensen", - "keyboard_name": "AT101ish", - "maintainer": "qmk", - "bootloader": "halfkay", - "diode_direction": "ROW2COL", - "features": { - "bootmagic": true, - "command": true, - "console": true, - "extrakey": true, - "nkro": true - }, - "indicators": { - "caps_lock": "D6", - "num_lock": "D4", - "scroll_lock": "E6" - }, - "matrix_pins": { - "cols": ["D7", "B4", "B5", "B6", "F7", "F6", "F5", "F4", "F1", "F0"], - "rows": ["B1", "B0", "B2", "D5", "B3", "C7", "B7", "C6", "D0", "D3", "D1", "D2"] - }, - "processor": "atmega32u4", - "tags": ["at101", "at102", "bigfoot"], - "url": "https://github.com/henrikosorensen/keyboard_pcbs/tree/master/at101_pcb", - "usb": { - "device_version": "1.1.0", - "pid": "0x0101", - "vid": "0xFEED" - }, - "community_layouts": ["fullsize_ansi", "fullsize_iso"], - "layouts": { - "LAYOUT_all": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "F10", "matrix": [1, 0], "x": 12, "y": 0}, - {"label": "F11", "matrix": [1, 1], "x": 13, "y": 0}, - {"label": "F12", "matrix": [1, 2], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [1, 3], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [1, 4], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [1, 5], "x": 17.25, "y": 0}, - {"label": "\u00ac", "matrix": [2, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [2, 1], "x": 1, "y": 1.5}, - {"label": "\"", "matrix": [2, 2], "x": 2, "y": 1.5}, - {"label": "\u00a3", "matrix": [2, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [2, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [2, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [2, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [2, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [2, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [2, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [3, 0], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [3, 1], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [3, 2], "x": 12, "y": 1.5}, - {"label": "Backspace", "matrix": [3, 3], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [3, 4], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [3, 5], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [3, 6], "x": 17.25, "y": 1.5}, - {"label": "Num Lock", "matrix": [3, 7], "x": 18.5, "y": 1.5}, - {"label": "/", "matrix": [3, 8], "x": 19.5, "y": 1.5}, - {"label": "*", "matrix": [3, 9], "x": 20.5, "y": 1.5}, - {"label": "-", "matrix": [1, 9], "x": 21.5, "y": 1.5}, - {"label": "Tab", "matrix": [4, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [4, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [4, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [4, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [4, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [4, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [4, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [4, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [4, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [4, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [5, 0], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [5, 1], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [5, 2], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [5, 3], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [5, 4], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [5, 5], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [5, 6], "x": 17.25, "y": 2.5}, - {"label": "7", "matrix": [5, 7], "x": 18.5, "y": 2.5}, - {"label": "8", "matrix": [5, 8], "x": 19.5, "y": 2.5}, - {"label": "9", "matrix": [5, 9], "x": 20.5, "y": 2.5}, - {"label": "+", "matrix": [1, 8], "x": 21.5, "y": 2.5}, - {"label": "Caps Lock", "matrix": [6, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [6, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [6, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [6, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [6, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [6, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [6, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [6, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [6, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [6, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [7, 0], "x": 10.75, "y": 3.5}, - {"label": "@", "matrix": [7, 1], "x": 11.75, "y": 3.5}, - {"label": "~", "matrix": [7, 2], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [7, 3], "x": 13.75, "y": 3.5, "w": 1.25}, - {"label": "4", "matrix": [7, 6], "x": 18.5, "y": 3.5}, - {"label": "5", "matrix": [7, 7], "x": 19.5, "y": 3.5}, - {"label": "6", "matrix": [7, 8], "x": 20.5, "y": 3.5}, - {"label": "=", "matrix": [7, 9], "x": 21.5, "y": 3.5}, - {"label": "Shift", "matrix": [8, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [8, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [8, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [8, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [8, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [8, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [8, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [8, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [8, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [8, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [9, 0], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [9, 1], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [9, 2], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "|", "matrix": [9, 3], "x": 14, "y": 4.5}, - {"label": "\u2191", "matrix": [9, 4], "x": 16.25, "y": 4.5}, - {"label": "1", "matrix": [9, 6], "x": 18.5, "y": 4.5}, - {"label": "2", "matrix": [9, 7], "x": 19.5, "y": 4.5}, - {"label": "3", "matrix": [9, 8], "x": 20.5, "y": 4.5}, - {"label": "Enter", "matrix": [9, 9], "x": 21.5, "y": 4.5, "h": 2}, - {"label": "Ctrl", "matrix": [10, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [10, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"label": "Alt", "matrix": [10, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"label": " ", "matrix": [10, 7], "x": 3.75, "y": 5.5, "w": 6.25}, - {"label": "AltGr ", "matrix": [11, 0], "x": 10, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [11, 1], "x": 11.25, "y": 5.5, "w": 1.25}, - {"label": "Menu", "matrix": [11, 2], "x": 12.5, "y": 5.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [11, 3], "x": 13.75, "y": 5.5, "w": 1.25}, - {"label": "\u2190", "matrix": [11, 4], "x": 15.25, "y": 5.5}, - {"label": "\u2193", "matrix": [11, 5], "x": 16.25, "y": 5.5}, - {"label": "\u2192", "matrix": [11, 6], "x": 17.25, "y": 5.5}, - {"label": "0", "matrix": [11, 7], "x": 18.5, "y": 5.5, "w": 2}, - {"label": ".", "matrix": [11, 8], "x": 20.5, "y": 5.5} - ] - }, - "LAYOUT_fullsize_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 2, "y": 0}, - {"matrix": [0, 2], "x": 3, "y": 0}, - {"matrix": [0, 3], "x": 4, "y": 0}, - {"matrix": [0, 4], "x": 5, "y": 0}, - {"matrix": [0, 5], "x": 6.5, "y": 0}, - {"matrix": [0, 6], "x": 7.5, "y": 0}, - {"matrix": [0, 7], "x": 8.5, "y": 0}, - {"matrix": [0, 8], "x": 9.5, "y": 0}, - {"matrix": [0, 9], "x": 11, "y": 0}, - {"matrix": [1, 0], "x": 12, "y": 0}, - {"matrix": [1, 1], "x": 13, "y": 0}, - {"matrix": [1, 2], "x": 14, "y": 0}, - {"matrix": [1, 3], "x": 15.25, "y": 0}, - {"matrix": [1, 4], "x": 16.25, "y": 0}, - {"matrix": [1, 5], "x": 17.25, "y": 0}, - {"matrix": [2, 0], "x": 0, "y": 1.5}, - {"matrix": [2, 1], "x": 1, "y": 1.5}, - {"matrix": [2, 2], "x": 2, "y": 1.5}, - {"matrix": [2, 3], "x": 3, "y": 1.5}, - {"matrix": [2, 4], "x": 4, "y": 1.5}, - {"matrix": [2, 5], "x": 5, "y": 1.5}, - {"matrix": [2, 6], "x": 6, "y": 1.5}, - {"matrix": [2, 7], "x": 7, "y": 1.5}, - {"matrix": [2, 8], "x": 8, "y": 1.5}, - {"matrix": [2, 9], "x": 9, "y": 1.5}, - {"matrix": [3, 0], "x": 10, "y": 1.5}, - {"matrix": [3, 1], "x": 11, "y": 1.5}, - {"matrix": [3, 2], "x": 12, "y": 1.5}, - {"matrix": [3, 3], "x": 13, "y": 1.5, "w": 2}, - {"matrix": [3, 4], "x": 15.25, "y": 1.5}, - {"matrix": [3, 5], "x": 16.25, "y": 1.5}, - {"matrix": [3, 6], "x": 17.25, "y": 1.5}, - {"matrix": [3, 7], "x": 18.5, "y": 1.5}, - {"matrix": [3, 8], "x": 19.5, "y": 1.5}, - {"matrix": [3, 9], "x": 20.5, "y": 1.5}, - {"matrix": [1, 9], "x": 21.5, "y": 1.5}, - {"matrix": [4, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 2.5}, - {"matrix": [4, 2], "x": 2.5, "y": 2.5}, - {"matrix": [4, 3], "x": 3.5, "y": 2.5}, - {"matrix": [4, 4], "x": 4.5, "y": 2.5}, - {"matrix": [4, 5], "x": 5.5, "y": 2.5}, - {"matrix": [4, 6], "x": 6.5, "y": 2.5}, - {"matrix": [4, 7], "x": 7.5, "y": 2.5}, - {"matrix": [4, 8], "x": 8.5, "y": 2.5}, - {"matrix": [4, 9], "x": 9.5, "y": 2.5}, - {"matrix": [5, 0], "x": 10.5, "y": 2.5}, - {"matrix": [5, 1], "x": 11.5, "y": 2.5}, - {"matrix": [5, 2], "x": 12.5, "y": 2.5}, - {"matrix": [5, 3], "x": 13.5, "y": 2.5, "w": 1.5}, - {"matrix": [5, 4], "x": 15.25, "y": 2.5}, - {"matrix": [5, 5], "x": 16.25, "y": 2.5}, - {"matrix": [5, 6], "x": 17.25, "y": 2.5}, - {"matrix": [5, 7], "x": 18.5, "y": 2.5}, - {"matrix": [5, 8], "x": 19.5, "y": 2.5}, - {"matrix": [5, 9], "x": 20.5, "y": 2.5}, - {"matrix": [1, 8], "x": 21.5, "y": 2.5, "h": 2}, - {"matrix": [6, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"matrix": [6, 1], "x": 1.75, "y": 3.5}, - {"matrix": [6, 2], "x": 2.75, "y": 3.5}, - {"matrix": [6, 3], "x": 3.75, "y": 3.5}, - {"matrix": [6, 4], "x": 4.75, "y": 3.5}, - {"matrix": [6, 5], "x": 5.75, "y": 3.5}, - {"matrix": [6, 6], "x": 6.75, "y": 3.5}, - {"matrix": [6, 7], "x": 7.75, "y": 3.5}, - {"matrix": [6, 8], "x": 8.75, "y": 3.5}, - {"matrix": [6, 9], "x": 9.75, "y": 3.5}, - {"matrix": [7, 0], "x": 10.75, "y": 3.5}, - {"matrix": [7, 1], "x": 11.75, "y": 3.5}, - {"matrix": [7, 3], "x": 12.75, "y": 3.5, "w": 2.25}, - {"matrix": [7, 6], "x": 18.5, "y": 3.5}, - {"matrix": [7, 7], "x": 19.5, "y": 3.5}, - {"matrix": [7, 8], "x": 20.5, "y": 3.5}, - {"matrix": [8, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"matrix": [8, 2], "x": 2.25, "y": 4.5}, - {"matrix": [8, 3], "x": 3.25, "y": 4.5}, - {"matrix": [8, 4], "x": 4.25, "y": 4.5}, - {"matrix": [8, 5], "x": 5.25, "y": 4.5}, - {"matrix": [8, 6], "x": 6.25, "y": 4.5}, - {"matrix": [8, 7], "x": 7.25, "y": 4.5}, - {"matrix": [8, 8], "x": 8.25, "y": 4.5}, - {"matrix": [8, 9], "x": 9.25, "y": 4.5}, - {"matrix": [9, 0], "x": 10.25, "y": 4.5}, - {"matrix": [9, 1], "x": 11.25, "y": 4.5}, - {"matrix": [9, 2], "x": 12.25, "y": 4.5, "w": 2.75}, - {"matrix": [9, 4], "x": 16.25, "y": 4.5}, - {"matrix": [9, 6], "x": 18.5, "y": 4.5}, - {"matrix": [9, 7], "x": 19.5, "y": 4.5}, - {"matrix": [9, 8], "x": 20.5, "y": 4.5}, - {"matrix": [9, 9], "x": 21.5, "y": 4.5, "h": 2}, - {"matrix": [10, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"matrix": [10, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"matrix": [10, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"matrix": [10, 7], "x": 3.75, "y": 5.5, "w": 6.25}, - {"matrix": [11, 0], "x": 10, "y": 5.5, "w": 1.25}, - {"matrix": [11, 1], "x": 11.25, "y": 5.5, "w": 1.25}, - {"matrix": [11, 2], "x": 12.5, "y": 5.5, "w": 1.25}, - {"matrix": [11, 3], "x": 13.75, "y": 5.5, "w": 1.25}, - {"matrix": [11, 4], "x": 15.25, "y": 5.5}, - {"matrix": [11, 5], "x": 16.25, "y": 5.5}, - {"matrix": [11, 6], "x": 17.25, "y": 5.5}, - {"matrix": [11, 7], "x": 18.5, "y": 5.5, "w": 2}, - {"matrix": [11, 8], "x": 20.5, "y": 5.5} - ] - }, - "LAYOUT_fullsize_iso": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 2, "y": 0}, - {"matrix": [0, 2], "x": 3, "y": 0}, - {"matrix": [0, 3], "x": 4, "y": 0}, - {"matrix": [0, 4], "x": 5, "y": 0}, - {"matrix": [0, 5], "x": 6.5, "y": 0}, - {"matrix": [0, 6], "x": 7.5, "y": 0}, - {"matrix": [0, 7], "x": 8.5, "y": 0}, - {"matrix": [0, 8], "x": 9.5, "y": 0}, - {"matrix": [0, 9], "x": 11, "y": 0}, - {"matrix": [1, 0], "x": 12, "y": 0}, - {"matrix": [1, 1], "x": 13, "y": 0}, - {"matrix": [1, 2], "x": 14, "y": 0}, - {"matrix": [1, 3], "x": 15.25, "y": 0}, - {"matrix": [1, 4], "x": 16.25, "y": 0}, - {"matrix": [1, 5], "x": 17.25, "y": 0}, - {"matrix": [2, 0], "x": 0, "y": 1.5}, - {"matrix": [2, 1], "x": 1, "y": 1.5}, - {"matrix": [2, 2], "x": 2, "y": 1.5}, - {"matrix": [2, 3], "x": 3, "y": 1.5}, - {"matrix": [2, 4], "x": 4, "y": 1.5}, - {"matrix": [2, 5], "x": 5, "y": 1.5}, - {"matrix": [2, 6], "x": 6, "y": 1.5}, - {"matrix": [2, 7], "x": 7, "y": 1.5}, - {"matrix": [2, 8], "x": 8, "y": 1.5}, - {"matrix": [2, 9], "x": 9, "y": 1.5}, - {"matrix": [3, 0], "x": 10, "y": 1.5}, - {"matrix": [3, 1], "x": 11, "y": 1.5}, - {"matrix": [3, 2], "x": 12, "y": 1.5}, - {"matrix": [3, 3], "x": 13, "y": 1.5, "w": 2}, - {"matrix": [3, 4], "x": 15.25, "y": 1.5}, - {"matrix": [3, 5], "x": 16.25, "y": 1.5}, - {"matrix": [3, 6], "x": 17.25, "y": 1.5}, - {"matrix": [3, 7], "x": 18.5, "y": 1.5}, - {"matrix": [3, 8], "x": 19.5, "y": 1.5}, - {"matrix": [3, 9], "x": 20.5, "y": 1.5}, - {"matrix": [1, 9], "x": 21.5, "y": 1.5}, - {"matrix": [4, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 2.5}, - {"matrix": [4, 2], "x": 2.5, "y": 2.5}, - {"matrix": [4, 3], "x": 3.5, "y": 2.5}, - {"matrix": [4, 4], "x": 4.5, "y": 2.5}, - {"matrix": [4, 5], "x": 5.5, "y": 2.5}, - {"matrix": [4, 6], "x": 6.5, "y": 2.5}, - {"matrix": [4, 7], "x": 7.5, "y": 2.5}, - {"matrix": [4, 8], "x": 8.5, "y": 2.5}, - {"matrix": [4, 9], "x": 9.5, "y": 2.5}, - {"matrix": [5, 0], "x": 10.5, "y": 2.5}, - {"matrix": [5, 1], "x": 11.5, "y": 2.5}, - {"matrix": [5, 2], "x": 12.5, "y": 2.5}, - {"matrix": [5, 4], "x": 15.25, "y": 2.5}, - {"matrix": [5, 5], "x": 16.25, "y": 2.5}, - {"matrix": [5, 6], "x": 17.25, "y": 2.5}, - {"matrix": [5, 7], "x": 18.5, "y": 2.5}, - {"matrix": [5, 8], "x": 19.5, "y": 2.5}, - {"matrix": [5, 9], "x": 20.5, "y": 2.5}, - {"matrix": [1, 8], "x": 21.5, "y": 2.5, "h": 2}, - {"matrix": [6, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"matrix": [6, 1], "x": 1.75, "y": 3.5}, - {"matrix": [6, 2], "x": 2.75, "y": 3.5}, - {"matrix": [6, 3], "x": 3.75, "y": 3.5}, - {"matrix": [6, 4], "x": 4.75, "y": 3.5}, - {"matrix": [6, 5], "x": 5.75, "y": 3.5}, - {"matrix": [6, 6], "x": 6.75, "y": 3.5}, - {"matrix": [6, 7], "x": 7.75, "y": 3.5}, - {"matrix": [6, 8], "x": 8.75, "y": 3.5}, - {"matrix": [6, 9], "x": 9.75, "y": 3.5}, - {"matrix": [7, 0], "x": 10.75, "y": 3.5}, - {"matrix": [7, 1], "x": 11.75, "y": 3.5}, - {"matrix": [7, 2], "x": 12.75, "y": 3.5}, - {"matrix": [7, 3], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"matrix": [7, 6], "x": 18.5, "y": 3.5}, - {"matrix": [7, 7], "x": 19.5, "y": 3.5}, - {"matrix": [7, 8], "x": 20.5, "y": 3.5}, - {"matrix": [8, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"matrix": [8, 1], "x": 1.25, "y": 4.5}, - {"matrix": [8, 2], "x": 2.25, "y": 4.5}, - {"matrix": [8, 3], "x": 3.25, "y": 4.5}, - {"matrix": [8, 4], "x": 4.25, "y": 4.5}, - {"matrix": [8, 5], "x": 5.25, "y": 4.5}, - {"matrix": [8, 6], "x": 6.25, "y": 4.5}, - {"matrix": [8, 7], "x": 7.25, "y": 4.5}, - {"matrix": [8, 8], "x": 8.25, "y": 4.5}, - {"matrix": [8, 9], "x": 9.25, "y": 4.5}, - {"matrix": [9, 0], "x": 10.25, "y": 4.5}, - {"matrix": [9, 1], "x": 11.25, "y": 4.5}, - {"matrix": [9, 2], "x": 12.25, "y": 4.5, "w": 2.75}, - {"matrix": [9, 4], "x": 16.25, "y": 4.5}, - {"matrix": [9, 6], "x": 18.5, "y": 4.5}, - {"matrix": [9, 7], "x": 19.5, "y": 4.5}, - {"matrix": [9, 8], "x": 20.5, "y": 4.5}, - {"matrix": [9, 9], "x": 21.5, "y": 4.5, "h": 2}, - {"matrix": [10, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"matrix": [10, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"matrix": [10, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"matrix": [10, 7], "x": 3.75, "y": 5.5, "w": 6.25}, - {"matrix": [11, 0], "x": 10, "y": 5.5, "w": 1.25}, - {"matrix": [11, 1], "x": 11.25, "y": 5.5, "w": 1.25}, - {"matrix": [11, 2], "x": 12.5, "y": 5.5, "w": 1.25}, - {"matrix": [11, 3], "x": 13.75, "y": 5.5, "w": 1.25}, - {"matrix": [11, 4], "x": 15.25, "y": 5.5}, - {"matrix": [11, 5], "x": 16.25, "y": 5.5}, - {"matrix": [11, 6], "x": 17.25, "y": 5.5}, - {"matrix": [11, 7], "x": 18.5, "y": 5.5, "w": 2}, - {"matrix": [11, 8], "x": 20.5, "y": 5.5} - ] - } - } -} diff --git a/keyboards/handwired/at101ish/keymaps/default/keymap.c b/keyboards/handwired/at101ish/keymaps/default/keymap.c deleted file mode 100644 index 2311a24437..0000000000 --- a/keyboards/handwired/at101ish/keymaps/default/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2025 Henrik Otte Sørensen (@henrikottesorensen) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_BSLS, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT) -}; diff --git a/keyboards/handwired/at101ish/keymaps/osdetect/keymap.c b/keyboards/handwired/at101ish/keymaps/osdetect/keymap.c deleted file mode 100644 index 89b748a61b..0000000000 --- a/keyboards/handwired/at101ish/keymaps/osdetect/keymap.c +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright 2025 Henrik Otte Sørensen (@henrikottesorensen) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum LAYER { - _PC = 0, - _MAC, - _FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_PC] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_BSLS, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), - [_MAC] = LAYOUT_all( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_WSCH, KC_LPAD, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, - KC_NUBS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL, - KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_BSLS, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPACE, KC_RGUI, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), - [_FN] = LAYOUT_all( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DF(_PC), _______, _______, _______, _______, KC_MUTE, KC_VOLD, _______, _______, _______, _______, - _______, _______, _______, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, QK_BOOT, _______, DF(_MAC),_______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_APP, KC_MPRV, KC_MSTP, KC_MNXT, _______, _______) -}; - -bool process_detected_host_os_user(os_variant_t detected_os) { - /* If Apple, swap to macOS layer. */ - if (detected_os == OS_MACOS || detected_os == OS_IOS) { - set_single_default_layer(_MAC); - } - else /* Else use PC layer */ { - set_single_default_layer(_PC); - } - - return true; -} diff --git a/keyboards/handwired/at101ish/keymaps/osdetect/rules.mk b/keyboards/handwired/at101ish/keymaps/osdetect/rules.mk deleted file mode 100644 index 64ac3dcb16..0000000000 --- a/keyboards/handwired/at101ish/keymaps/osdetect/rules.mk +++ /dev/null @@ -1 +0,0 @@ -OS_DETECTION_ENABLE = yes diff --git a/keyboards/handwired/at101ish/readme.md b/keyboards/handwired/at101ish/readme.md deleted file mode 100644 index 2bdfbb9367..0000000000 --- a/keyboards/handwired/at101ish/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# AT101(-ish) - -A replacement PCB for Dell AT101 family. (In theory) supports AT101, AT101W, AT102, AT102W, maybe other Bigfoot platform boards. - -Keyboard Maintainer: QMK Community and Henrik O. Sørensen -Hardware Supported: AT101(ish) PCB -Hardware Availability: https://github.com/henrikosorensen/keyboard_pcbs/tree/master/at101_pcb - -Make example for this keyboard (after setting up your build environment): - - make handwired/at101ish:default - -Flashing example for this keyboard: - - make handwired/at101ish:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 2 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the programming button on the teensy 2.0 PCB. - diff --git a/keyboards/handwired/atreus50/keyboard.json b/keyboards/handwired/atreus50/keyboard.json index cedc231964..961d1959b0 100644 --- a/keyboards/handwired/atreus50/keyboard.json +++ b/keyboards/handwired/atreus50/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Atreus50", "manufacturer": "Hexwire", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xBB80", @@ -29,6 +30,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/axon/keyboard.json b/keyboards/handwired/axon/keyboard.json index 82b97bca84..007f90fbc8 100644 --- a/keyboards/handwired/axon/keyboard.json +++ b/keyboards/handwired/axon/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/baredev/rev1/keyboard.json b/keyboards/handwired/baredev/rev1/keyboard.json index 3a753bd740..470b926bb4 100644 --- a/keyboards/handwired/baredev/rev1/keyboard.json +++ b/keyboards/handwired/baredev/rev1/keyboard.json @@ -24,6 +24,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/bdn9_ble/keyboard.json b/keyboards/handwired/bdn9_ble/keyboard.json index 27ed008f43..20f020504c 100644 --- a/keyboards/handwired/bdn9_ble/keyboard.json +++ b/keyboards/handwired/bdn9_ble/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BDN9-BLE", "manufacturer": "KeyPCB/Keebio", + "url": "", "maintainer": "merlin04", "usb": { "vid": "0xCB10", diff --git a/keyboards/handwired/bento/rules.mk b/keyboards/handwired/bento/rules.mk new file mode 100644 index 0000000000..e160faab83 --- /dev/null +++ b/keyboards/handwired/bento/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/bento/rev1 diff --git a/keyboards/handwired/bigmac/keyboard.json b/keyboards/handwired/bigmac/keyboard.json index 40592658a1..8eff62a7ea 100644 --- a/keyboards/handwired/bigmac/keyboard.json +++ b/keyboards/handwired/bigmac/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BigMac", "manufacturer": "Taylore101", + "url": "", "maintainer": "Taylore101", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/bolek/keyboard.json b/keyboards/handwired/bolek/keyboard.json index 7ce99e73b7..68fe7958bf 100644 --- a/keyboards/handwired/bolek/keyboard.json +++ b/keyboards/handwired/bolek/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/boss566y/redragon_vara/keyboard.json b/keyboards/handwired/boss566y/redragon_vara/keyboard.json index bdcfb5b008..b75caa6544 100644 --- a/keyboards/handwired/boss566y/redragon_vara/keyboard.json +++ b/keyboards/handwired/boss566y/redragon_vara/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Redragon Vara", "manufacturer": "PH", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5048", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/brain/keyboard.json b/keyboards/handwired/brain/keyboard.json index 2efa27d712..c5f8c3682c 100644 --- a/keyboards/handwired/brain/keyboard.json +++ b/keyboards/handwired/brain/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Brain", "manufacturer": "Klackygears", + "url": "", "maintainer": "Klackygears", "usb": { "vid": "0x4A53", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/handwired/bstk100/keyboard.json b/keyboards/handwired/bstk100/keyboard.json index f505b75831..0fc255f9c4 100644 --- a/keyboards/handwired/bstk100/keyboard.json +++ b/keyboards/handwired/bstk100/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/cans12er/keyboard.json b/keyboards/handwired/cans12er/keyboard.json index a1ecaa9f6e..9d08706423 100644 --- a/keyboards/handwired/cans12er/keyboard.json +++ b/keyboards/handwired/cans12er/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Cans12er", "manufacturer": "Can", + "url": "", "maintainer": "canbaytok", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/chiron/keyboard.json b/keyboards/handwired/chiron/keyboard.json index 024132396a..1685a9d477 100644 --- a/keyboards/handwired/chiron/keyboard.json +++ b/keyboards/handwired/chiron/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Chiron", "manufacturer": "Mike Hix", + "url": "", "maintainer": "musl", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": true, "nkro": false, diff --git a/keyboards/handwired/ck4x4/keyboard.json b/keyboards/handwired/ck4x4/keyboard.json index 717820f9fc..642408cc0e 100644 --- a/keyboards/handwired/ck4x4/keyboard.json +++ b/keyboards/handwired/ck4x4/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CK4x4", "manufacturer": "QMK", + "url": "", "maintainer": "awkannan", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/cmd60/keyboard.json b/keyboards/handwired/cmd60/keyboard.json index 05872439c9..f9733a7582 100644 --- a/keyboards/handwired/cmd60/keyboard.json +++ b/keyboards/handwired/cmd60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CMD60", "manufacturer": "cmd", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/co60/rev1/keyboard.json b/keyboards/handwired/co60/rev1/keyboard.json index 250c157b90..1bf60673fb 100644 --- a/keyboards/handwired/co60/rev1/keyboard.json +++ b/keyboards/handwired/co60/rev1/keyboard.json @@ -6,6 +6,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "leader": true, "mousekey": true, diff --git a/keyboards/handwired/co60/rev6/keyboard.json b/keyboards/handwired/co60/rev6/keyboard.json index f38ae149b4..743a738ff0 100644 --- a/keyboards/handwired/co60/rev6/keyboard.json +++ b/keyboards/handwired/co60/rev6/keyboard.json @@ -6,6 +6,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "leader": true, "mousekey": true, diff --git a/keyboards/handwired/co60/rev7/keyboard.json b/keyboards/handwired/co60/rev7/keyboard.json index 493f546372..4319c9aedf 100644 --- a/keyboards/handwired/co60/rev7/keyboard.json +++ b/keyboards/handwired/co60/rev7/keyboard.json @@ -6,6 +6,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "leader": true, "mousekey": true, diff --git a/keyboards/handwired/colorlice/keyboard.json b/keyboards/handwired/colorlice/keyboard.json index b2606afb89..4ccc10527c 100644 --- a/keyboards/handwired/colorlice/keyboard.json +++ b/keyboards/handwired/colorlice/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ColorLice", "manufacturer": "marhalloweenvt", + "url": "", "maintainer": "marhalloweenvt", "usb": { "vid": "0xFEED", @@ -72,6 +73,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/concertina/64key/keyboard.json b/keyboards/handwired/concertina/64key/keyboard.json index c8790fa2de..dedc240d3f 100644 --- a/keyboards/handwired/concertina/64key/keyboard.json +++ b/keyboards/handwired/concertina/64key/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/consolekeyboard/18key/keyboard.json b/keyboards/handwired/consolekeyboard/18key/keyboard.json index b0e4853038..c75e324cf3 100644 --- a/keyboards/handwired/consolekeyboard/18key/keyboard.json +++ b/keyboards/handwired/consolekeyboard/18key/keyboard.json @@ -26,6 +26,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/handwired/consolekeyboard/20key/keyboard.json b/keyboards/handwired/consolekeyboard/20key/keyboard.json index 18b1da288e..87449fc21e 100644 --- a/keyboards/handwired/consolekeyboard/20key/keyboard.json +++ b/keyboards/handwired/consolekeyboard/20key/keyboard.json @@ -26,6 +26,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/handwired/consolekeyboard/27key/keyboard.json b/keyboards/handwired/consolekeyboard/27key/keyboard.json index ecb46b9f0e..21a894d5e4 100644 --- a/keyboards/handwired/consolekeyboard/27key/keyboard.json +++ b/keyboards/handwired/consolekeyboard/27key/keyboard.json @@ -26,6 +26,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/handwired/consolekeyboard/30key/keyboard.json b/keyboards/handwired/consolekeyboard/30key/keyboard.json index 2ecef968ac..159558e355 100644 --- a/keyboards/handwired/consolekeyboard/30key/keyboard.json +++ b/keyboards/handwired/consolekeyboard/30key/keyboard.json @@ -26,6 +26,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/handwired/croxsplit44/keyboard.json b/keyboards/handwired/croxsplit44/keyboard.json index dbb285e115..d497942b95 100644 --- a/keyboards/handwired/croxsplit44/keyboard.json +++ b/keyboards/handwired/croxsplit44/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "splitcustom44", "manufacturer": "Samux6146", + "url": "", "maintainer": "Samux6146", "usb": { "vid": "0xB62C", @@ -30,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/handwired/curiosity/keyboard.json b/keyboards/handwired/curiosity/keyboard.json index f49a542bf9..e95fa25e71 100644 --- a/keyboards/handwired/curiosity/keyboard.json +++ b/keyboards/handwired/curiosity/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Curiosity", "manufacturer": "Spaceman", + "url": "", "maintainer": "Spaceman", "usb": { "vid": "0x5342", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/d48/keyboard.json b/keyboards/handwired/d48/keyboard.json index a0266e475e..99c8a67326 100644 --- a/keyboards/handwired/d48/keyboard.json +++ b/keyboards/handwired/d48/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "D48", "manufacturer": "Andrew Dunai", + "url": "", "maintainer": "and3rson", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/dactyl/keyboard.json b/keyboards/handwired/dactyl/keyboard.json index 6026469176..58baf228ca 100644 --- a/keyboards/handwired/dactyl/keyboard.json +++ b/keyboards/handwired/dactyl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl", "manufacturer": "Adereth", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/dactyl_cc/keyboard.json b/keyboards/handwired/dactyl_cc/keyboard.json index 8c2ef8061c..e607bfad1a 100644 --- a/keyboards/handwired/dactyl_cc/keyboard.json +++ b/keyboards/handwired/dactyl_cc/keyboard.json @@ -12,6 +12,7 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, "command": true, "nkro": false }, @@ -22,9 +23,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "development_board": "promicro", "layouts": { diff --git a/keyboards/handwired/dactyl_kinesis/keyboard.json b/keyboards/handwired/dactyl_kinesis/keyboard.json index 78abe5191d..ee68a2c515 100644 --- a/keyboards/handwired/dactyl_kinesis/keyboard.json +++ b/keyboards/handwired/dactyl_kinesis/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl Kinesis", "manufacturer": "dmik", + "url": "", "maintainer": "dmik", "usb": { "vid": "0x444D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -26,9 +29,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "development_board": "promicro", "layouts": { diff --git a/keyboards/handwired/dactyl_left/keyboard.json b/keyboards/handwired/dactyl_left/keyboard.json index 2a2254f578..cfb3ad1489 100644 --- a/keyboards/handwired/dactyl_left/keyboard.json +++ b/keyboards/handwired/dactyl_left/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "dactyl_left", "manufacturer": "RedForty", + "url": "", "maintainer": "RedForty", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/dactyl_lightcycle/keyboard.json b/keyboards/handwired/dactyl_lightcycle/keyboard.json index d0ec13f09c..1b5f2dd39a 100644 --- a/keyboards/handwired/dactyl_lightcycle/keyboard.json +++ b/keyboards/handwired/dactyl_lightcycle/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "mousekey": true, "extrakey": true, "nkro": false @@ -24,9 +26,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "development_board": "promicro", "community_layouts": ["split_3x6_3", "split_3x5_3"], diff --git a/keyboards/handwired/dactyl_manuform/4x5/keyboard.json b/keyboards/handwired/dactyl_manuform/4x5/keyboard.json index 7ef1482028..e0a1b531a5 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/4x5/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl Manuform 4x5", "manufacturer": "tshort", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444D", @@ -16,6 +17,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -33,9 +35,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json b/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json index 207f8c06a7..7efc4718ad 100644 --- a/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -28,9 +29,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "development_board": "promicro", "layouts": { diff --git a/keyboards/handwired/dactyl_manuform/4x6/keyboard.json b/keyboards/handwired/dactyl_manuform/4x6/keyboard.json index 7b25b2d936..d589c532a8 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/4x6/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl Manuform 4x6", "manufacturer": "tshort", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444D", @@ -16,6 +17,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -33,9 +35,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/keyboard.json b/keyboards/handwired/dactyl_manuform/4x6_4_3/keyboard.json index 14d49e2c93..c0c24a8966 100644 --- a/keyboards/handwired/dactyl_manuform/4x6_4_3/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -30,9 +32,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "development_board": "promicro", "layouts": { diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/keyboard.json b/keyboards/handwired/dactyl_manuform/4x6_5/keyboard.json index b875d322da..47ad7aa920 100644 --- a/keyboards/handwired/dactyl_manuform/4x6_5/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/4x6_5/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl Manuform 4x6 5 thumb keys", "manufacturer": "tshort", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444D", @@ -16,6 +17,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -33,9 +35,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/handwired/dactyl_manuform/5x6/keyboard.json b/keyboards/handwired/dactyl_manuform/5x6/keyboard.json index 2021e082e2..353b148126 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/5x6/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl-Manuform (5x6)", "manufacturer": "tshort", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444D", @@ -16,6 +17,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -33,9 +35,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/keyboard.json b/keyboards/handwired/dactyl_manuform/5x6_2_5/keyboard.json index 8f53dd7521..620ffdec06 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_2_5/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl-Manuform (5x6+2)", "manufacturer": "tshort", + "url": "", "maintainer": "jceb", "usb": { "vid": "0x444D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -26,9 +29,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - }, + "soft_serial_pin": "D0", "bootmagic": { "matrix": [6, 5] } diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keyboard.json b/keyboards/handwired/dactyl_manuform/5x6_5/keyboard.json index 4d8684bce8..fc7676aa4b 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl-Manuform (5x6)", "manufacturer": "tshort", + "url": "", "maintainer": "jceb", "usb": { "vid": "0x444D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -26,9 +29,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - }, + "soft_serial_pin": "D0", "bootmagic": { "matrix": [6, 5] } diff --git a/keyboards/handwired/dactyl_manuform/5x6_6/keyboard.json b/keyboards/handwired/dactyl_manuform/5x6_6/keyboard.json index a6122f8492..974f1b8bc3 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_6/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/5x6_6/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -28,9 +29,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D3" - } + "soft_serial_pin": "D3" }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/keyboard.json b/keyboards/handwired/dactyl_manuform/5x6_68/keyboard.json index dc53bea60b..5b6bdfb86e 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_68/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/5x6_68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl-Manuform (5x6) 68 Keys", "manufacturer": "kpagratis", + "url": "", "maintainer": "kpagratis", "development_board": "promicro", "usb": { @@ -11,6 +12,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -23,9 +25,7 @@ }, "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "matrix_pins": { "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], diff --git a/keyboards/handwired/dactyl_manuform/5x7/keyboard.json b/keyboards/handwired/dactyl_manuform/5x7/keyboard.json index bdafd60366..d40a45dfa7 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/5x7/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl-Manuform (5x7)", "manufacturer": "tshort", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444D", @@ -16,6 +17,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -33,9 +35,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/handwired/dactyl_manuform/5x8/keyboard.json b/keyboards/handwired/dactyl_manuform/5x8/keyboard.json index 2ac3010717..24ac4924ac 100644 --- a/keyboards/handwired/dactyl_manuform/5x8/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/5x8/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl-Manuform (5x8)", "manufacturer": "tshort", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444D", diff --git a/keyboards/handwired/dactyl_manuform/6x6/info.json b/keyboards/handwired/dactyl_manuform/6x6/info.json index 3a26d38af1..080e4e1942 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/info.json +++ b/keyboards/handwired/dactyl_manuform/6x6/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl-Manuform (6x6)", "manufacturer": "tshort", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444D", diff --git a/keyboards/handwired/dactyl_manuform/6x6/promicro/keyboard.json b/keyboards/handwired/dactyl_manuform/6x6/promicro/keyboard.json index 44ae441270..213a3c29f5 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/promicro/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/6x6/promicro/keyboard.json @@ -6,9 +6,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "rgblight": { "led_count": 12 diff --git a/keyboards/handwired/dactyl_manuform/6x6/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/rules.mk new file mode 100644 index 0000000000..29194b429e --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/dactyl_manuform/6x6/promicro diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/keyboard.json b/keyboards/handwired/dactyl_manuform/6x6_4/keyboard.json index 8663f20eb4..98e96c9639 100644 --- a/keyboards/handwired/dactyl_manuform/6x6_4/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/6x6_4/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl-Manuform (6x6+4)", "manufacturer": "tshort", + "url": "", "maintainer": "dmik", "usb": { "vid": "0x444D", @@ -16,6 +17,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -33,9 +35,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/handwired/dactyl_manuform/6x7/keyboard.json b/keyboards/handwired/dactyl_manuform/6x7/keyboard.json index 2c5af325aa..153b6c75c4 100644 --- a/keyboards/handwired/dactyl_manuform/6x7/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/6x7/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl-Manuform (6x7)", "manufacturer": "tshort", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x444D", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -30,9 +32,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "rgblight": { "led_count": 12 diff --git a/keyboards/handwired/dactyl_manuform_pi_pico/keyboard.json b/keyboards/handwired/dactyl_manuform_pi_pico/keyboard.json index 6d5949e0bf..57202c802a 100644 --- a/keyboards/handwired/dactyl_manuform_pi_pico/keyboard.json +++ b/keyboards/handwired/dactyl_manuform_pi_pico/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/dactyl_maximus/keyboard.json b/keyboards/handwired/dactyl_maximus/keyboard.json index f53c6ed59d..081fab571a 100644 --- a/keyboards/handwired/dactyl_maximus/keyboard.json +++ b/keyboards/handwired/dactyl_maximus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl Maximus", "manufacturer": "handwired", + "url": "", "maintainer": "dunk2k", "usb": { "vid": "0x444C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -23,9 +26,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D1" - } + "soft_serial_pin": "D1" }, "development_board": "promicro", "layouts": { diff --git a/keyboards/handwired/dactyl_minidox/keyboard.json b/keyboards/handwired/dactyl_minidox/keyboard.json index b488bac4b0..5bd5c5c05a 100644 --- a/keyboards/handwired/dactyl_minidox/keyboard.json +++ b/keyboards/handwired/dactyl_minidox/keyboard.json @@ -67,9 +67,7 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "development_board": "promicro", "community_layouts": ["split_3x5_3"], diff --git a/keyboards/handwired/dactyl_promicro/keyboard.json b/keyboards/handwired/dactyl_promicro/keyboard.json index 32511d576d..824ffe7e7e 100644 --- a/keyboards/handwired/dactyl_promicro/keyboard.json +++ b/keyboards/handwired/dactyl_promicro/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl Ergo(6x6)", "manufacturer": "tshort", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -27,9 +29,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "rgblight": { "led_count": 12 diff --git a/keyboards/handwired/dactyl_rah/keyboard.json b/keyboards/handwired/dactyl_rah/keyboard.json index 2cb7741cc7..3bc5dc0854 100644 --- a/keyboards/handwired/dactyl_rah/keyboard.json +++ b/keyboards/handwired/dactyl_rah/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -28,9 +29,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/handwired/dactyl_tracer/keyboard.json b/keyboards/handwired/dactyl_tracer/keyboard.json index 43e2bef722..29e5990666 100644 --- a/keyboards/handwired/dactyl_tracer/keyboard.json +++ b/keyboards/handwired/dactyl_tracer/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "mousekey": true, "extrakey": true, "nkro": true @@ -22,9 +24,7 @@ "development_board": "promicro", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "layouts": { "LAYOUT" : { diff --git a/keyboards/handwired/dactylmacropad/keyboard.json b/keyboards/handwired/dactylmacropad/keyboard.json index fa89b9e117..5d40a240a9 100644 --- a/keyboards/handwired/dactylmacropad/keyboard.json +++ b/keyboards/handwired/dactylmacropad/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/daishi/keyboard.json b/keyboards/handwired/daishi/keyboard.json index f7dabc5992..22044faab3 100644 --- a/keyboards/handwired/daishi/keyboard.json +++ b/keyboards/handwired/daishi/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Daishi", "manufacturer": "MetaMechs", + "url": "", "maintainer": "Croktopus", "usb": { "vid": "0x6D6D", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "dynamic_macro": true, "encoder": true, diff --git a/keyboards/handwired/daskeyboard/daskeyboard4/keyboard.json b/keyboards/handwired/daskeyboard/daskeyboard4/keyboard.json index 7d9b60722f..8308506512 100644 --- a/keyboards/handwired/daskeyboard/daskeyboard4/keyboard.json +++ b/keyboards/handwired/daskeyboard/daskeyboard4/keyboard.json @@ -8,6 +8,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -30,7 +32,8 @@ "indicators": { "num_lock": "C13", "caps_lock": "B14", - "scroll_lock": "B2" + "scroll_lock": "B2", + "on_state": 1 }, "encoder": { "rotary": [ @@ -40,233 +43,114 @@ "tapping": { "toggle": 2 }, - "community_layouts": ["fullsize_ansi", "fullsize_iso"], "layouts": { - "LAYOUT_fullsize_ansi": { - "layout": [ - {"matrix": [5, 16], "x": 0, "y": 0}, - {"matrix": [2, 4], "x": 2, "y": 0}, - {"matrix": [2, 5], "x": 3, "y": 0}, - {"matrix": [3, 5], "x": 4, "y": 0}, - {"matrix": [5, 5], "x": 5, "y": 0}, - {"matrix": [0, 1], "x": 6.5, "y": 0}, - {"matrix": [5, 8], "x": 7.5, "y": 0}, - {"matrix": [3, 3], "x": 8.5, "y": 0}, - {"matrix": [2, 3], "x": 9.5, "y": 0}, - {"matrix": [2, 2], "x": 11, "y": 0}, - {"matrix": [0, 2], "x": 12, "y": 0}, - {"matrix": [5, 2], "x": 13, "y": 0}, - {"matrix": [6, 2], "x": 14, "y": 0}, - {"matrix": [0, 0], "x": 15.25, "y": 0}, - {"matrix": [1, 0], "x": 16.25, "y": 0}, - {"matrix": [1, 1], "x": 17.25, "y": 0}, - - {"matrix": [2, 16], "x": 0, "y": 1.25}, - {"matrix": [0, 16], "x": 1, "y": 1.25}, - {"matrix": [0, 4], "x": 2, "y": 1.25}, - {"matrix": [0, 5], "x": 3, "y": 1.25}, - {"matrix": [0, 6], "x": 4, "y": 1.25}, - {"matrix": [2, 6], "x": 5, "y": 1.25}, - {"matrix": [2, 7], "x": 6, "y": 1.25}, - {"matrix": [0, 7], "x": 7, "y": 1.25}, - {"matrix": [0, 8], "x": 8, "y": 1.25}, - {"matrix": [0, 3], "x": 9, "y": 1.25}, - {"matrix": [0, 9], "x": 10, "y": 1.25}, - {"matrix": [2, 9], "x": 11, "y": 1.25}, - {"matrix": [2, 8], "x": 12, "y": 1.25}, - {"matrix": [3, 2], "w": 2, "x": 13, "y": 1.25}, - {"matrix": [2, 11], "x": 15.25, "y": 1.25}, - {"matrix": [2, 15], "x": 16.25, "y": 1.25}, - {"matrix": [2, 14], "x": 17.25, "y": 1.25}, - {"matrix": [4, 10], "x": 18.5, "y": 1.25}, - {"matrix": [4, 11], "x": 19.5, "y": 1.25}, - {"matrix": [4, 14], "x": 20.5, "y": 1.25}, - {"matrix": [6, 14], "x": 21.5, "y": 1.25}, - - {"matrix": [3, 16], "w": 1.5, "x": 0, "y": 2.25}, - {"matrix": [1, 16], "x": 1.5, "y": 2.25}, - {"matrix": [1, 4], "x": 2.5, "y": 2.25}, - {"matrix": [1, 5], "x": 3.5, "y": 2.25}, - {"matrix": [1, 6], "x": 4.5, "y": 2.25}, - {"matrix": [3, 6], "x": 5.5, "y": 2.25}, - {"matrix": [3, 7], "x": 6.5, "y": 2.25}, - {"matrix": [1, 7], "x": 7.5, "y": 2.25}, - {"matrix": [1, 8], "x": 8.5, "y": 2.25}, - {"matrix": [1, 3], "x": 9.5, "y": 2.25}, - {"matrix": [1, 9], "x": 10.5, "y": 2.25}, - {"matrix": [3, 9], "x": 11.5, "y": 2.25}, - {"matrix": [3, 8], "x": 12.5, "y": 2.25}, - {"matrix": [7, 2], "x": 13.5, "y": 2.25, "w": 1.5}, - {"matrix": [2, 10], "x": 15.25, "y": 2.25}, - {"matrix": [0, 15], "x": 16.25, "y": 2.25}, - {"matrix": [0, 14], "x": 17.25, "y": 2.25}, - {"matrix": [1, 10], "x": 18.5, "y": 2.25}, - {"matrix": [1, 11], "x": 19.5, "y": 2.25}, - {"matrix": [1, 14], "x": 20.5, "y": 2.25}, - {"matrix": [1, 15], "x": 21.5, "y": 2.25, "h": 2}, - - {"matrix": [3, 4], "w": 1.75, "x": 0, "y": 3.25}, - {"matrix": [7, 16], "x": 1.75, "y": 3.25}, - {"matrix": [7, 4], "x": 2.75, "y": 3.25}, - {"matrix": [7, 5], "x": 3.75, "y": 3.25}, - {"matrix": [7, 6], "x": 4.75, "y": 3.25}, - {"matrix": [5, 6], "x": 5.75, "y": 3.25}, - {"matrix": [5, 7], "x": 6.75, "y": 3.25}, - {"matrix": [7, 7], "x": 7.75, "y": 3.25}, - {"matrix": [7, 8], "x": 8.75, "y": 3.25}, - {"matrix": [7, 3], "x": 9.75, "y": 3.25}, - {"matrix": [7, 9], "x": 10.75, "y": 3.25}, - {"matrix": [5, 9], "x": 11.75, "y": 3.25}, - {"matrix": [4, 2], "w": 2.25, "x": 12.75, "y": 3.25}, - {"matrix": [3, 10], "x": 18.5, "y": 3.25}, - {"matrix": [3, 11], "x": 19.5, "y": 3.25}, - {"matrix": [3, 14], "x": 20.5, "y": 3.25}, - - {"matrix": [3, 13], "w": 2.25, "x": 0, "y": 4.25}, - {"matrix": [4, 16], "x": 2.25, "y": 4.25}, - {"matrix": [4, 4], "x": 3.25, "y": 4.25}, - {"matrix": [4, 5], "x": 4.25, "y": 4.25}, - {"matrix": [4, 6], "x": 5.25, "y": 4.25}, - {"matrix": [6, 6], "x": 6.25, "y": 4.25}, - {"matrix": [6, 7], "x": 7.25, "y": 4.25}, - {"matrix": [4, 7], "x": 8.25, "y": 4.25}, - {"matrix": [4, 8], "x": 9.25, "y": 4.25}, - {"matrix": [4, 3], "x": 10.25, "y": 4.25}, - {"matrix": [6, 9], "x": 11.25, "y": 4.25}, - {"matrix": [7, 13], "w": 2.75, "x": 12.25, "y": 4.25}, - {"matrix": [5, 15], "x": 16.25, "y": 4.25}, - {"matrix": [7, 10], "x": 18.5, "y": 4.25}, - {"matrix": [7, 11], "x": 19.5, "y": 4.25}, - {"matrix": [7, 14], "x": 20.5, "y": 4.25}, - {"matrix": [7, 15], "x": 21.5, "y": 4.25, "h": 2}, - - {"matrix": [2, 1], "w": 1.25, "x": 0, "y": 5.25}, - {"matrix": [3, 12], "w": 1.25, "x": 1.25, "y": 5.25}, - {"matrix": [5, 0], "w": 1.25, "x": 2.5, "y": 5.25}, - {"matrix": [5, 10], "w": 6.25, "x": 3.75, "y": 5.25}, - {"matrix": [6, 0], "w": 1.25, "x": 10, "y": 5.25}, - {"matrix": [7, 12], "w": 1.25, "x": 11.25, "y": 5.25}, - {"matrix": [6, 3], "w": 1.25, "x": 12.5, "y": 5.25}, - {"matrix": [4, 1], "w": 1.25, "x": 13.75, "y": 5.25}, - {"matrix": [6, 15], "x": 15.25, "y": 5.25}, - {"matrix": [6, 10], "x": 16.25, "y": 5.25}, - {"matrix": [6, 11], "x": 17.25, "y": 5.25}, - {"matrix": [5, 11], "w": 2, "x": 18.5, "y": 5.25}, - {"matrix": [5, 14], "x": 20.5, "y": 5.25} - ] - }, "LAYOUT_fullsize_iso": { "layout": [ - {"matrix": [5, 16], "x": 0, "y": 0}, - {"matrix": [2, 4], "x": 2, "y": 0}, - {"matrix": [2, 5], "x": 3, "y": 0}, - {"matrix": [3, 5], "x": 4, "y": 0}, - {"matrix": [5, 5], "x": 5, "y": 0}, - {"matrix": [0, 1], "x": 6.5, "y": 0}, - {"matrix": [5, 8], "x": 7.5, "y": 0}, - {"matrix": [3, 3], "x": 8.5, "y": 0}, - {"matrix": [2, 3], "x": 9.5, "y": 0}, - {"matrix": [2, 2], "x": 11, "y": 0}, - {"matrix": [0, 2], "x": 12, "y": 0}, - {"matrix": [5, 2], "x": 13, "y": 0}, - {"matrix": [6, 2], "x": 14, "y": 0}, - {"matrix": [0, 0], "x": 15.25, "y": 0}, - {"matrix": [1, 0], "x": 16.25, "y": 0}, - {"matrix": [1, 1], "x": 17.25, "y": 0}, - - {"matrix": [2, 16], "x": 0, "y": 1.25}, - {"matrix": [0, 16], "x": 1, "y": 1.25}, - {"matrix": [0, 4], "x": 2, "y": 1.25}, - {"matrix": [0, 5], "x": 3, "y": 1.25}, - {"matrix": [0, 6], "x": 4, "y": 1.25}, - {"matrix": [2, 6], "x": 5, "y": 1.25}, - {"matrix": [2, 7], "x": 6, "y": 1.25}, - {"matrix": [0, 7], "x": 7, "y": 1.25}, - {"matrix": [0, 8], "x": 8, "y": 1.25}, - {"matrix": [0, 3], "x": 9, "y": 1.25}, - {"matrix": [0, 9], "x": 10, "y": 1.25}, - {"matrix": [2, 9], "x": 11, "y": 1.25}, - {"matrix": [2, 8], "x": 12, "y": 1.25}, - {"matrix": [3, 2], "w": 2, "x": 13, "y": 1.25}, - {"matrix": [2, 11], "x": 15.25, "y": 1.25}, - {"matrix": [2, 15], "x": 16.25, "y": 1.25}, - {"matrix": [2, 14], "x": 17.25, "y": 1.25}, - {"matrix": [4, 10], "x": 18.5, "y": 1.25}, - {"matrix": [4, 11], "x": 19.5, "y": 1.25}, - {"matrix": [4, 14], "x": 20.5, "y": 1.25}, - {"matrix": [6, 14], "x": 21.5, "y": 1.25}, - - {"matrix": [3, 16], "w": 1.5, "x": 0, "y": 2.25}, - {"matrix": [1, 16], "x": 1.5, "y": 2.25}, - {"matrix": [1, 4], "x": 2.5, "y": 2.25}, - {"matrix": [1, 5], "x": 3.5, "y": 2.25}, - {"matrix": [1, 6], "x": 4.5, "y": 2.25}, - {"matrix": [3, 6], "x": 5.5, "y": 2.25}, - {"matrix": [3, 7], "x": 6.5, "y": 2.25}, - {"matrix": [1, 7], "x": 7.5, "y": 2.25}, - {"matrix": [1, 8], "x": 8.5, "y": 2.25}, - {"matrix": [1, 3], "x": 9.5, "y": 2.25}, - {"matrix": [1, 9], "x": 10.5, "y": 2.25}, - {"matrix": [3, 9], "x": 11.5, "y": 2.25}, - {"matrix": [3, 8], "x": 12.5, "y": 2.25}, - {"matrix": [2, 10], "x": 15.25, "y": 2.25}, - {"matrix": [0, 15], "x": 16.25, "y": 2.25}, - {"matrix": [0, 14], "x": 17.25, "y": 2.25}, - {"matrix": [1, 10], "x": 18.5, "y": 2.25}, - {"matrix": [1, 11], "x": 19.5, "y": 2.25}, - {"matrix": [1, 14], "x": 20.5, "y": 2.25}, - {"matrix": [1, 15], "x": 21.5, "y": 2.25, "h": 2}, - - {"matrix": [3, 4], "w": 1.75, "x": 0, "y": 3.25}, - {"matrix": [7, 16], "x": 1.75, "y": 3.25}, - {"matrix": [7, 4], "x": 2.75, "y": 3.25}, - {"matrix": [7, 5], "x": 3.75, "y": 3.25}, - {"matrix": [7, 6], "x": 4.75, "y": 3.25}, - {"matrix": [5, 6], "x": 5.75, "y": 3.25}, - {"matrix": [5, 7], "x": 6.75, "y": 3.25}, - {"matrix": [7, 7], "x": 7.75, "y": 3.25}, - {"matrix": [7, 8], "x": 8.75, "y": 3.25}, - {"matrix": [7, 3], "x": 9.75, "y": 3.25}, - {"matrix": [7, 9], "x": 10.75, "y": 3.25}, - {"matrix": [5, 9], "x": 11.75, "y": 3.25}, - {"matrix": [1, 2], "x": 12.75, "y": 3.25}, - {"matrix": [4, 2], "w": 1.25, "x": 13.75, "y": 2.25, "h": 2}, - {"matrix": [3, 10], "x": 18.5, "y": 3.25}, - {"matrix": [3, 11], "x": 19.5, "y": 3.25}, - {"matrix": [3, 14], "x": 20.5, "y": 3.25}, - - {"matrix": [3, 13], "w": 1.25, "x": 0, "y": 4.25}, - {"matrix": [5, 4], "x": 1.25, "y": 4.25}, - {"matrix": [4, 16], "x": 2.25, "y": 4.25}, - {"matrix": [4, 4], "x": 3.25, "y": 4.25}, - {"matrix": [4, 5], "x": 4.25, "y": 4.25}, - {"matrix": [4, 6], "x": 5.25, "y": 4.25}, - {"matrix": [6, 6], "x": 6.25, "y": 4.25}, - {"matrix": [6, 7], "x": 7.25, "y": 4.25}, - {"matrix": [4, 7], "x": 8.25, "y": 4.25}, - {"matrix": [4, 8], "x": 9.25, "y": 4.25}, - {"matrix": [4, 3], "x": 10.25, "y": 4.25}, - {"matrix": [6, 9], "x": 11.25, "y": 4.25}, - {"matrix": [7, 13], "w": 2.75, "x": 12.25, "y": 4.25}, - {"matrix": [5, 15], "x": 16.25, "y": 4.25}, - {"matrix": [7, 10], "x": 18.5, "y": 4.25}, - {"matrix": [7, 11], "x": 19.5, "y": 4.25}, - {"matrix": [7, 14], "x": 20.5, "y": 4.25}, - {"matrix": [7, 15], "x": 21.5, "y": 4.25, "h": 2}, - - {"matrix": [2, 1], "w": 1.25, "x": 0, "y": 5.25}, - {"matrix": [3, 12], "w": 1.25, "x": 1.25, "y": 5.25}, - {"matrix": [5, 0], "w": 1.25, "x": 2.5, "y": 5.25}, - {"matrix": [5, 10], "w": 6.25, "x": 3.75, "y": 5.25}, - {"matrix": [6, 0], "w": 1.25, "x": 10, "y": 5.25}, - {"matrix": [7, 12], "w": 1.25, "x": 11.25, "y": 5.25}, - {"matrix": [6, 3], "w": 1.25, "x": 12.5, "y": 5.25}, - {"matrix": [4, 1], "w": 1.25, "x": 13.75, "y": 5.25}, - {"matrix": [6, 15], "x": 15.25, "y": 5.25}, - {"matrix": [6, 10], "x": 16.25, "y": 5.25}, - {"matrix": [6, 11], "x": 17.25, "y": 5.25}, - {"matrix": [5, 11], "w": 2, "x": 18.5, "y": 5.25}, - {"matrix": [5, 14], "x": 20.5, "y": 5.25} + {"label": "Esc", "matrix": [5, 16], "x": 0, "y": 0}, + {"label": "F1", "matrix": [2, 4], "x": 2, "y": 0}, + {"label": "F2", "matrix": [2, 5], "x": 3, "y": 0}, + {"label": "F3", "matrix": [3, 5], "x": 4, "y": 0}, + {"label": "F4", "matrix": [5, 5], "x": 5, "y": 0}, + {"label": "F5", "matrix": [0, 1], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [5, 8], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [3, 3], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [2, 3], "x": 9.5, "y": 0}, + {"label": "F9", "matrix": [2, 2], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 2], "x": 12, "y": 0}, + {"label": "F11", "matrix": [5, 2], "x": 13, "y": 0}, + {"label": "F12", "matrix": [6, 2], "x": 14, "y": 0}, + {"label": "Prt Sc", "matrix": [0, 0], "x": 15.25, "y": 0}, + {"label": "Scr Lk", "matrix": [1, 0], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [1, 1], "x": 17.25, "y": 0}, + {"label": "`", "matrix": [2, 16], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [0, 16], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [0, 4], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [0, 5], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [0, 6], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [2, 6], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [2, 7], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [0, 3], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [0, 9], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [2, 9], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [2, 8], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 2], "w": 2, "x": 13, "y": 1.25}, + {"label": "Ins", "matrix": [2, 11], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [2, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 17.25, "y": 1.25}, + {"label": "Num Lk", "matrix": [4, 10], "x": 18.5, "y": 1.25}, + {"label": "/", "matrix": [4, 11], "x": 19.5, "y": 1.25}, + {"label": "*", "matrix": [4, 14], "x": 20.5, "y": 1.25}, + {"label": "-", "matrix": [6, 14], "x": 21.5, "y": 1.25}, + {"label": "Tab", "matrix": [3, 16], "w": 1.5, "x": 0, "y": 2.25}, + {"label": "Q", "matrix": [1, 16], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [1, 4], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [1, 5], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [1, 6], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [3, 6], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [3, 7], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [1, 3], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [1, 9], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [3, 9], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [3, 8], "x": 12.5, "y": 2.25}, + {"label": "Del", "matrix": [2, 10], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [0, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [0, 14], "x": 17.25, "y": 2.25}, + {"label": "7", "matrix": [1, 10], "x": 18.5, "y": 2.25}, + {"label": "8", "matrix": [1, 11], "x": 19.5, "y": 2.25}, + {"label": "9", "matrix": [1, 14], "x": 20.5, "y": 2.25}, + {"label": "+", "h": 2, "matrix": [1, 15], "x": 21.5, "y": 2.25}, + {"label": "Caps Lock", "matrix": [3, 4], "w": 1.75, "x": 0, "y": 3.25}, + {"label": "A", "matrix": [7, 16], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [7, 4], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [7, 5], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [7, 6], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [5, 6], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [5, 7], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [7, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [7, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [7, 3], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [7, 9], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [5, 9], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [1, 2], "x": 12.75, "y": 3.25}, + {"label": "Return", "h": 2, "matrix": [4, 2], "w": 1.25, "x": 13.75, "y": 2.25}, + {"label": "4", "matrix": [3, 10], "x": 18.5, "y": 3.25}, + {"label": "5", "matrix": [3, 11], "x": 19.5, "y": 3.25}, + {"label": "6", "matrix": [3, 14], "x": 20.5, "y": 3.25}, + {"label": "Shift L", "matrix": [3, 13], "w": 1.25, "x": 0, "y": 4.25}, + {"label": "\\", "matrix": [5, 4], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 16], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 4], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 5], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 6], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [6, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [6, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 7], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 8], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 3], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [6, 9], "x": 11.25, "y": 4.25}, + {"label": "Shift R", "matrix": [7, 13], "w": 2.75, "x": 12.25, "y": 4.25}, + {"label": "Up", "matrix": [5, 15], "x": 16.25, "y": 4.25}, + {"label": "1", "matrix": [7, 10], "x": 18.5, "y": 4.25}, + {"label": "2", "matrix": [7, 11], "x": 19.5, "y": 4.25}, + {"label": "3", "matrix": [7, 14], "x": 20.5, "y": 4.25}, + {"label": "Enter", "h": 2, "matrix": [7, 15], "x": 21.5, "y": 4.25}, + {"label": "Control L", "matrix": [2, 1], "w": 1.25, "x": 0, "y": 5.25}, + {"label": "Super L", "matrix": [3, 12], "w": 1.25, "x": 1.25, "y": 5.25}, + {"label": "Alt L", "matrix": [5, 0], "w": 1.25, "x": 2.5, "y": 5.25}, + {"label": " ", "matrix": [5, 10], "w": 6.25, "x": 3.75, "y": 5.25}, + {"label": "Alt R", "matrix": [6, 0], "w": 1.25, "x": 10, "y": 5.25}, + {"label": "Super R", "matrix": [7, 12], "w": 1.25, "x": 11.25, "y": 5.25}, + {"label": "Menu", "matrix": [6, 3], "w": 1.25, "x": 12.5, "y": 5.25}, + {"label": "Control R", "matrix": [4, 1], "w": 1.25, "x": 13.75, "y": 5.25}, + {"label": "Left", "matrix": [6, 15], "x": 15.25, "y": 5.25}, + {"label": "Down", "matrix": [6, 10], "x": 16.25, "y": 5.25}, + {"label": "Right", "matrix": [6, 11], "x": 17.25, "y": 5.25}, + {"label": "0", "matrix": [5, 11], "w": 2, "x": 18.5, "y": 5.25}, + {"label": "Del", "matrix": [5, 14], "x": 20.5, "y": 5.25} ] } } diff --git a/keyboards/handwired/datahand/keyboard.json b/keyboards/handwired/datahand/keyboard.json index 1f1ebc07ee..c2c7dab421 100644 --- a/keyboards/handwired/datahand/keyboard.json +++ b/keyboards/handwired/datahand/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DataHand", "manufacturer": "DataHand", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x13BA", diff --git a/keyboards/handwired/dc/mc/001/keyboard.json b/keyboards/handwired/dc/mc/001/keyboard.json index b9e0a7a09f..c91df1ca8b 100644 --- a/keyboards/handwired/dc/mc/001/keyboard.json +++ b/keyboards/handwired/dc/mc/001/keyboard.json @@ -21,6 +21,8 @@ "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/handwired/ddg_56/keyboard.json b/keyboards/handwired/ddg_56/keyboard.json index 5259a2683e..e211821dae 100644 --- a/keyboards/handwired/ddg_56/keyboard.json +++ b/keyboards/handwired/ddg_56/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DDG_56", "manufacturer": "Spaceman", + "url": "", "maintainer": "spaceman", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "audio": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": true diff --git a/keyboards/handwired/dmote/keyboard.json b/keyboards/handwired/dmote/keyboard.json index 2e205e153c..e6514b17ba 100644 --- a/keyboards/handwired/dmote/keyboard.json +++ b/keyboards/handwired/dmote/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "console": false, + "command": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/eagleii/keyboard.json b/keyboards/handwired/eagleii/keyboard.json index 9b5d026530..4179a4cdd6 100644 --- a/keyboards/handwired/eagleii/keyboard.json +++ b/keyboards/handwired/eagleii/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "II", "manufacturer": "Eagle", + "url": "", "maintainer": "Spaceman", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/elrgo_s/keyboard.json b/keyboards/handwired/elrgo_s/keyboard.json index ae0054b65c..c0ae4beadb 100644 --- a/keyboards/handwired/elrgo_s/keyboard.json +++ b/keyboards/handwired/elrgo_s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Elrgo S", "manufacturer": "Eloren", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x454C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/ergocheap/keyboard.json b/keyboards/handwired/ergocheap/keyboard.json index 879cf8a4d1..8728b486a8 100644 --- a/keyboards/handwired/ergocheap/keyboard.json +++ b/keyboards/handwired/ergocheap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ergocheap", "manufacturer": "xSteins", + "url": "", "maintainer": "xSteins", "usb": { "vid": "0xFEDE", diff --git a/keyboards/handwired/erikpeyronson/erkbd/config.h b/keyboards/handwired/erikpeyronson/erkbd/config.h deleted file mode 100644 index acbafbfaa7..0000000000 --- a/keyboards/handwired/erikpeyronson/erkbd/config.h +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2025 Erik Peyronson @erikpeyronson -// SPDX-License-Identifier: GPL-3.0-or-later - -#pragma once - -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U - -#define I2C_DRIVER I2CD1 -#define OLED_IC OLED_IC_SH1106 -#define OLED_COLUMN_OFFSET 2 - -#define OLED_DISPLAY_128X64 diff --git a/keyboards/handwired/erikpeyronson/erkbd/erkbd.c b/keyboards/handwired/erikpeyronson/erkbd/erkbd.c deleted file mode 100644 index af236df93c..0000000000 --- a/keyboards/handwired/erikpeyronson/erkbd/erkbd.c +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2025 Erik Peyronson @erikpeyronson -// SPDX-License-Identifier: GPL-3.0-or-later -#include QMK_KEYBOARD_H - -static void oled_render_logo(void) { - // clang-format off - static const char PROGMEM qmk_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 - }; - // clang-format on - - oled_write_P(qmk_logo, false); -} - -static void render_layer(void) { - oled_write_P(PSTR("Layer: "), false); - oled_write_ln(get_u8_str(get_highest_layer(layer_state), ' '), false); -} - -static void render_locks(void) { - led_t led_config = host_keyboard_led_state(); - oled_write_P(PSTR("Caps "), led_config.caps_lock); - oled_write_P(PSTR("Scrl "), led_config.scroll_lock); - oled_write_P(PSTR("Num "), led_config.num_lock); -#ifdef CAPS_WORD_ENABLE - oled_write_P(PSTR("Word "), is_caps_word_on()); -#endif - oled_advance_page(true); -} - -static void render_mods(void) { - uint8_t mod_state = get_mods(); - oled_write_P("Ctrl ", mod_state & MOD_MASK_CTRL); - oled_write_P("Shift ", mod_state & MOD_MASK_SHIFT); - oled_write_P("Alt ", mod_state & MOD_MASK_ALT); - oled_write_P("Gui", mod_state & MOD_MASK_GUI); - oled_advance_page(true); -} - -static void render_delimeter(void) { - oled_write_ln_P(PSTR("------------------"), false); -} - -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - if (is_keyboard_left()) { - oled_render_logo(); - } else { - render_delimeter(); - render_locks(); - render_delimeter(); - render_mods(); - render_delimeter(); - render_layer(); - render_delimeter(); - } - - return false; -} diff --git a/keyboards/handwired/erikpeyronson/erkbd/keyboard.json b/keyboards/handwired/erikpeyronson/erkbd/keyboard.json deleted file mode 100644 index d3ef5147f4..0000000000 --- a/keyboards/handwired/erikpeyronson/erkbd/keyboard.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "manufacturer": "Erik Peyronson", - "keyboard_name": "erkbd", - "maintainer": "erikpeyronson", - "bootloader": "rp2040", - "bootloader_instructions": "Double tap the reset button on the controller board if accessable. If not hold down bootmagic key while powering on. Left side: row 0 column 0. (The tab key on regular keyboard). Right side: row 5 column 4 (the Backspace key on regular keyboard)", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "GP7", "pin_b": "GP8"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "oled": true - }, - "matrix_pins": { - "cols": ["GP8", "GP9", "GP10", "GP11", "GP12", "GP13"], - "rows": ["GP4", "GP5", "GP6", "GP7"] - }, - "processor": "RP2040", - "split": { - "bootmagic": { - "matrix": [4, 5] - }, - "enabled": true, - "encoder": { - "right": { - "rotary": [ - {"pin_a": "GP7", "pin_b": "GP8"} - ] - } - }, - "handedness": { - "pin": "GP1" - }, - "matrix_pins": { - "right": { - "cols": ["GP9", "GP10", "GP11", "GP12", "GP13", "GP14"], - "rows": ["GP28", "GP27", "GP26", "GP15"] - } - }, - "serial": { - "driver": "vendor", - "pin": "GP0" - } - }, - "url": "https://github.com/erikpeyronson/erkbd", - "usb": { - "device_version": "1.0.0", - "pid": "0x1234", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT_split_3x6_5": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.4}, - {"matrix": [0, 1], "x": 1, "y": 0.3}, - {"matrix": [0, 2], "x": 2, "y": 0.1}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.1}, - {"matrix": [0, 5], "x": 5, "y": 0.2}, - {"matrix": [4, 0], "x": 9, "y": 0.2}, - {"matrix": [4, 1], "x": 10, "y": 0.1}, - {"matrix": [4, 2], "x": 11, "y": 0}, - {"matrix": [4, 3], "x": 12, "y": 0.1}, - {"matrix": [4, 4], "x": 13, "y": 0.3}, - {"matrix": [4, 5], "x": 14, "y": 0.4}, - {"matrix": [1, 0], "x": 0, "y": 1.4}, - {"matrix": [1, 1], "x": 1, "y": 1.3}, - {"matrix": [1, 2], "x": 2, "y": 1.1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1.1}, - {"matrix": [1, 5], "x": 5, "y": 1.2}, - {"matrix": [5, 0], "x": 9, "y": 1.2}, - {"matrix": [5, 1], "x": 10, "y": 1.1}, - {"matrix": [5, 2], "x": 11, "y": 1}, - {"matrix": [5, 3], "x": 12, "y": 1.1}, - {"matrix": [5, 4], "x": 13, "y": 1.3}, - {"matrix": [5, 5], "x": 14, "y": 1.4}, - {"matrix": [2, 0], "x": 0, "y": 2.4}, - {"matrix": [2, 1], "x": 1, "y": 2.3}, - {"matrix": [2, 2], "x": 2, "y": 2.1}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2.1}, - {"matrix": [2, 5], "x": 5, "y": 2.2}, - {"matrix": [6, 0], "x": 9, "y": 2.2}, - {"matrix": [6, 1], "x": 10, "y": 2.1}, - {"matrix": [6, 2], "x": 11, "y": 2}, - {"matrix": [6, 3], "x": 12, "y": 2.1}, - {"matrix": [6, 4], "x": 13, "y": 2.3}, - {"matrix": [6, 5], "x": 14, "y": 2.4}, - {"matrix": [3, 1], "x": 3, "y": 3.4}, - {"matrix": [3, 2], "x": 4, "y": 3.4}, - {"matrix": [3, 3], "x": 5, "y": 3.5}, - {"matrix": [3, 4], "x": 6, "y": 3.7}, - {"matrix": [3, 5], "x": 6, "y": 2.7}, - {"matrix": [7, 0], "x": 8, "y": 2.7}, - {"matrix": [7, 1], "x": 8, "y": 3.7}, - {"matrix": [7, 2], "x": 9, "y": 3.5}, - {"matrix": [7, 3], "x": 10, "y": 3.4}, - {"matrix": [7, 4], "x": 11, "y": 3.4} - ] - } - } -} diff --git a/keyboards/handwired/erikpeyronson/erkbd/keymaps/debug/keymap.c b/keyboards/handwired/erikpeyronson/erkbd/keymaps/debug/keymap.c deleted file mode 100644 index 8884702c81..0000000000 --- a/keyboards/handwired/erikpeyronson/erkbd/keymaps/debug/keymap.c +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2025 Qmk, Erik Peyronson @erikpeyronson -// SPDX-License-Identifier: GPL-3.0-or-later - -// NOTE: This keymap is for debugging purposes to have firmware to test the matrix when building the keyboard. If you intend to build this keyboard -// you should copy this to your fork or userspace repository and create your own. - -#include QMK_KEYBOARD_H - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_split_3x6_5( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LBRC, KC_RBRC, KC_LGUI, KC_BSPC, KC_SPC, KC_SPC, KC_ENT, KC_RALT, KC_LPRN, KC_RPRN - ) -}; -// clang-format on - -void keyboard_post_init_user(void) { -#ifdef CONSOLE_ENABLE - debug_enable = true; - debug_matrix = true; -#endif -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // If console is enabled, it will print the matrix position and status of each key pressed -#ifdef CONSOLE_ENABLE - uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %u, time: %5u, int: %u, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count); -#endif - return true; -} - -// This function prints which half the keyboard considers itself to be which is -// useful for verify if the handedness pin and display is correctly set up when building -#ifdef OLED_ENABLE -bool oled_task_user(void) { - if (is_keyboard_left()) { - oled_write_P(PSTR("left"), false); - } else { - oled_write_P(PSTR("right"), false); - } - return false; -} -#endif - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = {ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT)} -}; -#endif diff --git a/keyboards/handwired/erikpeyronson/erkbd/keymaps/debug/rules.mk b/keyboards/handwired/erikpeyronson/erkbd/keymaps/debug/rules.mk deleted file mode 100644 index 14094ea22c..0000000000 --- a/keyboards/handwired/erikpeyronson/erkbd/keymaps/debug/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -ENCODER_MAP_ENABLE = yes -CONSOLE_ENABLE = yes diff --git a/keyboards/handwired/erikpeyronson/erkbd/keymaps/default/keymap.json b/keyboards/handwired/erikpeyronson/erkbd/keymaps/default/keymap.json deleted file mode 100644 index 0b733d9fb6..0000000000 --- a/keyboards/handwired/erikpeyronson/erkbd/keymaps/default/keymap.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "keyboard": "handwired/erikpeyronson/erkbd", - "keymap": "default", - "layout": "LAYOUT_split_3x6_5", - "layers": [ - [ - "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", - "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", - "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", - "KC_LBRC", "KC_RBRC", "KC_LGUI", "KC_BSPC", "KC_SPC", "KC_SPC", "KC_ENT", "KC_RALT", "KC_LPRN", "KC_RPRN" - ] - ], - "config": { - "features": { - "encoder_map": true - } - }, - "encoders": [ - [ - { "ccw": "KC_UP", "cw": "KC_DOWN" }, - { "ccw": "KC_RIGHT", "cw": "KC_LEFT" } - ] - ] -} diff --git a/keyboards/handwired/erikpeyronson/erkbd/readme.md b/keyboards/handwired/erikpeyronson/erkbd/readme.md deleted file mode 100644 index 3f4fe0175e..0000000000 --- a/keyboards/handwired/erikpeyronson/erkbd/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# handwired/erikpeyronson/erkbd - -![Erkbd](https://i.imgur.com/VViiXIN.jpeg) - -3D printed, handwired 44 key split keyboard featuring two encoders, two 1.3" 128x64 oled displays using the waveshare rp2040zero development board. - -* Keyboard Maintainer: [Erik Peyronson](https://github.com/erikpeyronson) -* Hardware Supported: See keyboard repository on [github](https://github.com/erikpeyronson/erkbd) -* Hardware Availability: See keyboard repository on [github](https://github.com/erikpeyronson/erkbd) - -Make example for this keyboard (after setting up your build environment): - - make handwired/erikpeyronson/erkbd:default - -Flashing example for this keyboard: - - Enter bootloader, drag and drop .uft2 file on the removable storage - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: For left half hold down the key at (0,0) in the matrix (correspons with the tab key) and plug in the keyboard. -For left half half the key is (4,5) (corresponds with the backspace key) -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -Enter the bootloader in 3 ways: diff --git a/keyboards/handwired/fc200rt_qmk/keyboard.json b/keyboards/handwired/fc200rt_qmk/keyboard.json index 7e45cbdb62..aab792e7bd 100644 --- a/keyboards/handwired/fc200rt_qmk/keyboard.json +++ b/keyboards/handwired/fc200rt_qmk/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "fc200rt_qmk", "manufacturer": "NaCly", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xBEEF", diff --git a/keyboards/handwired/fc200rt_qmk/readme.md b/keyboards/handwired/fc200rt_qmk/readme.md index 2b7a0dd1ec..6490227806 100644 --- a/keyboards/handwired/fc200rt_qmk/readme.md +++ b/keyboards/handwired/fc200rt_qmk/readme.md @@ -25,6 +25,7 @@ Choose any key from the corrosponding row and column and solder it to the pin on _NOTE: Some of the keys had mislabled columns and rows, so make sure the columns are all connected without diodes to one another, and that the rows are soldered after the diode_ * Keyboard Maintainer: [NaCly](https://github.com/Na-Cly) +* Hardware Supported: The PCBs, controllers supported * Hardware Availability: Leopold FC200RT + Teensy 2.0 Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/handwired/fivethirteen/keyboard.json b/keyboards/handwired/fivethirteen/keyboard.json index f6492d3e0b..9046fc53ba 100644 --- a/keyboards/handwired/fivethirteen/keyboard.json +++ b/keyboards/handwired/fivethirteen/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "fivethirteen", "manufacturer": "rdg", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/footy/config.h b/keyboards/handwired/footy/config.h deleted file mode 100644 index 5a081f79d6..0000000000 --- a/keyboards/handwired/footy/config.h +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/handwired/footy/keyboard.json b/keyboards/handwired/footy/keyboard.json deleted file mode 100644 index eef8c25038..0000000000 --- a/keyboards/handwired/footy/keyboard.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "manufacturer": "CJ Pais", - "keyboard_name": "Footy", - "maintainer": "cjpais", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true - }, - "bootmagic": { - "matrix": [0, 1] - }, - "matrix_pins": { - "cols": ["GP11", "GP10", "GP15"], - "rows": ["GP14"] - }, - "processor": "RP2040", - "url": "https://workshop.cjpais.com/projects/footy", - "usb": { - "device_version": "1.0.0", - "pid": "0x0001", - "vid": "0x636A" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0} - ] - } - } -} diff --git a/keyboards/handwired/footy/keymaps/default/keymap.json b/keyboards/handwired/footy/keymaps/default/keymap.json deleted file mode 100644 index 99804041d8..0000000000 --- a/keyboards/handwired/footy/keymaps/default/keymap.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "keyboard": "handwired/footy", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - [ - "KC_A", "KC_B", "KC_C" - ] - ] -} diff --git a/keyboards/handwired/footy/keymaps/handy/keymap.json b/keyboards/handwired/footy/keymaps/handy/keymap.json deleted file mode 100644 index e2a2db6d10..0000000000 --- a/keyboards/handwired/footy/keymaps/handy/keymap.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "keyboard": "handwired/footy", - "keymap": "handy", - "layout": "LAYOUT", - "layers": [ - [ - "KC_NO", "MT(MOD_RCTL | MOD_RGUI, KC_NO)", "KC_NO" - ] - ], - "config": { - "tapping": { - "term": 50 - } - } -} diff --git a/keyboards/handwired/footy/keymaps/superwhisper/keymap.json b/keyboards/handwired/footy/keymaps/superwhisper/keymap.json deleted file mode 100644 index 0cfa41f502..0000000000 --- a/keyboards/handwired/footy/keymaps/superwhisper/keymap.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "keyboard": "handwired/footy", - "keymap": "superwhisper", - "layout": "LAYOUT", - "layers": [ - [ - "KC_NO", "LOPT(KC_SPACE)", "KC_NO" - ] - ], - "config": { - "tapping": { - "term": 50 - } - } -} diff --git a/keyboards/handwired/footy/readme.md b/keyboards/handwired/footy/readme.md deleted file mode 100644 index 6d02fad95c..0000000000 --- a/keyboards/handwired/footy/readme.md +++ /dev/null @@ -1,42 +0,0 @@ -# Footy - -![Footy Foot Pedal](https://i.imgur.com/ZdvlgRB.jpeg) - -*Footy is a foot pedal intended to be used with a speech to text application like 'handy' or superwhisper. Initially developed as an assistive technology device for those with limited typing abilities.* - -* Keyboard Maintainer: [CJ Pais](https://github.com/cjpais) -* Hardware Supported: [Keebio Stampy](https://keeb.io/products/stampy-rp2040-usb-c-controller-board-for-handwiring) -* Hardware Availability: [3D printed case](https://makerworld.com/en/models/1185240-footy) - -Make example for this keyboard (after setting up your build environment): - - make handwired/footy:default - -Flashing example for this keyboard (enter the bootloader first): - - make handwired/footy:default:flash - -or drag and drop .uf2 file on the removable storage - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader: - -* **Physical reset button**: Briefly double press the button on the back of the PCB - -## Keymaps - -Right now there are two primary keymaps, one for 'handy' and one for 'superwhisper'. - -Handy's default keymap is for the center switch to be RCTRL + RGUI. - -Superwhisper's default keymap is for the center switch to be LOPT + SPACE. - -You can build either of these firmware images by running the following commands: - -``` -make handwired/footy:handy -make handwired/footy:superwhisper -``` \ No newline at end of file diff --git a/keyboards/handwired/frankie_macropad/keyboard.json b/keyboards/handwired/frankie_macropad/keyboard.json index 278a76c7c8..f994b1fa48 100644 --- a/keyboards/handwired/frankie_macropad/keyboard.json +++ b/keyboards/handwired/frankie_macropad/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "grave_esc": false, diff --git a/keyboards/handwired/franky36/franky36.c b/keyboards/handwired/franky36/franky36.c deleted file mode 100644 index 50e4d38b52..0000000000 --- a/keyboards/handwired/franky36/franky36.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright 2024-2025 Grigory Avdyushin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -#ifdef OLED_ENABLE - -static void render_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0x00, 0x0A, 0x0A - }; - - oled_write_P(qmk_logo, false); -} - -static void render_mod_status(uint8_t modifiers) { - oled_write_P(PSTR("MODS:"), false); - oled_write_P(PSTR("S"), (modifiers & MOD_MASK_SHIFT)); - oled_write_P(PSTR("C"), (modifiers & MOD_MASK_CTRL)); - oled_write_P(PSTR("A"), (modifiers & MOD_MASK_ALT)); - oled_write_ln_P(PSTR("G"), (modifiers & MOD_MASK_GUI)); - oled_write_ln_P(PSTR(" "), false); -} - -static void render_layer_state(void) { - oled_write_ln_P(PSTR(" "), false); - oled_write_P("BASE ", layer_state_is(0)); - oled_write_P("LOWER", layer_state_is(1)); - oled_write_P("RAISE", layer_state_is(2)); - oled_write_P("NAV ", layer_state_is(3)); - oled_write_ln_P(PSTR(" "), false); -} - -static void render_capsword_state(bool on) { - oled_write_ln_P("CAPSW", on); -} - -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - return OLED_ROTATION_270; -} - -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - render_logo(); - render_layer_state(); - render_mod_status(get_mods() | get_oneshot_mods()); - render_capsword_state(is_caps_word_on()); - return false; -} - - #endif diff --git a/keyboards/handwired/franky36/halconf.h b/keyboards/handwired/franky36/halconf.h deleted file mode 100644 index 3c594066b6..0000000000 --- a/keyboards/handwired/franky36/halconf.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2024-2025 Grigory Avdyushin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define HAL_USE_I2C TRUE - -#include_next diff --git a/keyboards/handwired/franky36/keyboard.json b/keyboards/handwired/franky36/keyboard.json deleted file mode 100644 index 038fc1eb67..0000000000 --- a/keyboards/handwired/franky36/keyboard.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "manufacturer": "Grigory Avdyushin", - "keyboard_name": "franky36", - "maintainer": "Grigory Avdyushin", - "bootloader": "rp2040", - "caps_word": { - "both_shifts_turns_on": true - }, - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "caps_word": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "oled": true - }, - "matrix_pins": { - "cols": ["GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP26", "GP27", "GP28"], - "rows": ["GP5", "GP4", "GP3", "GP2"] - }, - "processor": "RP2040", - "url": "https://github.com/avdyushin/franky36", - "usb": { - "device_version": "0.2.0", - "pid": "0x0001", - "vid": "0xFEED" - }, - "community_layouts": ["split_3x5_3"], - "layouts": { - "LAYOUT_split_3x5_3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [2, 6], "x": 6, "y": 2}, - {"matrix": [2, 7], "x": 7, "y": 2}, - {"matrix": [2, 8], "x": 8, "y": 2}, - {"matrix": [2, 9], "x": 9, "y": 2}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - {"matrix": [3, 6], "x": 6, "y": 3}, - {"matrix": [3, 7], "x": 7, "y": 3} - ] - } - } -} diff --git a/keyboards/handwired/franky36/keymaps/default/keymap.c b/keyboards/handwired/franky36/keymaps/default/keymap.c deleted file mode 100644 index 1b281124f9..0000000000 --- a/keyboards/handwired/franky36/keymaps/default/keymap.c +++ /dev/null @@ -1,123 +0,0 @@ -/* Copyright 2024-2025 Grigory Avdyushin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum my_layers { - _BASE = 0, - _LOWER, - _RAISE, - _NAV, -}; - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define NAV MO(_NAV) - -#define OSM_LSFT OSM(MOD_LSFT) // One Shot Right Shift - -#define KC_SFT_Z SFT_T(KC_Z) // Left Shift when held, Z when tapped -#define KC_SFT_SL RSFT_T(KC_SLSH) // Right Shift when held, / when tapped - -#define KC_SFT_BSLS RSFT_T(KC_BSLS) // Right Shift when held, \ when tapped - -#define KC_LWR_SPC LT(_LOWER, KC_SPC) // Lower layer when held, Space when tapped -#define KC_RSE_BSPC LT(_RAISE, KC_BSPC) // Raise layer when held, Backspace when tapped -#define KC_NAV_A LT(_NAV,KC_A) // Navigation layer when held, A when tapped - -#define KC_CMD_TAB CMD_T(KC_TAB) // Left Command when held, Tab when tapped -#define KC_CMD_ENT RCMD_T(KC_ENT) // Right Command when held, Enter when tapped - -#define KC_CTL_ESC CTL_T(KC_ESC) // Left Control when held, Escape when tapped -#define KC_OPT_OSM_SFT ROPT_T(OSM_LSFT) // Right Option when held, One Shot Shift when tapped - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ;:│ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │⇧/Z│ X │ C │ V │ B │ │ N │ M │ ,<│ .>│⇧/?│ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┬───┬───┐ ┌───┬───┬───┐ - * │CTL│CMD│SPC│ │ENT│CMD│OPT│ - * └───┴───┴───┘ └───┴───┴───┘ - */ - [_BASE] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_NAV_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_SFT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SFT_SL, - KC_CTL_ESC, KC_CMD_TAB, KC_LWR_SPC, KC_RSE_BSPC, KC_CMD_ENT, KC_ROPT - ), - - /* - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │ 1!│ 2@│ 3#│ 4$│ 5%│ │ 6^│ 7&│ 8*│ 9(│ 0)│ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ `~│ │ │ │ │ │ ← │ ↓ │ ↑ │ → │ '"│ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ ⇧ │ │ │ │ │ │ -_│ =+│ [{│ ]}│ \|│ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┬───┬───┐ ┌───┬───┬───┐ - * │ │ │ │ │ │ │ │ - * └───┴───┴───┘ └───┴───┴───┘ - */ - [_LOWER] = LAYOUT_split_3x5_3( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_GRV, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_QUOT, - KC_LSFT, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_SFT_BSLS, - _______, _______, _______, _______, _______, _______ - ), - - /* - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │ F1│ F2│ F3│ F4│ F5│ │ F6│ F7│ F8│ F9│F10│ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┬───┬───┐ ┌───┬───┬───┐ - * │ │ │ │ │ │ │ │ - * └───┴───┴───┘ └───┴───┴───┘ - */ - [_RAISE] = LAYOUT_split_3x5_3( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), - - /* - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │ │ │ │ │ │ │HOM│ │ │END│ │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │ ← │ ↓ │ ↑ │ → │ │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │PUP│ │ │PDN│ │ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┬───┬───┐ ┌───┬───┬───┐ - * │ │ │ │ │ │ │ │ - * └───┴───┴───┘ └───┴───┴───┘ - */ - [_NAV] = LAYOUT_split_3x5_3( - _______, _______, _______, _______, _______, KC_HOME, _______, _______, KC_END, _______, - _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, - _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______, - _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/handwired/franky36/mcuconf.h b/keyboards/handwired/franky36/mcuconf.h deleted file mode 100644 index 8d47159177..0000000000 --- a/keyboards/handwired/franky36/mcuconf.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2024-2025 Grigory Avdyushin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef RP_I2C_USE_I2C0 -#define RP_I2C_USE_I2C0 TRUE -#undef RP_I2C_USE_I2C1 -#define RP_I2C_USE_I2C1 FALSE diff --git a/keyboards/handwired/franky36/readme.md b/keyboards/handwired/franky36/readme.md deleted file mode 100644 index 62d1bfd5c3..0000000000 --- a/keyboards/handwired/franky36/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# franky36 - -Franky36 is 36 key compact handwired split keyboard that uses single RP2040-Zero controller. - -* Keyboard Maintainer: [Grigory Avdyushin](https://github.com/avdyushin) -* Hardware Supported: RP2040-Zero -* Hardware Availability: Handwired [franky36](https://github.com/avdyushin/franky36) - -Make example for this keyboard (after setting up your build environment): - - make franky36:default - -Flashing example for this keyboard: - - make franky36:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Hold down the reset button on the controller and plug in the keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/freoduo/keyboard.json b/keyboards/handwired/freoduo/keyboard.json index afbd763a96..d9f4ad4808 100644 --- a/keyboards/handwired/freoduo/keyboard.json +++ b/keyboards/handwired/freoduo/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/gamenum/keyboard.json b/keyboards/handwired/gamenum/keyboard.json index 010f9526db..50a3962108 100644 --- a/keyboards/handwired/gamenum/keyboard.json +++ b/keyboards/handwired/gamenum/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GameNum", "manufacturer": "Seth-Senpai", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x1234", diff --git a/keyboards/handwired/hacked_motospeed/keyboard.json b/keyboards/handwired/hacked_motospeed/keyboard.json index 17f85a7e9d..1a38cdafdc 100644 --- a/keyboards/handwired/hacked_motospeed/keyboard.json +++ b/keyboards/handwired/hacked_motospeed/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Hacked Motospeed", "manufacturer": "MMO_Corp", + "url": "", "maintainer": "Deckweiss", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/heisenberg/keyboard.json b/keyboards/handwired/heisenberg/keyboard.json index d85477fe24..460018ef1e 100644 --- a/keyboards/handwired/heisenberg/keyboard.json +++ b/keyboards/handwired/heisenberg/keyboard.json @@ -29,6 +29,8 @@ "features": { "audio": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/handwired/hen_des/epssp75/keyboard.json b/keyboards/handwired/hen_des/epssp75/keyboard.json deleted file mode 100644 index 1917fd87cc..0000000000 --- a/keyboards/handwired/hen_des/epssp75/keyboard.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "manufacturer": "Henning Cordes", - "keyboard_name": "epssp75", - "maintainer": "hen-des", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18", "GP19", "GP20", "GP21", "GP22"], - "rows": ["GP1", "GP2", "GP3", "GP4", "GP5"] - }, - "processor": "RP2040", - "url": "https://hen-des.github.io/epssp75/", - "usb": { - "device_version": "1.0.0", - "pid": "0x0075", - "vid": "0x6863" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7.5, "y": 0}, - {"matrix": [0, 9], "x": 8.5, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - {"matrix": [0, 15], "x": 15, "y": 0}, - {"matrix": [0, 16], "x": 16, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 8], "x": 7.25, "y": 1, "w": 2.5}, - {"matrix": [1, 10], "x": 10, "y": 1}, - {"matrix": [1, 11], "x": 11, "y": 1}, - {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 13], "x": 13, "y": 1}, - {"matrix": [1, 14], "x": 14, "y": 1}, - {"matrix": [1, 15], "x": 15, "y": 1}, - {"matrix": [1, 16], "x": 16, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [2, 6], "x": 6, "y": 2, "h": 2}, - {"matrix": [2, 7], "x": 7, "y": 2}, - {"matrix": [2, 8], "x": 8, "y": 2}, - {"matrix": [2, 9], "x": 9, "y": 2}, - {"matrix": [2, 10], "x": 10, "y": 2, "h": 2}, - {"matrix": [2, 11], "x": 11, "y": 2}, - {"matrix": [2, 12], "x": 12, "y": 2}, - {"matrix": [2, 13], "x": 13, "y": 2}, - {"matrix": [2, 14], "x": 14, "y": 2}, - {"matrix": [2, 15], "x": 15, "y": 2}, - {"matrix": [2, 16], "x": 16, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - {"matrix": [3, 7], "x": 7, "y": 3}, - {"matrix": [3, 8], "x": 8, "y": 3}, - {"matrix": [3, 9], "x": 9, "y": 3}, - {"matrix": [3, 11], "x": 11, "y": 3}, - {"matrix": [3, 12], "x": 12, "y": 3}, - {"matrix": [3, 13], "x": 13, "y": 3}, - {"matrix": [3, 14], "x": 14, "y": 3}, - {"matrix": [3, 15], "x": 15, "y": 3}, - {"matrix": [3, 16], "x": 16, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2, "y": 4}, - {"matrix": [4, 3], "x": 3, "y": 4}, - {"matrix": [4, 5], "x": 4, "y": 4, "w": 2}, - {"matrix": [4, 6], "x": 6, "y": 4, "h": 2}, - {"matrix": [4, 10], "x": 10, "y": 4, "h": 2}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 2}, - {"matrix": [4, 13], "x": 13, "y": 4}, - {"matrix": [4, 14], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4}, - {"matrix": [4, 16], "x": 16, "y": 4} - ] - } - } -} diff --git a/keyboards/handwired/hen_des/epssp75/keymaps/default/keymap.c b/keyboards/handwired/hen_des/epssp75/keymaps/default/keymap.c deleted file mode 100644 index 65c6508e0a..0000000000 --- a/keyboards/handwired/hen_des/epssp75/keymaps/default/keymap.c +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F22, KC_RBRC, KC_PSCR, KC_F23, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_F20, KC_ENT, KC_F21, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_DEL, KC_HOME, KC_UP, KC_END, KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LEFT, KC_DOWN, KC_RGHT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_NUBS, KC_SPC, KC_LSFT, KC_ENT, KC_SPC, KC_RALT, MO(1), RGUI_T(KC_APP), KC_RCTL - ), - [1] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F22, KC_PAUS, KC_PSCR, KC_F23, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TAB, KC_PGUP, LCTL(KC_LEFT), KC_UP, LCTL(KC_RGHT), KC_PGDN, KC_F20, KC_ENT, KC_F21, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, - KC_CAPS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_DEL, KC_HOME, KC_VOLU, KC_END, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_RSFT, LCA(KC_F2), KC_TAB, KC_F2, KC_F5, KC_F23, KC_MUTE, KC_VOLD, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_NUBS, KC_SPC, KC_LSFT, KC_ENT, KC_SPC, KC_RALT, _______, KC_APP, KC_RCTL - ) -}; diff --git a/keyboards/handwired/hen_des/epssp75/readme.md b/keyboards/handwired/hen_des/epssp75/readme.md deleted file mode 100644 index 5c353d215b..0000000000 --- a/keyboards/handwired/hen_des/epssp75/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -# epssp75 - -Ergonomic PSeudo SPlit 75-key Keyboard. Desinged after two years of working with a [Truly Ergonomic CLEAVE Keyboard](https://trulyergonomic.com) and also inspired by the [Redox Keyboard](https://github.com/mattdibi/redox-keyboard). -I am using and the [NOTED](https://neo-layout.org/Layouts/noted/) layout and the [ReNeo](https://neo-layout.org/Einrichtung/reneo/) software which offers additional possible key functions and layers. - -* Keyboard Maintainer: [Henning Cordes](https://github.com/hen-des) -* Files: [https://github.com/hen-des/epssp75](https://github.com/hen-des/epssp75) - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -Detailed [description](https://hen-des.github.io/epssp75/index.html) and expiriences of the conception and manufacturing. - -## Bootloader - -Enter the bootloader in 2 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead \ No newline at end of file diff --git a/keyboards/handwired/hexon38/keyboard.json b/keyboards/handwired/hexon38/keyboard.json index 1d3595aa38..dfc11eb532 100644 --- a/keyboards/handwired/hexon38/keyboard.json +++ b/keyboards/handwired/hexon38/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "hexon38", "manufacturer": "pepaslabs", + "url": "", "maintainer": "cellularmitosis", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/hnah108/keyboard.json b/keyboards/handwired/hnah108/keyboard.json index a02a70173c..3099ed8548 100644 --- a/keyboards/handwired/hnah108/keyboard.json +++ b/keyboards/handwired/hnah108/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Hnah108", "manufacturer": "HnahKB", + "url": "", "maintainer": "HnahKB", "usb": { "vid": "0xFEED", @@ -56,6 +57,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/handwired/hnah40/keyboard.json b/keyboards/handwired/hnah40/keyboard.json index a7613c401e..e80bbdaec5 100644 --- a/keyboards/handwired/hnah40/keyboard.json +++ b/keyboards/handwired/hnah40/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/hnah40rgb/keyboard.json b/keyboards/handwired/hnah40rgb/keyboard.json index 6f13b70095..753b5dd00a 100644 --- a/keyboards/handwired/hnah40rgb/keyboard.json +++ b/keyboards/handwired/hnah40rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Hnah40V2", "manufacturer": "HnahKB", + "url": "", "maintainer": "HnahKB", "usb": { "vid": "0xFEED", @@ -60,11 +61,14 @@ "animation": "cycle_pinwheel" }, "driver": "ws2812", + "led_flush_limit": 16, "max_brightness": 200, "react_on_keyup": true }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/handwired/hwpm87/keyboard.json b/keyboards/handwired/hwpm87/keyboard.json index f239ea9ecc..0dbbb0472a 100644 --- a/keyboards/handwired/hwpm87/keyboard.json +++ b/keyboards/handwired/hwpm87/keyboard.json @@ -2,6 +2,7 @@ "manufacturer": "KD-MM2", "keyboard_name": "hwpm87", "maintainer": "KD-MM2", + "url": "", "usb": { "vid": "0xFEED", "pid": "0x0001", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/handwired/ic45_v2/keyboard.json b/keyboards/handwired/ic45_v2/keyboard.json deleted file mode 100644 index 7d8692c9af..0000000000 --- a/keyboards/handwired/ic45_v2/keyboard.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "manufacturer": "PatrickFan", - "keyboard_name": "ic45_v2", - "maintainer": "PatrickFan", - "bootloader": "atmel-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "B0", "B1", "D5", "D4", "D6", "D7", "B4"], - "rows": ["B6", "C6", "C7", "B5"] - }, - "processor": "atmega32u4", - "url": "https://github.com/lighteningAB/45keyboard_v1", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, - {"matrix": [0, 1], "x": 1.5, "y": 0}, - {"matrix": [0, 2], "x": 2.5, "y": 0}, - {"matrix": [0, 3], "x": 3.5, "y": 0}, - {"matrix": [0, 4], "x": 4.5, "y": 0}, - {"matrix": [0, 5], "x": 5.5, "y": 0}, - {"matrix": [0, 6], "x": 6.5, "y": 0}, - {"matrix": [0, 7], "x": 7.5, "y": 0}, - {"matrix": [0, 8], "x": 8.5, "y": 0}, - {"matrix": [0, 9], "x": 9.5, "y": 0}, - {"matrix": [0, 10], "x": 10.5, "y": 0}, - {"matrix": [0, 11], "x": 11.5, "y": 0}, - {"matrix": [0, 12], "x": 12.5, "y": 0}, - {"matrix": [3, 12], "x": 13.5, "y": 0, "w": 1.5}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, - {"matrix": [1, 1], "x": 1.75, "y": 1}, - {"matrix": [1, 2], "x": 2.75, "y": 1}, - {"matrix": [1, 3], "x": 3.75, "y": 1}, - {"matrix": [1, 4], "x": 4.75, "y": 1}, - {"matrix": [1, 5], "x": 5.75, "y": 1}, - {"matrix": [1, 6], "x": 6.75, "y": 1}, - {"matrix": [1, 7], "x": 7.75, "y": 1}, - {"matrix": [1, 8], "x": 8.75, "y": 1}, - {"matrix": [1, 9], "x": 9.75, "y": 1}, - {"matrix": [1, 10], "x": 10.75, "y": 1}, - {"matrix": [1, 11], "x": 11.75, "y": 1}, - {"matrix": [1, 12], "x": 12.75, "y": 1, "w": 2.25}, - - {"matrix": [2, 1], "x": 0, "y": 2, "w": 2.25}, - {"matrix": [2, 2], "x": 2.25, "y": 2}, - {"matrix": [2, 3], "x": 3.25, "y": 2}, - {"matrix": [2, 4], "x": 4.25, "y": 2}, - {"matrix": [2, 5], "x": 5.25, "y": 2}, - {"matrix": [2, 6], "x": 6.25, "y": 2}, - {"matrix": [2, 7], "x": 7.25, "y": 2}, - {"matrix": [2, 8], "x": 8.25, "y": 2}, - {"matrix": [2, 9], "x": 9.25, "y": 2}, - {"matrix": [2, 10], "x": 10.25, "y": 2}, - {"matrix": [2, 11], "x": 11.25, "y": 2}, - {"matrix": [2, 12], "x": 12.25, "y": 2, "w": 2.75}, - - {"matrix": [3, 2], "x": 2, "y": 3, "w": 1.25}, - {"matrix": [3, 3], "x": 3.25, "y": 3, "w": 1.25}, - {"matrix": [3, 5], "x": 4.5, "y": 3, "w": 2.25}, - {"matrix": [3, 8], "x": 6.75, "y": 3, "w": 2.75}, - {"matrix": [3, 9], "x": 9.5, "y": 3, "w": 1.25}, - {"matrix": [3, 10], "x": 10.75, "y": 3, "w": 1.25}, - {"matrix": [3, 11], "x": 12, "y": 3, "w": 1.25} - - ] - } - } -} diff --git a/keyboards/handwired/ic45_v2/keymaps/default/keymap.c b/keyboards/handwired/ic45_v2/keymaps/default/keymap.c deleted file mode 100644 index 51357bce1f..0000000000 --- a/keyboards/handwired/ic45_v2/keymaps/default/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2025 Patrick Fan - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, MO(2), KC_BSLS - ), - [1] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_BSPC - ), - [2] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_DEL - ) -}; diff --git a/keyboards/handwired/ic45_v2/readme.md b/keyboards/handwired/ic45_v2/readme.md deleted file mode 100644 index b4af92ae9a..0000000000 --- a/keyboards/handwired/ic45_v2/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# ic45_v2 - -![ic45_v2](https://i.imgur.com/a/FNxxXGd) - -*A 46-key keyboard ANSI keyboard with split spacebar. Files available here [here](https://github.com/lighteningAB/45keyboard_v1)* - -* Keyboard Maintainer: [PatrickFan](https://github.com/PatrickFan) -* Hardware Supported: Integrated ATmega32U4 -* Hardware Availability: [GitHub](https://github.com/lighteningAB/45keyboard_v1) - -Make example for this keyboard (after setting up your build environment): - - make handwired/ic45_v2:default - -Flashing example for this keyboard: - - make handwired/ic45_v2:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 2 ways: - -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/iso85k/keyboard.json b/keyboards/handwired/iso85k/keyboard.json index e88c4c3688..625a356e30 100644 --- a/keyboards/handwired/iso85k/keyboard.json +++ b/keyboards/handwired/iso85k/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true @@ -15,6 +17,7 @@ "rows": ["C7", "C6", "B15", "B14", "B13", "B12"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xCAFE", diff --git a/keyboards/handwired/itstleo9/info.json b/keyboards/handwired/itstleo9/info.json index 340b8a9e33..ba9de4d774 100644 --- a/keyboards/handwired/itstleo9/info.json +++ b/keyboards/handwired/itstleo9/info.json @@ -5,10 +5,13 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/handwired/jankrp2040dactyl/keyboard.json b/keyboards/handwired/jankrp2040dactyl/keyboard.json index ff49cef6a2..0d155a70bd 100644 --- a/keyboards/handwired/jankrp2040dactyl/keyboard.json +++ b/keyboards/handwired/jankrp2040dactyl/keyboard.json @@ -6,9 +6,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "soft_serial_pin": "GP0", "serial": { - "driver": "vendor", - "pin": "GP0" + "driver": "vendor" } }, @@ -25,6 +25,7 @@ }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/handwired/jn68m/keyboard.json b/keyboards/handwired/jn68m/keyboard.json index 818dce9805..e2c833b002 100644 --- a/keyboards/handwired/jn68m/keyboard.json +++ b/keyboards/handwired/jn68m/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JN68M", "manufacturer": "MxBlue", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xC714", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/jopr/keyboard.json b/keyboards/handwired/jopr/keyboard.json index f6320f7905..36aa7276b5 100644 --- a/keyboards/handwired/jopr/keyboard.json +++ b/keyboards/handwired/jopr/keyboard.json @@ -19,6 +19,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/handwired/jot50/keyboard.json b/keyboards/handwired/jot50/keyboard.json index d0108b4aa9..d272ffc6b1 100644 --- a/keyboards/handwired/jot50/keyboard.json +++ b/keyboards/handwired/jot50/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Jot50", "manufacturer": "Jotix", + "url": "", "maintainer": "jotix", "usb": { "vid": "0xFEED", @@ -10,6 +11,7 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/jotanck/keyboard.json b/keyboards/handwired/jotanck/keyboard.json index bddcce9fa5..94ec9c15e5 100644 --- a/keyboards/handwired/jotanck/keyboard.json +++ b/keyboards/handwired/jotanck/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/jotlily60/keyboard.json b/keyboards/handwired/jotlily60/keyboard.json index fd072d83db..7a8a2a50d9 100644 --- a/keyboards/handwired/jotlily60/keyboard.json +++ b/keyboards/handwired/jotlily60/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/jotpad16/keyboard.json b/keyboards/handwired/jotpad16/keyboard.json index 5a2503aaae..6a8a5db44c 100644 --- a/keyboards/handwired/jotpad16/keyboard.json +++ b/keyboards/handwired/jotpad16/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JotPad16", "manufacturer": "Jotix", + "url": "", "maintainer": "jotix", "usb": { "vid": "0xFEED", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/handwired/jtallbean/split_65/keyboard.json b/keyboards/handwired/jtallbean/split_65/keyboard.json index 86d4de0195..b10e6c6cc0 100644 --- a/keyboards/handwired/jtallbean/split_65/keyboard.json +++ b/keyboards/handwired/jtallbean/split_65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "split_65", "manufacturer": "jtallbean", + "url": "", "maintainer": "samlli", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/juliet/keyboard.json b/keyboards/handwired/juliet/keyboard.json index bf0193432d..49c2489e66 100644 --- a/keyboards/handwired/juliet/keyboard.json +++ b/keyboards/handwired/juliet/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/handwired/k8split/keyboard.json b/keyboards/handwired/k8split/keyboard.json index 2312d43689..62ea64604a 100644 --- a/keyboards/handwired/k8split/keyboard.json +++ b/keyboards/handwired/k8split/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "k8split", "manufacturer": "Ckat", + "url": "", "maintainer": "Ckath", "usb": { "vid": "0xC81D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/k_numpad17/keyboard.json b/keyboards/handwired/k_numpad17/keyboard.json index de52ca88af..7d48cd1f3e 100644 --- a/keyboards/handwired/k_numpad17/keyboard.json +++ b/keyboards/handwired/k_numpad17/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "K-Numpad17", "manufacturer": "Handwired", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/kbod/keyboard.json b/keyboards/handwired/kbod/keyboard.json index abd8c5dad4..91926b554d 100644 --- a/keyboards/handwired/kbod/keyboard.json +++ b/keyboards/handwired/kbod/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "kbod", "manufacturer": "fudanchii", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/ks63/keyboard.json b/keyboards/handwired/ks63/keyboard.json index 8b5a6c4e4c..09e59975e8 100644 --- a/keyboards/handwired/ks63/keyboard.json +++ b/keyboards/handwired/ks63/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ks63", "manufacturer": "kleshwong", + "url": "", "maintainer": "Klesh Wong", "usb": { "vid": "0xFEED", @@ -10,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/leftynumpad/keyboard.json b/keyboards/handwired/leftynumpad/keyboard.json index b14191c744..bb178be5be 100644 --- a/keyboards/handwired/leftynumpad/keyboard.json +++ b/keyboards/handwired/leftynumpad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/lemonpad/keyboard.json b/keyboards/handwired/lemonpad/keyboard.json index dea15dcc3c..aab7b94692 100644 --- a/keyboards/handwired/lemonpad/keyboard.json +++ b/keyboards/handwired/lemonpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "lemonpad", "manufacturer": "dari-studios", + "url": "", "maintainer": "dari-studios", "usb": { "vid": "0x6473", diff --git a/keyboards/handwired/lovelive9/keyboard.json b/keyboards/handwired/lovelive9/keyboard.json index 2b05d0cb5b..f8962bf761 100644 --- a/keyboards/handwired/lovelive9/keyboard.json +++ b/keyboards/handwired/lovelive9/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/lumawing/keyboard.json b/keyboards/handwired/lumawing/keyboard.json deleted file mode 100644 index 8af89134aa..0000000000 --- a/keyboards/handwired/lumawing/keyboard.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "keyboard_name": "LuMaWing", - "manufacturer": "Lucas Mateijsen", - "maintainer": "qmk", - "usb": { - "vid": "0xBB80", - "pid": "0x050D", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "command": true, - "extrakey": true, - "mousekey": true, - "nkro": false - }, - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "matrix_pins": { - "cols": ["B1", "B3", "B2", "B6", "B5", "B4", "E6", "D7", "C6", "D4", "D0", "D1", "D2", "D3"], - "rows": ["F4", "F5", "F6", "F7"] - }, - "diode_direction": "COL2ROW", - "development_board": "promicro", - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [1, 10], "x": 10, "y": 1}, - {"matrix": [1, 11], "x": 11, "y": 1}, - {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 13], "x": 13, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [2, 6], "x": 6, "y": 2}, - {"matrix": [2, 7], "x": 7, "y": 2}, - {"matrix": [2, 8], "x": 8, "y": 2}, - {"matrix": [2, 9], "x": 9, "y": 2}, - {"matrix": [2, 10], "x": 10, "y": 2}, - {"matrix": [2, 11], "x": 11, "y": 2}, - {"matrix": [2, 12], "x": 12, "y": 2}, - {"matrix": [2, 13], "x": 13, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 6], "x": 5, "y": 3, "w": 2}, - {"matrix": [3, 7], "x": 7, "y": 3, "w": 2}, - {"matrix": [3, 9], "x": 9, "y": 3}, - {"matrix": [3, 10], "x": 10, "y": 3}, - {"matrix": [3, 11], "x": 11, "y": 3}, - {"matrix": [3, 12], "x": 12, "y": 3}, - {"matrix": [3, 13], "x": 13, "y": 3} - ] - } - } -} diff --git a/keyboards/handwired/lumawing/keymaps/default/keymap.c b/keyboards/handwired/lumawing/keymaps/default/keymap.c deleted file mode 100644 index c9d1367c8c..0000000000 --- a/keyboards/handwired/lumawing/keymaps/default/keymap.c +++ /dev/null @@ -1,70 +0,0 @@ -/* Copyright 2021 Richard Nunez - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -#define KC_COPY LCTL(KC_C) -#define KC_CUT LCTL(KC_X) -#define KC_PSTE LCTL(KC_V) - -#define KC_UNDO LCTL(KC_Z) -#define KC_AGIN LCTL(KC_Y) - -enum layer_names { - _COLEMAKDH, - _QWERTY, - _NUMBERS, - _FUNCTIONAL, - _ADMIN -}; - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_COLEMAKDH] = LAYOUT( - KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, XXXXXXX, XXXXXXX, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, - KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_G, XXXXXXX, XXXXXXX, KC_M, KC_N, KC_E, KC_I, KC_O, KC_BSPC, - KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, XXXXXXX, XXXXXXX, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, XXXXXXX, KC_LGUI, KC_LALT, MO(3), KC_SPC, KC_ENT, MO(2), KC_RALT, KC_RGUI, XXXXXXX, KC_ENT - ), - - [_QWERTY] = LAYOUT( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_DEL, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, XXXXXXX, KC_LGUI, KC_LALT, MO(3), KC_SPC, KC_ENT, MO(2), KC_RALT, KC_RGUI, XXXXXXX, KC_ENT - ), - - [_NUMBERS] = LAYOUT( - KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_QUOT, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, XXXXXXX, XXXXXXX, _______, MO(4), _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX - ), - - [_FUNCTIONAL] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, KC_AGIN, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX - ), - - [_ADMIN] = LAYOUT( - QK_BOOT, DF(0), DF(1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX - ) -}; diff --git a/keyboards/handwired/lumawing/readme.md b/keyboards/handwired/lumawing/readme.md deleted file mode 100644 index aea5dab4ac..0000000000 --- a/keyboards/handwired/lumawing/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# LuMaWing handwired - -Custom handwired LuMaWing keyboard. - -* Keyboard Maintainer: [Lucas Mateijsen](https://github.com/LucasMateijsen/) -* Hardware Supported: Handwired LuMaWing 14x4 ortho keyboard Pro-Micro -* Hardware Availability: - -Make example for this keyboard (after setting up your build environment): - - make handwired/ortho4x14:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -To get into the Bootloader, simply hold down the top-left key (pos 0, 0) and power the board. diff --git a/keyboards/handwired/macroboard/info.json b/keyboards/handwired/macroboard/info.json index adef955b9d..5c27c96ae9 100644 --- a/keyboards/handwired/macroboard/info.json +++ b/keyboards/handwired/macroboard/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Macroboard", "manufacturer": "QMK", + "url": "", "maintainer": "Micha\u0142 Szczepaniak", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/magicforce61/keyboard.json b/keyboards/handwired/magicforce61/keyboard.json index e66f9dfe9c..e15cc0590e 100644 --- a/keyboards/handwired/magicforce61/keyboard.json +++ b/keyboards/handwired/magicforce61/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Magicforce 61", "manufacturer": "Hexwire", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/magicforce68/keyboard.json b/keyboards/handwired/magicforce68/keyboard.json index 1101dd6001..6567c8b1cf 100644 --- a/keyboards/handwired/magicforce68/keyboard.json +++ b/keyboards/handwired/magicforce68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Magicforce 68", "manufacturer": "Hexwire", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/marauder/keyboard.json b/keyboards/handwired/marauder/keyboard.json index 29b8fba30b..aa612c1ff0 100644 --- a/keyboards/handwired/marauder/keyboard.json +++ b/keyboards/handwired/marauder/keyboard.json @@ -22,6 +22,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/handwired/marek128b/ergosplit44/keyboard.json b/keyboards/handwired/marek128b/ergosplit44/keyboard.json index b14ca53bee..f9a88576a7 100644 --- a/keyboards/handwired/marek128b/ergosplit44/keyboard.json +++ b/keyboards/handwired/marek128b/ergosplit44/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -19,6 +21,7 @@ "rows": ["GP2", "GP3", "GP4", "GP5"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/handwired/mechboards_micropad/keyboard.json b/keyboards/handwired/mechboards_micropad/keyboard.json index c9a150229d..65ef6fb5b4 100644 --- a/keyboards/handwired/mechboards_micropad/keyboard.json +++ b/keyboards/handwired/mechboards_micropad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mechboards Micropad", "manufacturer": "Yiancar", + "url": "", "maintainer": "yiancar", "usb": { "vid": "0x8968", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/meck_tkl/blackpill_f401/rules.mk b/keyboards/handwired/meck_tkl/blackpill_f401/rules.mk deleted file mode 100644 index 6e47ffcd67..0000000000 --- a/keyboards/handwired/meck_tkl/blackpill_f401/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -AUDIO_SUPPORTED = no -BACKLIGHT_SUPPORTED = no diff --git a/keyboards/handwired/meck_tkl/rules.mk b/keyboards/handwired/meck_tkl/rules.mk new file mode 100644 index 0000000000..cdf3900ff0 --- /dev/null +++ b/keyboards/handwired/meck_tkl/rules.mk @@ -0,0 +1,4 @@ +AUDIO_SUPPORTED = no +BACKLIGHT_SUPPORTED = no + +DEFAULT_FOLDER = handwired/meck_tkl/blackpill_f401 diff --git a/keyboards/handwired/minorca/keyboard.json b/keyboards/handwired/minorca/keyboard.json index 32e3c9f92d..9ac1f52d13 100644 --- a/keyboards/handwired/minorca/keyboard.json +++ b/keyboards/handwired/minorca/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Minorca", "manufacturer": "panc.co", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/misterdeck/keyboard.json b/keyboards/handwired/misterdeck/keyboard.json index 55032ddd80..02c4348781 100644 --- a/keyboards/handwired/misterdeck/keyboard.json +++ b/keyboards/handwired/misterdeck/keyboard.json @@ -13,6 +13,7 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/ms_sculpt_mobile/info.json b/keyboards/handwired/ms_sculpt_mobile/info.json index 33e250b682..918f166c61 100644 --- a/keyboards/handwired/ms_sculpt_mobile/info.json +++ b/keyboards/handwired/ms_sculpt_mobile/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Microsoftplus", + "url": "", "maintainer": "qmk", "features": { "bootmagic": false, diff --git a/keyboards/handwired/ms_sculpt_mobile/rules.mk b/keyboards/handwired/ms_sculpt_mobile/rules.mk new file mode 100644 index 0000000000..8a3cc6858c --- /dev/null +++ b/keyboards/handwired/ms_sculpt_mobile/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/ms_sculpt_mobile/teensy2pp diff --git a/keyboards/handwired/mutepad/keyboard.json b/keyboards/handwired/mutepad/keyboard.json index fd16cd7447..f727569c98 100644 --- a/keyboards/handwired/mutepad/keyboard.json +++ b/keyboards/handwired/mutepad/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/myskeeb/keyboard.json b/keyboards/handwired/myskeeb/keyboard.json index d6805a400c..c75f40cf46 100644 --- a/keyboards/handwired/myskeeb/keyboard.json +++ b/keyboards/handwired/myskeeb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MySKeeb", "manufacturer": "DAG3", + "url": "", "maintainer": "su8044", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/nicekey/keyboard.json b/keyboards/handwired/nicekey/keyboard.json index 5679c54432..fe7267ab84 100644 --- a/keyboards/handwired/nicekey/keyboard.json +++ b/keyboards/handwired/nicekey/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "nicekey", "manufacturer": "Lukas", + "url": "", "maintainer": "spydon", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/nortontechpad/keyboard.json b/keyboards/handwired/nortontechpad/keyboard.json index 25fceb93da..e90b6b5482 100644 --- a/keyboards/handwired/nortontechpad/keyboard.json +++ b/keyboards/handwired/nortontechpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NortonTechPad", "manufacturer": "NortonTech", + "url": "", "maintainer": "NortonTech", "usb": { "vid": "0x9879", diff --git a/keyboards/handwired/not_so_minidox/keyboard.json b/keyboards/handwired/not_so_minidox/keyboard.json index 0c10858d67..fa68a823af 100644 --- a/keyboards/handwired/not_so_minidox/keyboard.json +++ b/keyboards/handwired/not_so_minidox/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Not So MiniDox", "manufacturer": "mtdjr", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/novem/keyboard.json b/keyboards/handwired/novem/keyboard.json index 47c0a1bca6..c824f7809c 100644 --- a/keyboards/handwired/novem/keyboard.json +++ b/keyboards/handwired/novem/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "novem", "manufacturer": "Jose I. Martinez", + "url": "", "maintainer": "Jose I. Martinez", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/novem/readme.md b/keyboards/handwired/novem/readme.md index 4ccf815236..c259c2cb82 100644 --- a/keyboards/handwired/novem/readme.md +++ b/keyboards/handwired/novem/readme.md @@ -2,6 +2,8 @@ ![novem](https://i.imgur.com/nPjBE9b.jpg) +A short description of the keyboard/project + * Keyboard Maintainer: [Jose I. Martinez](https://github.com/mechanicalguy21) * Hardware Supported: This is a handwired keyboard created over a 3d printed case. STL will be shared soon. diff --git a/keyboards/handwired/nozbe_macro/keyboard.json b/keyboards/handwired/nozbe_macro/keyboard.json index a1515df7e3..584509ad18 100644 --- a/keyboards/handwired/nozbe_macro/keyboard.json +++ b/keyboards/handwired/nozbe_macro/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Nozbe Reunion Pad", "manufacturer": "Leon Omelan", + "url": "", "maintainer": "Leon Omelan", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/numpad20/keyboard.json b/keyboards/handwired/numpad20/keyboard.json index 4f4254cf12..e47cfc5df5 100644 --- a/keyboards/handwired/numpad20/keyboard.json +++ b/keyboards/handwired/numpad20/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Numpad 20", "manufacturer": "Hexwire", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xBB80", diff --git a/keyboards/handwired/obuwunkunubi/spaget/keyboard.json b/keyboards/handwired/obuwunkunubi/spaget/keyboard.json index 3926b96db5..238736705d 100644 --- a/keyboards/handwired/obuwunkunubi/spaget/keyboard.json +++ b/keyboards/handwired/obuwunkunubi/spaget/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "spaget", "manufacturer": "obuwunkunubi", + "url": "", "maintainer": "obuwunkunubi", "usb": { "vid": "0x1337", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/oem_ansi_fullsize/keyboard.json b/keyboards/handwired/oem_ansi_fullsize/keyboard.json index 3c3ebb2646..e83b2c61d3 100644 --- a/keyboards/handwired/oem_ansi_fullsize/keyboard.json +++ b/keyboards/handwired/oem_ansi_fullsize/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/handwired/onekey/at_start_f415/board.h b/keyboards/handwired/onekey/at_start_f415/board.h index a31d8f8e37..f4adc2d418 100644 --- a/keyboards/handwired/onekey/at_start_f415/board.h +++ b/keyboards/handwired/onekey/at_start_f415/board.h @@ -1,5 +1,5 @@ -// Copyright 2023-2025 HorrorTroll -// Copyright 2023-2025 Zhaqian +// Copyright 2023-2024 HorrorTroll +// Copyright 2023-2024 Zhaqian // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keyboards/handwired/onekey/at_start_f415/config.h b/keyboards/handwired/onekey/at_start_f415/config.h index 7e41e7da89..0e47e813c5 100644 --- a/keyboards/handwired/onekey/at_start_f415/config.h +++ b/keyboards/handwired/onekey/at_start_f415/config.h @@ -1,28 +1,14 @@ -// Copyright 2023-2025 HorrorTroll -// Copyright 2023-2025 Zhaqian +// Copyright 2023-2024 HorrorTroll +// Copyright 2023-2024 Zhaqian // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* ADC pin */ #define ADC_PIN A0 -/* Backlight configs */ #define BACKLIGHT_PWM_DRIVER PWMD5 #define BACKLIGHT_PWM_CHANNEL 1 -/* LCD configs */ -#define LCD_RST_PIN A2 -#define LCD_DC_PIN A3 -#define LCD_CS_PIN A4 - -/* SPI pins */ -#define SPI_DRIVER SPID1 -#define SPI_SCK_PIN A5 -#define SPI_MOSI_PIN A7 -#define SPI_MISO_PIN A6 - -/* Haptic configs */ #define SOLENOID_PIN B12 #define SOLENOID_PINS { B12, B13, B14, B15 } #define SOLENOID_PINS_ACTIVE_STATE { high, high, low } diff --git a/keyboards/handwired/onekey/at_start_f415/halconf.h b/keyboards/handwired/onekey/at_start_f415/halconf.h index 3c3ba3812a..1423633d15 100644 --- a/keyboards/handwired/onekey/at_start_f415/halconf.h +++ b/keyboards/handwired/onekey/at_start_f415/halconf.h @@ -1,5 +1,5 @@ -// Copyright 2023-2025 HorrorTroll -// Copyright 2023-2025 Zhaqian +// Copyright 2023-2024 HorrorTroll +// Copyright 2023-2024 Zhaqian // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -10,6 +10,4 @@ #define HAL_USE_PWM TRUE -#define HAL_USE_SPI TRUE - #include_next diff --git a/keyboards/handwired/onekey/at_start_f415/keyboard.json b/keyboards/handwired/onekey/at_start_f415/keyboard.json index 8024e776a8..f598923a6a 100644 --- a/keyboards/handwired/onekey/at_start_f415/keyboard.json +++ b/keyboards/handwired/onekey/at_start_f415/keyboard.json @@ -16,9 +16,5 @@ }, "ws2812": { "pin": "B0" - }, - "apa102": { - "data_pin": "B0", - "clock_pin": "B1" } } diff --git a/keyboards/handwired/onekey/at_start_f415/mcuconf.h b/keyboards/handwired/onekey/at_start_f415/mcuconf.h index 8f6333ca01..9bc11d507c 100644 --- a/keyboards/handwired/onekey/at_start_f415/mcuconf.h +++ b/keyboards/handwired/onekey/at_start_f415/mcuconf.h @@ -1,5 +1,5 @@ -// Copyright 2023-2025 HorrorTroll -// Copyright 2023-2025 Zhaqian +// Copyright 2023-2024 HorrorTroll +// Copyright 2023-2024 Zhaqian // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -14,6 +14,3 @@ #undef AT32_PWM_USE_TMR5 #define AT32_PWM_USE_TMR5 TRUE - -#undef AT32_SPI_USE_SPI1 -#define AT32_SPI_USE_SPI1 TRUE diff --git a/keyboards/handwired/onekey/info.json b/keyboards/handwired/onekey/info.json index d5f650f1bd..5cf7c600ee 100644 --- a/keyboards/handwired/onekey/info.json +++ b/keyboards/handwired/onekey/info.json @@ -1,5 +1,6 @@ { "manufacturer": "QMK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -11,6 +12,8 @@ "bootmagic": false, "mousekey": false, "extrakey": true, + "console": false, + "command": false, "nkro": false }, "qmk": { @@ -26,17 +29,5 @@ {"x": 0, "y": 0, "matrix": [0, 0]} ] } - }, - "led_matrix": { - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1} - ] - }, - "rgb_matrix": { - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1} - ] } } diff --git a/keyboards/handwired/onekey/kb2040/config.h b/keyboards/handwired/onekey/kb2040/config.h index a9508bc4cc..e9c4eef273 100644 --- a/keyboards/handwired/onekey/kb2040/config.h +++ b/keyboards/handwired/onekey/kb2040/config.h @@ -16,13 +16,3 @@ #define I2C1_SDA_PIN GP12 #define I2C1_SCL_PIN GP13 -/* LCD configs */ -#define LCD_RST_PIN GP0 -#define LCD_DC_PIN GP1 -#define LCD_CS_PIN GP2 - -/* SPI pins */ -#define SPI_DRIVER SPID0 -#define SPI_SCK_PIN GP18 -#define SPI_MOSI_PIN GP19 -#define SPI_MISO_PIN GP20 diff --git a/keyboards/handwired/onekey/kb2040/halconf.h b/keyboards/handwired/onekey/kb2040/halconf.h deleted file mode 100644 index 96d14ae85c..0000000000 --- a/keyboards/handwired/onekey/kb2040/halconf.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/handwired/onekey/kb2040/mcuconf.h b/keyboards/handwired/onekey/kb2040/mcuconf.h index cc44ce77c3..57e58e14d7 100644 --- a/keyboards/handwired/onekey/kb2040/mcuconf.h +++ b/keyboards/handwired/onekey/kb2040/mcuconf.h @@ -22,6 +22,3 @@ #undef RP_I2C_USE_I2C1 #define RP_I2C_USE_I2C1 TRUE - -#undef RP_SPI_USE_SPI0 -#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/handwired/onekey/keymaps/battery/keymap.c b/keyboards/handwired/onekey/keymaps/battery/keymap.c deleted file mode 100644 index 74191e83fc..0000000000 --- a/keyboards/handwired/onekey/keymaps/battery/keymap.c +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2024 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H -#include "battery.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_ortho_1x1(KC_A) -}; - -void keyboard_post_init_user(void) { - // Customise these values to desired behaviour - debug_enable=true; -// debug_matrix=false; -// debug_keyboard=true; -// debug_mouse=false; - - battery_init(); -} - -void housekeeping_task_user(void) { - static uint32_t last = 0; - if (timer_elapsed32(last) > 2000) { - uprintf("Bat: %d!\n", battery_get_percent()); - - last = timer_read32(); - } -} diff --git a/keyboards/handwired/onekey/keymaps/battery/keymap.json b/keyboards/handwired/onekey/keymaps/battery/keymap.json deleted file mode 100644 index c641dfe773..0000000000 --- a/keyboards/handwired/onekey/keymaps/battery/keymap.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "config": { - "features": { - "console": true - } - } -} diff --git a/keyboards/handwired/onekey/keymaps/battery/rules.mk b/keyboards/handwired/onekey/keymaps/battery/rules.mk deleted file mode 100644 index 06908179ae..0000000000 --- a/keyboards/handwired/onekey/keymaps/battery/rules.mk +++ /dev/null @@ -1 +0,0 @@ -BATTERY_DRIVER_REQUIRED = yes diff --git a/keyboards/handwired/onekey/keymaps/cm_flow_led_matrix_effect/config.h b/keyboards/handwired/onekey/keymaps/cm_flow_led_matrix_effect/config.h deleted file mode 100644 index aed1e4ac6f..0000000000 --- a/keyboards/handwired/onekey/keymaps/cm_flow_led_matrix_effect/config.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#pragma once - -#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND diff --git a/keyboards/handwired/onekey/keymaps/cm_flow_led_matrix_effect/keymap.c b/keyboards/handwired/onekey/keymaps/cm_flow_led_matrix_effect/keymap.c deleted file mode 100644 index 0bd835ff25..0000000000 --- a/keyboards/handwired/onekey/keymaps/cm_flow_led_matrix_effect/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// This keymap serves as a test for modules/qmk/flow_led_matrix_effect. - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {LAYOUT_ortho_1x1(LM_TOGG)}; - -const snled27351_led_t PROGMEM g_snled27351_leds[LED_MATRIX_LED_COUNT] = { - {0, CB6_CA1}, -}; - -void keyboard_post_init_user(void) { - led_matrix_mode_noeeprom(LED_MATRIX_COMMUNITY_MODULE_FLOW); -} diff --git a/keyboards/handwired/onekey/keymaps/cm_flow_led_matrix_effect/keymap.json b/keyboards/handwired/onekey/keymaps/cm_flow_led_matrix_effect/keymap.json deleted file mode 100644 index 0ff6bf5a4d..0000000000 --- a/keyboards/handwired/onekey/keymaps/cm_flow_led_matrix_effect/keymap.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "modules": ["qmk/flow_led_matrix_effect"] -} diff --git a/keyboards/handwired/onekey/keymaps/cm_flow_rgb_matrix_effect/config.h b/keyboards/handwired/onekey/keymaps/cm_flow_rgb_matrix_effect/config.h deleted file mode 100644 index aed1e4ac6f..0000000000 --- a/keyboards/handwired/onekey/keymaps/cm_flow_rgb_matrix_effect/config.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#pragma once - -#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND diff --git a/keyboards/handwired/onekey/keymaps/cm_flow_rgb_matrix_effect/keymap.c b/keyboards/handwired/onekey/keymaps/cm_flow_rgb_matrix_effect/keymap.c deleted file mode 100644 index 72ef2d3f80..0000000000 --- a/keyboards/handwired/onekey/keymaps/cm_flow_rgb_matrix_effect/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// This keymap serves as a test for modules/qmk/flow_rgb_matrix_effect. - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {LAYOUT_ortho_1x1(RM_TOGG)}; - -const snled27351_led_t PROGMEM g_snled27351_leds[LED_MATRIX_LED_COUNT] = { - {0, CB6_CA1}, -}; - -void keyboard_post_init_user(void) { - rgb_matrix_mode_noeeprom(RGB_MATRIX_COMMUNITY_MODULE_FLOW); -} diff --git a/keyboards/handwired/onekey/keymaps/cm_flow_rgb_matrix_effect/keymap.json b/keyboards/handwired/onekey/keymaps/cm_flow_rgb_matrix_effect/keymap.json deleted file mode 100644 index 56d2342867..0000000000 --- a/keyboards/handwired/onekey/keymaps/cm_flow_rgb_matrix_effect/keymap.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "modules": ["qmk/flow_rgb_matrix_effect"] -} diff --git a/keyboards/handwired/onekey/keymaps/community_module/keymap.c b/keyboards/handwired/onekey/keymaps/community_module/keymap.c deleted file mode 100644 index 5115a9fea0..0000000000 --- a/keyboards/handwired/onekey/keymaps/community_module/keymap.c +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_ortho_1x1(CM_HELO) -}; diff --git a/keyboards/handwired/onekey/keymaps/community_module/keymap.json b/keyboards/handwired/onekey/keymaps/community_module/keymap.json deleted file mode 100644 index e3b4051b9e..0000000000 --- a/keyboards/handwired/onekey/keymaps/community_module/keymap.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "modules": ["qmk/hello_world"] -} diff --git a/keyboards/handwired/onekey/keymaps/lvgl/config.h b/keyboards/handwired/onekey/keymaps/lvgl/config.h new file mode 100644 index 0000000000..38bb5d0cf3 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/lvgl/config.h @@ -0,0 +1,15 @@ +// Copyright 2022 Jose Pablo Ramirez (@jpe230) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* SPI pins */ +#define SPI_DRIVER SPID0 +#define SPI_SCK_PIN GP18 +#define SPI_MOSI_PIN GP19 +#define SPI_MISO_PIN GP20 + +/* LCD Configuration */ +#define LCD_RST_PIN GP0 +#define LCD_DC_PIN GP1 +#define LCD_CS_PIN GP2 diff --git a/keyboards/splitkb/halcyon/lily58/rev2/halconf.h b/keyboards/handwired/onekey/keymaps/lvgl/halconf.h similarity index 50% rename from keyboards/splitkb/halcyon/lily58/rev2/halconf.h rename to keyboards/handwired/onekey/keymaps/lvgl/halconf.h index a6937ddf9d..27646bb3f5 100644 --- a/keyboards/splitkb/halcyon/lily58/rev2/halconf.h +++ b/keyboards/handwired/onekey/keymaps/lvgl/halconf.h @@ -1,11 +1,12 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) +// Copyright 2022 Jose Pablo Ramirez (@jpe230) // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -//// VIK +#include_next -#define HAL_USE_I2C TRUE +#undef HAL_USE_SPI #define HAL_USE_SPI TRUE -#include_next +#undef SPI_USE_WAIT +#define SPI_USE_WAIT TRUE diff --git a/keyboards/dlip/haritev2/mcuconf.h b/keyboards/handwired/onekey/keymaps/lvgl/mcuconf.h similarity index 73% rename from keyboards/dlip/haritev2/mcuconf.h rename to keyboards/handwired/onekey/keymaps/lvgl/mcuconf.h index 62375dc72c..bff74867ff 100644 --- a/keyboards/dlip/haritev2/mcuconf.h +++ b/keyboards/handwired/onekey/keymaps/lvgl/mcuconf.h @@ -1,7 +1,9 @@ -// Copyright 2023 Dane Lipscombe (@dlip) +// Copyright 2022 Jose Pablo Ramirez (@jpe230) // SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #include_next + #undef RP_SPI_USE_SPI0 #define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/handwired/onekey/keymaps/via_ci/config.h b/keyboards/handwired/onekey/keymaps/via_ci/config.h deleted file mode 100644 index ec6f1e1ec0..0000000000 --- a/keyboards/handwired/onekey/keymaps/via_ci/config.h +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once -#define TRANSIENT_EEPROM_SIZE 160 diff --git a/keyboards/handwired/onekey/keymaps/via_ci/keymap.c b/keyboards/handwired/onekey/keymaps/via_ci/keymap.c deleted file mode 100644 index 8261fc6329..0000000000 --- a/keyboards/handwired/onekey/keymaps/via_ci/keymap.c +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -enum custom_keycodes { - KC_HELLO = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_ortho_1x1(KC_HELLO) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_HELLO: - if (record->event.pressed) { - send_string_P("Hello world!"); - } - return false; - } - return true; -} - -void keyboard_post_init_user(void) { - // Customise these values to desired behaviour - debug_enable=true; - debug_matrix=true; - //debug_keyboard=true; - //debug_mouse=true; -} diff --git a/keyboards/handwired/onekey/keymaps/via_ci/keymap.json b/keyboards/handwired/onekey/keymaps/via_ci/keymap.json deleted file mode 100644 index edb78b5742..0000000000 --- a/keyboards/handwired/onekey/keymaps/via_ci/keymap.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "config": { - "features": { - "via": true - } - } -} diff --git a/keyboards/handwired/onekey/nucleo_f446re/config.h b/keyboards/handwired/onekey/nucleo_f446re/config.h index cebb609117..4401623e85 100644 --- a/keyboards/handwired/onekey/nucleo_f446re/config.h +++ b/keyboards/handwired/onekey/nucleo_f446re/config.h @@ -2,7 +2,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#define ADC_PIN A5 +#define ADC_PIN A0 #define SOLENOID_PINS { B12, B13, B14, B15 } #define SOLENOID_PINS_ACTIVE_STATE { high, high, low } diff --git a/keyboards/handwired/onekey/nucleo_f446re/keyboard.json b/keyboards/handwired/onekey/nucleo_f446re/keyboard.json index 7c51ca053b..26de66e198 100644 --- a/keyboards/handwired/onekey/nucleo_f446re/keyboard.json +++ b/keyboards/handwired/onekey/nucleo_f446re/keyboard.json @@ -3,17 +3,17 @@ "processor": "STM32F446", "bootloader": "stm32-dfu", "matrix_pins": { - "cols": ["A0"], + "cols": ["A2"], "rows": ["A1"] }, "backlight": { "pin": "B8" }, "ws2812": { - "pin": "A4" + "pin": "A0" }, "apa102": { - "data_pin": "A4", + "data_pin": "A0", "clock_pin": "B13" } } diff --git a/keyboards/handwired/onekey/nucleo_f446re/readme.md b/keyboards/handwired/onekey/nucleo_f446re/readme.md index b0645b65fe..c7d13cb973 100644 --- a/keyboards/handwired/onekey/nucleo_f446re/readme.md +++ b/keyboards/handwired/onekey/nucleo_f446re/readme.md @@ -1,5 +1,5 @@ # STM32 Nucleo-L432 onekey -To trigger keypress, short together pins *A0* and *A1*. Note that the pin numbering is relative to the MCU, so that A0 and A1 refer to PA0 and PA1 on the MCU (which are also labelled A0 and A1 on the board, but this isn't true for the other PAx pins). +To trigger keypress, short together pins *A1* and *A2*. You'll also need to connect `VIN`, `GND`, USB `D+` to `PA12`/`D2`, and USB `D-` to `PA11`/`D10`. diff --git a/keyboards/handwired/onekey/rp2040/config.h b/keyboards/handwired/onekey/rp2040/config.h index 974fc688d3..0030e97b0f 100644 --- a/keyboards/handwired/onekey/rp2040/config.h +++ b/keyboards/handwired/onekey/rp2040/config.h @@ -17,14 +17,3 @@ #define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_A #define ADC_PIN GP26 - -/* LCD configs */ -#define LCD_RST_PIN GP0 -#define LCD_DC_PIN GP1 -#define LCD_CS_PIN GP2 - -/* SPI pins */ -#define SPI_DRIVER SPID0 -#define SPI_SCK_PIN GP18 -#define SPI_MOSI_PIN GP19 -#define SPI_MISO_PIN GP20 diff --git a/keyboards/handwired/onekey/rp2040/halconf.h b/keyboards/handwired/onekey/rp2040/halconf.h index 6310808d9a..ec56be2263 100644 --- a/keyboards/handwired/onekey/rp2040/halconf.h +++ b/keyboards/handwired/onekey/rp2040/halconf.h @@ -4,11 +4,7 @@ #pragma once #define HAL_USE_I2C TRUE - #define HAL_USE_PWM TRUE - #define HAL_USE_ADC TRUE -#define HAL_USE_SPI TRUE - #include_next diff --git a/keyboards/handwired/onekey/rp2040/mcuconf.h b/keyboards/handwired/onekey/rp2040/mcuconf.h index c1d22657ca..e24a0d4f24 100644 --- a/keyboards/handwired/onekey/rp2040/mcuconf.h +++ b/keyboards/handwired/onekey/rp2040/mcuconf.h @@ -10,6 +10,3 @@ #undef RP_PWM_USE_PWM4 #define RP_PWM_USE_PWM4 TRUE - -#undef RP_SPI_USE_SPI0 -#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/handwired/onekey/rules.mk b/keyboards/handwired/onekey/rules.mk new file mode 100644 index 0000000000..2094801ed9 --- /dev/null +++ b/keyboards/handwired/onekey/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/onekey/promicro diff --git a/keyboards/handwired/onekey/teensy_32/rules.mk b/keyboards/handwired/onekey/teensy_32/rules.mk deleted file mode 100644 index d5978ba6f5..0000000000 --- a/keyboards/handwired/onekey/teensy_32/rules.mk +++ /dev/null @@ -1 +0,0 @@ -EEPROM_DRIVER = transient diff --git a/keyboards/handwired/onekey/teensy_lc/rules.mk b/keyboards/handwired/onekey/teensy_lc/rules.mk index d1a53e95d7..abd2f7fce9 100644 --- a/keyboards/handwired/onekey/teensy_lc/rules.mk +++ b/keyboards/handwired/onekey/teensy_lc/rules.mk @@ -1,2 +1,2 @@ USE_CHIBIOS_CONTRIB = yes -EEPROM_DRIVER = transient + diff --git a/keyboards/handwired/onekey/weact_g0b1cb/config.h b/keyboards/handwired/onekey/weact_g0b1cb/config.h deleted file mode 100644 index b4550b15f4..0000000000 --- a/keyboards/handwired/onekey/weact_g0b1cb/config.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2025 Stefan Kerkmann (@karlk90) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define ADC_PIN A0 - -#define BACKLIGHT_PAL_MODE 1 -#define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PWM_DRIVER PWMD3 - -#define I2C1_SCL_PAL_MODE 6 -#define I2C1_SDA_PAL_MODE 6 - -#define LCD_RST_PIN B12 -#define LCD_DC_PIN B11 -#define LCD_CS_PIN B10 - -#define SPI_MOSI_PAL_MODE 0 -#define SPI_MISO_PAL_MODE 0 -#define SPI_SCK_PAL_MODE 0 - -#define WS2812_PWM_CHANNEL 3 -#define WS2812_PWM_DMA_CHANNEL 2 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 -#define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM3_UP -#define WS2812_PWM_DRIVER PWMD3 -#define WS2812_PWM_PAL_MODE 1 diff --git a/keyboards/handwired/onekey/weact_g0b1cb/halconf.h b/keyboards/handwired/onekey/weact_g0b1cb/halconf.h deleted file mode 100644 index 2d6f87eba2..0000000000 --- a/keyboards/handwired/onekey/weact_g0b1cb/halconf.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 Stefan Kerkmann (@karlk90) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_ADC TRUE -#define HAL_USE_I2C TRUE -#define HAL_USE_PWM TRUE -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/handwired/onekey/weact_g0b1cb/keyboard.json b/keyboards/handwired/onekey/weact_g0b1cb/keyboard.json deleted file mode 100644 index bb1ce7d5ca..0000000000 --- a/keyboards/handwired/onekey/weact_g0b1cb/keyboard.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "keyboard_name": "Onekey WeAct G0B1CB", - "processor": "STM32G0B1", - "bootloader": "stm32-dfu", - "matrix_pins": { - "cols": ["B4"], - "rows": ["B5"] - }, - "backlight": { - "pin": "C6" - }, - "ws2812": { - "driver": "pwm", - "pin": "B0" - }, - "apa102": { - "data_pin": "B15", - "clock_pin": "B13" - } -} diff --git a/keyboards/handwired/onekey/weact_g0b1cb/mcuconf.h b/keyboards/handwired/onekey/weact_g0b1cb/mcuconf.h deleted file mode 100644 index 50f2bcf627..0000000000 --- a/keyboards/handwired/onekey/weact_g0b1cb/mcuconf.h +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2025 Stefan Kerkmann (@karlk90) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef STM32_ADC_USE_ADC1 -#define STM32_ADC_USE_ADC1 TRUE - -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 TRUE - -#undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE - -#undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/handwired/onekey/weact_g0b1cb/readme.md b/keyboards/handwired/onekey/weact_g0b1cb/readme.md deleted file mode 100644 index 4119ffa2ed..0000000000 --- a/keyboards/handwired/onekey/weact_g0b1cb/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# WeAct Studio STM32G0B1CB onekey - -Supported Hardware: - -To trigger keypress, short together pins *B4* and *B5*. diff --git a/keyboards/handwired/orbweaver/keyboard.json b/keyboards/handwired/orbweaver/keyboard.json index 73baa9a21d..5ba08dfc2d 100644 --- a/keyboards/handwired/orbweaver/keyboard.json +++ b/keyboards/handwired/orbweaver/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/ortho5x13/keyboard.json b/keyboards/handwired/ortho5x13/keyboard.json index 6dea79ab92..23591b5046 100644 --- a/keyboards/handwired/ortho5x13/keyboard.json +++ b/keyboards/handwired/ortho5x13/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ortho 5x13", "manufacturer": "Hexwire", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xBB80", diff --git a/keyboards/handwired/ortho5x14/keyboard.json b/keyboards/handwired/ortho5x14/keyboard.json index f0b7e923c1..1e6828190b 100644 --- a/keyboards/handwired/ortho5x14/keyboard.json +++ b/keyboards/handwired/ortho5x14/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ortho5 x14", "manufacturer": "MPInc", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xBB80", @@ -10,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/ortho_brass/keyboard.json b/keyboards/handwired/ortho_brass/keyboard.json index 2f0fe7b685..5cd01b1f6d 100644 --- a/keyboards/handwired/ortho_brass/keyboard.json +++ b/keyboards/handwired/ortho_brass/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ortho Brass", "manufacturer": "BifbofII", + "url": "", "maintainer": "BifbofII", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c index 47f731c2c9..fc43167211 100644 --- a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c +++ b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c @@ -182,9 +182,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!eeconfig_is_enabled()) { eeconfig_init(); } - eeconfig_read_keymap(&keymap_config); + keymap_config.raw = eeconfig_read_keymap(); keymap_config.nkro = 1; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } return false; break; diff --git a/keyboards/handwired/osborne1/keyboard.json b/keyboards/handwired/osborne1/keyboard.json index 567d4638b5..8cbcb3cc8b 100644 --- a/keyboards/handwired/osborne1/keyboard.json +++ b/keyboards/handwired/osborne1/keyboard.json @@ -6,6 +6,7 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": false, "mousekey": false, @@ -20,6 +21,7 @@ "rows": ["D0", "B7", "B5", "C6", "D1", "B6", "D7", "D6"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x239A", diff --git a/keyboards/handwired/p65rgb/keyboard.json b/keyboards/handwired/p65rgb/keyboard.json index d2ee16e2c1..b80a1e7f49 100644 --- a/keyboards/handwired/p65rgb/keyboard.json +++ b/keyboards/handwired/p65rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "p65rgb", "manufacturer": "marhalloweenvt", + "url": "", "maintainer": "marhalloweenvt", "usb": { "vid": "0xFEED", @@ -163,6 +164,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/petruziamini/keyboard.json b/keyboards/handwired/petruziamini/keyboard.json index 1d0686aaa1..1d864d5dbb 100644 --- a/keyboards/handwired/petruziamini/keyboard.json +++ b/keyboards/handwired/petruziamini/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/phantagom/baragon/keyboard.json b/keyboards/handwired/phantagom/baragon/keyboard.json index 3cda89fa2a..390f114dd9 100644 --- a/keyboards/handwired/phantagom/baragon/keyboard.json +++ b/keyboards/handwired/phantagom/baragon/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/phantagom/varan/keyboard.json b/keyboards/handwired/phantagom/varan/keyboard.json index b852098769..a767d45de0 100644 --- a/keyboards/handwired/phantagom/varan/keyboard.json +++ b/keyboards/handwired/phantagom/varan/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/pilcrow/keyboard.json b/keyboards/handwired/pilcrow/keyboard.json index f490ac33b6..b44a4e2d3d 100644 --- a/keyboards/handwired/pilcrow/keyboard.json +++ b/keyboards/handwired/pilcrow/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "pilcrow", "manufacturer": "Unknown", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/pill60/rules.mk b/keyboards/handwired/pill60/rules.mk new file mode 100644 index 0000000000..9299a64d61 --- /dev/null +++ b/keyboards/handwired/pill60/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/pill60/bluepill diff --git a/keyboards/handwired/polly40/keyboard.json b/keyboards/handwired/polly40/keyboard.json index 8eacb238c1..fde1b77aab 100644 --- a/keyboards/handwired/polly40/keyboard.json +++ b/keyboards/handwired/polly40/keyboard.json @@ -19,6 +19,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "qmk": { diff --git a/keyboards/handwired/postageboard/info.json b/keyboards/handwired/postageboard/info.json index b34c2b3fbe..2f4e674d59 100644 --- a/keyboards/handwired/postageboard/info.json +++ b/keyboards/handwired/postageboard/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Postage Board", "manufacturer": "LifeIsOnTheWire", + "url": "", "maintainer": "LifeIsOnTheWire", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/postageboard/rules.mk b/keyboards/handwired/postageboard/rules.mk new file mode 100644 index 0000000000..a7fcf6bea6 --- /dev/null +++ b/keyboards/handwired/postageboard/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER=handwired/postageboard/mini diff --git a/keyboards/handwired/prime_exl/keyboard.json b/keyboards/handwired/prime_exl/keyboard.json index 656abe14ec..13993a61b4 100644 --- a/keyboards/handwired/prime_exl/keyboard.json +++ b/keyboards/handwired/prime_exl/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/prime_exl_plus/keyboard.json b/keyboards/handwired/prime_exl_plus/keyboard.json index 7e59b917a7..a234bceb02 100644 --- a/keyboards/handwired/prime_exl_plus/keyboard.json +++ b/keyboards/handwired/prime_exl_plus/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h index 974a4f951f..806726b5eb 100644 --- a/keyboards/handwired/promethium/config.h +++ b/keyboards/handwired/promethium/config.h @@ -63,8 +63,9 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT #define PS2_MOUSE_INIT_DELAY 2000 - -#define BATTERY_PIN B5 +#define BATTERY_POLL 30000 +#define MAX_VOLTAGE 4.2 +#define MIN_VOLTAGE 3.2 #ifndef __ASSEMBLER__ // assembler doesn't like enum in .h file enum led_sequence { diff --git a/keyboards/handwired/promethium/keyboard.json b/keyboards/handwired/promethium/keyboard.json index fa72908039..6ee1ed8ca1 100644 --- a/keyboards/handwired/promethium/keyboard.json +++ b/keyboards/handwired/promethium/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Promethium", "manufacturer": "Priyadi", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x17EF", diff --git a/keyboards/handwired/promethium/promethium.c b/keyboards/handwired/promethium/promethium.c index c94a27a4de..63139ac09d 100644 --- a/keyboards/handwired/promethium/promethium.c +++ b/keyboards/handwired/promethium/promethium.c @@ -1,15 +1,16 @@ -#include "keyboard.h" +#include "promethium.h" +#include "analog.h" #include "timer.h" -#include "battery.h" +#include "matrix.h" +#include "bluefruit_le.h" -#ifndef BATTERY_POLL -# define BATTERY_POLL 30000 -#endif +// cubic fit {3.3, 0}, {3.5, 2.9}, {3.6, 5}, {3.7, 8.6}, {3.8, 36}, {3.9, 62}, {4.0, 73}, {4.05, 83}, {4.1, 89}, {4.15, 94}, {4.2, 100} uint8_t battery_level(void) { - // maintain legacy behaviour and scale 0-100 percent to 0-255 - uint16_t percent = battery_get_percent(); - return (percent * 255) / 100; + float voltage = bluefruit_le_read_battery_voltage() * 2 * 3.3 / 1024; + if (voltage < MIN_VOLTAGE) return 0; + if (voltage > MAX_VOLTAGE) return 255; + return (voltage - MIN_VOLTAGE) / (MAX_VOLTAGE - MIN_VOLTAGE) * 255; } __attribute__ ((weak)) diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk index 4012f8ca29..7f20880066 100644 --- a/keyboards/handwired/promethium/rules.mk +++ b/keyboards/handwired/promethium/rules.mk @@ -5,7 +5,7 @@ PS2_DRIVER = interrupt CUSTOM_MATRIX = yes WS2812_DRIVER_REQUIRED = yes -BATTERY_DRIVER_REQUIRED = yes +ANALOG_DRIVER_REQUIRED = yes SRC += rgbsps.c SRC += matrix.c diff --git a/keyboards/handwired/protype/keyboard.json b/keyboards/handwired/protype/keyboard.json deleted file mode 100644 index dbbc17ba86..0000000000 --- a/keyboards/handwired/protype/keyboard.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "manufacturer": "Cherry", - "keyboard_name": "Protype Display Typewriter", - "maintainer": "nooges", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "rows": ["GP29", "GP28", "GP27", "GP26", "GP22", "GP20", "GP23", "GP21"], - "cols": ["GP12", "GP9", "GP10", "GP0", "GP1", "GP5", "GP6", "GP2", "GP3", "GP4"] - }, - "processor": "RP2040", - "usb": { - "device_version": "1.0.0", - "pid": "0xB7D7", - "vid": "0x046A" - }, - "layouts": { - "LAYOUT": { - "layout": [ - { "label": "F1", "matrix": [0, 0], "w": 1.5, "x": 0, "y": 0 }, - { "label": "F2", "matrix": [0, 1], "w": 1.5, "x": 1.5, "y": 0 }, - { "label": "`", "matrix": [0, 2], "x": 3.5, "y": 0 }, - { "label": "1", "matrix": [0, 3], "x": 4.5, "y": 0 }, - { "label": "2", "matrix": [0, 4], "x": 5.5, "y": 0 }, - { "label": "3", "matrix": [0, 5], "x": 6.5, "y": 0 }, - { "label": "4", "matrix": [0, 6], "x": 7.5, "y": 0 }, - { "label": "5", "matrix": [0, 7], "x": 8.5, "y": 0 }, - { "label": "6", "matrix": [0, 8], "x": 9.5, "y": 0 }, - { "label": "7", "matrix": [0, 9], "x": 10.5, "y": 0 }, - { "label": "8", "matrix": [4, 8], "x": 11.5, "y": 0 }, - { "label": "9", "matrix": [4, 7], "x": 12.5, "y": 0 }, - { "label": "0", "matrix": [4, 6], "x": 13.5, "y": 0 }, - { "label": "-", "matrix": [4, 5], "x": 14.5, "y": 0 }, - { "label": "=", "matrix": [4, 4], "x": 15.5, "y": 0 }, - { "label": "Backspace", "matrix": [4, 3], "w": 2, "x": 16.5, "y": 0 }, - { "label": "Pg Up", "matrix": [4, 2], "x": 18.5, "y": 0 }, - { "label": "F8", "matrix": [4, 1], "w": 1.5, "x": 20, "y": 0 }, - { "label": "F9", "matrix": [4, 0], "w": 1.5, "x": 21.5, "y": 0 }, - { "label": "F3", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, - { "label": "F4", "matrix": [1, 1], "w": 1.5, "x": 1.5, "y": 1 }, - { "label": "Tab", "matrix": [1, 2], "w": 1.5, "x": 3.5, "y": 1 }, - { "label": "Q", "matrix": [1, 3], "x": 5, "y": 1 }, - { "label": "W", "matrix": [1, 4], "x": 6, "y": 1 }, - { "label": "E", "matrix": [1, 5], "x": 7, "y": 1 }, - { "label": "R", "matrix": [1, 6], "x": 8, "y": 1 }, - { "label": "T", "matrix": [1, 7], "x": 9, "y": 1 }, - { "label": "Y", "matrix": [1, 8], "x": 10, "y": 1 }, - { "label": "U", "matrix": [5, 9], "x": 11, "y": 1 }, - { "label": "I", "matrix": [5, 8], "x": 12, "y": 1 }, - { "label": "O", "matrix": [5, 7], "x": 13, "y": 1 }, - { "label": "P", "matrix": [5, 6], "x": 14, "y": 1 }, - { "label": "[", "matrix": [5, 5], "x": 15, "y": 1 }, - { "label": "]", "matrix": [5, 4], "x": 16, "y": 1 }, - { "label": "\\", "matrix": [5, 3], "w": 1.5, "x": 17, "y": 1 }, - { "label": "Pg Dn", "matrix": [5, 2], "x": 18.5, "y": 1 }, - { "label": "F10", "matrix": [5, 1], "w": 1.5, "x": 20, "y": 1 }, - { "label": "F11", "matrix": [5, 0], "w": 1.5, "x": 21.5, "y": 1 }, - { "label": "F5", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2 }, - { "label": "F6", "matrix": [2, 1], "w": 1.5, "x": 1.5, "y": 2 }, - { "label": "Caps Lock", "matrix": [2, 2], "w": 1.75, "x": 3.5, "y": 2 }, - { "label": "A", "matrix": [2, 3], "x": 5.25, "y": 2 }, - { "label": "S", "matrix": [2, 4], "x": 6.25, "y": 2 }, - { "label": "D", "matrix": [2, 5], "x": 7.25, "y": 2 }, - { "label": "F", "matrix": [2, 6], "x": 8.25, "y": 2 }, - { "label": "G", "matrix": [2, 7], "x": 9.25, "y": 2 }, - { "label": "H", "matrix": [2, 8], "x": 10.25, "y": 2 }, - { "label": "J", "matrix": [2, 9], "x": 11.25, "y": 2 }, - { "label": "K", "matrix": [6, 8], "x": 12.25, "y": 2 }, - { "label": "L", "matrix": [6, 7], "x": 13.25, "y": 2 }, - { "label": ";", "matrix": [6, 6], "x": 14.25, "y": 2 }, - { "label": "'", "matrix": [6, 5], "x": 15.25, "y": 2 }, - { "label": "Enter", "matrix": [6, 4], "w": 2.25, "x": 16.25, "y": 2 }, - { "label": "Up", "matrix": [6, 2], "x": 18.5, "y": 2 }, - { "label": "F12", "matrix": [6, 1], "w": 1.5, "x": 20, "y": 2 }, - { "label": "F13", "matrix": [6, 0], "w": 1.5, "x": 21.5, "y": 2 }, - { "label": "F7", "matrix": [3, 0], "w": 3, "x": 0, "y": 3 }, - { "label": "Ctrl", "matrix": [3, 2], "x": 3.5, "y": 3 }, - { "label": "Shift", "matrix": [3, 3], "w": 1.25, "x": 4.5, "y": 3 }, - { "label": "Z", "matrix": [3, 4], "x": 5.75, "y": 3 }, - { "label": "X", "matrix": [3, 5], "x": 6.75, "y": 3 }, - { "label": "C", "matrix": [3, 6], "x": 7.75, "y": 3 }, - { "label": "V", "matrix": [3, 7], "x": 8.75, "y": 3 }, - { "label": "B", "matrix": [3, 8], "x": 9.75, "y": 3 }, - { "label": "N", "matrix": [7, 9], "x": 10.75, "y": 3 }, - { "label": "M", "matrix": [7, 8], "x": 11.75, "y": 3 }, - { "label": ",", "matrix": [7, 7], "x": 12.75, "y": 3 }, - { "label": ".", "matrix": [7, 6], "x": 13.75, "y": 3 }, - { "label": "/", "matrix": [7, 5], "x": 14.75, "y": 3 }, - { "label": "Shift", "matrix": [7, 4], "w": 2.75, "x": 15.75, "y": 3 }, - { "label": "Down", "matrix": [7, 2], "x": 18.5, "y": 3 }, - { "label": "F14", "matrix": [7, 1], "w": 1.5, "x": 20, "y": 3 }, - { "label": "F15", "matrix": [7, 0], "w": 1.5, "x": 21.5, "y": 3 }, - { "matrix": [3, 1], "w": 9, "x": 6.75, "y": 4 } - ] - } - } -} diff --git a/keyboards/handwired/protype/keymaps/default/keymap.c b/keyboards/handwired/protype/keymaps/default/keymap.c deleted file mode 100644 index a8c41d9f7d..0000000000 --- a/keyboards/handwired/protype/keymaps/default/keymap.c +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_F1, KC_F2, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP, KC_F8, KC_F9, - KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, KC_F10, KC_F11, - KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_UP, KC_F12, KC_F13, - KC_F7, KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DOWN, KC_F14, KC_F15, - KC_SPC - ) -}; diff --git a/keyboards/handwired/protype/readme.md b/keyboards/handwired/protype/readme.md deleted file mode 100644 index 678ab2b888..0000000000 --- a/keyboards/handwired/protype/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Cherry Protype Display Typewriter - -![handwired/protype](https://i.imgur.com/hcFikid.jpeg) - -Handwired RP2040 Pro Micro (Community Edition) on Cherry Protype Display Typewriter PCB. - -* Keyboard Maintainer: [nooges](https://github.com/nooges) -* Hardware Supported: RP2040 Pro Micro Controller - -Make example for this keyboard (after setting up your build environment): - - qmk compile -kb handwired/protype -km default - -Flashing example for this keyboard: - - qmk flash -kb handwired/protype -km default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Hold the Boot button on the microcontroller and then press Reset -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/pteron/keyboard.json b/keyboards/handwired/pteron/keyboard.json index c79bd9a655..7aa2470cc1 100644 --- a/keyboards/handwired/pteron/keyboard.json +++ b/keyboards/handwired/pteron/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pteron", "manufacturer": "QMK", + "url": "", "maintainer": "FSund", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/pteron38/keyboard.json b/keyboards/handwired/pteron38/keyboard.json index 2328977ae3..266aefec1f 100644 --- a/keyboards/handwired/pteron38/keyboard.json +++ b/keyboards/handwired/pteron38/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pteron38", "manufacturer": "QMK", + "url": "", "maintainer": "fidelcoria", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/pteron44/keyboard.json b/keyboards/handwired/pteron44/keyboard.json index 0a4f8605c8..26321317eb 100644 --- a/keyboards/handwired/pteron44/keyboard.json +++ b/keyboards/handwired/pteron44/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pteron44", "manufacturer": "QMK", + "url": "", "maintainer": "fidelcoria", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/qc60/proto/keyboard.json b/keyboards/handwired/qc60/proto/keyboard.json index 92603c33dd..810df8b7ae 100644 --- a/keyboards/handwired/qc60/proto/keyboard.json +++ b/keyboards/handwired/qc60/proto/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "QC60", "manufacturer": "PeiorisBoards", + "url": "", "maintainer": "coarse", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/handwired/qc60/rules.mk b/keyboards/handwired/qc60/rules.mk new file mode 100644 index 0000000000..4905848cf9 --- /dev/null +++ b/keyboards/handwired/qc60/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/qc60/proto diff --git a/keyboards/handwired/rabijl/rotary_numpad/keyboard.json b/keyboards/handwired/rabijl/rotary_numpad/keyboard.json index 75f178690b..dafeec0fc0 100644 --- a/keyboards/handwired/rabijl/rotary_numpad/keyboard.json +++ b/keyboards/handwired/rabijl/rotary_numpad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/rd_61_qmk/keyboard.json b/keyboards/handwired/rd_61_qmk/keyboard.json index bca23af959..be07d95924 100644 --- a/keyboards/handwired/rd_61_qmk/keyboard.json +++ b/keyboards/handwired/rd_61_qmk/keyboard.json @@ -52,6 +52,7 @@ "led_count": 1, "saturation_steps": 8 }, + "url": "", "ws2812": { "pin": "C7" }, diff --git a/keyboards/handwired/retro_refit/keyboard.json b/keyboards/handwired/retro_refit/keyboard.json index 73e747fffa..7acdb48b44 100644 --- a/keyboards/handwired/retro_refit/keyboard.json +++ b/keyboards/handwired/retro_refit/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "retro_refit", "manufacturer": "Nobody", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/riblee_f401/keyboard.json b/keyboards/handwired/riblee_f401/keyboard.json index 6fc3fbe474..53fc613760 100644 --- a/keyboards/handwired/riblee_f401/keyboard.json +++ b/keyboards/handwired/riblee_f401/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Handwired F401", "manufacturer": "Riblee", + "url": "", "maintainer": "riblee", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/riblee_f411/keyboard.json b/keyboards/handwired/riblee_f411/keyboard.json index 1688220573..47d6349ba7 100644 --- a/keyboards/handwired/riblee_f411/keyboard.json +++ b/keyboards/handwired/riblee_f411/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Handwired F411", "manufacturer": "Riblee", + "url": "", "maintainer": "riblee", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/riblee_split/keyboard.json b/keyboards/handwired/riblee_split/keyboard.json index 2bf78f96f1..f24dbe2ce6 100644 --- a/keyboards/handwired/riblee_split/keyboard.json +++ b/keyboards/handwired/riblee_split/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["A4", "A3", "A2", "A1", "A0"] }, "development_board": "blackpill_f411", + "url": "", "usb": { "device_version": "1.0.0", "vid": "0xFEED", @@ -29,9 +32,7 @@ "driver": "usart" }, "transport": { - "sync": { - "matrix_state": true - } + "sync_matrix_state": true } }, "community_layouts": ["ortho_5x12"], diff --git a/keyboards/handwired/rs60/keyboard.json b/keyboards/handwired/rs60/keyboard.json index e2b59dc15f..1536474343 100644 --- a/keyboards/handwired/rs60/keyboard.json +++ b/keyboards/handwired/rs60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "rs60", "manufacturer": "rs", + "url": "", "maintainer": "rs", "usb": { "vid": "0xFEED", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": false, "mousekey": false, diff --git a/keyboards/handwired/scottokeebs/scotto34/keyboard.json b/keyboards/handwired/scottokeebs/scotto34/keyboard.json index 255c33f2cd..6fcce38d70 100644 --- a/keyboards/handwired/scottokeebs/scotto34/keyboard.json +++ b/keyboards/handwired/scottokeebs/scotto34/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scotto36/keyboard.json b/keyboards/handwired/scottokeebs/scotto36/keyboard.json index 79361b4fe8..fe8ecb6629 100644 --- a/keyboards/handwired/scottokeebs/scotto36/keyboard.json +++ b/keyboards/handwired/scottokeebs/scotto36/keyboard.json @@ -6,6 +6,8 @@ "development_board": "promicro", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scotto37/keyboard.json b/keyboards/handwired/scottokeebs/scotto37/keyboard.json index 4e7cb06af9..579840e8d1 100644 --- a/keyboards/handwired/scottokeebs/scotto37/keyboard.json +++ b/keyboards/handwired/scottokeebs/scotto37/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scotto40/keyboard.json b/keyboards/handwired/scottokeebs/scotto40/keyboard.json index 722ff7f6b0..b10f677c4d 100644 --- a/keyboards/handwired/scottokeebs/scotto40/keyboard.json +++ b/keyboards/handwired/scottokeebs/scotto40/keyboard.json @@ -6,6 +6,8 @@ "development_board": "promicro", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scotto61/keyboard.json b/keyboards/handwired/scottokeebs/scotto61/keyboard.json index 31510f5b86..cf321a2e97 100644 --- a/keyboards/handwired/scottokeebs/scotto61/keyboard.json +++ b/keyboards/handwired/scottokeebs/scotto61/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scotto9/keyboard.json b/keyboards/handwired/scottokeebs/scotto9/keyboard.json index 148c26af2c..a42d206300 100644 --- a/keyboards/handwired/scottokeebs/scotto9/keyboard.json +++ b/keyboards/handwired/scottokeebs/scotto9/keyboard.json @@ -6,6 +6,8 @@ "development_board": "promicro", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottoalp/keyboard.json b/keyboards/handwired/scottokeebs/scottoalp/keyboard.json index d3473c7b22..5bce6ae62c 100644 --- a/keyboards/handwired/scottokeebs/scottoalp/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottoalp/keyboard.json @@ -12,6 +12,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottocmd/keyboard.json b/keyboards/handwired/scottokeebs/scottocmd/keyboard.json index 3dac375a3c..a26b95c1db 100644 --- a/keyboards/handwired/scottokeebs/scottocmd/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottocmd/keyboard.json @@ -6,6 +6,8 @@ "development_board": "promicro", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/scottokeebs/scottodeck/keyboard.json b/keyboards/handwired/scottokeebs/scottodeck/keyboard.json index e8f4f60c21..0607918cae 100644 --- a/keyboards/handwired/scottokeebs/scottodeck/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottodeck/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/scottokeebs/scottoergo/keyboard.json b/keyboards/handwired/scottokeebs/scottoergo/keyboard.json index 137aea987d..4f6d955271 100644 --- a/keyboards/handwired/scottokeebs/scottoergo/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottoergo/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottofly/keyboard.json b/keyboards/handwired/scottokeebs/scottofly/keyboard.json index 2f185fdd5c..5255a5baf4 100644 --- a/keyboards/handwired/scottokeebs/scottofly/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottofly/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottofrog/keyboard.json b/keyboards/handwired/scottokeebs/scottofrog/keyboard.json index 50842232d7..147f2d8aa7 100644 --- a/keyboards/handwired/scottokeebs/scottofrog/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottofrog/keyboard.json @@ -6,6 +6,8 @@ "development_board": "promicro", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottogame/keyboard.json b/keyboards/handwired/scottokeebs/scottogame/keyboard.json index 9464eee51d..912cfdfaaa 100644 --- a/keyboards/handwired/scottokeebs/scottogame/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottogame/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/scottokeebs/scottohazard/keyboard.json b/keyboards/handwired/scottokeebs/scottohazard/keyboard.json index 01178e2f24..45adcec3c8 100644 --- a/keyboards/handwired/scottokeebs/scottohazard/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottohazard/keyboard.json @@ -9,6 +9,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottoinvader/keyboard.json b/keyboards/handwired/scottokeebs/scottoinvader/keyboard.json index af8334e0fa..2a9054cd4f 100644 --- a/keyboards/handwired/scottokeebs/scottoinvader/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottoinvader/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottokatana/keyboard.json b/keyboards/handwired/scottokeebs/scottokatana/keyboard.json index 6cf65818b6..4b5779b6d9 100644 --- a/keyboards/handwired/scottokeebs/scottokatana/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottokatana/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottolong/keyboard.json b/keyboards/handwired/scottokeebs/scottolong/keyboard.json index 8df234640c..156772d213 100644 --- a/keyboards/handwired/scottokeebs/scottolong/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottolong/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottomacrodeck/keyboard.json b/keyboards/handwired/scottokeebs/scottomacrodeck/keyboard.json index c623547f67..f238564c7f 100644 --- a/keyboards/handwired/scottokeebs/scottomacrodeck/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottomacrodeck/keyboard.json @@ -5,6 +5,8 @@ "development_board": "promicro", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottomouse/keyboard.json b/keyboards/handwired/scottokeebs/scottomouse/keyboard.json index 96e4c7707c..36f92f48e2 100644 --- a/keyboards/handwired/scottokeebs/scottomouse/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottomouse/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottonum/keyboard.json b/keyboards/handwired/scottokeebs/scottonum/keyboard.json index 3a8d87f5a4..f71f75d62b 100644 --- a/keyboards/handwired/scottokeebs/scottonum/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottonum/keyboard.json @@ -6,6 +6,8 @@ "development_board": "promicro", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottoslant/keyboard.json b/keyboards/handwired/scottokeebs/scottoslant/keyboard.json index bb1282fe12..8c9de39cd6 100644 --- a/keyboards/handwired/scottokeebs/scottoslant/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottoslant/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottosplit/keyboard.json b/keyboards/handwired/scottokeebs/scottosplit/keyboard.json index 246c563f1e..66d24db0cd 100644 --- a/keyboards/handwired/scottokeebs/scottosplit/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottosplit/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottostarter/keyboard.json b/keyboards/handwired/scottokeebs/scottostarter/keyboard.json index c113efd897..5e6a70114b 100644 --- a/keyboards/handwired/scottokeebs/scottostarter/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottostarter/keyboard.json @@ -6,6 +6,8 @@ "development_board": "promicro", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/scottokeebs/scottowing/keyboard.json b/keyboards/handwired/scottokeebs/scottowing/keyboard.json index 6163e4ad1d..91bfaa1f92 100644 --- a/keyboards/handwired/scottokeebs/scottowing/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottowing/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/handwired/sejin_eat1010r2/keyboard.json b/keyboards/handwired/sejin_eat1010r2/keyboard.json index 5cf17d548a..f2cfef37a8 100644 --- a/keyboards/handwired/sejin_eat1010r2/keyboard.json +++ b/keyboards/handwired/sejin_eat1010r2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "EAT-1010R2", "manufacturer": "Sejin", + "url": "", "maintainer": "DmNosachev", "usb": { "vid": "0x515A", @@ -21,6 +22,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/sick68/keyboard.json b/keyboards/handwired/sick68/keyboard.json index 81a9577f36..339484791f 100644 --- a/keyboards/handwired/sick68/keyboard.json +++ b/keyboards/handwired/sick68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "sick68", "manufacturer": "umbynos", + "url": "", "maintainer": "umbynos", "usb": { "vid": "0x5E68", diff --git a/keyboards/handwired/sick_pad/keyboard.json b/keyboards/handwired/sick_pad/keyboard.json index 68773fea2d..ce76294a0d 100644 --- a/keyboards/handwired/sick_pad/keyboard.json +++ b/keyboards/handwired/sick_pad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false diff --git a/keyboards/handwired/skakunm_dactyl/keyboard.json b/keyboards/handwired/skakunm_dactyl/keyboard.json index c004c75c71..cc6f70b482 100644 --- a/keyboards/handwired/skakunm_dactyl/keyboard.json +++ b/keyboards/handwired/skakunm_dactyl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl Min (3x5_5)", "manufacturer": "skakunm", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -27,9 +29,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/handwired/slash/keyboard.json b/keyboards/handwired/slash/keyboard.json index ea1248c48e..a682624d8e 100644 --- a/keyboards/handwired/slash/keyboard.json +++ b/keyboards/handwired/slash/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Slash", "manufacturer": "asdftemp", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/snatchpad/keyboard.json b/keyboards/handwired/snatchpad/keyboard.json index 6f6d9aafec..d06fe2c003 100644 --- a/keyboards/handwired/snatchpad/keyboard.json +++ b/keyboards/handwired/snatchpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "snatchpad", "manufacturer": "xia0", + "url": "", "maintainer": "xia0", "usb": { "vid": "0x6662", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "key_lock": true, diff --git a/keyboards/handwired/sono1/info.json b/keyboards/handwired/sono1/info.json index bf274924f6..85e86051c3 100644 --- a/keyboards/handwired/sono1/info.json +++ b/keyboards/handwired/sono1/info.json @@ -1,9 +1,11 @@ { "keyboard_name": "Sono1", "manufacturer": "ASKeyboard", + "url": "", "maintainer": "DmNosachev", "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/sono1/rules.mk b/keyboards/handwired/sono1/rules.mk new file mode 100644 index 0000000000..9b472f28f2 --- /dev/null +++ b/keyboards/handwired/sono1/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/sono1/t2pp diff --git a/keyboards/handwired/space_oddity/keyboard.json b/keyboards/handwired/space_oddity/keyboard.json index 98600b4770..ca4e10d16b 100644 --- a/keyboards/handwired/space_oddity/keyboard.json +++ b/keyboards/handwired/space_oddity/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Space Oddity", "manufacturer": "James Taylor", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dynamic_macro": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/split65/promicro/keyboard.json b/keyboards/handwired/split65/promicro/keyboard.json index 40d0e8f43e..8b50ea8429 100644 --- a/keyboards/handwired/split65/promicro/keyboard.json +++ b/keyboards/handwired/split65/promicro/keyboard.json @@ -1,6 +1,8 @@ { "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/handwired/split89/keyboard.json b/keyboards/handwired/split89/keyboard.json index 8635f01d35..fdd092745f 100644 --- a/keyboards/handwired/split89/keyboard.json +++ b/keyboards/handwired/split89/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/splittest/info.json b/keyboards/handwired/splittest/info.json index bbfe538255..07cac23aad 100644 --- a/keyboards/handwired/splittest/info.json +++ b/keyboards/handwired/splittest/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Split Tester", "manufacturer": "Keebio", + "url": "", "maintainer": "nooges", "usb": { "vid": "0xCB10", diff --git a/keyboards/handwired/splittest/promicro/keyboard.json b/keyboards/handwired/splittest/promicro/keyboard.json index 93f09a47ca..8aca1c3de7 100644 --- a/keyboards/handwired/splittest/promicro/keyboard.json +++ b/keyboards/handwired/splittest/promicro/keyboard.json @@ -8,9 +8,7 @@ "handedness": { "pin": "F6" }, - "serial": { - "pin": "D1" - } + "soft_serial_pin": "D1" }, "ws2812": { "pin": "D3" diff --git a/keyboards/handwired/splittest/rules.mk b/keyboards/handwired/splittest/rules.mk new file mode 100644 index 0000000000..ae4d823b53 --- /dev/null +++ b/keyboards/handwired/splittest/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/splittest/promicro diff --git a/keyboards/handwired/splittest/teensy_2/keyboard.json b/keyboards/handwired/splittest/teensy_2/keyboard.json index 78d6c5f9a3..c10b20a173 100644 --- a/keyboards/handwired/splittest/teensy_2/keyboard.json +++ b/keyboards/handwired/splittest/teensy_2/keyboard.json @@ -8,9 +8,7 @@ "handedness": { "pin": "F0" }, - "serial": { - "pin": "D1" - } + "soft_serial_pin": "D1" }, "ws2812": { "pin": "D3" diff --git a/keyboards/handwired/starrykeebs/dude09/keyboard.json b/keyboards/handwired/starrykeebs/dude09/keyboard.json index 3a13e66baa..6e91adeb1e 100644 --- a/keyboards/handwired/starrykeebs/dude09/keyboard.json +++ b/keyboards/handwired/starrykeebs/dude09/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true }, diff --git a/keyboards/handwired/steamvan/rev1/keyboard.json b/keyboards/handwired/steamvan/rev1/keyboard.json index 06cfd2cef6..9c4593bca7 100644 --- a/keyboards/handwired/steamvan/rev1/keyboard.json +++ b/keyboards/handwired/steamvan/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SteamVan rev1", "manufacturer": "John M Daly", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "leader": true, "mousekey": true, diff --git a/keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json b/keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json index 45c5a057bc..5f524ea445 100644 --- a/keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json +++ b/keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json @@ -1,5 +1,6 @@ { "keyboard_name": "Split_5x7", + "url": "", "maintainer": "stef9998", "manufacturer": "Stef9998", "usb": { @@ -10,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/stef9998/split_5x7/rules.mk b/keyboards/handwired/stef9998/split_5x7/rules.mk new file mode 100644 index 0000000000..f06c490f00 --- /dev/null +++ b/keyboards/handwired/stef9998/split_5x7/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/stef9998/split_5x7/rev1 diff --git a/keyboards/handwired/sticc14/keyboard.json b/keyboards/handwired/sticc14/keyboard.json index 4fd89780ee..b3fb4a06e5 100644 --- a/keyboards/handwired/sticc14/keyboard.json +++ b/keyboards/handwired/sticc14/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Sticc14", "manufacturer": "u/ergorius", + "url": "", "maintainer": "erkhal", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/stream_cheap/2x3/keyboard.json b/keyboards/handwired/stream_cheap/2x3/keyboard.json index ff9d23b215..ff62fa8a27 100644 --- a/keyboards/handwired/stream_cheap/2x3/keyboard.json +++ b/keyboards/handwired/stream_cheap/2x3/keyboard.json @@ -12,6 +12,8 @@ "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/stream_cheap/2x4/keyboard.json b/keyboards/handwired/stream_cheap/2x4/keyboard.json index 5fa54354a9..3f058cfbe4 100644 --- a/keyboards/handwired/stream_cheap/2x4/keyboard.json +++ b/keyboards/handwired/stream_cheap/2x4/keyboard.json @@ -15,6 +15,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/stream_cheap/2x5/keyboard.json b/keyboards/handwired/stream_cheap/2x5/keyboard.json index b9abe2c01f..8e2de67e62 100644 --- a/keyboards/handwired/stream_cheap/2x5/keyboard.json +++ b/keyboards/handwired/stream_cheap/2x5/keyboard.json @@ -12,6 +12,8 @@ "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/swiftrax/astro65/keyboard.json b/keyboards/handwired/swiftrax/astro65/keyboard.json index bc33d12159..c72c0e4b3d 100644 --- a/keyboards/handwired/swiftrax/astro65/keyboard.json +++ b/keyboards/handwired/swiftrax/astro65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/swiftrax/bebol/keyboard.json b/keyboards/handwired/swiftrax/bebol/keyboard.json index 0a665a0ae7..242d1b99a9 100644 --- a/keyboards/handwired/swiftrax/bebol/keyboard.json +++ b/keyboards/handwired/swiftrax/bebol/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/swiftrax/beegboy/keyboard.json b/keyboards/handwired/swiftrax/beegboy/keyboard.json index c81c897c96..75edd62c1e 100644 --- a/keyboards/handwired/swiftrax/beegboy/keyboard.json +++ b/keyboards/handwired/swiftrax/beegboy/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/handwired/swiftrax/bumblebee/keyboard.json b/keyboards/handwired/swiftrax/bumblebee/keyboard.json index 3a0ba874c7..6dec52b59a 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keyboard.json +++ b/keyboards/handwired/swiftrax/bumblebee/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/swiftrax/cowfish/keyboard.json b/keyboards/handwired/swiftrax/cowfish/keyboard.json index 99bb061568..efa8c39d19 100644 --- a/keyboards/handwired/swiftrax/cowfish/keyboard.json +++ b/keyboards/handwired/swiftrax/cowfish/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CowFish", "manufacturer": "Swiftrax", + "url": "", "maintainer": "swiftrax", "usb": { "vid": "0x04D8", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/handwired/swiftrax/digicarp65/keyboard.json b/keyboards/handwired/swiftrax/digicarp65/keyboard.json index 6a401c0a52..59442c33ec 100644 --- a/keyboards/handwired/swiftrax/digicarp65/keyboard.json +++ b/keyboards/handwired/swiftrax/digicarp65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/swiftrax/digicarpice/keyboard.json b/keyboards/handwired/swiftrax/digicarpice/keyboard.json index 32cd6615be..6d857f5998 100644 --- a/keyboards/handwired/swiftrax/digicarpice/keyboard.json +++ b/keyboards/handwired/swiftrax/digicarpice/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/swiftrax/equator/keyboard.json b/keyboards/handwired/swiftrax/equator/keyboard.json index 12434002e4..6a539c786a 100644 --- a/keyboards/handwired/swiftrax/equator/keyboard.json +++ b/keyboards/handwired/swiftrax/equator/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/swiftrax/glacier/keyboard.json b/keyboards/handwired/swiftrax/glacier/keyboard.json index f3d201a095..d455cbe266 100644 --- a/keyboards/handwired/swiftrax/glacier/keyboard.json +++ b/keyboards/handwired/swiftrax/glacier/keyboard.json @@ -27,6 +27,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/handwired/swiftrax/joypad/keyboard.json b/keyboards/handwired/swiftrax/joypad/keyboard.json index 63f8a7a92b..b894dcbe54 100644 --- a/keyboards/handwired/swiftrax/joypad/keyboard.json +++ b/keyboards/handwired/swiftrax/joypad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/handwired/swiftrax/koalafications/keyboard.json b/keyboards/handwired/swiftrax/koalafications/keyboard.json index c01c1da39a..78686a8e70 100644 --- a/keyboards/handwired/swiftrax/koalafications/keyboard.json +++ b/keyboards/handwired/swiftrax/koalafications/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/handwired/swiftrax/nodu/keyboard.json b/keyboards/handwired/swiftrax/nodu/keyboard.json index ce9aad54e0..47c604c35f 100644 --- a/keyboards/handwired/swiftrax/nodu/keyboard.json +++ b/keyboards/handwired/swiftrax/nodu/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/swiftrax/pandamic/keyboard.json b/keyboards/handwired/swiftrax/pandamic/keyboard.json index b6b4fa4d66..9fce9c80c5 100644 --- a/keyboards/handwired/swiftrax/pandamic/keyboard.json +++ b/keyboards/handwired/swiftrax/pandamic/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/handwired/swiftrax/the_galleon/keyboard.json b/keyboards/handwired/swiftrax/the_galleon/keyboard.json index 63acbf0a20..1d87ce1893 100644 --- a/keyboards/handwired/swiftrax/the_galleon/keyboard.json +++ b/keyboards/handwired/swiftrax/the_galleon/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/handwired/swiftrax/unsplit/keyboard.json b/keyboards/handwired/swiftrax/unsplit/keyboard.json index 9c5b7d1a63..bb18c0dea8 100644 --- a/keyboards/handwired/swiftrax/unsplit/keyboard.json +++ b/keyboards/handwired/swiftrax/unsplit/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/swiftrax/walter/keyboard.json b/keyboards/handwired/swiftrax/walter/keyboard.json index b766cf87d1..cbf603a4ff 100644 --- a/keyboards/handwired/swiftrax/walter/keyboard.json +++ b/keyboards/handwired/swiftrax/walter/keyboard.json @@ -28,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/symmetric70_proto/info.json b/keyboards/handwired/symmetric70_proto/info.json index e0bd2f9c91..ecd0d38c24 100644 --- a/keyboards/handwired/symmetric70_proto/info.json +++ b/keyboards/handwired/symmetric70_proto/info.json @@ -1,5 +1,6 @@ { "manufacturer": "mtei", + "url": "", "maintainer": "mtei", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/symmetric70_proto/promicro/info.json b/keyboards/handwired/symmetric70_proto/promicro/info.json index 43ecb4c1c0..f143f518eb 100644 --- a/keyboards/handwired/symmetric70_proto/promicro/info.json +++ b/keyboards/handwired/symmetric70_proto/promicro/info.json @@ -12,9 +12,7 @@ } }, "split": { - "serial": { - "pin": "D0" - } + "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "caterina" diff --git a/keyboards/handwired/symmetric70_proto/promicro/rules.mk b/keyboards/handwired/symmetric70_proto/promicro/rules.mk new file mode 100644 index 0000000000..7aa985b3f1 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/symmetric70_proto/promicro/base diff --git a/keyboards/handwired/symmetric70_proto/proton_c/rules.mk b/keyboards/handwired/symmetric70_proto/proton_c/rules.mk new file mode 100644 index 0000000000..28c4536e4b --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/symmetric70_proto/proton_c/base diff --git a/keyboards/handwired/symmetry60/keyboard.json b/keyboards/handwired/symmetry60/keyboard.json index 86b7fe1d8a..40afdf88c9 100644 --- a/keyboards/handwired/symmetry60/keyboard.json +++ b/keyboards/handwired/symmetry60/keyboard.json @@ -1,6 +1,7 @@ { "Keyboard_name": "Symmetry60", "manufacturer": "Marhalloweenvt", + "url": "", "maintainer": "marhalloweenvt", "usb": { "vid": "0xFEED", @@ -32,6 +33,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/t111/keyboard.json b/keyboards/handwired/t111/keyboard.json index d90244c94c..f65a3f087e 100644 --- a/keyboards/handwired/t111/keyboard.json +++ b/keyboards/handwired/t111/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "T111", "manufacturer": "FUJITSU", + "url": "", "maintainer": "DmNosachev", "usb": { "vid": "0xFEED", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/tennie/keyboard.json b/keyboards/handwired/tennie/keyboard.json index 2b56ae379a..05143c1cb0 100644 --- a/keyboards/handwired/tennie/keyboard.json +++ b/keyboards/handwired/tennie/keyboard.json @@ -32,6 +32,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/handwired/terminus_mini/keyboard.json b/keyboards/handwired/terminus_mini/keyboard.json index 0d495bf55b..09346c81bf 100644 --- a/keyboards/handwired/terminus_mini/keyboard.json +++ b/keyboards/handwired/terminus_mini/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Terminus Mini", "manufacturer": "James Morgan", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -14,6 +15,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/tkk/keyboard.json b/keyboards/handwired/tkk/keyboard.json index 5dd21ef800..91e495081f 100644 --- a/keyboards/handwired/tkk/keyboard.json +++ b/keyboards/handwired/tkk/keyboard.json @@ -5,6 +5,8 @@ "bootloader": "halfkay", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ ] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/handwired/trackpoint/keyboard.json b/keyboards/handwired/trackpoint/keyboard.json index 1cd10dbb47..09fadd1dc6 100644 --- a/keyboards/handwired/trackpoint/keyboard.json +++ b/keyboards/handwired/trackpoint/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Trackpoint Demo", "manufacturer": "QMK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x1234", diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json index cc651bec95..e5730a4586 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json @@ -1,5 +1,6 @@ { "keyboard_name": "Tractyl Manuform (4x6)", + "url": "", "maintainer": "drashna", "usb": { "pid": "0x3537", @@ -21,9 +22,7 @@ "handedness": { "pin": "A6" }, - "serial": { - "pin": "D3" - }, + "soft_serial_pin": "D3", "bootmagic": { "matrix": [4, 5] } diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk index fab9162dc6..0f3d0657aa 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk +++ b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk @@ -1 +1,2 @@ POINTING_DEVICE_DRIVER = pmw3360 +MOUSE_SHARED_EP = yes diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json index bd4c41e17b..df810f2881 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json @@ -6,9 +6,7 @@ }, "diode_direction": "COL2ROW", "split": { - "serial": { - "pin": "D0" - }, + "soft_serial_pin": "D0", "matrix_pins": { "right": { "cols": ["D6", "D7", "B4", "D3", "C6", "C7"], diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/config.h index 686cb30fc2..194874b5cf 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/config.h @@ -21,4 +21,13 @@ along with this program. If not, see . #define ROTATIONAL_TRANSFORM_ANGLE -25 #define POINTING_DEVICE_INVERT_X +#define DYNAMIC_KEYMAP_LAYER_COUNT 16 +#define LAYER_STATE_16BIT + + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + #define POINTING_DEVICE_RIGHT diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/keyboard.json index 739aad07ba..e6c0e42bde 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/keyboard.json @@ -11,9 +11,7 @@ ] }, "split": { - "serial": { - "pin": "D2" - } + "soft_serial_pin": "D2" }, "ws2812": { "pin": "D3" diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h index b06f52b7df..62f56e4d2b 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h @@ -21,5 +21,7 @@ #define HAL_USE_SPI TRUE #define HAL_USE_GPT TRUE #define HAL_USE_DAC TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f405/board.h b/keyboards/handwired/tractyl_manuform/5x6_right/f405/board.h deleted file mode 100644 index 9be86942d6..0000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f405/board.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Nick Brassel (tzarc) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 8000000U -#undef STM32_LSECLK -#define STM32_LSECLK 32768U diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f405/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f405/config.h deleted file mode 100644 index 3878d9c671..0000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f405/config.h +++ /dev/null @@ -1,89 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define USER_BUTTON_PIN C13 -#define DEBUG_LED_PIN B2 -#define USB_VBUS_PIN B10 - -#ifdef USE_USB_OTG_HS_PORT -# define USB_DRIVER USBD2 -#endif - -// WS2812 RGB LED strip input and number of LEDs -#define WS2812_PWM_DRIVER PWMD3 -#define WS2812_PWM_CHANNEL 1 -#define WS2812_PWM_PAL_MODE 2 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 -#define WS2812_PWM_DMA_CHANNEL 5 -#define WS2812_EXTERNAL_PULLUP - -#define BACKLIGHT_PWM_DRIVER PWMD8 -#define BACKLIGHT_PWM_CHANNEL 2 -#define BACKLIGHT_PAL_MODE 3 - -/* Audio config */ -#define AUDIO_PIN A4 -#define AUDIO_PIN_ALT A5 -#define AUDIO_PIN_ALT_AS_NEGATIVE - -/* serial.c configuration for split keyboard */ -#define SERIAL_USART_DRIVER SD1 -#define SERIAL_USART_TX_PIN A10 -#define SERIAL_USART_TX_PAL_MODE 7 -#define SERIAL_USART_RX_PIN A9 -#define SERIAL_USART_RX_PAL_MODE 7 -#define SERIAL_USART_TIMEOUT 10 -#define SERIAL_USART_SPEED (1 * 1024 * 1024) -#define SERIAL_USART_FULL_DUPLEX - - -/* i2c config for oleds */ -#define I2C_DRIVER I2CD1 -#define I2C1_CLOCK_SPEED 400000 -#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_16_9 - -/* spi config for eeprom and pmw3360 sensor */ -#define SPI_DRIVER SPID1 -#define SPI_SCK_PIN B3 -#define SPI_SCK_PAL_MODE 5 -#define SPI_MOSI_PIN B5 -#define SPI_MOSI_PAL_MODE 5 -#define SPI_MISO_PIN B4 -#define SPI_MISO_PAL_MODE 5 - -#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B13 -#define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR 4 -#define EXTERNAL_FLASH_SIZE (8 * 1024 * 1024) - -/* pmw3360 config */ -#define POINTING_DEVICE_CS_PIN B8 -#define POINTING_DEVICE_ROTATION_270 -#undef ROTATIONAL_TRANSFORM_ANGLE -#define PMW33XX_SPI_DIVISOR 16 - -// lcd -#define DISPLAY_RST_PIN NO_PIN -#define DISPLAY_DC_PIN B12 -#define DISPLAY_CS_PIN B9 -#define DISPLAY_SPI_DIVIDER 1 - -#define DRV2605L_FB_ERM_LRA 0 -#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 -#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_BUZZ_1_100 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f405/f405.c b/keyboards/handwired/tractyl_manuform/5x6_right/f405/f405.c deleted file mode 100644 index 5aabc70dca..0000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f405/f405.c +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "tractyl_manuform.h" - -#ifdef USB_VBUS_PIN -bool usb_vbus_state(void) { - gpio_set_pin_input_low(USB_VBUS_PIN); - wait_us(5); - return gpio_read_pin(USB_VBUS_PIN); -} -#endif - -#ifdef USER_BUTTON_PIN -void user_button_init(void) { - // Pin needs to be configured as input low - gpio_set_pin_input_low(USER_BUTTON_PIN); -} - -bool check_user_button_state(void) { - return gpio_read_pin(USER_BUTTON_PIN); -} -#endif // USER_BUTTON_PIN - -void board_init(void) { - // Board setup sets these pins as SPI, but we aren't using them as such. - // So to prevent them from misbehaving, we need to set them to a different, non-spi mode. - // This is a bit of a hack, but nothing else runs soon enough, without re-implementing spi_init(). - gpio_set_pin_input(A5); - gpio_set_pin_input(A6); - gpio_set_pin_input(A7); - - // If using USB_OTG_HS, we need to set the data pins since they're set wrong for our needs by default. - // We set it here by default, in case it's bridged with A11/A12, as to reduce the chance of issues. - palSetLineMode( - B14, PAL_MODE_ALTERNATE(12) | PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING); - palSetLineMode( - B15, PAL_MODE_ALTERNATE(12) | PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING); -} diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f405/halconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f405/halconf.h deleted file mode 100644 index 3cf07b9be0..0000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f405/halconf.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2020 Nick Brassel (tzarc) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#define HAL_USE_SERIAL TRUE -#define SERIAL_BUFFERS_SIZE 256 - -#if defined(WS2812_PWM) || defined(BACKLIGHT_PWM) -# define HAL_USE_PWM TRUE -#endif // defined(WS2812_PWM) || defined(BACKLIGHT_PWM) - -#ifdef AUDIO_DRIVER_DAC -# define HAL_USE_GPT TRUE -# define HAL_USE_DAC TRUE -#endif - -#include_next diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f405/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/f405/keyboard.json deleted file mode 100644 index b56e2d31c2..0000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f405/keyboard.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "keyboard_name": "Tractyl Manuform (5x6) WeAct STM32F405", - "audio": { - "driver": "dac_additive", - "power_control": { - "pin": "A3" - } - }, - "backlight": { - "levels": 16, - "pin": "C7" - }, - "bootloader": "stm32-dfu", - "build": { - "debounce_type": "asym_eager_defer_pk" - }, - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "C0", "pin_b": "A15"} - ] - }, - "eeprom": { - "driver": "wear_leveling", - "wear_leveling": { - "driver": "spi_flash", - "backing_size": 16384, - "logical_size": 4096 - } - }, - "features": { - "console": true, - "haptic": true - }, - "haptic": { - "driver": "drv2605l" - }, - "matrix_pins": { - "cols": ["C1", "C2", "C3", "A0", "A1", "A2"], - "rows": ["A6", "A7", "C4", "C5", "B0", "B1"] - }, - "processor": "STM32F405", - "rgblight": { - "led_count": 24, - "split": true - }, - "split": { - "handedness": { - "pin": "B11" - }, - "serial": { - "driver": "usart" - }, - "transport": { - "sync": { - "activity": true, - "haptic": true, - "matrix_state": true - } - } - }, - "ws2812": { - "driver": "pwm", - "pin": "C6" - } -} diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f405/mcuconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f405/mcuconf.h deleted file mode 100644 index 46920b17b3..0000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f405/mcuconf.h +++ /dev/null @@ -1,82 +0,0 @@ -/* Copyright 2020 Nick Brassel (tzarc) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef STM32_LSE_ENABLED -#define STM32_LSE_ENABLED TRUE - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 - -#undef STM32_RTCSEL -#define STM32_RTCSEL STM32_RTCSEL_LSE - -#undef STM32_SERIAL_USE_USART1 -#define STM32_SERIAL_USE_USART1 TRUE - -#if HAL_USE_WDG == TRUE -# undef STM32_WDG_USE_IWDG -# define STM32_WDG_USE_IWDG TRUE -#endif - -#if HAL_USE_I2C == TRUE -# undef STM32_I2C_USE_I2C1 -# define STM32_I2C_USE_I2C1 TRUE - -# undef STM32_I2C_BUSY_TIMEOUT -# define STM32_I2C_BUSY_TIMEOUT 10 - -# undef STM32_I2C_I2C1_RX_DMA_STREAM -# define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) -# undef STM32_I2C_I2C1_TX_DMA_STREAM -# define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) -#endif // HAL_USE_I2C - -#ifdef WS2812_PWM -# undef STM32_PWM_USE_TIM3 -# define STM32_PWM_USE_TIM3 TRUE -#endif // WS2812_PWM - -#ifdef BACKLIGHT_PWM -# undef STM32_PWM_USE_TIM8 -# define STM32_PWM_USE_TIM8 TRUE -#endif - -#if HAL_USE_SPI == TRUE -# undef STM32_SPI_USE_SPI1 -# define STM32_SPI_USE_SPI1 TRUE -#endif - -#ifdef AUDIO_DRIVER_DAC -# undef STM32_DAC_USE_DAC1_CH1 -# define STM32_DAC_USE_DAC1_CH1 TRUE -# undef STM32_DAC_USE_DAC1_CH2 -# define STM32_DAC_USE_DAC1_CH2 TRUE - -# undef STM32_GPT_USE_TIM6 -# define STM32_GPT_USE_TIM6 TRUE -#endif // AUDIO_DRIVER_DAC - - -#ifdef USE_USB_OTG_HS_PORT -# undef STM32_USB_USE_OTG1 -# define STM32_USB_USE_OTG1 FALSE -# undef STM32_USB_USE_OTG2 -# define STM32_USB_USE_OTG2 TRUE -#endif diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h index bbbc16e3ea..28acc1e69b 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h @@ -19,7 +19,6 @@ along with this program. If not, see . #pragma once // #define USB_VBUS_PIN B10 // doesn't seem to work for me on one of my controllers... */ -#define USER_BUTTON_PIN A0 // WS2812 RGB LED strip input and number of LEDs #define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 @@ -71,8 +70,7 @@ along with this program. If not, see . /* eeprom config */ #define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 -#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 8 +#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 64 /* pmw3360 config */ #define PMW33XX_CS_PIN B0 -#define PMW33XX_SPI_DIVISOR 8 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c index cfe97d6318..dbacb1685c 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c @@ -16,6 +16,41 @@ #include "tractyl_manuform.h" +void keyboard_pre_init_sub(void) { gpio_set_pin_input_high(A0); } + +void matrix_scan_sub_kb(void) { + if (!gpio_read_pin(A0)) { + reset_keyboard(); + } +} + +__attribute__((weak)) void bootmagic_scan(void) { + // We need multiple scans because debouncing can't be turned off. + matrix_scan(); +#if defined(DEBOUNCE) && DEBOUNCE > 0 + wait_ms(DEBOUNCE * 2); +#else + wait_ms(30); +#endif + matrix_scan(); + + uint8_t row = BOOTMAGIC_ROW; + uint8_t col = BOOTMAGIC_COLUMN; + +#if defined(SPLIT_KEYBOARD) && defined(BOOTMAGIC_ROW_RIGHT) && defined(BOOTMAGIC_COLUMN_RIGHT) + if (!is_keyboard_left()) { + row = BOOTMAGIC_ROW_RIGHT; + col = BOOTMAGIC_COLUMN_RIGHT; + } +#endif + + if (matrix_get_row(row) & (1 << col) || !gpio_read_pin(A0)) { + eeconfig_disable(); + bootloader_jump(); + } +} + + #ifdef USB_VBUS_PIN bool usb_vbus_state(void) { gpio_set_pin_input_low(USB_VBUS_PIN); @@ -23,3 +58,9 @@ bool usb_vbus_state(void) { return gpio_read_pin(USB_VBUS_PIN); } #endif + +void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { + for (int32_t i = 0; i < 40; i++) { + __asm__ volatile("nop" ::: "memory"); + } +} diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h index 296119b080..bc07c10527 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h @@ -19,5 +19,7 @@ #define HAL_USE_SERIAL TRUE #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk new file mode 100644 index 0000000000..4aa582e7a2 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk @@ -0,0 +1,2 @@ +KEYBOARD_SHARED_EP = yes +MOUSE_SHARED_EP = yes diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/info.json index 0264000b20..b28f309fdb 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/info.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/info.json @@ -1,4 +1,5 @@ { + "url": "", "usb": { "pid": "0x3536", "device_version": "0.0.1" @@ -95,212 +96,9 @@ {"matrix": [5, 2], "x": 6, "y": 7}, {"matrix": [5, 3], "x": 7, "y": 7}, - {"matrix": [11, 2], "x": 9, "y": 7}, - {"matrix": [11, 3], "x": 10, "y": 7} - ] - }, - "LAYOUT_5x6_full_right": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - - {"matrix": [6, 0], "x": 11, "y": 0}, - {"matrix": [6, 1], "x": 12, "y": 0}, - {"matrix": [6, 2], "x": 13, "y": 0}, - {"matrix": [6, 3], "x": 14, "y": 0}, - {"matrix": [6, 4], "x": 15, "y": 0}, - {"matrix": [6, 5], "x": 16, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - - {"matrix": [7, 0], "x": 11, "y": 1}, - {"matrix": [7, 1], "x": 12, "y": 1}, - {"matrix": [7, 2], "x": 13, "y": 1}, - {"matrix": [7, 3], "x": 14, "y": 1}, - {"matrix": [7, 4], "x": 15, "y": 1}, - {"matrix": [7, 5], "x": 16, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - - {"matrix": [8, 0], "x": 11, "y": 2}, - {"matrix": [8, 1], "x": 12, "y": 2}, - {"matrix": [8, 2], "x": 13, "y": 2}, - {"matrix": [8, 3], "x": 14, "y": 2}, - {"matrix": [8, 4], "x": 15, "y": 2}, - {"matrix": [8, 5], "x": 16, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - - {"matrix": [9, 0], "x": 11, "y": 3}, - {"matrix": [9, 1], "x": 12, "y": 3}, - {"matrix": [9, 2], "x": 13, "y": 3}, - {"matrix": [9, 3], "x": 14, "y": 3}, - {"matrix": [9, 4], "x": 15, "y": 3}, - {"matrix": [9, 5], "x": 16, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2, "y": 4}, - {"matrix": [4, 3], "x": 3, "y": 4}, - - {"matrix": [10, 2], "x": 13, "y": 4}, - {"matrix": [10, 3], "x": 14, "y": 4}, - {"matrix": [10, 4], "x": 15, "y": 4}, - {"matrix": [10, 5], "x": 16, "y": 4}, - - {"matrix": [4, 4], "x": 4, "y": 5}, - {"matrix": [4, 5], "x": 5, "y": 5}, - - {"matrix": [10, 1], "x": 12, "y": 5}, - - {"matrix": [5, 4], "x": 6, "y": 6}, - {"matrix": [5, 5], "x": 7, "y": 6}, - - {"matrix": [11, 1], "x": 10, "y": 6}, - - {"matrix": [5, 2], "x": 6, "y": 7}, - {"matrix": [5, 3], "x": 7, "y": 7}, - {"matrix": [11, 2], "x": 9, "y": 7}, {"matrix": [11, 3], "x": 10, "y": 7} ] } - }, - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "gradient_up_down": true, - "gradient_left_right": true, - "breathing": true, - "band_sat": true, - "band_val": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_up_down": true, - "rainbow_moving_chevron": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "dual_beacon": true, - "rainbow_beacon": true, - "rainbow_pinwheels": true, - "raindrops": true, - "jellybean_raindrops": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "pixel_rain": true, - "pixel_flow": true, - "pixel_fractal": true, - "typing_heatmap": true, - "digital_rain": true, - "solid_reactive_simple": true, - "solid_reactive": true, - "solid_reactive_wide": true, - "solid_reactive_multiwide": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_nexus": true, - "solid_reactive_multinexus": true, - "splash": true, - "multisplash": true, - "solid_splash": true, - "solid_multisplash": true - }, - "driver": "ws2812", - "led_count": 64, - "max_brightness": 100, - "split_count": [33, 31], - "sleep": true, - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 10, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 20, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 30, "flags": 1}, - {"matrix": [3, 1], "x": 12, "y": 30, "flags": 4}, - {"matrix": [2, 1], "x": 12, "y": 20, "flags": 4}, - {"matrix": [1, 1], "x": 12, "y": 10, "flags": 4}, - {"matrix": [0, 1], "x": 12, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 4}, - {"matrix": [1, 2], "x": 24, "y": 10, "flags": 4}, - {"matrix": [2, 2], "x": 24, "y": 20, "flags": 4}, - {"matrix": [3, 2], "x": 24, "y": 30, "flags": 4}, - {"matrix": [4, 2], "x": 24, "y": 40, "flags": 1}, - {"matrix": [4, 3], "x": 36, "y": 40, "flags": 1}, - {"matrix": [3, 3], "x": 36, "y": 30, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 20, "flags": 4}, - {"matrix": [1, 3], "x": 36, "y": 10, "flags": 4}, - {"matrix": [0, 3], "x": 36, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 48, "y": 0, "flags": 4}, - {"matrix": [1, 4], "x": 48, "y": 10, "flags": 4}, - {"matrix": [2, 4], "x": 48, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 48, "y": 30, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 30, "flags": 4}, - {"matrix": [2, 5], "x": 60, "y": 20, "flags": 4}, - {"matrix": [1, 5], "x": 60, "y": 10, "flags": 4}, - {"matrix": [0, 5], "x": 60, "y": 0, "flags": 4}, - {"matrix": [4, 4], "x": 48, "y": 50, "flags": 1}, - {"matrix": [5, 4], "x": 65, "y": 56, "flags": 1}, - {"matrix": [5, 5], "x": 70, "y": 60, "flags": 1}, - {"matrix": [5, 3], "x": 65, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 60, "y": 60, "flags": 1}, - {"matrix": [4, 1], "x": 0, "y": 40, "flags": 1}, - {"matrix": [4, 0], "x": 12, "y": 40, "flags": 1}, - {"matrix": [6, 5], "x": 224, "y": 0, "flags": 1}, - {"matrix": [7, 5], "x": 224, "y": 10, "flags": 1}, - {"matrix": [8, 5], "x": 224, "y": 20, "flags": 1}, - {"matrix": [9, 5], "x": 224, "y": 30, "flags": 1}, - {"matrix": [9, 4], "x": 212, "y": 30, "flags": 4}, - {"matrix": [8, 4], "x": 212, "y": 20, "flags": 4}, - {"matrix": [7, 4], "x": 212, "y": 10, "flags": 4}, - {"matrix": [6, 4], "x": 212, "y": 0, "flags": 4}, - {"matrix": [6, 3], "x": 200, "y": 0, "flags": 4}, - {"matrix": [7, 3], "x": 200, "y": 10, "flags": 4}, - {"matrix": [8, 3], "x": 200, "y": 20, "flags": 4}, - {"matrix": [9, 3], "x": 200, "y": 30, "flags": 4}, - {"matrix": [10, 3], "x": 200, "y": 40, "flags": 1}, - {"matrix": [10, 2], "x": 188, "y": 40, "flags": 1}, - {"matrix": [9, 2], "x": 188, "y": 30, "flags": 4}, - {"matrix": [8, 2], "x": 188, "y": 20, "flags": 4}, - {"matrix": [7, 2], "x": 188, "y": 10, "flags": 4}, - {"matrix": [6, 2], "x": 188, "y": 0, "flags": 4}, - {"matrix": [6, 1], "x": 176, "y": 0, "flags": 4}, - {"matrix": [7, 1], "x": 176, "y": 10, "flags": 4}, - {"matrix": [8, 1], "x": 176, "y": 20, "flags": 4}, - {"matrix": [9, 1], "x": 176, "y": 30, "flags": 4}, - {"matrix": [9, 0], "x": 164, "y": 30, "flags": 4}, - {"matrix": [8, 0], "x": 164, "y": 20, "flags": 4}, - {"matrix": [7, 0], "x": 164, "y": 10, "flags": 4}, - {"matrix": [6, 0], "x": 164, "y": 0, "flags": 4}, - {"matrix": [11, 1], "x": 164, "y": 60, "flags": 1}, - {"matrix": [11, 3], "x": 152, "y": 70, "flags": 1}, - {"matrix": [11, 2], "x": 140, "y": 70, "flags": 1}, - {"matrix": [10, 4], "x": 224, "y": 40, "flags": 1}, - {"matrix": [10, 5], "x": 208, "y": 40, "flags": 1} - ] } } diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/post_rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/post_rules.mk deleted file mode 100644 index fab9162dc6..0000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = pmw3360 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk new file mode 100644 index 0000000000..b7f7c949ec --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk @@ -0,0 +1,4 @@ +POINTING_DEVICE_DRIVER = pmw3360 +MOUSE_SHARED_EP = yes + +DEFAULT_FOLDER = handwired/tractyl_manuform/5x6_right/teensy2pp diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/keyboard.json index 5a091996b6..a131ac085b 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/keyboard.json @@ -11,9 +11,7 @@ ] }, "split": { - "serial": { - "pin": "D2" - } + "soft_serial_pin": "D2" }, "ws2812": { "pin": "E7" diff --git a/keyboards/handwired/tractyl_manuform/config.h b/keyboards/handwired/tractyl_manuform/config.h index 5a8091a098..9f4dd8651b 100644 --- a/keyboards/handwired/tractyl_manuform/config.h +++ b/keyboards/handwired/tractyl_manuform/config.h @@ -18,6 +18,18 @@ along with this program. If not, see . #pragma once + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + #define SPLIT_POINTING_ENABLE #define POINTING_DEVICE_TASK_THROTTLE_MS 1 diff --git a/keyboards/handwired/tractyl_manuform/info.json b/keyboards/handwired/tractyl_manuform/info.json index fb50c8d359..c84d008e15 100644 --- a/keyboards/handwired/tractyl_manuform/info.json +++ b/keyboards/handwired/tractyl_manuform/info.json @@ -2,10 +2,6 @@ "manufacturer": "QMK Community", "maintainer": "Drashna Jael're", "usb": { - "vid": "0x44DD", - "shared_endpoint": { - "keyboard": true, - "mouse": true - } + "vid": "0x44DD" } } diff --git a/keyboards/handwired/tractyl_manuform/post_config.h b/keyboards/handwired/tractyl_manuform/post_config.h new file mode 100644 index 0000000000..b5d67132b2 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/post_config.h @@ -0,0 +1,112 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// mouse config +#ifdef MOUSEKEY_ENABLE +# ifndef MOUSEKEY_MOVE_DELTA +# ifndef MK_KINETIC_SPEED +# define MOUSEKEY_MOVE_DELTA 5 +# else +# define MOUSEKEY_MOVE_DELTA 25 +# endif +# endif +# ifndef MOUSEKEY_DELAY +# ifndef MK_KINETIC_SPEED +# define MOUSEKEY_DELAY 300 +# else +# define MOUSEKEY_DELAY 8 +# endif +# endif +# ifndef MOUSEKEY_INTERVAL +# ifndef MK_KINETIC_SPEED +# define MOUSEKEY_INTERVAL 50 +# else +# define MOUSEKEY_INTERVAL 20 +# endif +# endif +# ifndef MOUSEKEY_MAX_SPEED +# define MOUSEKEY_MAX_SPEED 7 +# endif +# ifndef MOUSEKEY_TIME_TO_MAX +# define MOUSEKEY_TIME_TO_MAX 60 +# endif +# ifndef MOUSEKEY_INITIAL_SPEED +# define MOUSEKEY_INITIAL_SPEED 100 +# endif +# ifndef MOUSEKEY_BASE_SPEED +# define MOUSEKEY_BASE_SPEED 1000 +# endif +# ifndef MOUSEKEY_DECELERATED_SPEED +# define MOUSEKEY_DECELERATED_SPEED 400 +# endif +# ifndef MOUSEKEY_ACCELERATED_SPEED +# define MOUSEKEY_ACCELERATED_SPEED 3000 +# endif + +// mouse scroll config +# ifndef MOUSEKEY_WHEEL_DELAY +# define MOUSEKEY_WHEEL_DELAY 15 +# endif +# ifndef MOUSEKEY_WHEEL_DELTA +# define MOUSEKEY_WHEEL_DELTA 1 +# endif +# ifndef MOUSEKEY_WHEEL_INTERVAL +# define MOUSEKEY_WHEEL_INTERVAL 50 +# endif +# ifndef MOUSEKEY_WHEEL_MAX_SPEED +# define MOUSEKEY_WHEEL_MAX_SPEED 8 +# endif +# ifndef MOUSEKEY_WHEEL_TIME_TO_MAX +# define MOUSEKEY_WHEEL_TIME_TO_MAX 80 +# endif + +# ifndef MOUSEKEY_WHEEL_INITIAL_MOVEMENTS +# define MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 8 +# endif +# ifndef MOUSEKEY_WHEEL_BASE_MOVEMENTS +# define MOUSEKEY_WHEEL_BASE_MOVEMENTS 48 +# endif +# ifndef MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS +# define MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48 +# endif +# ifndef MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS +# define MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8 +# endif +#endif + +#ifndef DEBOUNCE +# define DEBOUNCE 5 +#endif + +#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_LIMIT_VAL) +# if defined(OLED_ENABLE) +# define RGBLIGHT_LIMIT_VAL 100 +# else +# define RGBLIGHT_LIMIT_VAL 150 +# endif +#endif + +#if !defined(OLED_BRIGHTNESS) +# if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) +# define OLED_BRIGHTNESS 80 +# else +# define OLED_BRIGHTNESS 150 +# endif +#endif diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c index 3ae74be47f..7ded835a6e 100644 --- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c +++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c @@ -15,47 +15,48 @@ */ #include "tractyl_manuform.h" -#ifdef POINTING_DEVICE_ENABLE -# include "pointing_device.h" -#endif #include "transactions.h" #include #ifdef CONSOLE_ENABLE # include "print.h" -#endif // CONSOLE_ENABLE +#endif // CONSOLE_ENABLE #ifdef POINTING_DEVICE_ENABLE # ifndef CHARYBDIS_MINIMUM_DEFAULT_DPI # define CHARYBDIS_MINIMUM_DEFAULT_DPI 400 -# endif // CHARYBDIS_MINIMUM_DEFAULT_DPI +# endif // CHARYBDIS_MINIMUM_DEFAULT_DPI # ifndef CHARYBDIS_DEFAULT_DPI_CONFIG_STEP # define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 200 -# endif // CHARYBDIS_DEFAULT_DPI_CONFIG_STEP +# endif // CHARYBDIS_DEFAULT_DPI_CONFIG_STEP # ifndef CHARYBDIS_MINIMUM_SNIPING_DPI # define CHARYBDIS_MINIMUM_SNIPING_DPI 200 -# endif // CHARYBDIS_MINIMUM_SNIPER_MODE_DPI +# endif // CHARYBDIS_MINIMUM_SNIPER_MODE_DPI # ifndef CHARYBDIS_SNIPING_DPI_CONFIG_STEP # define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100 -# endif // CHARYBDIS_SNIPING_DPI_CONFIG_STEP +# endif // CHARYBDIS_SNIPING_DPI_CONFIG_STEP // Fixed DPI for drag-scroll. # ifndef CHARYBDIS_DRAGSCROLL_DPI # define CHARYBDIS_DRAGSCROLL_DPI 100 -# endif // CHARYBDIS_DRAGSCROLL_DPI +# endif // CHARYBDIS_DRAGSCROLL_DPI # ifndef CHARYBDIS_DRAGSCROLL_BUFFER_SIZE # define CHARYBDIS_DRAGSCROLL_BUFFER_SIZE 6 -# endif // !CHARYBDIS_DRAGSCROLL_BUFFER_SIZE +# endif // !CHARYBDIS_DRAGSCROLL_BUFFER_SIZE + +# ifndef CHARYBDIS_POINTER_ACCELERATION_FACTOR +# define CHARYBDIS_POINTER_ACCELERATION_FACTOR 24 +# endif // !CHARYBDIS_POINTER_ACCELERATION_FACTOR typedef union { uint8_t raw; struct { - uint8_t pointer_default_dpi : 4; // 16 steps available. - uint8_t pointer_sniping_dpi : 2; // 4 steps available. + uint8_t pointer_default_dpi : 4; // 16 steps available. + uint8_t pointer_sniping_dpi : 2; // 4 steps available. bool is_dragscroll_enabled : 1; bool is_sniping_enabled : 1; } __attribute__((packed)); @@ -85,19 +86,13 @@ static void read_charybdis_config_from_eeprom(charybdis_config_t* config) { * resets these 2 values to `false` since it does not make sense to persist * these across reboots of the board. */ -static void write_charybdis_config_to_eeprom(charybdis_config_t* config) { - eeconfig_update_kb(config->raw); -} +static void write_charybdis_config_to_eeprom(charybdis_config_t* config) { eeconfig_update_kb(config->raw); } /** \brief Return the current value of the pointer's default DPI. */ -static uint16_t get_pointer_default_dpi(charybdis_config_t* config) { - return (uint16_t)config->pointer_default_dpi * CHARYBDIS_DEFAULT_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_DEFAULT_DPI; -} +static uint16_t get_pointer_default_dpi(charybdis_config_t* config) { return (uint16_t)config->pointer_default_dpi * CHARYBDIS_DEFAULT_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_DEFAULT_DPI; } /** \brief Return the current value of the pointer's sniper-mode DPI. */ -static uint16_t get_pointer_sniping_dpi(charybdis_config_t* config) { - return (uint16_t)config->pointer_sniping_dpi * CHARYBDIS_SNIPING_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_SNIPING_DPI; -} +static uint16_t get_pointer_sniping_dpi(charybdis_config_t* config) { return (uint16_t)config->pointer_sniping_dpi * CHARYBDIS_SNIPING_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_SNIPING_DPI; } /** \brief Set the appropriate DPI for the input config. */ static void maybe_update_pointing_device_cpi(charybdis_config_t* config) { @@ -132,54 +127,64 @@ static void step_pointer_sniping_dpi(charybdis_config_t* config, bool forward) { maybe_update_pointing_device_cpi(config); } -uint16_t charybdis_get_pointer_default_dpi(void) { - return get_pointer_default_dpi(&g_charybdis_config); -} +uint16_t charybdis_get_pointer_default_dpi(void) { return get_pointer_default_dpi(&g_charybdis_config); } -uint16_t charybdis_get_pointer_sniping_dpi(void) { - return get_pointer_sniping_dpi(&g_charybdis_config); -} +uint16_t charybdis_get_pointer_sniping_dpi(void) { return get_pointer_sniping_dpi(&g_charybdis_config); } -void charybdis_cycle_pointer_default_dpi_noeeprom(bool forward) { - step_pointer_default_dpi(&g_charybdis_config, forward); -} +void charybdis_cycle_pointer_default_dpi_noeeprom(bool forward) { step_pointer_default_dpi(&g_charybdis_config, forward); } void charybdis_cycle_pointer_default_dpi(bool forward) { step_pointer_default_dpi(&g_charybdis_config, forward); write_charybdis_config_to_eeprom(&g_charybdis_config); } -void charybdis_cycle_pointer_sniping_dpi_noeeprom(bool forward) { - step_pointer_sniping_dpi(&g_charybdis_config, forward); -} +void charybdis_cycle_pointer_sniping_dpi_noeeprom(bool forward) { step_pointer_sniping_dpi(&g_charybdis_config, forward); } void charybdis_cycle_pointer_sniping_dpi(bool forward) { step_pointer_sniping_dpi(&g_charybdis_config, forward); write_charybdis_config_to_eeprom(&g_charybdis_config); } -bool charybdis_get_pointer_sniping_enabled(void) { - return g_charybdis_config.is_sniping_enabled; -} +bool charybdis_get_pointer_sniping_enabled(void) { return g_charybdis_config.is_sniping_enabled; } void charybdis_set_pointer_sniping_enabled(bool enable) { g_charybdis_config.is_sniping_enabled = enable; maybe_update_pointing_device_cpi(&g_charybdis_config); } -bool charybdis_get_pointer_dragscroll_enabled(void) { - return g_charybdis_config.is_dragscroll_enabled; -} +bool charybdis_get_pointer_dragscroll_enabled(void) { return g_charybdis_config.is_dragscroll_enabled; } void charybdis_set_pointer_dragscroll_enabled(bool enable) { g_charybdis_config.is_dragscroll_enabled = enable; maybe_update_pointing_device_cpi(&g_charybdis_config); } +# ifndef CONSTRAIN_HID +# define CONSTRAIN_HID(value) ((value) < XY_REPORT_MIN ? XY_REPORT_MIN : ((value) > XY_REPORT_MAX ? XY_REPORT_MAX : (value))) +# endif // !CONSTRAIN_HID + +/** + * \brief Add optional acceleration effect. + * + * If `CHARYBDIS_ENABLE_POINTER_ACCELERATION` is defined, add a simple and naive + * acceleration effect to the provided value. Return the value unchanged + * otherwise. + */ +# ifndef DISPLACEMENT_WITH_ACCELERATION +# ifdef CHARYBDIS_POINTER_ACCELERATION_ENABLE +# define DISPLACEMENT_WITH_ACCELERATION(d) (CONSTRAIN_HID(d > 0 ? d * d / CHARYBDIS_POINTER_ACCELERATION_FACTOR + d : -d * d / CHARYBDIS_POINTER_ACCELERATION_FACTOR + d)) +# else // !CHARYBDIS_POINTER_ACCELERATION_ENABLE +# define DISPLACEMENT_WITH_ACCELERATION(d) (d) +# endif // CHARYBDIS_POINTER_ACCELERATION_ENABLE +# endif // !DISPLACEMENT_WITH_ACCELERATION + /** * \brief Augment the pointing device behavior. * - * Implement drag-scroll. + * Implement the Charybdis-specific features for pointing devices: + * - Drag-scroll + * - Sniping + * - Acceleration */ static void pointing_device_task_charybdis(report_mouse_t* mouse_report) { static int16_t scroll_buffer_x = 0; @@ -189,12 +194,12 @@ static void pointing_device_task_charybdis(report_mouse_t* mouse_report) { scroll_buffer_x -= mouse_report->x; # else scroll_buffer_x += mouse_report->x; -# endif // CHARYBDIS_DRAGSCROLL_REVERSE_X +# endif // CHARYBDIS_DRAGSCROLL_REVERSE_X # ifdef CHARYBDIS_DRAGSCROLL_REVERSE_Y scroll_buffer_y -= mouse_report->y; # else scroll_buffer_y += mouse_report->y; -# endif // CHARYBDIS_DRAGSCROLL_REVERSE_Y +# endif // CHARYBDIS_DRAGSCROLL_REVERSE_Y mouse_report->x = 0; mouse_report->y = 0; if (abs(scroll_buffer_x) > CHARYBDIS_DRAGSCROLL_BUFFER_SIZE) { @@ -205,14 +210,16 @@ static void pointing_device_task_charybdis(report_mouse_t* mouse_report) { mouse_report->v = scroll_buffer_y > 0 ? 1 : -1; scroll_buffer_y = 0; } + } else if (!g_charybdis_config.is_sniping_enabled) { + mouse_report->x = DISPLACEMENT_WITH_ACCELERATION(mouse_report->x); + mouse_report->y = DISPLACEMENT_WITH_ACCELERATION(mouse_report->y); } } report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { - if (is_keyboard_master()) { - pointing_device_task_charybdis(&mouse_report); - mouse_report = pointing_device_task_user(mouse_report); - } + pointing_device_task_charybdis(&mouse_report); + mouse_report = pointing_device_task_user(mouse_report); + return mouse_report; } @@ -223,9 +230,9 @@ static bool has_shift_mod(void) { return mod_config(get_mods()) & MOD_MASK_SHIFT; # else return mod_config(get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT; -# endif // NO_ACTION_ONESHOT +# endif // NO_ACTION_ONESHOT } -# endif // POINTING_DEVICE_ENABLE && !NO_CHARYBDIS_KEYCODES +# endif // POINTING_DEVICE_ENABLE && !NO_CHARYBDIS_KEYCODES /** * \brief Outputs the Charybdis configuration to console. @@ -240,16 +247,16 @@ static bool has_shift_mod(void) { */ __attribute__((unused)) static void debug_charybdis_config_to_console(charybdis_config_t* config) { # ifdef CONSOLE_ENABLE - dprintf("(charybdis) process_record_kb: config = {\n" - "\traw = 0x%X,\n" - "\t{\n" - "\t\tis_dragscroll_enabled=%u\n" - "\t\tis_sniping_enabled=%u\n" - "\t\tdefault_dpi=0x%X (%u)\n" - "\t\tsniping_dpi=0x%X (%u)\n" - "\t}\n" - "}\n", - config->raw, config->is_dragscroll_enabled, config->is_sniping_enabled, config->pointer_default_dpi, get_pointer_default_dpi(config), config->pointer_sniping_dpi, get_pointer_sniping_dpi(config)); + IGNORE_FORMAT_WARNING(dprintf("(charybdis) process_record_kb: config = {\n" + "\traw = 0x%04X,\n" + "\t{\n" + "\t\tis_dragscroll_enabled=%b\n" + "\t\tis_sniping_enabled=%b\n" + "\t\tdefault_dpi=0x%02X (%ld)\n" + "\t\tsniping_dpi=0x%01X (%ld)\n" + "\t}\n" + "}\n", + config->raw, config->is_dragscroll_enabled, config->is_sniping_enabled, config->pointer_default_dpi, get_pointer_default_dpi(config), config->pointer_sniping_dpi, get_pointer_sniping_dpi(config))); # endif // CONSOLE_ENABLE } @@ -300,7 +307,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { } break; } -# endif // !NO_CHARYBDIS_KEYCODES +# endif // !NO_CHARYBDIS_KEYCODES return true; } @@ -311,70 +318,22 @@ void eeconfig_init_kb(void) { eeconfig_init_user(); } -void matrix_power_up(void) { - pointing_device_task(); -} +void matrix_power_up(void) { pointing_device_task(); } void charybdis_config_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { if (initiator2target_buffer_size == sizeof(g_charybdis_config)) { memcpy(&g_charybdis_config, initiator2target_buffer, sizeof(g_charybdis_config)); } } -#endif // POINTING_DEVICE_ENABLE - -__attribute__((weak)) void user_button_init(void) { -#ifdef USER_BUTTON_PIN - gpio_set_pin_input_high(USER_BUTTON_PIN); -#endif // USER_BUTTON_PIN -} - -__attribute__((weak)) bool check_user_button_state(void) { -#ifdef USER_BUTTON_PIN - return !gpio_read_pin(USER_BUTTON_PIN); -#endif // USER_BUTTON_PIN - return false; -} void keyboard_post_init_kb(void) { -#ifdef DEBUG_LED_PIN - gpio_set_pin_output(DEBUG_LED_PIN); - gpio_write_pin_low(DEBUG_LED_PIN); -#endif // DEBUG_LED_PIN - -#ifdef POINTING_DEVICE_ENABLE maybe_update_pointing_device_cpi(&g_charybdis_config); transaction_register_rpc(RPC_ID_KB_CONFIG_SYNC, charybdis_config_sync_handler); -#endif // POINTING_DEVICE_ENABLE + keyboard_post_init_user(); } -void keyboard_pre_init_kb(void) { - user_button_init(); -#ifdef POINTING_DEVICE_ENABLE - read_charybdis_config_from_eeprom(&g_charybdis_config); -#endif // POINTING_DEVICE_ENAcBLE - keyboard_pre_init_user(); -} - -__attribute__((weak)) void execute_user_button_action(bool state) { - if (state) { - if (is_keyboard_master()) { - reset_keyboard(); - } else { - soft_reset_keyboard(); - } - } -} - void housekeeping_task_kb(void) { - static bool last_state = false; - bool state = check_user_button_state(); - if (state != last_state) { - last_state = state; - execute_user_button_action(state); - } - -#ifdef POINTING_DEVICE_ENABLE if (is_keyboard_master()) { // Keep track of the last state, so that we can tell if we need to propagate to slave static charybdis_config_t last_charybdis_config = {0}; @@ -398,50 +357,22 @@ void housekeeping_task_kb(void) { } } } -#endif // POINTING_DEVICE_ENABLE - // no need for user function, is called already + // no need for user function, is called already } -#ifdef USER_BUTTON_PIN -/** - * @brief Replace and add upon the default bootmagic reset function. - * In this case, we also check the user button. - * - * @return true if the user button is pressed, or normal bootmagic key position. - * @return false if the user button is not pressed and normal bootmagic key position is not pressed. - */ -__attribute__((weak)) bool bootmagic_should_reset(void) { - uint8_t row = BOOTMAGIC_ROW; - uint8_t col = BOOTMAGIC_COLUMN; +#endif // POINTING_DEVICE_ENABLE -# if defined(SPLIT_KEYBOARD) && defined(BOOTMAGIC_ROW_RIGHT) && defined(BOOTMAGIC_COLUMN_RIGHT) - if (!is_keyboard_left()) { - row = BOOTMAGIC_ROW_RIGHT; - col = BOOTMAGIC_COLUMN_RIGHT; - } -# endif - - return matrix_get_row(row) & (1 << col) || check_user_button_state(); -} -#endif // USER_BUTTON_PIN - -bool shutdown_kb(bool jump_to_bootloader) { - if (!shutdown_user(jump_to_bootloader)) { - return false; - } -#ifdef RGB_MATRIX_ENABLE - void rgb_matrix_update_pwm_buffers(void); - rgb_matrix_set_color_all(RGB_RED); - rgb_matrix_update_pwm_buffers(); -#endif // RGB_MATRIX_ENABLE - return true; +__attribute__((weak)) void matrix_init_sub_kb(void) {} +void matrix_init_kb(void) { +#ifdef POINTING_DEVICE_ENABLE + read_charybdis_config_from_eeprom(&g_charybdis_config); +#endif // POINTING_DEVICE_ENABLE + matrix_init_sub_kb(); + matrix_init_user(); } -#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE -bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record) { - if (IS_KB_KEYCODE(keycode)) { - return true; - } - return is_mouse_record_user(keycode, record); +__attribute__((weak)) void matrix_scan_sub_kb(void) {} +void matrix_scan_kb(void) { + matrix_scan_sub_kb(); + matrix_scan_user(); } -#endif // POINTING_DEVICE_AUTO_MOUSE_ENABLE diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.h b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h index 0c473517c7..48020c89bd 100644 --- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.h +++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h @@ -28,15 +28,14 @@ enum charybdis_keycodes { DRAGSCROLL_MODE, DRAGSCROLL_MODE_TOGGLE, }; - -#define DPI_MOD POINTER_DEFAULT_DPI_FORWARD -#define DPI_RMOD POINTER_DEFAULT_DPI_REVERSE -#define S_D_MOD POINTER_SNIPING_DPI_FORWARD -#define S_D_RMOD POINTER_SNIPING_DPI_REVERSE -#define SNIPING SNIPING_MODE -#define SNP_TOG SNIPING_MODE_TOGGLE -#define DRGSCRL DRAGSCROLL_MODE -#define DRG_TOG DRAGSCROLL_MODE_TOGGLE +# define DPI_MOD POINTER_DEFAULT_DPI_FORWARD +# define DPI_RMOD POINTER_DEFAULT_DPI_REVERSE +# define S_D_MOD POINTER_SNIPING_DPI_FORWARD +# define S_D_RMOD POINTER_SNIPING_DPI_REVERSE +# define SNIPING SNIPING_MODE +# define SNP_TOG SNIPING_MODE_TOGGLE +# define DRGSCRL DRAGSCROLL_MODE +# define DRG_TOG DRAGSCROLL_MODE_TOGGLE #ifdef POINTING_DEVICE_ENABLE /** \brief Return the current DPI value for the pointer's default mode. */ @@ -104,4 +103,7 @@ bool charybdis_get_pointer_dragscroll_enabled(void); * are translated into horizontal and vertical scroll movements. */ void charybdis_set_pointer_dragscroll_enabled(bool enable); -#endif // POINTING_DEVICE_ENABLE +#endif // POINTING_DEVICE_ENABLE + +void matrix_init_sub_kb(void); +void matrix_scan_sub_kb(void); diff --git a/keyboards/handwired/traveller/keyboard.json b/keyboards/handwired/traveller/keyboard.json index 01919de563..e6941036f5 100644 --- a/keyboards/handwired/traveller/keyboard.json +++ b/keyboards/handwired/traveller/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Traveller", "manufacturer": "Unknown", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -16,6 +17,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/handwired/tsubasa/keyboard.json b/keyboards/handwired/tsubasa/keyboard.json index b9ba281d06..31e6bb72cc 100644 --- a/keyboards/handwired/tsubasa/keyboard.json +++ b/keyboards/handwired/tsubasa/keyboard.json @@ -27,6 +27,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/twig/twig50/keyboard.json b/keyboards/handwired/twig/twig50/keyboard.json index 836caf3ebc..f1cc2f5a96 100644 --- a/keyboards/handwired/twig/twig50/keyboard.json +++ b/keyboards/handwired/twig/twig50/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "twig50", "manufacturer": "Twig", + "url": "", "maintainer": "nodatk", "usb": { "vid": "0xFEED", @@ -14,6 +15,8 @@ "features": { "audio": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/handwired/unicomp_mini_m/keyboard.json b/keyboards/handwired/unicomp_mini_m/keyboard.json index 5fe592b79d..50ae033028 100644 --- a/keyboards/handwired/unicomp_mini_m/keyboard.json +++ b/keyboards/handwired/unicomp_mini_m/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Unicomp Mini M", "manufacturer": "stevendlander", + "url": "", "maintainer": "stevendlander", "usb": { "vid": "0xFEED", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": false, "mousekey": false, diff --git a/keyboards/handwired/unk/rules.mk b/keyboards/handwired/unk/rules.mk new file mode 100644 index 0000000000..d4536e0cbb --- /dev/null +++ b/keyboards/handwired/unk/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = handwired/unk/rev1 diff --git a/keyboards/handwired/uthol/info.json b/keyboards/handwired/uthol/info.json index a5c1a0c0c9..7270e23172 100644 --- a/keyboards/handwired/uthol/info.json +++ b/keyboards/handwired/uthol/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Uthol", + "url": "", "maintainer": "uthol", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/uthol/rev1/keyboard.json b/keyboards/handwired/uthol/rev1/keyboard.json index 4c1be1de1e..dd5746e884 100644 --- a/keyboards/handwired/uthol/rev1/keyboard.json +++ b/keyboards/handwired/uthol/rev1/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/handwired/uthol/rev2/keyboard.json b/keyboards/handwired/uthol/rev2/keyboard.json index 81ec109b27..95ca5946a9 100644 --- a/keyboards/handwired/uthol/rev2/keyboard.json +++ b/keyboards/handwired/uthol/rev2/keyboard.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/handwired/videowriter/keyboard.json b/keyboards/handwired/videowriter/keyboard.json index bfac3b97ef..f82a0cd07e 100644 --- a/keyboards/handwired/videowriter/keyboard.json +++ b/keyboards/handwired/videowriter/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/wakizashi40/keyboard.json b/keyboards/handwired/wakizashi40/keyboard.json index e1dc0d7648..495d9a0376 100644 --- a/keyboards/handwired/wakizashi40/keyboard.json +++ b/keyboards/handwired/wakizashi40/keyboard.json @@ -7,6 +7,7 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/handwired/woodpad/keyboard.json b/keyboards/handwired/woodpad/keyboard.json index baf30d0bdc..e6c07b2c42 100644 --- a/keyboards/handwired/woodpad/keyboard.json +++ b/keyboards/handwired/woodpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Woodpad", "manufacturer": "WoodKeys.click", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/wulkan/keyboard.json b/keyboards/handwired/wulkan/keyboard.json index c804409b7d..eceeb5c145 100644 --- a/keyboards/handwired/wulkan/keyboard.json +++ b/keyboards/handwired/wulkan/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Handwired48Keys", "manufacturer": "Wulkan", + "url": "", "maintainer": "Napoleon Wulkan", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/wwa/helios/keyboard.json b/keyboards/handwired/wwa/helios/keyboard.json index 8a77808e67..64b2010396 100644 --- a/keyboards/handwired/wwa/helios/keyboard.json +++ b/keyboards/handwired/wwa/helios/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["GP4", "GP5", "GP6"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/handwired/wwa/kepler/keyboard.json b/keyboards/handwired/wwa/kepler/keyboard.json index 843403bf89..f962d632b4 100644 --- a/keyboards/handwired/wwa/kepler/keyboard.json +++ b/keyboards/handwired/wwa/kepler/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["GP9", "GP10", "GP11"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0002", diff --git a/keyboards/handwired/wwa/mercury/keyboard.json b/keyboards/handwired/wwa/mercury/keyboard.json index 8ed067f84d..bb89858da2 100644 --- a/keyboards/handwired/wwa/mercury/keyboard.json +++ b/keyboards/handwired/wwa/mercury/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["GP4", "GP5"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0003", diff --git a/keyboards/handwired/wwa/soyuz/keyboard.json b/keyboards/handwired/wwa/soyuz/keyboard.json index 4b3a015a35..9670f312a6 100644 --- a/keyboards/handwired/wwa/soyuz/keyboard.json +++ b/keyboards/handwired/wwa/soyuz/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["GP7", "GP8", "GP9"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0004", diff --git a/keyboards/handwired/wwa/soyuzxl/keyboard.json b/keyboards/handwired/wwa/soyuzxl/keyboard.json index d666e798f4..9180344176 100644 --- a/keyboards/handwired/wwa/soyuzxl/keyboard.json +++ b/keyboards/handwired/wwa/soyuzxl/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["B5", "B2", "B3"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0005", diff --git a/keyboards/handwired/xealous/config.h b/keyboards/handwired/xealous/config.h new file mode 100644 index 0000000000..6cc6b4d1de --- /dev/null +++ b/keyboards/handwired/xealous/config.h @@ -0,0 +1,32 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define USE_I2C +#define SCL_CLOCK 800000UL + +//#define DEBUG_MATRIX_SCAN_RATE //Use this to determine scan-rate. + +#ifdef AUDIO_ENABLE + #define AUDIO_PIN C6 + #define STARTUP_SONG SONG(STARTUP_SOUND) + #define NO_MUSIC_MODE + #define TONE_QWERTY SONG(Q__NOTE(_E4)); + #define TONE_NUMPAD SONG(Q__NOTE(_D4)); +#endif diff --git a/keyboards/handwired/xealous/matrix.c b/keyboards/handwired/xealous/matrix.c new file mode 100644 index 0000000000..b8ae9fd738 --- /dev/null +++ b/keyboards/handwired/xealous/matrix.c @@ -0,0 +1,49 @@ +/* +Copyright 2012 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +/* + * scan matrix + */ +#include +#include +#include +#include "wait.h" +#include "print.h" +#include "debug.h" +#include "util.h" +#include "matrix.h" +#include "split_util.h" +#include "timer.h" + +// Copy this code to split_common/matrix.c, +// and call it instead of the unoptimized col_reader. Scan-rate jumps from 1200->1920 +// Also remove the sleep_us(30), not necessary for this keyboard. +// In usb_descriptor.c, set .PollingIntervalMS = 0x01 +#define ROW_SHIFTER ((uint8_t)1) +inline static matrix_row_t optimized_col_reader(void) { + //MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } + return (PINB & (1 << 6) ? 0 : (ROW_SHIFTER << 0)) | + (PINB & (1 << 2) ? 0 : (ROW_SHIFTER << 1)) | + (PINB & (1 << 3) ? 0 : (ROW_SHIFTER << 2)) | + (PINB & (1 << 1) ? 0 : (ROW_SHIFTER << 3)) | + (PINF & (1 << 7) ? 0 : (ROW_SHIFTER << 4)) | + (PINF & (1 << 6) ? 0 : (ROW_SHIFTER << 5)) | + (PINF & (1 << 5) ? 0 : (ROW_SHIFTER << 6)) | + (PINF & (1 << 4) ? 0 : (ROW_SHIFTER << 7)); +} + + diff --git a/keyboards/handwired/xealous/rev1/config.h b/keyboards/handwired/xealous/rev1/config.h index 2ea66a692c..49be10cce4 100644 --- a/keyboards/handwired/xealous/rev1/config.h +++ b/keyboards/handwired/xealous/rev1/config.h @@ -18,19 +18,6 @@ along with this program. If not, see . #pragma once -#define USE_I2C -#define SCL_CLOCK 800000UL - -//#define DEBUG_MATRIX_SCAN_RATE //Use this to determine scan-rate. - -#ifdef AUDIO_ENABLE - #define AUDIO_PIN C6 - #define STARTUP_SONG SONG(STARTUP_SOUND) - #define NO_MUSIC_MODE - #define TONE_QWERTY SONG(Q__NOTE(_E4)); - #define TONE_NUMPAD SONG(Q__NOTE(_D4)); -#endif - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/handwired/xealous/rev1/keyboard.json b/keyboards/handwired/xealous/rev1/keyboard.json index 55e99eeb54..9f926a3602 100644 --- a/keyboards/handwired/xealous/rev1/keyboard.json +++ b/keyboards/handwired/xealous/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XeaL60", "manufacturer": "XeaLouS", + "url": "", "maintainer": "alex-ong", "usb": { "vid": "0x4131", diff --git a/keyboards/handwired/xealous/rules.mk b/keyboards/handwired/xealous/rules.mk new file mode 100644 index 0000000000..4a97d066df --- /dev/null +++ b/keyboards/handwired/xealous/rules.mk @@ -0,0 +1,3 @@ +SRC += matrix.c + +DEFAULT_FOLDER = handwired/xealous/rev1 diff --git a/keyboards/handwired/yodadistro/macro/keyboard.json b/keyboards/handwired/yodadistro/macro/keyboard.json deleted file mode 100644 index f0a03453b4..0000000000 --- a/keyboards/handwired/yodadistro/macro/keyboard.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "manufacturer": "Raspberry Pi", - "keyboard_name": "KBP 8-Key Macro Pad", - "maintainer": "yodadistro", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "matrix_pins": { - "direct": [ - ["GP3", "GP5", "GP7", "GP9"], - ["GP2", "GP4", "GP6", "GP8"] - ] - }, - "processor": "RP2040", - "usb": { - "device_version": "1.0.0", - "pid": "0x2044", - "vid": "0x1209" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1} - ] - } - } -} diff --git a/keyboards/handwired/yodadistro/macro/keymaps/default/keymap.json b/keyboards/handwired/yodadistro/macro/keymaps/default/keymap.json deleted file mode 100644 index 5f5ccb88b0..0000000000 --- a/keyboards/handwired/yodadistro/macro/keymaps/default/keymap.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "keyboard": "handwired/yodadistro/macro", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - [ - "KC_A", "KC_B", "KC_C", "KC_D", - "KC_E", "KC_F", "KC_G", "KC_H" - ] - ] -} diff --git a/keyboards/handwired/yodadistro/macro/readme.md b/keyboards/handwired/yodadistro/macro/readme.md deleted file mode 100644 index ceda19acba..0000000000 --- a/keyboards/handwired/yodadistro/macro/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# Yoda Distro - -![YodaDistro](https://i.imgur.com/W2xnKjF.jpeg) - -Scratch made direct wire pin 8-Key (4x2) Macro Pad using a Raspberry Pi Pico (2040). - -* Keyboard Maintainer: [YodaDistro](https://github.com/YodaDistro) -* Hardware Supported: Raspberry Pi Pico (2040) -* Hardware Availability: 3D Printed Design (https://github.com/YodaDistro/MacroPad) - -Make example for this keyboard (after setting up your build environment): - - make handwired/yodadistro/macro:default - -Flashing example for this keyboard: - - make handwired/yodadistro/macro:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs) - -## Bootloader - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/z150/keyboard.json b/keyboards/handwired/z150/keyboard.json index 57d460da89..38c92a6537 100644 --- a/keyboards/handwired/z150/keyboard.json +++ b/keyboards/handwired/z150/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Z150", "manufacturer": "ALPS", + "url": "", "maintainer": "DmNosachev", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/handwired/zergo/keyboard.json b/keyboards/handwired/zergo/keyboard.json index 44bd80c0cd..7ee2cd4774 100644 --- a/keyboards/handwired/zergo/keyboard.json +++ b/keyboards/handwired/zergo/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": false, "mousekey": false, "nkro": true diff --git a/keyboards/handwired/zeropad/keyboard.json b/keyboards/handwired/zeropad/keyboard.json deleted file mode 100644 index 40bf6c8c2a..0000000000 --- a/keyboards/handwired/zeropad/keyboard.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "manufacturer": "Leon Sieber", - "keyboard_name": "ZeroPad", - "maintainer": "diffrentGuesser", - "development_board": "promicro", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["D1", "D0", "D4"], - "rows": ["C6", "D7", "E6"], - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0x5A50" - }, - "community_layouts": [ "ortho_3x3" ], - "layouts": { - "LAYOUT_ortho_3x3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2} - ] - } - } -} diff --git a/keyboards/handwired/zeropad/keymaps/default/keymap.c b/keyboards/handwired/zeropad/keymaps/default/keymap.c deleted file mode 100644 index aa674bcbda..0000000000 --- a/keyboards/handwired/zeropad/keymaps/default/keymap.c +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_ortho_3x3( - KC_1, KC_2, KC_3, - KC_4, KC_5, KC_6, - KC_7, KC_8, KC_9 - ) -}; diff --git a/keyboards/handwired/zeropad/readme.md b/keyboards/handwired/zeropad/readme.md deleted file mode 100644 index c021d7dc05..0000000000 --- a/keyboards/handwired/zeropad/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# ZeroPad - -![ZeroPad](https://i.imgur.com/KBkI4q1.jpeg) - -This keyboard is inspired by the scotto9 from Joe Scotto. This keyboard is compatible with via and has 4 layers of keybinds (24 keybinds - 4x8 + 1 per layer for changing the layer). - -* Keyboard Maintainer: [Leon Sieber](https://github.com/diffrentGuesser) -* Hardware Supported: Pro Micro, 3 pin switches -* Hardware Availability: [Pro Micro](https://de.aliexpress.com/item/32846843498.html?spm=a2g0o.cart.0.0.146d4ae4kCjqDY&mp=1&gatewayAdapt=glo2deu), [switches](https://de.aliexpress.com/item/1005007135709029.html?spm=a2g0o.cart.0.0.146d4ae4kCjqDY&mp=1&gatewayAdapt=glo2deu) - -Make example for this keyboard (after setting up your build environment): - - make handwired/zeropad:default - -Flashing example for this keyboard: - - make handwired/zeropad:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard -* **Physical reset**: Short the GND and the RST pins on the Pro Micro. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/ziyoulang_k3_mod/keyboard.json b/keyboards/handwired/ziyoulang_k3_mod/keyboard.json index b21bd9af91..5d4ca7a254 100644 --- a/keyboards/handwired/ziyoulang_k3_mod/keyboard.json +++ b/keyboards/handwired/ziyoulang_k3_mod/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, @@ -139,5 +141,6 @@ } }, "manufacturer": "Coom", - "maintainer": "coomstoolbox" + "maintainer": "coomstoolbox", + "url": "" } diff --git a/keyboards/hardlineworks/otd_plus/keyboard.json b/keyboards/hardlineworks/otd_plus/keyboard.json index c7bb0b0223..e0afc03893 100644 --- a/keyboards/hardlineworks/otd_plus/keyboard.json +++ b/keyboards/hardlineworks/otd_plus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "OTD-PLUS", "manufacturer": "Hardlineworks", + "url": "", "maintainer": "Hardlineworks", "usb": { "vid": "0x484C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/hardwareabstraction/handwire/keyboard.json b/keyboards/hardwareabstraction/handwire/keyboard.json index 2bc112f97a..225712dcc4 100644 --- a/keyboards/hardwareabstraction/handwire/keyboard.json +++ b/keyboards/hardwareabstraction/handwire/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/hazel/bad_wings/halconf.h b/keyboards/hazel/bad_wings/halconf.h index dbb40c4c27..ed9500fe75 100644 --- a/keyboards/hazel/bad_wings/halconf.h +++ b/keyboards/hazel/bad_wings/halconf.h @@ -6,5 +6,7 @@ #define HAL_USE_SPI TRUE #define HAL_USE_I2C TRUE #define HAL_USE_PWM TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/hazel/bad_wings_v2/config.h b/keyboards/hazel/bad_wings_v2/config.h deleted file mode 100644 index 7f861f693f..0000000000 --- a/keyboards/hazel/bad_wings_v2/config.h +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2023 Jason Hazel (@jasonhazel) -// SPDX-License-Identifier: GPL-3.0-or-later - -#pragma once - -#define SPI_DRIVER SPID1 -#define SPI_SCK_PIN A5 -#define SPI_SCK_PAL_MODE 0 -#define SPI_MOSI_PIN A7 -#define SPI_MOSI_PAL_MODE 0 -#define SPI_MISO_PIN A6 -#define SPI_MISO_PAL_MODE 0 -#define CIRQUE_PINNACLE_SPI_DIVISOR 8 -#define CIRQUE_PINNACLE_SPI_CS_PIN A4 - -#define POINTING_DEVICE_CS_PIN A4 -#define CIRQUE_PINNACLE_DIAMETER_MM 35 -#define POINTING_DEVICE_ROTATION_90 diff --git a/keyboards/hazel/bad_wings_v2/halconf.h b/keyboards/hazel/bad_wings_v2/halconf.h deleted file mode 100644 index fa7e45bdcd..0000000000 --- a/keyboards/hazel/bad_wings_v2/halconf.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2023 Jason Hazel (@jasonhazel) -// SPDX-License-Identifier: GPL-3.0-or-later - -#pragma once - -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/hazel/bad_wings_v2/keyboard.json b/keyboards/hazel/bad_wings_v2/keyboard.json deleted file mode 100644 index e6f9bad637..0000000000 --- a/keyboards/hazel/bad_wings_v2/keyboard.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "manufacturer": "Hazel", - "keyboard_name": "Bad Wings v2", - "maintainer": "jasonhazel", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "pointing_device": true - }, - "matrix_pins": { - "cols": ["F1", "F0", "C15", "C14", "C13"], - "rows": ["B11", "B10", "B2", "B1", "B3", "B4", "B5", "B6"] - }, - "processor": "STM32F072", - "url": "https://github.com/hazels-garage/bad-wings/tree/master/v2", - "usb": { - "device_version": "1.0.0", - "pid": "0x4258", - "vid": "0x4A48" - }, - "community_layouts": ["split_3x5_3"], - "layouts": { - "LAYOUT_split_3x5_3": { - "layout": [ - {"label": "00", "matrix": [0, 0], "x": 0, "y": 0.75, "w": 1}, - {"label": "01", "matrix": [0, 1], "x": 1, "y": 0.5, "w": 1}, - {"label": "02", "matrix": [0, 2], "x": 2, "y": 0, "w": 1}, - {"label": "03", "matrix": [0, 3], "x": 3, "y": 0.25, "w": 1}, - {"label": "04", "matrix": [0, 4], "x": 4, "y": 0.36, "w": 1}, - {"label": "44", "matrix": [4, 4], "x": 8, "y": 0.36, "w": 1}, - {"label": "43", "matrix": [4, 3], "x": 9, "y": 0.25, "w": 1}, - {"label": "42", "matrix": [4, 2], "x": 10, "y": 0, "w": 1}, - {"label": "41", "matrix": [4, 1], "x": 11, "y": 0.5, "w": 1}, - {"label": "40", "matrix": [4, 0], "x": 12, "y": 0.75, "w": 1}, - {"label": "10", "matrix": [1, 0], "x": 0, "y": 1.75, "w": 1}, - {"label": "11", "matrix": [1, 1], "x": 1, "y": 1.5, "w": 1}, - {"label": "12", "matrix": [1, 2], "x": 2, "y": 1, "w": 1}, - {"label": "13", "matrix": [1, 3], "x": 3, "y": 1.25, "w": 1}, - {"label": "14", "matrix": [1, 4], "x": 4, "y": 1.36, "w": 1}, - {"label": "54", "matrix": [5, 4], "x": 8, "y": 1.36, "w": 1}, - {"label": "53", "matrix": [5, 3], "x": 9, "y": 1.25, "w": 1}, - {"label": "52", "matrix": [5, 2], "x": 10, "y": 1, "w": 1}, - {"label": "51", "matrix": [5, 1], "x": 11, "y": 1.5, "w": 1}, - {"label": "50", "matrix": [5, 0], "x": 12, "y": 1.75, "w": 1}, - {"label": "20", "matrix": [2, 0], "x": 0, "y": 2.75, "w": 1}, - {"label": "21", "matrix": [2, 1], "x": 1, "y": 2.5, "w": 1}, - {"label": "22", "matrix": [2, 2], "x": 2, "y": 2, "w": 1}, - {"label": "23", "matrix": [2, 3], "x": 3, "y": 2.25, "w": 1}, - {"label": "24", "matrix": [2, 4], "x": 4, "y": 2.36, "w": 1}, - {"label": "64", "matrix": [6, 4], "x": 8, "y": 2.36, "w": 1}, - {"label": "63", "matrix": [6, 3], "x": 9, "y": 2.25, "w": 1}, - {"label": "62", "matrix": [6, 2], "x": 10, "y": 2, "w": 1}, - {"label": "61", "matrix": [6, 1], "x": 11, "y": 2.5, "w": 1}, - {"label": "60", "matrix": [6, 0], "x": 12, "y": 2.75, "w": 1}, - {"label": "32", "matrix": [3, 2], "x": 3, "y": 3.25, "w": 1}, - {"label": "33", "matrix": [3, 3], "x": 4, "y": 3.36, "w": 1}, - {"label": "34", "matrix": [3, 4], "x": 5, "y": 3.47, "w": 1}, - {"label": "74", "matrix": [7, 4], "x": 7, "y": 3.47, "w": 1}, - {"label": "73", "matrix": [7, 3], "x": 8, "y": 3.36, "w": 1}, - {"label": "72", "matrix": [7, 2], "x": 9, "y": 3.25, "w": 1} - ] - } - } -} diff --git a/keyboards/hazel/bad_wings_v2/keymaps/default/config.h b/keyboards/hazel/bad_wings_v2/keymaps/default/config.h deleted file mode 100644 index 75c535cee8..0000000000 --- a/keyboards/hazel/bad_wings_v2/keymaps/default/config.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2023 Jason Hazel (@jasonhazel) -// SPDX-License-Identifier: GPL-3.0-or-later - -#pragma once - -#define PERMISSIVE_HOLD -#define ONESHOT_TAP_TOGGLE 10 -#define ONESHOT_TIMEOUT 500 -#define CIRQUE_PINNACLE_TAP_ENABLE -#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_ABSOLUTE_MODE -#define CIRQUE_DEVICE_GESTURES_SCROLL_ENABLE diff --git a/keyboards/hazel/bad_wings_v2/keymaps/default/keymap.json b/keyboards/hazel/bad_wings_v2/keymaps/default/keymap.json deleted file mode 100644 index 251be09c33..0000000000 --- a/keyboards/hazel/bad_wings_v2/keymaps/default/keymap.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "keyboard": "hazel/bad_wings_v2", - "keymap": "default", - "layout": "LAYOUT_split_3x5_3", - "layers": [ - [ - "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", - "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_QUOT", - "KC_Z", "LGUI_T(KC_X)", "LALT_T(KC_C)", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", - "KC_LCTL", "OSL(1)", "OSM(MOD_LSFT)", "LT(3,KC_SPC)", "LT(2,KC_BSPC)", "KC_ENT" - ], - [ - "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_RBRC", "KC_RCBR", "KC_RPRN", "KC_GT", "KC_NO", - "KC_GRV", "KC_TILD", "KC_UNDS", "KC_EQL", "KC_NO", "KC_LBRC", "KC_LCBR", "KC_LPRN", "KC_LT", "KC_BSLS", - "KC_NO", "KC_NO", "KC_PLUS", "KC_MINS", "KC_NO", "KC_NO", "KC_NO", "KC_COLN", "KC_DOT", "KC_SCLN", - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" - ], - [ - "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_PIPE", "KC_NO", - "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", - "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" - ], - [ - "KC_ESC", "KC_F1", "KC_F4", "KC_F7", "KC_F10", "KC_NO", "KC_HOME", "KC_UP", "KC_END", "KC_NO", - "KC_TAB", "KC_F2", "KC_F5", "KC_F8", "KC_F11", "KC_NO", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_NO", - "KC_NO", "KC_F3", "KC_F6", "KC_F9", "KC_F12", "KC_NO", "KC_MRWD", "KC_MPLY", "KC_MFFD", "KC_DEL", - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" - ] - ], - "author": "Jason Hazel" -} diff --git a/keyboards/hazel/bad_wings_v2/mcuconf.h b/keyboards/hazel/bad_wings_v2/mcuconf.h deleted file mode 100644 index 77c7d10e9b..0000000000 --- a/keyboards/hazel/bad_wings_v2/mcuconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2022 Kyle McCreery (@kylemccreery) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef STM32_SPI_USE_SPI1 -#define STM32_SPI_USE_SPI1 TRUE diff --git a/keyboards/hazel/bad_wings_v2/readme.md b/keyboards/hazel/bad_wings_v2/readme.md deleted file mode 100644 index 1b34057aa3..0000000000 --- a/keyboards/hazel/bad_wings_v2/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Bad Wings v2 - -![Bad Wings v2](https://i.imgur.com/8uCHotK.jpeg) - -36 key unibody split - -* Keyboard Maintainer: [Jason Hazel](https://github.com/jasonhazel) -* Hardware Supported: Bad Wings v2 -* Hardware Availability: [Hazel's Garage GitHub](https://github.com/hazels-garage/bad-wings/tree/master/v2) - -Make example for this keyboard (after setting up your build environment): - - make hazel/bad_wings_v2:default - -Flashing example for this keyboard: - - make hazel/bad_wings_v2:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top-left key and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/hazel/bad_wings_v2/rules.mk b/keyboards/hazel/bad_wings_v2/rules.mk deleted file mode 100644 index fb5d649735..0000000000 --- a/keyboards/hazel/bad_wings_v2/rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = cirque_pinnacle_spi diff --git a/keyboards/heliar/wm1_hotswap/keyboard.json b/keyboards/heliar/wm1_hotswap/keyboard.json index d87ce22229..789a3c7d2b 100644 --- a/keyboards/heliar/wm1_hotswap/keyboard.json +++ b/keyboards/heliar/wm1_hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "wm1 hotswap", "manufacturer": "Heliar", + "url": "", "maintainer": "heliar", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/heliotrope/keyboard.json b/keyboards/heliotrope/keyboard.json index 26416832c5..e173c785e0 100644 --- a/keyboards/heliotrope/keyboard.json +++ b/keyboards/heliotrope/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/helix/pico/info.json b/keyboards/helix/pico/info.json index 7909bb0b30..d4fabc756e 100644 --- a/keyboards/helix/pico/info.json +++ b/keyboards/helix/pico/info.json @@ -10,9 +10,7 @@ }, "split": { "enabled": true, - "serial": { - "pin": "D2" - } + "soft_serial_pin": "D2" }, "tapping": { "term": 100 diff --git a/keyboards/helix/rev2/info.json b/keyboards/helix/rev2/info.json index a8bdb23e41..fd829782c0 100644 --- a/keyboards/helix/rev2/info.json +++ b/keyboards/helix/rev2/info.json @@ -15,9 +15,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "serial": { - "pin": "D2" - }, + "soft_serial_pin": "D2", "transport": { "sync": { "indicators": true, diff --git a/keyboards/helix/rev2/rev2.c b/keyboards/helix/rev2/rev2.c index 7502ad0552..ded22bbe93 100644 --- a/keyboards/helix/rev2/rev2.c +++ b/keyboards/helix/rev2/rev2.c @@ -32,7 +32,7 @@ void set_mac_mode_kb(bool macmode) { * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81 */ keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } void matrix_init_kb(void) { diff --git a/keyboards/helix/rev3_4rows/keyboard.json b/keyboards/helix/rev3_4rows/keyboard.json index 3d44e8fe78..5e9fd2dcd8 100644 --- a/keyboards/helix/rev3_4rows/keyboard.json +++ b/keyboards/helix/rev3_4rows/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Helix rev3 4rows", "manufacturer": "yushakobo", + "url": "", "maintainer": "yushakobo", "usb": { "vid": "0x3265", @@ -32,9 +33,7 @@ }, "split": { "enabled": true, - "serial": { - "pin": "D2" - } + "soft_serial_pin": "D2" }, "ws2812": { "pin": "D3" diff --git a/keyboards/helix/rev3_4rows/rev3_4rows.c b/keyboards/helix/rev3_4rows/rev3_4rows.c index 7f655b6852..ff61027a96 100644 --- a/keyboards/helix/rev3_4rows/rev3_4rows.c +++ b/keyboards/helix/rev3_4rows/rev3_4rows.c @@ -27,7 +27,7 @@ void set_mac_mode(bool macmode) { * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81 */ keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } #ifdef DIP_SWITCH_ENABLE diff --git a/keyboards/helix/rev3_5rows/keyboard.json b/keyboards/helix/rev3_5rows/keyboard.json index 12328ea86d..b61db7df86 100644 --- a/keyboards/helix/rev3_5rows/keyboard.json +++ b/keyboards/helix/rev3_5rows/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Helix rev3 5rows", "manufacturer": "yushakobo", + "url": "", "maintainer": "yushakobo", "usb": { "vid": "0x3265", @@ -98,9 +99,7 @@ }, "split": { "enabled": true, - "serial": { - "pin": "D2" - } + "soft_serial_pin": "D2" }, "ws2812": { "pin": "D3" diff --git a/keyboards/helix/rev3_5rows/rev3_5rows.c b/keyboards/helix/rev3_5rows/rev3_5rows.c index af7276a2b5..28fa314a7b 100644 --- a/keyboards/helix/rev3_5rows/rev3_5rows.c +++ b/keyboards/helix/rev3_5rows/rev3_5rows.c @@ -27,7 +27,7 @@ void set_mac_mode(bool macmode) { * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81 */ keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } #ifdef DIP_SWITCH_ENABLE diff --git a/keyboards/herevoland/buff75/keyboard.json b/keyboards/herevoland/buff75/keyboard.json index 32b17cff61..15f3e27ac1 100644 --- a/keyboards/herevoland/buff75/keyboard.json +++ b/keyboards/herevoland/buff75/keyboard.json @@ -3,6 +3,7 @@ "processor": "STM32F103", "bootloader": "stm32duino", "manufacturer": "HereVoLand", + "url": "", "maintainer": "Here VoLand @Vem", "usb": { "vid": "0xB727", diff --git a/keyboards/hfdkb/ac001/halconf.h b/keyboards/hfdkb/ac001/halconf.h index b06fd7e719..7ad0a62d2e 100644 --- a/keyboards/hfdkb/ac001/halconf.h +++ b/keyboards/hfdkb/ac001/halconf.h @@ -16,5 +16,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/hfdkb/ac001/keyboard.json b/keyboards/hfdkb/ac001/keyboard.json index 8d96cad375..87f6e40bc3 100644 --- a/keyboards/hfdkb/ac001/keyboard.json +++ b/keyboards/hfdkb/ac001/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ac001", "manufacturer": "hfd", + "url": "", "maintainer": "jonylee@hfd", "usb": { "vid": "0xFFFE", @@ -22,6 +23,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/hhkb/ansi/32u2/rules.mk b/keyboards/hhkb/ansi/32u2/rules.mk deleted file mode 100644 index 94eaaab9c0..0000000000 --- a/keyboards/hhkb/ansi/32u2/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -CUSTOM_MATRIX = yes - -# project specific files -SRC = matrix.c diff --git a/keyboards/hhkb/ansi/info.json b/keyboards/hhkb/ansi/info.json index ff2c1bba6e..16349fc6e2 100644 --- a/keyboards/hhkb/ansi/info.json +++ b/keyboards/hhkb/ansi/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "ANSI", "manufacturer": "HHKB", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4848", diff --git a/keyboards/hhkb/ansi/32u4/rules.mk b/keyboards/hhkb/ansi/rules.mk similarity index 64% rename from keyboards/hhkb/ansi/32u4/rules.mk rename to keyboards/hhkb/ansi/rules.mk index 94eaaab9c0..841565b846 100644 --- a/keyboards/hhkb/ansi/32u4/rules.mk +++ b/keyboards/hhkb/ansi/rules.mk @@ -2,3 +2,5 @@ CUSTOM_MATRIX = yes # project specific files SRC = matrix.c + +DEFAULT_FOLDER = hhkb/ansi/32u4 diff --git a/keyboards/hhkb/jp/keyboard.json b/keyboards/hhkb/jp/keyboard.json index db96a92a6c..d745f21d20 100644 --- a/keyboards/hhkb/jp/keyboard.json +++ b/keyboards/hhkb/jp/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JP", "manufacturer": "HHKB", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4848", diff --git a/keyboards/hhkb/yang/keyboard.json b/keyboards/hhkb/yang/keyboard.json index 7af8a62934..a5725d6afa 100644 --- a/keyboards/hhkb/yang/keyboard.json +++ b/keyboards/hhkb/yang/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "HHKB BLE", "manufacturer": "YANG", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4848", diff --git a/keyboards/hhkb_lite_2/keyboard.json b/keyboards/hhkb_lite_2/keyboard.json index f4d94f0ffa..3e9099f0e5 100644 --- a/keyboards/hhkb_lite_2/keyboard.json +++ b/keyboards/hhkb_lite_2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "HHKB Lite 2", "manufacturer": "PFU", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x88B2", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/hidtech/bastyl/keyboard.json b/keyboards/hidtech/bastyl/keyboard.json index 3bad155695..1155caa320 100644 --- a/keyboards/hidtech/bastyl/keyboard.json +++ b/keyboards/hidtech/bastyl/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/hifumi/keyboard.json b/keyboards/hifumi/keyboard.json index 320c14a2be..457c8a7398 100644 --- a/keyboards/hifumi/keyboard.json +++ b/keyboards/hifumi/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/hillside/46/0_1/keyboard.json b/keyboards/hillside/46/0_1/keyboard.json index 7d3967c8c3..663eeb25f4 100644 --- a/keyboards/hillside/46/0_1/keyboard.json +++ b/keyboards/hillside/46/0_1/keyboard.json @@ -40,6 +40,7 @@ "rgblight": { "led_count": 4, "split": true, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, "sleep": true diff --git a/keyboards/hillside/46/rules.mk b/keyboards/hillside/46/rules.mk new file mode 100644 index 0000000000..f3e926a8dc --- /dev/null +++ b/keyboards/hillside/46/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = hillside/46/0_1 \ No newline at end of file diff --git a/keyboards/hillside/48/0_1/keyboard.json b/keyboards/hillside/48/0_1/keyboard.json index acae16f347..4dd2e01361 100644 --- a/keyboards/hillside/48/0_1/keyboard.json +++ b/keyboards/hillside/48/0_1/keyboard.json @@ -40,6 +40,7 @@ "rgblight": { "led_count": 5, "split": true, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, "sleep": true diff --git a/keyboards/hillside/48/rules.mk b/keyboards/hillside/48/rules.mk new file mode 100644 index 0000000000..d8d69d9ec1 --- /dev/null +++ b/keyboards/hillside/48/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = hillside/48/0_1 diff --git a/keyboards/hillside/52/0_1/keyboard.json b/keyboards/hillside/52/0_1/keyboard.json index 469e6c5844..c8db3917d6 100644 --- a/keyboards/hillside/52/0_1/keyboard.json +++ b/keyboards/hillside/52/0_1/keyboard.json @@ -40,6 +40,7 @@ "rgblight": { "led_count": 5, "split": true, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, "sleep": true diff --git a/keyboards/hillside/52/rules.mk b/keyboards/hillside/52/rules.mk new file mode 100644 index 0000000000..402bc6bb95 --- /dev/null +++ b/keyboards/hillside/52/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = hillside/52/0_1 diff --git a/keyboards/hineybush/h08_ocelot/keyboard.json b/keyboards/hineybush/h08_ocelot/keyboard.json index 78fcfae311..bca579aab8 100644 --- a/keyboards/hineybush/h08_ocelot/keyboard.json +++ b/keyboards/hineybush/h08_ocelot/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "h08", "manufacturer": "Hiney LLC", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0x04D8", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/hineybush/h10/keyboard.json b/keyboards/hineybush/h10/keyboard.json index b29061b51b..63a109f484 100644 --- a/keyboards/hineybush/h10/keyboard.json +++ b/keyboards/hineybush/h10/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "h10", "manufacturer": "hineybush", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0x04D8", diff --git a/keyboards/hineybush/h101/keyboard.json b/keyboards/hineybush/h101/keyboard.json index de36c40962..d1f8fa32a0 100644 --- a/keyboards/hineybush/h101/keyboard.json +++ b/keyboards/hineybush/h101/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["C13", "C14", "C15", "A0", "A1", "A2"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "0.0.1", "vid": "0x4069", diff --git a/keyboards/hineybush/h60/keyboard.json b/keyboards/hineybush/h60/keyboard.json index d3db3d4c25..b7b24b2626 100644 --- a/keyboards/hineybush/h60/keyboard.json +++ b/keyboards/hineybush/h60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "h60", "manufacturer": "hineybush", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0x04D8", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/hineybush/h65/keyboard.json b/keyboards/hineybush/h65/keyboard.json index b0beed6aeb..8560c7774c 100644 --- a/keyboards/hineybush/h65/keyboard.json +++ b/keyboards/hineybush/h65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "h65", "manufacturer": "Hiney LLC", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0x04D8", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/hineybush/h65_hotswap/keyboard.json b/keyboards/hineybush/h65_hotswap/keyboard.json index b2a3876741..510836f22f 100644 --- a/keyboards/hineybush/h65_hotswap/keyboard.json +++ b/keyboards/hineybush/h65_hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "h65 hotswap", "manufacturer": "Hiney LLC", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0x04D8", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/hineybush/h660s/keyboard.json b/keyboards/hineybush/h660s/keyboard.json index 26693ec1ea..44e8c8c21a 100644 --- a/keyboards/hineybush/h660s/keyboard.json +++ b/keyboards/hineybush/h660s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "h660s", "manufacturer": "hineybush", + "url": "", "maintainer": "Josh Hinnebusch", "usb": { "vid": "0x04D8", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/hineybush/h75_singa/keyboard.json b/keyboards/hineybush/h75_singa/keyboard.json index f9545d9ea1..0c3ca31e28 100644 --- a/keyboards/hineybush/h75_singa/keyboard.json +++ b/keyboards/hineybush/h75_singa/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "h75_singa", "manufacturer": "Singa Keyboards", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0x04D8", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/hineybush/h75_singa/readme.md b/keyboards/hineybush/h75_singa/readme.md index b110fd5b14..815785834c 100644 --- a/keyboards/hineybush/h75_singa/readme.md +++ b/keyboards/hineybush/h75_singa/readme.md @@ -1,5 +1,7 @@ # h75_singa +![h75_singa](imgur.com image replace me!) - TBD + New 75% PCB for Singa Keyboards * Keyboard Maintainer: [hineybush](https://github.com/hineybush) diff --git a/keyboards/hineybush/h87_g2/keyboard.json b/keyboards/hineybush/h87_g2/keyboard.json index 2749b5ad4e..13c17caa98 100644 --- a/keyboards/hineybush/h87_g2/keyboard.json +++ b/keyboards/hineybush/h87_g2/keyboard.json @@ -10,6 +10,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -23,6 +25,7 @@ "rows": ["A15", "B3", "B4", "A0", "B6", "B7"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/hineybush/h87a/keyboard.json b/keyboards/hineybush/h87a/keyboard.json index 2048ae6b28..42a50bf001 100644 --- a/keyboards/hineybush/h87a/keyboard.json +++ b/keyboards/hineybush/h87a/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "h87a", "manufacturer": "hineybush", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0x04D8", @@ -13,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/hineybush/h88/keyboard.json b/keyboards/hineybush/h88/keyboard.json index 87a47bc35b..6a9b3142e3 100644 --- a/keyboards/hineybush/h88/keyboard.json +++ b/keyboards/hineybush/h88/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "h88", "manufacturer": "hineybush", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0x04D8", @@ -13,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/hineybush/h88_g2/keyboard.json b/keyboards/hineybush/h88_g2/keyboard.json index a436bb1bed..983cbcc1f5 100644 --- a/keyboards/hineybush/h88_g2/keyboard.json +++ b/keyboards/hineybush/h88_g2/keyboard.json @@ -10,6 +10,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -46,6 +48,7 @@ "saturation_steps": 8, "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0002", diff --git a/keyboards/hineybush/hbcp/keyboard.json b/keyboards/hineybush/hbcp/keyboard.json index 1ad6755e42..e8771ea9a7 100644 --- a/keyboards/hineybush/hbcp/keyboard.json +++ b/keyboards/hineybush/hbcp/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "hbcp", "manufacturer": "hineybush", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0x04D8", diff --git a/keyboards/hineybush/hineyg80/keyboard.json b/keyboards/hineybush/hineyg80/keyboard.json index 863be1d23b..933d689225 100644 --- a/keyboards/hineybush/hineyg80/keyboard.json +++ b/keyboards/hineybush/hineyg80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "hineyG80", "manufacturer": "hineybush", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0xFEED", diff --git a/keyboards/hineybush/ibis/keyboard.json b/keyboards/hineybush/ibis/keyboard.json index 1dd57647c2..8c2f6ca3fe 100644 --- a/keyboards/hineybush/ibis/keyboard.json +++ b/keyboards/hineybush/ibis/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["B0", "B1", "B2", "B3", "C7", "C6", "B4", "D7", "D5", "D3"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xEAA9", diff --git a/keyboards/hineybush/physix/keyboard.json b/keyboards/hineybush/physix/keyboard.json index 695a25bb6a..79a0bea7ab 100644 --- a/keyboards/hineybush/physix/keyboard.json +++ b/keyboards/hineybush/physix/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "PhysiX", "manufacturer": "LZ", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0x04D8", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/hineybush/sm68/keyboard.json b/keyboards/hineybush/sm68/keyboard.json index 05d3505cc7..8350ca0380 100644 --- a/keyboards/hineybush/sm68/keyboard.json +++ b/keyboards/hineybush/sm68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "sm68", "manufacturer": "hineybush", + "url": "", "maintainer": "hineybush", "usb": { "vid": "0x04D8", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/hnahkb/freyr/keyboard.json b/keyboards/hnahkb/freyr/keyboard.json index ff83ecb532..635c9d5989 100644 --- a/keyboards/hnahkb/freyr/keyboard.json +++ b/keyboards/hnahkb/freyr/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Freyr", "manufacturer": "HnahKB", + "url": "", "maintainer": "vuhopkep", "usb": { "vid": "0xFEED", diff --git a/keyboards/hnahkb/stella/keyboard.json b/keyboards/hnahkb/stella/keyboard.json index 0a7ac5c109..7c69ec3de2 100644 --- a/keyboards/hnahkb/stella/keyboard.json +++ b/keyboards/hnahkb/stella/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Stella", "manufacturer": "HnahKB", + "url": "", "maintainer": "VGS", "usb": { "vid": "0xFEED", diff --git a/keyboards/holyswitch/lightweight65/keyboard.json b/keyboards/holyswitch/lightweight65/keyboard.json index 9acefba190..16a9f73737 100644 --- a/keyboards/holyswitch/lightweight65/keyboard.json +++ b/keyboards/holyswitch/lightweight65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lightweight65", "manufacturer": "HolySwitch", + "url": "", "maintainer": "DeskDaily", "usb": { "vid": "0x484F", @@ -18,6 +19,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "layout_aliases": { diff --git a/keyboards/holyswitch/southpaw75/keyboard.json b/keyboards/holyswitch/southpaw75/keyboard.json index 86f1e14c21..1483e1fc31 100644 --- a/keyboards/holyswitch/southpaw75/keyboard.json +++ b/keyboards/holyswitch/southpaw75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "southpaw default", "manufacturer": "drewguy", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x484F", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/horizon/keyboard.json b/keyboards/horizon/keyboard.json index 8dabea33a3..0fea8cb74c 100644 --- a/keyboards/horizon/keyboard.json +++ b/keyboards/horizon/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/keyboard.json b/keyboards/horrortroll/caticorn/rev1/hotswap/keyboard.json index 84e78251ee..ecd3c8a043 100644 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/keyboard.json +++ b/keyboards/horrortroll/caticorn/rev1/hotswap/keyboard.json @@ -18,6 +18,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "community_layouts": ["tkl_f13_ansi"], diff --git a/keyboards/horrortroll/caticorn/rev1/solder/keyboard.json b/keyboards/horrortroll/caticorn/rev1/solder/keyboard.json index 542c458c82..d14278f989 100644 --- a/keyboards/horrortroll/caticorn/rev1/solder/keyboard.json +++ b/keyboards/horrortroll/caticorn/rev1/solder/keyboard.json @@ -18,6 +18,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "community_layouts": ["tkl_ansi", "tkl_ansi_split_bs_rshift", "tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift", "tkl_f13_ansi", "tkl_f13_ansi_split_bs_rshift", "tkl_f13_ansi_tsangan", "tkl_f13_ansi_tsangan_split_bs_rshift", "tkl_iso", "tkl_iso_split_bs_rshift", "tkl_iso_tsangan", "tkl_iso_tsangan_split_bs_rshift", "tkl_f13_iso", "tkl_f13_iso_split_bs_rshift", "tkl_f13_iso_tsangan", "tkl_f13_iso_tsangan_split_bs_rshift"], diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json b/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json index c0946cf3a6..cef69593d7 100644 --- a/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json +++ b/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Black E6.5", "manufacturer": "HorrorTroll", + "url": "", "maintainer": "HorrorTroll", "usb": { "vid": "0x7516", @@ -11,6 +12,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json b/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json index f10703ab5a..77eac52ebd 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Devil68 Pro", "manufacturer": "HorrorTroll", + "url": "", "maintainer": "HorrorTroll", "usb": { "vid": "0x7516", @@ -59,6 +60,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/horrortroll/handwired_k552/halconf.h b/keyboards/horrortroll/handwired_k552/halconf.h index bc38dd1baf..a8be303915 100644 --- a/keyboards/horrortroll/handwired_k552/halconf.h +++ b/keyboards/horrortroll/handwired_k552/halconf.h @@ -22,6 +22,9 @@ #pragma once #define HAL_USE_I2C TRUE + #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/horrortroll/handwired_k552/keyboard.json b/keyboards/horrortroll/handwired_k552/keyboard.json index 97f8ec822c..213cdf8086 100644 --- a/keyboards/horrortroll/handwired_k552/keyboard.json +++ b/keyboards/horrortroll/handwired_k552/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "K552 Kumara", "manufacturer": "HorrorTroll", + "url": "", "maintainer": "HorrorTroll", "usb": { "vid": "0x7516", diff --git a/keyboards/horrortroll/lemon40/keyboard.json b/keyboards/horrortroll/lemon40/keyboard.json index 1c9993ca77..6303fb70bb 100644 --- a/keyboards/horrortroll/lemon40/keyboard.json +++ b/keyboards/horrortroll/lemon40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lemon40", "manufacturer": "HorrorTroll", + "url": "", "maintainer": "HorrorTroll", "usb": { "vid": "0x7516", diff --git a/keyboards/horrortroll/nyx/rev1/keyboard.json b/keyboards/horrortroll/nyx/rev1/keyboard.json index c8a297176b..f3b859de0a 100644 --- a/keyboards/horrortroll/nyx/rev1/keyboard.json +++ b/keyboards/horrortroll/nyx/rev1/keyboard.json @@ -18,6 +18,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h b/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h index 87e2e813a4..f26f07fe12 100644 --- a/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h +++ b/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h @@ -18,7 +18,6 @@ #include #include #include -#include "eeconfig.h" #define LED_TRAIL 10 @@ -106,7 +105,7 @@ static void swirl_set_color(hsv_t hsv) { traverse_matrix(); if (!(top <= bottom && left <= right)) { - eeconfig_read_rgb_matrix(&rgb_matrix_config); + eeprom_read_block(&rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_matrix_config)); rgb_matrix_mode_noeeprom(rgb_matrix_config.mode); return; } diff --git a/keyboards/horrortroll/paws60/keyboard.json b/keyboards/horrortroll/paws60/keyboard.json index da03d362f9..fb158d5791 100644 --- a/keyboards/horrortroll/paws60/keyboard.json +++ b/keyboards/horrortroll/paws60/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/hotdox76v2/keyboard.json b/keyboards/hotdox76v2/keyboard.json index 8881670b56..438099827e 100644 --- a/keyboards/hotdox76v2/keyboard.json +++ b/keyboards/hotdox76v2/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/hp69/keyboard.json b/keyboards/hp69/keyboard.json index 1ffad8894d..83ed922a27 100644 --- a/keyboards/hp69/keyboard.json +++ b/keyboards/hp69/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "hp69", "manufacturer": "Desiboards", + "url": "", "maintainer": "Ananya Kirti", "usb": { "vid": "0x416B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/hs60/v1/info.json b/keyboards/hs60/v1/info.json index 4c4e7d4e47..c6ebae97ce 100644 --- a/keyboards/hs60/v1/info.json +++ b/keyboards/hs60/v1/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "HS60", "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/hs60/v2/ansi/keyboard.json b/keyboards/hs60/v2/ansi/keyboard.json index d0ec52a50d..e0781ef54b 100644 --- a/keyboards/hs60/v2/ansi/keyboard.json +++ b/keyboards/hs60/v2/ansi/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "HS60 V2", "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "yiancar", "usb": { "vid": "0x8968", diff --git a/keyboards/hs60/v2/hhkb/keyboard.json b/keyboards/hs60/v2/hhkb/keyboard.json index 327359b697..9bd4d111c2 100644 --- a/keyboards/hs60/v2/hhkb/keyboard.json +++ b/keyboards/hs60/v2/hhkb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "HS60 V2", "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "yiancar", "usb": { "vid": "0x8968", diff --git a/keyboards/hs60/v2/iso/keyboard.json b/keyboards/hs60/v2/iso/keyboard.json index e31ff53d7b..a51dac05fa 100644 --- a/keyboards/hs60/v2/iso/keyboard.json +++ b/keyboards/hs60/v2/iso/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "HS60 V2", "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "yiancar", "usb": { "vid": "0x8968", diff --git a/keyboards/hubble/keyboard.json b/keyboards/hubble/keyboard.json index 6f586f2edb..735cf4237d 100644 --- a/keyboards/hubble/keyboard.json +++ b/keyboards/hubble/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -35,6 +37,7 @@ "cols": ["F5", "F6", "B4", "E6", "D7", "C6", "D4", "D0"], "rows": ["D1", "F4", "F7", "B5", "B1", "B3", "B6", "B2"] }, + "url": "", "usb": { "vid": "0x4680", "pid": "0x1357", diff --git a/keyboards/huytbt/h50/keyboard.json b/keyboards/huytbt/h50/keyboard.json index 05dd812205..cd62966e58 100644 --- a/keyboards/huytbt/h50/keyboard.json +++ b/keyboards/huytbt/h50/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/ianklug/grooveboard/keyboard.json b/keyboards/ianklug/grooveboard/keyboard.json index 508ed1894f..ce7ac8cc22 100644 --- a/keyboards/ianklug/grooveboard/keyboard.json +++ b/keyboards/ianklug/grooveboard/keyboard.json @@ -12,6 +12,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/ibm/model_m/ashpil_usbc/keyboard.json b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json index 3bf1069fd1..a43e16a04c 100644 --- a/keyboards/ibm/model_m/ashpil_usbc/keyboard.json +++ b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/ibm/model_m/modelh/keyboard.json b/keyboards/ibm/model_m/modelh/keyboard.json index 7fee15cd2c..6b9cf20c1d 100644 --- a/keyboards/ibm/model_m/modelh/keyboard.json +++ b/keyboards/ibm/model_m/modelh/keyboard.json @@ -4,11 +4,10 @@ "maintainer": "jhawthorn", "bootloader": "stm32duino", "diode_direction": "COL2ROW", - "dynamic_keymap": { - "layer_count": 3 - }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false @@ -36,7 +35,7 @@ "device_version": "1.0.0", "max_power": 100, "pid": "0xB155", - "vid": "0xBDE0" + "vid": "0xFEED" }, "layouts": { "LAYOUT_fullsize_ansi_wkl": { diff --git a/keyboards/ibm/model_m/mschwingen/mschwingen.c b/keyboards/ibm/model_m/mschwingen/mschwingen.c index 34a878c769..cb4854d8d1 100644 --- a/keyboards/ibm/model_m/mschwingen/mschwingen.c +++ b/keyboards/ibm/model_m/mschwingen/mschwingen.c @@ -19,11 +19,8 @@ #include "uart.h" #include "print.h" #include "sendchar.h" -#include "sleep_led.h" - -#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812 #include "ws2812.h" -#endif +#include "sleep_led.h" #ifdef UART_DEBUG # undef sendchar diff --git a/keyboards/ibm/model_m/teensy2/keyboard.json b/keyboards/ibm/model_m/teensy2/keyboard.json index fac1d42ebe..173f9e772f 100644 --- a/keyboards/ibm/model_m/teensy2/keyboard.json +++ b/keyboards/ibm/model_m/teensy2/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/ibm/model_m/yugo_m/keyboard.json b/keyboards/ibm/model_m/yugo_m/keyboard.json index aee2f9720a..10fe637f03 100644 --- a/keyboards/ibm/model_m/yugo_m/keyboard.json +++ b/keyboards/ibm/model_m/yugo_m/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/board.h b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/board.h deleted file mode 100644 index 5b80eb2230..0000000000 --- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2020 Purdea Andrei -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h index c10d26b9b2..71e60e9cfe 100644 --- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h +++ b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h @@ -21,6 +21,8 @@ #define SERIAL_NUMBER DEF_SERIAL_NUMBER #endif +#define STM32_HSECLK 16000000 + #define SOLENOID_PIN B5 #define HAPTIC_ENABLE_PIN C13 #define SOLENOID_DEFAULT_DWELL 20 diff --git a/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json b/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json index 50ce403130..5994d820f4 100644 --- a/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json +++ b/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/ibnuda/alicia_cook/keyboard.json b/keyboards/ibnuda/alicia_cook/keyboard.json index ba9e22f63b..fd3b23285c 100644 --- a/keyboards/ibnuda/alicia_cook/keyboard.json +++ b/keyboards/ibnuda/alicia_cook/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false diff --git a/keyboards/ibnuda/gurindam/keyboard.json b/keyboards/ibnuda/gurindam/keyboard.json index f136c8ecb2..1cf74068b6 100644 --- a/keyboards/ibnuda/gurindam/keyboard.json +++ b/keyboards/ibnuda/gurindam/keyboard.json @@ -27,6 +27,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/ibnuda/squiggle/rules.mk b/keyboards/ibnuda/squiggle/rules.mk new file mode 100644 index 0000000000..0214333999 --- /dev/null +++ b/keyboards/ibnuda/squiggle/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = ibnuda/squiggle/rev1 diff --git a/keyboards/icebreaker/hotswap/keyboard.json b/keyboards/icebreaker/hotswap/keyboard.json deleted file mode 100644 index b6e5c1d1ac..0000000000 --- a/keyboards/icebreaker/hotswap/keyboard.json +++ /dev/null @@ -1,237 +0,0 @@ -{ - "manufacturer": "Serene Studio", - "keyboard_name": "Icebreaker HS", - "maintainer": "Matthijs Muller", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "GP26", "pin_b": "GP27"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP24", "GP19", "GP18", "GP17", "GP29", "GP0", "GP12", "GP11", "GP10", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2"], - "rows": ["GP25", "GP22", "GP28", "GP23", "GP1"] - }, - "processor": "RP2040", - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "fractal": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "default": { - "sat": 100, - "val": 80 - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [2, 13], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 240, "y": 0, "flags": 4}, - {"matrix": [1, 14], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 24, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 40, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 56, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 72, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 88, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 136, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 152, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 168, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 184, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 200, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 216, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 240, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 204, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 240, "y": 32, "flags": 4}, - {"matrix": [3, 14], "x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 68, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 84, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 100, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 116, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 132, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 148, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 164, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 180, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 196, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 224, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 240, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 24, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 160, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 184, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 208, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 4}, - {"matrix": [4, 14], "x": 240, "y": 64, "flags": 4} - ], - "max_brightness": 120 - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x6503", - "vid": "0x5363" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP13" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [0, 14], "x": 15, "y": 0}, - {"label": "encoder", "matrix": [3, 1], "x": 16, "y": 0, "encoder": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [1, 14], "x": 15, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [2, 14], "x": 15, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [3, 14], "x": 15, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4}, - {"matrix": [4, 11], "x": 12, "y": 4}, - {"matrix": [4, 12], "x": 13, "y": 4}, - {"matrix": [4, 13], "x": 14, "y": 4}, - {"matrix": [4, 14], "x": 15, "y": 4} - ] - } - } -} diff --git a/keyboards/icebreaker/hotswap/keymaps/default/keymap.c b/keyboards/icebreaker/hotswap/keymaps/default/keymap.c deleted file mode 100644 index 058210fff4..0000000000 --- a/keyboards/icebreaker/hotswap/keymaps/default/keymap.c +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright 2024 Matthijs Muller - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_GRV, KC_MUTE, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, _______, - _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(RM_SATD, RM_SATU) }, -}; -#endif diff --git a/keyboards/icebreaker/hotswap/keymaps/default/rules.mk b/keyboards/icebreaker/hotswap/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/icebreaker/hotswap/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/icebreaker/readme.md b/keyboards/icebreaker/readme.md deleted file mode 100644 index 439756f1b3..0000000000 --- a/keyboards/icebreaker/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Icebreaker - -![Icebreaker](https://i.imgur.com/vSRfEOD.png) - - - -* Keyboard Maintainer: [Matthijs Muller](https://github.com/SmollChungus) -* Hardware Supported: Icebreaker Hotswap PCB - -Make example for this keyboard (after setting up your build environment): - - make icebreaker:default - -Flashing example for this keyboard: - - make icebreaker:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/idank/sweeq/keyboard.json b/keyboards/idank/sweeq/keyboard.json index 3bed772467..a9b8d7411e 100644 --- a/keyboards/idank/sweeq/keyboard.json +++ b/keyboards/idank/sweeq/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/idb/idb_60/keyboard.json b/keyboards/idb/idb_60/keyboard.json index 1c4b486fb8..22ed07b71b 100644 --- a/keyboards/idb/idb_60/keyboard.json +++ b/keyboards/idb/idb_60/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/idobao/id42/keyboard.json b/keyboards/idobao/id42/keyboard.json index 2b075a7ba1..14db7641ea 100644 --- a/keyboards/idobao/id42/keyboard.json +++ b/keyboards/idobao/id42/keyboard.json @@ -8,6 +8,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/idobao/id61/keyboard.json b/keyboards/idobao/id61/keyboard.json index d3bf62c726..cb55f1750d 100644 --- a/keyboards/idobao/id61/keyboard.json +++ b/keyboards/idobao/id61/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/idobao/id63/keyboard.json b/keyboards/idobao/id63/keyboard.json index 141c1263d1..1969ca4cf7 100644 --- a/keyboards/idobao/id63/keyboard.json +++ b/keyboards/idobao/id63/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/idobao/id67/keyboard.json b/keyboards/idobao/id67/keyboard.json index 786ed39be0..64c3623fd6 100644 --- a/keyboards/idobao/id67/keyboard.json +++ b/keyboards/idobao/id67/keyboard.json @@ -8,6 +8,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "command": false, + "console": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/idobao/id75/v1/keyboard.json b/keyboards/idobao/id75/v1/keyboard.json index d49724e1b4..f52938d0d8 100644 --- a/keyboards/idobao/id75/v1/keyboard.json +++ b/keyboards/idobao/id75/v1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ID75", "manufacturer": "IDOBAO", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6964", @@ -13,6 +14,7 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/idobao/id75/v2/keyboard.json b/keyboards/idobao/id75/v2/keyboard.json index 743c7cf404..09e24dbd47 100644 --- a/keyboards/idobao/id75/v2/keyboard.json +++ b/keyboards/idobao/id75/v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ID75", "manufacturer": "IDOBAO", + "url": "", "maintainer": "peepeetee", "usb": { "vid": "0x6964", @@ -51,6 +52,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/idobao/id80/v1/rules.mk b/keyboards/idobao/id80/v1/rules.mk new file mode 100644 index 0000000000..20283f04be --- /dev/null +++ b/keyboards/idobao/id80/v1/rules.mk @@ -0,0 +1,2 @@ +# Defalt to the ansi version +DEFAULT_FOLDER = idobao/id80/v2/ansi diff --git a/keyboards/idobao/id80/v2/info.json b/keyboards/idobao/id80/v2/info.json index 81f895e929..4d6e0773d8 100644 --- a/keyboards/idobao/id80/v2/info.json +++ b/keyboards/idobao/id80/v2/info.json @@ -1,5 +1,6 @@ { "manufacturer": "IDOBAO", + "url": "", "maintainer": "IDOBAOKB", "usb": { "vid": "0x6964", @@ -49,6 +50,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "backlight": true, "rgblight": true diff --git a/keyboards/idobao/id80/v3/ansi/keyboard.json b/keyboards/idobao/id80/v3/ansi/keyboard.json index 0ab369fb5d..6200c2e88c 100644 --- a/keyboards/idobao/id80/v3/ansi/keyboard.json +++ b/keyboards/idobao/id80/v3/ansi/keyboard.json @@ -8,6 +8,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/idobao/id80/v3/rules.mk b/keyboards/idobao/id80/v3/rules.mk new file mode 100644 index 0000000000..218fc05539 --- /dev/null +++ b/keyboards/idobao/id80/v3/rules.mk @@ -0,0 +1,2 @@ +# Defalt to the ansi version +DEFAULT_FOLDER = idobao/id80/v3/ansi diff --git a/keyboards/idobao/id87/v1/keyboard.json b/keyboards/idobao/id87/v1/keyboard.json index e7ce655161..5ae86f8d5e 100644 --- a/keyboards/idobao/id87/v1/keyboard.json +++ b/keyboards/idobao/id87/v1/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/idobao/id87/v2/keyboard.json b/keyboards/idobao/id87/v2/keyboard.json index ad6641f954..0ece932274 100644 --- a/keyboards/idobao/id87/v2/keyboard.json +++ b/keyboards/idobao/id87/v2/keyboard.json @@ -8,6 +8,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/idobao/id96/keyboard.json b/keyboards/idobao/id96/keyboard.json index d8c446dd5d..c06dfdd454 100644 --- a/keyboards/idobao/id96/keyboard.json +++ b/keyboards/idobao/id96/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/idobao/montex/v1/keyboard.json b/keyboards/idobao/montex/v1/keyboard.json index 52a53021ba..2d9f503832 100644 --- a/keyboards/idobao/montex/v1/keyboard.json +++ b/keyboards/idobao/montex/v1/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/idobao/montex/v1rgb/keyboard.json b/keyboards/idobao/montex/v1rgb/keyboard.json index 1c5252bbea..f4c18764b1 100755 --- a/keyboards/idobao/montex/v1rgb/keyboard.json +++ b/keyboards/idobao/montex/v1rgb/keyboard.json @@ -37,6 +37,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/idobao/montex/v2/keyboard.json b/keyboards/idobao/montex/v2/keyboard.json index 319f46a459..6c00fd538d 100755 --- a/keyboards/idobao/montex/v2/keyboard.json +++ b/keyboards/idobao/montex/v2/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/idyllic/tinny50_rgb/keyboard.json b/keyboards/idyllic/tinny50_rgb/keyboard.json index 4d3cd320dd..b3eb34a4c0 100644 --- a/keyboards/idyllic/tinny50_rgb/keyboard.json +++ b/keyboards/idyllic/tinny50_rgb/keyboard.json @@ -13,6 +13,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/igloo/keyboard.json b/keyboards/igloo/keyboard.json index 546b26131d..6e0cba498b 100644 --- a/keyboards/igloo/keyboard.json +++ b/keyboards/igloo/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -17,6 +19,7 @@ "rows": ["B7", "D0", "D1", "D2", "D3"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/illuminati/is0/keyboard.json b/keyboards/illuminati/is0/keyboard.json index 33f7208a47..ee90646b19 100644 --- a/keyboards/illuminati/is0/keyboard.json +++ b/keyboards/illuminati/is0/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "iS0", "manufacturer": "Illuminati Works", + "url": "", "maintainer": "ai03", "usb": { "vid": "0xA103", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/illusion/rosa/keyboard.json b/keyboards/illusion/rosa/keyboard.json index 932b1a91d6..29b7a2124d 100644 --- a/keyboards/illusion/rosa/keyboard.json +++ b/keyboards/illusion/rosa/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Rosa", "manufacturer": "illusion keyboards", + "url": "", "maintainer": "illusion", "usb": { "vid": "0x694B", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/ilumkb/primus75/keyboard.json b/keyboards/ilumkb/primus75/keyboard.json index 6a6a166fc4..15831ffda6 100644 --- a/keyboards/ilumkb/primus75/keyboard.json +++ b/keyboards/ilumkb/primus75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Primus75", "manufacturer": "moyi4681", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x445A", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ilumkb/simpler61/keyboard.json b/keyboards/ilumkb/simpler61/keyboard.json index 10e182dac8..8e7680fb9f 100644 --- a/keyboards/ilumkb/simpler61/keyboard.json +++ b/keyboards/ilumkb/simpler61/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Simpler61", "manufacturer": "Equalz", + "url": "", "maintainer": "Equalz", "usb": { "vid": "0xC3C3", @@ -50,6 +51,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/ilumkb/simpler64/keyboard.json b/keyboards/ilumkb/simpler64/keyboard.json index 240d0d67c2..65aa627b04 100644 --- a/keyboards/ilumkb/simpler64/keyboard.json +++ b/keyboards/ilumkb/simpler64/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Simpler64", "manufacturer": "Equalz", + "url": "", "maintainer": "Equalz", "usb": { "vid": "0xC3C3", @@ -50,6 +51,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/ilumkb/volcano660/keyboard.json b/keyboards/ilumkb/volcano660/keyboard.json index 0a42910c86..fa74e46fed 100644 --- a/keyboards/ilumkb/volcano660/keyboard.json +++ b/keyboards/ilumkb/volcano660/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Volcano660", "manufacturer": "DZTech", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x445A", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/inett_studio/sq80/rules.mk b/keyboards/inett_studio/sq80/rules.mk new file mode 100644 index 0000000000..d4f8260d93 --- /dev/null +++ b/keyboards/inett_studio/sq80/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = inett_studio/sq80/hotswap_layout_i diff --git a/keyboards/inett_studio/sqx/hotswap/keyboard.json b/keyboards/inett_studio/sqx/hotswap/keyboard.json index 0c28be4582..432112e7f4 100644 --- a/keyboards/inett_studio/sqx/hotswap/keyboard.json +++ b/keyboards/inett_studio/sqx/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SQUARE.X", "manufacturer": "iNETT Studio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x694E", @@ -65,6 +66,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/inett_studio/sqx/universal/keyboard.json b/keyboards/inett_studio/sqx/universal/keyboard.json index 2c2b03bd0d..11bb224a0f 100644 --- a/keyboards/inett_studio/sqx/universal/keyboard.json +++ b/keyboards/inett_studio/sqx/universal/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SQUARE.X", "manufacturer": "iNETT Studio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x694E", @@ -65,6 +66,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/inland/kb83/halconf.h b/keyboards/inland/kb83/halconf.h index 2ddb9c35d8..2f64e65393 100644 --- a/keyboards/inland/kb83/halconf.h +++ b/keyboards/inland/kb83/halconf.h @@ -17,5 +17,7 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/inland/kb83/kb83.c b/keyboards/inland/kb83/kb83.c index 07d8bdbdb4..1052131a91 100644 --- a/keyboards/inland/kb83/kb83.c +++ b/keyboards/inland/kb83/kb83.c @@ -313,7 +313,11 @@ bool dip_switch_update_kb(uint8_t index, bool active) { return false; } if (index == 0) { - default_layer_set(1UL << (active ? MAC_B : WIN_B)); + default_layer_set(1UL << (active ? 2 : 0)); + } + if(active){ + keymap_config.no_gui = 0; + eeconfig_update_keymap(keymap_config.raw); } return true; } diff --git a/keyboards/inland/kb83/keyboard.json b/keyboards/inland/kb83/keyboard.json index 2920da52e1..4c82a557ee 100644 --- a/keyboards/inland/kb83/keyboard.json +++ b/keyboards/inland/kb83/keyboard.json @@ -60,7 +60,7 @@ }, "encoder": { "rotary": [ - {"pin_a": "B13", "pin_b": "B14", "resolution": 4} + {"pin_a": "B14", "pin_b": "B13", "resolution": 4} ] }, "qmk": { diff --git a/keyboards/inland/kb83/keymaps/default/keymap.c b/keyboards/inland/kb83/keymaps/default/keymap.c index df7df65678..a564e4e4e1 100644 --- a/keyboards/inland/kb83/keymaps/default/keymap.c +++ b/keyboards/inland/kb83/keymaps/default/keymap.c @@ -64,10 +64,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [WIN_B] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = { ENCODER_CCW_CW(RM_SATD, RM_SATU) }, - [MAC_B] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = { ENCODER_CCW_CW(RM_SATD, RM_SATU) }, + [WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [WIN_FN] = { ENCODER_CCW_CW(RM_SATU, RM_SATD) }, + [MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [MAC_FN] = { ENCODER_CCW_CW(RM_SATU, RM_SATD) }, }; #endif diff --git a/keyboards/inland/kb83/keymaps/default/rules.mk b/keyboards/inland/kb83/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/inland/kb83/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/inland/mk47/halconf.h b/keyboards/inland/mk47/halconf.h index b8ebdb3369..55bfe5c977 100644 --- a/keyboards/inland/mk47/halconf.h +++ b/keyboards/inland/mk47/halconf.h @@ -17,5 +17,7 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/inland/mk47/keyboard.json b/keyboards/inland/mk47/keyboard.json index a69ec2ac4a..b6404f58b2 100644 --- a/keyboards/inland/mk47/keyboard.json +++ b/keyboards/inland/mk47/keyboard.json @@ -2,6 +2,7 @@ "keyboard_name": "MK47", "manufacturer": "Inland", "maintainer": "jonylee@hfd", + "url":"", "usb": { "vid": "0xFFFE", "pid": "0x0002", @@ -15,6 +16,8 @@ "bootmagic": true, "mousekey": false, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/inland/v83p/halconf.h b/keyboards/inland/v83p/halconf.h index f3178d93f0..fcd8b7216a 100644 --- a/keyboards/inland/v83p/halconf.h +++ b/keyboards/inland/v83p/halconf.h @@ -5,5 +5,7 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/inland/v83p/keyboard.json b/keyboards/inland/v83p/keyboard.json index 5fad1a96d4..139cfb693b 100644 --- a/keyboards/inland/v83p/keyboard.json +++ b/keyboards/inland/v83p/keyboard.json @@ -21,6 +21,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/input_club/infinity60/rules.mk b/keyboards/input_club/infinity60/rules.mk new file mode 100644 index 0000000000..9c4b1e74c2 --- /dev/null +++ b/keyboards/input_club/infinity60/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = input_club/infinity60/led diff --git a/keyboards/input_club/k_type/keyboard.json b/keyboards/input_club/k_type/keyboard.json index ed004335c0..a4e8e2419e 100644 --- a/keyboards/input_club/k_type/keyboard.json +++ b/keyboards/input_club/k_type/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "K-Type (QMK)", "manufacturer": "Input:Club", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x1C11", @@ -57,6 +58,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": true diff --git a/keyboards/input_club/whitefox/keyboard.json b/keyboards/input_club/whitefox/keyboard.json index 60f2dca4d0..1d3799b867 100644 --- a/keyboards/input_club/whitefox/keyboard.json +++ b/keyboards/input_club/whitefox/keyboard.json @@ -113,6 +113,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "led_matrix": true, "mousekey": true, diff --git a/keyboards/io_mini1800/keyboard.json b/keyboards/io_mini1800/keyboard.json index be8bd11d6c..884d17aa06 100644 --- a/keyboards/io_mini1800/keyboard.json +++ b/keyboards/io_mini1800/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/irene/keyboard.json b/keyboards/irene/keyboard.json index a2fcc39090..3280c34c03 100644 --- a/keyboards/irene/keyboard.json +++ b/keyboards/irene/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Irene", "manufacturer": "Andrei Collado", + "url": "", "maintainer": "Andrei Collado", "usb": { "vid": "0x1434", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/iriskeyboards/keyboard.json b/keyboards/iriskeyboards/keyboard.json index f37f2064c5..200c3a3f6a 100644 --- a/keyboards/iriskeyboards/keyboard.json +++ b/keyboards/iriskeyboards/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Iris Rev0", "manufacturer": "SonOfAres", + "url": "", "maintainer": "SonOfAres", "usb": { "vid": "0x494B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/iron180/keyboard.json b/keyboards/iron180/keyboard.json index 90593faf8a..8daae1b1eb 100644 --- a/keyboards/iron180/keyboard.json +++ b/keyboards/iron180/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Iron180", "manufacturer": "SmithRune", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x8384", diff --git a/keyboards/itstleo/itstleo40/keyboard.json b/keyboards/itstleo/itstleo40/keyboard.json index ff55e3b0ce..637f8e5d7e 100644 --- a/keyboards/itstleo/itstleo40/keyboard.json +++ b/keyboards/itstleo/itstleo40/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "leader": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/j80/keyboard.json b/keyboards/j80/keyboard.json index 91e9683c26..72745d262f 100644 --- a/keyboards/j80/keyboard.json +++ b/keyboards/j80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "J80", "manufacturer": "JER", + "url": "", "maintainer": "oeywil", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/jacky_studio/bear_65/rules.mk b/keyboards/jacky_studio/bear_65/rules.mk new file mode 100644 index 0000000000..91bb6f74b9 --- /dev/null +++ b/keyboards/jacky_studio/bear_65/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = jacky_studio/bear_65/rev1 diff --git a/keyboards/jacky_studio/piggy60/rev1/rules.mk b/keyboards/jacky_studio/piggy60/rev1/rules.mk new file mode 100644 index 0000000000..873e9334ed --- /dev/null +++ b/keyboards/jacky_studio/piggy60/rev1/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = jacky_studio/piggy60/rev1/solder diff --git a/keyboards/jacky_studio/piggy60/rules.mk b/keyboards/jacky_studio/piggy60/rules.mk new file mode 100644 index 0000000000..873e9334ed --- /dev/null +++ b/keyboards/jacky_studio/piggy60/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = jacky_studio/piggy60/rev1/solder diff --git a/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json b/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json index 3e10d732c5..cbbb27ca04 100644 --- a/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json +++ b/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json b/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json index b236301e38..23112f5b33 100644 --- a/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json +++ b/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json @@ -14,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/jadookb/jkb65/info.json b/keyboards/jadookb/jkb65/info.json index ef62e8e2ea..c4a44a0d74 100644 --- a/keyboards/jadookb/jkb65/info.json +++ b/keyboards/jadookb/jkb65/info.json @@ -7,6 +7,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/jadookb/jkb65/rules.mk b/keyboards/jadookb/jkb65/rules.mk new file mode 100644 index 0000000000..2bbb2a41ce --- /dev/null +++ b/keyboards/jadookb/jkb65/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = jadookb/jkb65/r1 diff --git a/keyboards/jae/j01/keyboard.json b/keyboards/jae/j01/keyboard.json index 2375122bd8..fd16f2a46e 100644 --- a/keyboards/jae/j01/keyboard.json +++ b/keyboards/jae/j01/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "J-01", "manufacturer": "Evyd13", + "url": "", "maintainer": "MechMerlin", "usb": { "vid": "0x4705", diff --git a/keyboards/jagdpietr/drakon/keyboard.json b/keyboards/jagdpietr/drakon/keyboard.json index dfb38ac200..2d2b68a41a 100644 --- a/keyboards/jagdpietr/drakon/keyboard.json +++ b/keyboards/jagdpietr/drakon/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "drakon", "manufacturer": "jagdpietr", + "url": "", "maintainer": "jagdpietr", "usb": { "vid": "0xFEED", diff --git a/keyboards/jankycaps/janky9/keyboard.json b/keyboards/jankycaps/janky9/keyboard.json deleted file mode 100644 index 73116a5cb8..0000000000 --- a/keyboards/jankycaps/janky9/keyboard.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "manufacturer": "jankycaps", - "keyboard_name": "Janky No.9", - "maintainer": "telybelly", - "development_board": "promicro", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true - }, - "matrix_pins": { - "direct": [ - ["F4", "F5", "F6"], - ["F7", "B1", "B3"], - ["B2", "B6", "B5"] - ] - }, - "url": "https://anky.studio/", - "usb": { - "device_version": "1.0.0", - "pid": "0x0001", - "vid": "0x4E4B" - }, - "community_layouts": ["ortho_3x3"], - "layouts": { - "LAYOUT_ortho_3x3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2} - ] - } - } -} diff --git a/keyboards/jankycaps/janky9/readme.md b/keyboards/jankycaps/janky9/readme.md deleted file mode 100644 index b97fd0f078..0000000000 --- a/keyboards/jankycaps/janky9/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Janky No.9 - -![Janky No.9](https://i.imgur.com/hkEorpO.jpeg) - -*A Handmade 3x3 Macropad* - -* Keyboard Maintainer: [telybelly](https://github.com/telybelly) -* Hardware Supported: Janky No.9 -* Hardware Availability: - -Make example for this keyboard (after setting up your build environment): - - make jankycaps/janky9:default - -Flashing example for this keyboard: - - make jankycaps/janky9:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Quickly short the RST and GND pads on the PCB twice -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/janus/keyboard.json b/keyboards/janus/keyboard.json index 4a82149712..8c4f522b86 100644 --- a/keyboards/janus/keyboard.json +++ b/keyboards/janus/keyboard.json @@ -18,6 +18,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/jaykeeb/aumz_work/info.json b/keyboards/jaykeeb/aumz_work/info.json index e6922255fc..7ca2eb32b8 100644 --- a/keyboards/jaykeeb/aumz_work/info.json +++ b/keyboards/jaykeeb/aumz_work/info.json @@ -3,9 +3,12 @@ "maintainer": "Alabahuy", "processor": "RP2040", "bootloader": "rp2040", + "url": "", "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/jaykeeb/jk60/keyboard.json b/keyboards/jaykeeb/jk60/keyboard.json index 9f94100b5f..3899d90699 100644 --- a/keyboards/jaykeeb/jk60/keyboard.json +++ b/keyboards/jaykeeb/jk60/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -19,6 +21,7 @@ "on_state": 0 }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x7760", diff --git a/keyboards/jaykeeb/jk60rgb/keyboard.json b/keyboards/jaykeeb/jk60rgb/keyboard.json index 019fa5c88c..fd6876d563 100644 --- a/keyboards/jaykeeb/jk60rgb/keyboard.json +++ b/keyboards/jaykeeb/jk60rgb/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -152,6 +154,7 @@ ] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x7762", diff --git a/keyboards/jaykeeb/jk65/keyboard.json b/keyboards/jaykeeb/jk65/keyboard.json index 02b45e1ba7..0be07caacd 100644 --- a/keyboards/jaykeeb/jk65/keyboard.json +++ b/keyboards/jaykeeb/jk65/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -19,6 +21,7 @@ "on_state": 0 }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x7765", diff --git a/keyboards/jaykeeb/joker/keyboard.json b/keyboards/jaykeeb/joker/keyboard.json index b35c8c5830..ed8b59d03f 100644 --- a/keyboards/jaykeeb/joker/keyboard.json +++ b/keyboards/jaykeeb/joker/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -21,6 +23,7 @@ "on_state": 0 }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0795", diff --git a/keyboards/jaykeeb/kamigakushi/keyboard.json b/keyboards/jaykeeb/kamigakushi/keyboard.json index b66c5e670d..7ab02d2c66 100644 --- a/keyboards/jaykeeb/kamigakushi/keyboard.json +++ b/keyboards/jaykeeb/kamigakushi/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -17,8 +19,10 @@ }, "rgblight": { "led_count": 2, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, + "max_brightness": 255, "animations": { "alternating": true, "breathing": true, @@ -41,6 +45,7 @@ "rows": ["GP24", "GP29", "GP6", "GP15", "GP16"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0765", diff --git a/keyboards/jaykeeb/orba/keyboard.json b/keyboards/jaykeeb/orba/keyboard.json index f803ebb7c4..b437667b14 100644 --- a/keyboards/jaykeeb/orba/keyboard.json +++ b/keyboards/jaykeeb/orba/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["GP11", "GP10", "GP18", "GP19", "GP0" ] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0769", diff --git a/keyboards/jaykeeb/sebelas/keyboard.json b/keyboards/jaykeeb/sebelas/keyboard.json index c31b93aeeb..e88607703e 100644 --- a/keyboards/jaykeeb/sebelas/keyboard.json +++ b/keyboards/jaykeeb/sebelas/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -39,6 +41,7 @@ } }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0767", diff --git a/keyboards/jaykeeb/skyline/keyboard.json b/keyboards/jaykeeb/skyline/keyboard.json index 9aa8d78594..068c11a874 100644 --- a/keyboards/jaykeeb/skyline/keyboard.json +++ b/keyboards/jaykeeb/skyline/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -20,6 +22,7 @@ "rows": ["GP13", "GP27", "GP26", "GP25", "GP22", "GP23"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0799", diff --git a/keyboards/jaykeeb/sriwedari70/keyboard.json b/keyboards/jaykeeb/sriwedari70/keyboard.json index efb13554dc..c9569a9724 100644 --- a/keyboards/jaykeeb/sriwedari70/keyboard.json +++ b/keyboards/jaykeeb/sriwedari70/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -28,8 +30,10 @@ }, "rgblight": { "led_count": 8, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, + "max_brightness": 255, "animations": { "alternating": true, "breathing": true, diff --git a/keyboards/jaykeeb/tokki/keyboard.json b/keyboards/jaykeeb/tokki/keyboard.json index 8ff2828d9e..0ab1150017 100644 --- a/keyboards/jaykeeb/tokki/keyboard.json +++ b/keyboards/jaykeeb/tokki/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -39,6 +41,7 @@ } }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0768", diff --git a/keyboards/jc65/v32a/keyboard.json b/keyboards/jc65/v32a/keyboard.json index cfdbec8663..7fd13e0626 100644 --- a/keyboards/jc65/v32a/keyboard.json +++ b/keyboards/jc65/v32a/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JC65 BMC", "manufacturer": "RAMA", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x1234", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/jc65/v32u4/keyboard.json b/keyboards/jc65/v32u4/keyboard.json index c38bc4e1ff..6a8d923507 100644 --- a/keyboards/jc65/v32u4/keyboard.json +++ b/keyboards/jc65/v32u4/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JC65", "manufacturer": "dou", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/jcpm2/config.h b/keyboards/jcpm2/config.h deleted file mode 100644 index 0f06cd1466..0000000000 --- a/keyboards/jcpm2/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2025 Jeremy Cook Consulting LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * If you did not receive a copy of the GNU General Public License - * along with this program, see . - */ - -#pragma once - -#define OLED_DISPLAY_128X64 -#define OLED_TIMEOUT 2000000 diff --git a/keyboards/jcpm2/jcpm2.c b/keyboards/jcpm2/jcpm2.c deleted file mode 100644 index 1439ffcdcd..0000000000 --- a/keyboards/jcpm2/jcpm2.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright 2025 Jeremy Cook Consulting LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "quantum.h" - -#ifdef OLED_ENABLE -static uint32_t logo_timer = 0; - -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - logo_timer = timer_read(); - return OLED_ROTATION_180; -} - -static void render_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 - }; - oled_write_P(qmk_logo, false); -} - -bool oled_task_kb(void) { - if (timer_elapsed32(logo_timer) < 1000) { - render_logo(); - return false; - } - if (!oled_task_user()) { - return false; - } - return true; -} - -#endif diff --git a/keyboards/jcpm2/keyboard.json b/keyboards/jcpm2/keyboard.json deleted file mode 100644 index 17734a0ed0..0000000000 --- a/keyboards/jcpm2/keyboard.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "manufacturer": "jeremyscook", - "keyboard_name": "jcpm2", - "maintainer": "jeremyscook", - "development_board": "promicro", - "encoder": { - "rotary": [ - {"pin_a": "D2", "pin_b": "D3"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "oled": true, - "rgb_matrix": true - }, - "matrix_pins": { - "direct": [ - ["D4", null, "F4", "B3"], - ["B4", null, "F5", "B2"], - ["B1", "F7", "F6", "B6"] - ] - }, - "rgb_matrix": { - "animations": { - "digital_rain": true, - "hue_breathing": true, - "typing_heatmap": true - }, - "default": { - "animation": "typing_heatmap", - "val": 180 - }, - "driver": "ws2812", - "layout": [ - {"matrix": [2, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [2, 1], "x": 75, "y": 64, "flags": 4}, - {"matrix": [2, 2], "x": 150, "y": 64, "flags": 4}, - {"matrix": [1, 2], "x": 150, "y": 32, "flags": 4}, - {"matrix": [0, 2], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 224, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 224, "y": 64, "flags": 4}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 112, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2} - ], - "sleep": true - }, - "url": "https://github.com/JeremySCook/JC-Pro-Macro-2", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "ws2812": { - "pin": "C6" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2} - ] - } - } -} diff --git a/keyboards/jcpm2/keymaps/default/keymap.c b/keyboards/jcpm2/keymaps/default/keymap.c deleted file mode 100644 index 6ea8906cec..0000000000 --- a/keyboards/jcpm2/keymaps/default/keymap.c +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// Define the layers -enum layer_names { - _LAYER0, - _LAYER0_MOD, - _LAYER1, - _LAYER2 -}; - -#define UNDERGLOW 60 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┬───┐ - * │ E │ n │ 6 │ 7 │ - * ├───┼───┼───┼───┤ - * │ B │ n │ 5 │ 8 │ - * ├───┼───┼───┼───┤ - * │ 2 │ 3 │ 4 │ 9 │ - * └───┴───┴───┴───┘ - */ - [_LAYER0] = LAYOUT( // default - KC_MUTE, LSFT(KC_COMM), LSFT(KC_DOT), - DF(_LAYER1), KC_J, KC_L, - KC_MPRV, KC_MPLY, KC_MNXT, TG(_LAYER0_MOD) // btm-right one shot mod layer - ), - [_LAYER0_MOD] = LAYOUT( // default MOD - _______, RM_VALU, RM_NEXT, // _______ transparent, goes to above layer - _______, RM_VALD, RM_TOGG, - LCTL(LGUI(KC_SPC)), _______, _______, TG(_LAYER0_MOD) - ), - [_LAYER1] = LAYOUT( // FCPX - LSFT(LGUI(KC_B)), LGUI(KC_B), LGUI(KC_EQL), - DF(_LAYER2), LALT(KC_K), LGUI(KC_MINS), - KC_J, KC_K, KC_L, KC_BSPC - ), - [_LAYER2] = LAYOUT( // KICAD - KC_E, KC_ESC, KC_M, - DF(_LAYER0), LGUI(KC_Z), KC_X, - KC_V, KC_D, KC_U, KC_BSPC - ) -}; - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_LAYER0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, // default - [_LAYER0_MOD] = { ENCODER_CCW_CW(_______, _______) }, // default MOD - [_LAYER1] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, // FCPX - [_LAYER2] = { ENCODER_CCW_CW(KC_R, S(KC_R)) } // KICAD -}; -#endif - -#ifdef OLED_ENABLE -// Function to display the current layer and information on the OLED -bool oled_task_user(void) { - switch (get_highest_layer(layer_state | default_layer_state)) { - case _LAYER0: - oled_write_ln_P(PSTR("(VOL- VOL+) LAYER0"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("MUTE SLOW FAST"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("LAYR RSET 10BK 10FW"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("MREV MPLA MFWD +OPT"), false); - break; - case _LAYER0_MOD: - oled_write_ln_P(PSTR("____ ____ 0-MOD"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("____ BRI+ ANIM"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("____ ____ BRI- TOGG"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("EMOJ ____ ____ -OPT"), false); - break; - case _LAYER1: - oled_write_ln_P(PSTR("(FRA- FRA+) FCPX"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("XXXX BRAK ZOM+"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("LAYR RSET KFRA ZOM-"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("BACK STOP FORW DELT"), false); - break; - case _LAYER2: - oled_write_ln_P(PSTR("(RO L RO R) KICAD"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("EDIT ESCP MOVE"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("LAYR RSET UNDO TRAK"), false); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(PSTR("VIA DRAG SALL DELT"), false); - break; - } - return false; -} -#endif - -bool rgb_matrix_indicators_user(void) { - switch(get_highest_layer(layer_state|default_layer_state)) { - case _LAYER2: - rgb_matrix_set_color(11, 0, 0, UNDERGLOW); - rgb_matrix_set_color(10, 0, 0, UNDERGLOW); - rgb_matrix_set_color(9, 0, 0, UNDERGLOW); - rgb_matrix_set_color(8, 0, 0, UNDERGLOW); - break; - case _LAYER1: - rgb_matrix_set_color(11, 0, UNDERGLOW, 0); - rgb_matrix_set_color(10, 0, UNDERGLOW, 0); - rgb_matrix_set_color(9, 0, UNDERGLOW, 0); - rgb_matrix_set_color(8, 0, UNDERGLOW, 0); - break; - case _LAYER0_MOD: - rgb_matrix_set_color(11, UNDERGLOW/2, 0, UNDERGLOW/2); - rgb_matrix_set_color(10, UNDERGLOW/2, 0, UNDERGLOW/2); - rgb_matrix_set_color(9, UNDERGLOW/2, 0, UNDERGLOW/2); - rgb_matrix_set_color(8, UNDERGLOW/2, 0, UNDERGLOW/2); - break; - case _LAYER0: - rgb_matrix_set_color(11, UNDERGLOW, 0, 0); - rgb_matrix_set_color(10, UNDERGLOW, 0, 0); - rgb_matrix_set_color(9, UNDERGLOW, 0, 0); - rgb_matrix_set_color(8, UNDERGLOW, 0, 0); - break; - default: - break; - } - return false; -} diff --git a/keyboards/jcpm2/keymaps/default/rules.mk b/keyboards/jcpm2/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/jcpm2/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/jcpm2/readme.md b/keyboards/jcpm2/readme.md deleted file mode 100644 index 9a5560dfd0..0000000000 --- a/keyboards/jcpm2/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# jcpm2 - -![jcpm2](https://i.imgur.com/EM5JoGC.jpeg) - -An 8-key macro pad with rotary encoder, RGB backlighting and underlighting. Made and sold by JCC LLC. - -* Keyboard Maintainer: [jeremyscook](https://github.com/jeremyscook) -* Hardware Supported: JCPM2 PCB, Pro Micro -* Hardware Availability: [Tindie.com](https://www.tindie.com/products/25414) - -Make example for this keyboard (after setting up your build environment): - - make jcpm2:default - -Flashing example for this keyboard: - - make jcpm2:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the rotary encoder and plug in the keyboard -* **Physical reset button**: Double-click the small inside button on top of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/jd40/keyboard.json b/keyboards/jd40/keyboard.json index b8a363f298..f56602b215 100644 --- a/keyboards/jd40/keyboard.json +++ b/keyboards/jd40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "jd40", "manufacturer": "geekhack", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/jd45/keyboard.json b/keyboards/jd45/keyboard.json index 559c5f1d26..6c103ec6dd 100644 --- a/keyboards/jd45/keyboard.json +++ b/keyboards/jd45/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JD45", "manufacturer": "geekhack", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/jels/boaty/keyboard.json b/keyboards/jels/boaty/keyboard.json index 4fd622d5b0..36fa9288ab 100644 --- a/keyboards/jels/boaty/keyboard.json +++ b/keyboards/jels/boaty/keyboard.json @@ -6,6 +6,7 @@ "pid": "0x000B", "device_version": "1.0.0" }, + "url": "", "maintainer": "Jels", "processor": "atmega328p", "bootloader": "usbasploader", @@ -13,7 +14,9 @@ "bootmagic": true, "nkro": false, "mousekey": false, - "extrakey": true + "extrakey": true, + "console": false, + "command": false }, "qmk": { "locking": { diff --git a/keyboards/jels/jels60/info.json b/keyboards/jels/jels60/info.json index 8f3e05e581..7194542d48 100644 --- a/keyboards/jels/jels60/info.json +++ b/keyboards/jels/jels60/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Jels60", "manufacturer": "Jels", + "url": "", "maintainer": "Jels", "usb": { "vid": "0x006A", diff --git a/keyboards/jels/jels60/v1/keyboard.json b/keyboards/jels/jels60/v1/keyboard.json index aabebb36f2..1f7b45adef 100644 --- a/keyboards/jels/jels60/v1/keyboard.json +++ b/keyboards/jels/jels60/v1/keyboard.json @@ -10,6 +10,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": false }, "qmk": { diff --git a/keyboards/jels/jels60/v2/keyboard.json b/keyboards/jels/jels60/v2/keyboard.json index 749f9db1d8..4ab87eff49 100644 --- a/keyboards/jels/jels60/v2/keyboard.json +++ b/keyboards/jels/jels60/v2/keyboard.json @@ -5,6 +5,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": false }, "qmk": { diff --git a/keyboards/jels/jels88/keyboard.json b/keyboards/jels/jels88/keyboard.json index d9d6d10c24..e4d2c6e273 100644 --- a/keyboards/jels/jels88/keyboard.json +++ b/keyboards/jels/jels88/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Jels88", "manufacturer": "Jels", + "url": "", "maintainer": "Jels", "usb": { "vid": "0x006A", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/jian/keymaps/advanced/keymap.c b/keyboards/jian/keymaps/advanced/keymap.c index e3e58a0e9f..eaf57cdd78 100644 --- a/keyboards/jian/keymaps/advanced/keymap.c +++ b/keyboards/jian/keymaps/advanced/keymap.c @@ -472,9 +472,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!eeconfig_is_enabled()) { eeconfig_init(); } - eeconfig_read_keymap(&keymap_config); + keymap_config.raw = eeconfig_read_keymap(); keymap_config.nkro = 1; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } return false; case EXT_PLV: diff --git a/keyboards/jian/rules.mk b/keyboards/jian/rules.mk new file mode 100644 index 0000000000..c19fa00b5c --- /dev/null +++ b/keyboards/jian/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = jian/rev2 diff --git a/keyboards/jidohun/km113/halconf.h b/keyboards/jidohun/km113/halconf.h index 7e9c966f40..6ff2f1ec67 100644 --- a/keyboards/jidohun/km113/halconf.h +++ b/keyboards/jidohun/km113/halconf.h @@ -4,5 +4,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/jiran/rules.mk b/keyboards/jiran/rules.mk new file mode 100644 index 0000000000..3ffe13302d --- /dev/null +++ b/keyboards/jiran/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = jiran/rev1 diff --git a/keyboards/jkdlab/binary_monkey/keyboard.json b/keyboards/jkdlab/binary_monkey/keyboard.json index a9c9fabe93..c1aad15cb4 100644 --- a/keyboards/jkdlab/binary_monkey/keyboard.json +++ b/keyboards/jkdlab/binary_monkey/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/jkeys_design/gentleman65/keyboard.json b/keyboards/jkeys_design/gentleman65/keyboard.json index 6ccabe45ef..150cf4d351 100644 --- a/keyboards/jkeys_design/gentleman65/keyboard.json +++ b/keyboards/jkeys_design/gentleman65/keyboard.json @@ -28,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/jkeys_design/gentleman65_se_s/keyboard.json b/keyboards/jkeys_design/gentleman65_se_s/keyboard.json index 582ce4aad9..cd4570a765 100644 --- a/keyboards/jkeys_design/gentleman65_se_s/keyboard.json +++ b/keyboards/jkeys_design/gentleman65_se_s/keyboard.json @@ -28,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/jolofsor/denial75/keyboard.json b/keyboards/jolofsor/denial75/keyboard.json index 69782a93d8..df7c3157c9 100644 --- a/keyboards/jolofsor/denial75/keyboard.json +++ b/keyboards/jolofsor/denial75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "denial75", "manufacturer": "jsor-hpoli", + "url": "", "maintainer": "jolofsor", "usb": { "vid": "0x4A48", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/jones/rules.mk b/keyboards/jones/rules.mk new file mode 100644 index 0000000000..9f0da2abec --- /dev/null +++ b/keyboards/jones/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = jones/v1 diff --git a/keyboards/jorne/rules.mk b/keyboards/jorne/rules.mk new file mode 100644 index 0000000000..c43649b348 --- /dev/null +++ b/keyboards/jorne/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = jorne/rev1 diff --git a/keyboards/joshajohnson/hub20/keyboard.json b/keyboards/joshajohnson/hub20/keyboard.json index 0d557c58b5..44a3361838 100644 --- a/keyboards/joshajohnson/hub20/keyboard.json +++ b/keyboards/joshajohnson/hub20/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/jukaie/jk01/config.h b/keyboards/jukaie/jk01/config.h index 41534ce6c4..d8dfb9f535 100644 --- a/keyboards/jukaie/jk01/config.h +++ b/keyboards/jukaie/jk01/config.h @@ -22,11 +22,8 @@ /* SPI Config for LED Driver */ #define SPI_DRIVER SPIDQ #define SPI_SCK_PIN A5 -#define SPI_SCK_PAL_MODE 5 #define SPI_MOSI_PIN A7 -#define SPI_MOSI_PAL_MODE 5 #define SPI_MISO_PIN A6 -#define SPI_MISO_PAL_MODE 5 #define AW20216S_CS_PIN_1 A15 #define AW20216S_CS_PIN_2 B15 diff --git a/keyboards/jukaie/jk01/halconf.h b/keyboards/jukaie/jk01/halconf.h index e17fed3886..64a184eb92 100644 --- a/keyboards/jukaie/jk01/halconf.h +++ b/keyboards/jukaie/jk01/halconf.h @@ -17,5 +17,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/jukaie/jk01/keyboard.json b/keyboards/jukaie/jk01/keyboard.json index 6e103a46c9..cde0b38034 100644 --- a/keyboards/jukaie/jk01/keyboard.json +++ b/keyboards/jukaie/jk01/keyboard.json @@ -21,6 +21,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -179,6 +181,7 @@ ], "sleep": true }, + "url": "", "usb": { "device_version": "0.0.2", "pid": "0x0002", diff --git a/keyboards/junco/rules.mk b/keyboards/junco/rules.mk new file mode 100644 index 0000000000..bb94741e5a --- /dev/null +++ b/keyboards/junco/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = junco/rev1 diff --git a/keyboards/k34/keyboard.json b/keyboards/k34/keyboard.json index 84e65978b3..b9a69fb667 100644 --- a/keyboards/k34/keyboard.json +++ b/keyboards/k34/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/kabedon/kabedon78s/keyboard.json b/keyboards/kabedon/kabedon78s/keyboard.json index 49bb57fd38..b875f9b35a 100644 --- a/keyboards/kabedon/kabedon78s/keyboard.json +++ b/keyboards/kabedon/kabedon78s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "78S", "manufacturer": "Kabe_Don", + "url": "", "maintainer": "370490639", "usb": { "vid": "0x4B44", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/kabedon/kabedon980/keyboard.json b/keyboards/kabedon/kabedon980/keyboard.json index af8c2bcea2..b8e100ceac 100644 --- a/keyboards/kabedon/kabedon980/keyboard.json +++ b/keyboards/kabedon/kabedon980/keyboard.json @@ -34,6 +34,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/kabedon/kabedon98e/keyboard.json b/keyboards/kabedon/kabedon98e/keyboard.json index 731c03dd74..beff70d5d9 100644 --- a/keyboards/kabedon/kabedon98e/keyboard.json +++ b/keyboards/kabedon/kabedon98e/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "98e", "manufacturer": "Kabe_Don", + "url": "", "maintainer": "370490639", "usb": { "vid": "0x4B44", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kagizaraya/chidori/keyboard.json b/keyboards/kagizaraya/chidori/keyboard.json index 0187d55eec..2f9066149d 100644 --- a/keyboards/kagizaraya/chidori/keyboard.json +++ b/keyboards/kagizaraya/chidori/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Chidori", "manufacturer": "Kagizaraya", + "url": "", "maintainer": "ka2hiro", "usb": { "vid": "0xFEED", diff --git a/keyboards/kagizaraya/halberd/keyboard.json b/keyboards/kagizaraya/halberd/keyboard.json index 3e39ab8aa1..c8c5b5e214 100644 --- a/keyboards/kagizaraya/halberd/keyboard.json +++ b/keyboards/kagizaraya/halberd/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Halberd", "manufacturer": "Kagizaraya", + "url": "", "maintainer": "ka2hiro", "usb": { "vid": "0xFEED", @@ -32,6 +33,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/kagizaraya/miniaxe/keyboard.json b/keyboards/kagizaraya/miniaxe/keyboard.json index 4e2658fd37..b2e3b14d0e 100644 --- a/keyboards/kagizaraya/miniaxe/keyboard.json +++ b/keyboards/kagizaraya/miniaxe/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MiniAxe", "manufacturer": "ENDO Katsuhiro", + "url": "", "maintainer": "ka2hiro", "usb": { "vid": "0xFEED", @@ -37,6 +38,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/kagizaraya/scythe/keyboard.json b/keyboards/kagizaraya/scythe/keyboard.json index eddb54315d..ed1bd99f66 100644 --- a/keyboards/kagizaraya/scythe/keyboard.json +++ b/keyboards/kagizaraya/scythe/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Scythe", "manufacturer": "Kagizaraya", + "url": "", "maintainer": "ka2hiro", "usb": { "vid": "0xFEED", diff --git a/keyboards/kakunpc/angel17/rules.mk b/keyboards/kakunpc/angel17/rules.mk new file mode 100644 index 0000000000..48095d37e6 --- /dev/null +++ b/keyboards/kakunpc/angel17/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kakunpc/angel17/rev1 diff --git a/keyboards/kakunpc/angel64/alpha/rules.mk b/keyboards/kakunpc/angel64/alpha/rules.mk deleted file mode 100644 index 09c02c88b0..0000000000 --- a/keyboards/kakunpc/angel64/alpha/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -CUSTOM_MATRIX = yes - -SRC += matrix.c diff --git a/keyboards/kakunpc/angel64/rev1/rules.mk b/keyboards/kakunpc/angel64/rev1/rules.mk deleted file mode 100644 index 09c02c88b0..0000000000 --- a/keyboards/kakunpc/angel64/rev1/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -CUSTOM_MATRIX = yes - -SRC += matrix.c diff --git a/keyboards/kakunpc/angel64/rules.mk b/keyboards/kakunpc/angel64/rules.mk new file mode 100644 index 0000000000..c95d5297bd --- /dev/null +++ b/keyboards/kakunpc/angel64/rules.mk @@ -0,0 +1,5 @@ +CUSTOM_MATRIX = yes + +SRC += matrix.c + +DEFAULT_FOLDER = kakunpc/angel64/rev1 diff --git a/keyboards/kakunpc/business_card/alpha/keyboard.json b/keyboards/kakunpc/business_card/alpha/keyboard.json index c357ae3a00..17c42ebb31 100644 --- a/keyboards/kakunpc/business_card/alpha/keyboard.json +++ b/keyboards/kakunpc/business_card/alpha/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "business_card alpha", "manufacturer": "kakunpc", + "url": "", "maintainer": "kakunpc", "usb": { "vid": "0xFEED", diff --git a/keyboards/kakunpc/business_card/beta/keyboard.json b/keyboards/kakunpc/business_card/beta/keyboard.json index 0e8fda9f58..5b6a77f358 100644 --- a/keyboards/kakunpc/business_card/beta/keyboard.json +++ b/keyboards/kakunpc/business_card/beta/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "business_card beta", "manufacturer": "kakunpc", + "url": "", "maintainer": "kakunpc", "usb": { "vid": "0xFEED", diff --git a/keyboards/kakunpc/business_card/readme.md b/keyboards/kakunpc/business_card/readme.md index 98fdf1be90..cbd05af410 100644 --- a/keyboards/kakunpc/business_card/readme.md +++ b/keyboards/kakunpc/business_card/readme.md @@ -1,6 +1,12 @@ # business_card -* Keyboard Maintainer: [kakunpc](https://github.com/kakunpc) +![business_card](imgur.com image replace me!) + +A short description of the keyboard/project + +Keyboard Maintainer: [kakunpc](https://github.com/kakunpc) +Hardware Supported: The PCBs, controllers supported +Hardware Availability: links to where you can find this hardware Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kakunpc/business_card/rules.mk b/keyboards/kakunpc/business_card/rules.mk new file mode 100644 index 0000000000..4525d52332 --- /dev/null +++ b/keyboards/kakunpc/business_card/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kakunpc/business_card/beta diff --git a/keyboards/kakunpc/rabbit_capture_plan/keyboard.json b/keyboards/kakunpc/rabbit_capture_plan/keyboard.json index dce62c64d8..8bf5d708c9 100644 --- a/keyboards/kakunpc/rabbit_capture_plan/keyboard.json +++ b/keyboards/kakunpc/rabbit_capture_plan/keyboard.json @@ -33,6 +33,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/kakunpc/suihankey/rules.mk b/keyboards/kakunpc/suihankey/rules.mk new file mode 100644 index 0000000000..46a0114bd5 --- /dev/null +++ b/keyboards/kakunpc/suihankey/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kakunpc/suihankey/rev1 diff --git a/keyboards/kakunpc/suihankey/split/rules.mk b/keyboards/kakunpc/suihankey/split/rules.mk new file mode 100644 index 0000000000..1dc7b014f0 --- /dev/null +++ b/keyboards/kakunpc/suihankey/split/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kakunpc/suihankey/split/rev1 diff --git a/keyboards/kalakos/bahrnob/keyboard.json b/keyboards/kalakos/bahrnob/keyboard.json index 988fae4ba4..2e127e555a 100644 --- a/keyboards/kalakos/bahrnob/keyboard.json +++ b/keyboards/kalakos/bahrnob/keyboard.json @@ -18,6 +18,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "encoder": true }, diff --git a/keyboards/kaly/kaly42/keyboard.json b/keyboards/kaly/kaly42/keyboard.json index c19835b90d..3115d051df 100644 --- a/keyboards/kaly/kaly42/keyboard.json +++ b/keyboards/kaly/kaly42/keyboard.json @@ -5,6 +5,8 @@ "development_board": "blackpill_f401", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kapcave/arya/keyboard.json b/keyboards/kapcave/arya/keyboard.json index c1549dd93b..986e9eec8b 100644 --- a/keyboards/kapcave/arya/keyboard.json +++ b/keyboards/kapcave/arya/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/kapcave/gskt00/keyboard.json b/keyboards/kapcave/gskt00/keyboard.json index e48480d9c4..0d2fd292c6 100644 --- a/keyboards/kapcave/gskt00/keyboard.json +++ b/keyboards/kapcave/gskt00/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kapcave/paladin64/keyboard.json b/keyboards/kapcave/paladin64/keyboard.json index afd226fb9c..6fdd64a500 100644 --- a/keyboards/kapcave/paladin64/keyboard.json +++ b/keyboards/kapcave/paladin64/keyboard.json @@ -13,6 +13,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kapcave/paladinpad/info.json b/keyboards/kapcave/paladinpad/info.json index 346f6ad730..1a639180d0 100644 --- a/keyboards/kapcave/paladinpad/info.json +++ b/keyboards/kapcave/paladinpad/info.json @@ -5,6 +5,8 @@ "maintainer": "nachie", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kapcave/paladinpad/rules.mk b/keyboards/kapcave/paladinpad/rules.mk new file mode 100644 index 0000000000..02685414e3 --- /dev/null +++ b/keyboards/kapcave/paladinpad/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kapcave/paladinpad/rev2 diff --git a/keyboards/kapl/rules.mk b/keyboards/kapl/rules.mk new file mode 100644 index 0000000000..a5dd22ce1c --- /dev/null +++ b/keyboards/kapl/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kapl/rev1 diff --git a/keyboards/karn/keyboard.json b/keyboards/karn/keyboard.json index cd680af65b..1ddd8e5a98 100644 --- a/keyboards/karn/keyboard.json +++ b/keyboards/karn/keyboard.json @@ -4,6 +4,8 @@ "maintainer": "robcmills", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kb_elmo/67mk_e/keyboard.json b/keyboards/kb_elmo/67mk_e/keyboard.json index 48e3e894f6..4e842f28e6 100644 --- a/keyboards/kb_elmo/67mk_e/keyboard.json +++ b/keyboards/kb_elmo/67mk_e/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "67mk_E", "manufacturer": "kb_elmo", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0xA68C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/kb_elmo/isolation/keyboard.json b/keyboards/kb_elmo/isolation/keyboard.json index 1152675912..e7a40a55e6 100644 --- a/keyboards/kb_elmo/isolation/keyboard.json +++ b/keyboards/kb_elmo/isolation/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ISOlation", "manufacturer": "kb-elmo", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0xA68C", diff --git a/keyboards/kb_elmo/noah_avr/keyboard.json b/keyboards/kb_elmo/noah_avr/keyboard.json index 0955a73edc..48cbb6e5e2 100644 --- a/keyboards/kb_elmo/noah_avr/keyboard.json +++ b/keyboards/kb_elmo/noah_avr/keyboard.json @@ -29,6 +29,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/kb_elmo/qez/keyboard.json b/keyboards/kb_elmo/qez/keyboard.json index 0b291f95a5..ab1f823043 100644 --- a/keyboards/kb_elmo/qez/keyboard.json +++ b/keyboards/kb_elmo/qez/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "QEZ", "manufacturer": "kb_elmo", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0xA68C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/kb_elmo/vertex/keyboard.json b/keyboards/kb_elmo/vertex/keyboard.json index 5032670e3f..5585386296 100644 --- a/keyboards/kb_elmo/vertex/keyboard.json +++ b/keyboards/kb_elmo/vertex/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Vertex", "manufacturer": "kb_elmo", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0xA68C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/kbdcraft/adam64/keyboard.json b/keyboards/kbdcraft/adam64/keyboard.json index 489dc8f6b5..d7a96fa577 100644 --- a/keyboards/kbdcraft/adam64/keyboard.json +++ b/keyboards/kbdcraft/adam64/keyboard.json @@ -20,6 +20,8 @@ "mousekey": true, "extrakey": true, "nkro": true, + "console": false, + "command": false, "rgb_matrix": true }, "rgb_matrix": { diff --git a/keyboards/kbdfans/baguette66/rgb/keyboard.json b/keyboards/kbdfans/baguette66/rgb/keyboard.json index 5955add028..61579473cd 100644 --- a/keyboards/kbdfans/baguette66/rgb/keyboard.json +++ b/keyboards/kbdfans/baguette66/rgb/keyboard.json @@ -66,6 +66,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kbdfans/baguette66/soldered/keyboard.json b/keyboards/kbdfans/baguette66/soldered/keyboard.json index fb05dde2ac..f9c87dad06 100644 --- a/keyboards/kbdfans/baguette66/soldered/keyboard.json +++ b/keyboards/kbdfans/baguette66/soldered/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/kbdfans/bella/rgb/keyboard.json b/keyboards/kbdfans/bella/rgb/keyboard.json index 2ca18d2851..50310e3667 100644 --- a/keyboards/kbdfans/bella/rgb/keyboard.json +++ b/keyboards/kbdfans/bella/rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Bella RGB ANSI", "manufacturer": "KBDfans", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x4B42", diff --git a/keyboards/kbdfans/bella/rgb_iso/keyboard.json b/keyboards/kbdfans/bella/rgb_iso/keyboard.json index c7dd6423b5..20b00283ed 100644 --- a/keyboards/kbdfans/bella/rgb_iso/keyboard.json +++ b/keyboards/kbdfans/bella/rgb_iso/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Bella RGB ISO", "manufacturer": "KBDfans", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x4B42", diff --git a/keyboards/kbdfans/bella/soldered/keyboard.json b/keyboards/kbdfans/bella/soldered/keyboard.json index d6bb586f9b..aa5d915980 100644 --- a/keyboards/kbdfans/bella/soldered/keyboard.json +++ b/keyboards/kbdfans/bella/soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Bella Soldered", "manufacturer": "KBDfans", + "url": "", "maintainer": "kbdfans", "usb": { "vid": "0x4B42", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kbdfans/boop65/rgb/keyboard.json b/keyboards/kbdfans/boop65/rgb/keyboard.json index 4a051c9112..49fa78b315 100644 --- a/keyboards/kbdfans/boop65/rgb/keyboard.json +++ b/keyboards/kbdfans/boop65/rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Boop65 RGB", "manufacturer": "KBDfans", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x4B42", @@ -63,6 +64,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kbdfans/bounce/75/hotswap/keyboard.json b/keyboards/kbdfans/bounce/75/hotswap/keyboard.json index b67719cbd3..478b4bc372 100644 --- a/keyboards/kbdfans/bounce/75/hotswap/keyboard.json +++ b/keyboards/kbdfans/bounce/75/hotswap/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/bounce/75/soldered/keyboard.json b/keyboards/kbdfans/bounce/75/soldered/keyboard.json index b6ef0a29a8..e1610872e1 100644 --- a/keyboards/kbdfans/bounce/75/soldered/keyboard.json +++ b/keyboards/kbdfans/bounce/75/soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Bounce75 Soldered", "manufacturer": "KBDfans", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x4B42", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/bounce/pad/keyboard.json b/keyboards/kbdfans/bounce/pad/keyboard.json index 96a5214551..d95010954b 100644 --- a/keyboards/kbdfans/bounce/pad/keyboard.json +++ b/keyboards/kbdfans/bounce/pad/keyboard.json @@ -10,6 +10,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kbdfans/d45/rules.mk b/keyboards/kbdfans/d45/rules.mk new file mode 100644 index 0000000000..041e632f65 --- /dev/null +++ b/keyboards/kbdfans/d45/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kbdfans/d45/v2 diff --git a/keyboards/kbdfans/d45/v2/keyboard.json b/keyboards/kbdfans/d45/v2/keyboard.json index a463e19c13..6eadfa0860 100644 --- a/keyboards/kbdfans/d45/v2/keyboard.json +++ b/keyboards/kbdfans/d45/v2/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kbdfans/epoch80/keyboard.json b/keyboards/kbdfans/epoch80/keyboard.json index 0f0bcdb544..08ed973b92 100644 --- a/keyboards/kbdfans/epoch80/keyboard.json +++ b/keyboards/kbdfans/epoch80/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/kbdfans/jm60/keyboard.json b/keyboards/kbdfans/jm60/keyboard.json index 6bc60c308c..ffa205daa0 100644 --- a/keyboards/kbdfans/jm60/keyboard.json +++ b/keyboards/kbdfans/jm60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JM60", "manufacturer": "JMWS", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/kbdfans/kbd19x/keyboard.json b/keyboards/kbdfans/kbd19x/keyboard.json index b5f4673060..080cf82d80 100644 --- a/keyboards/kbdfans/kbd19x/keyboard.json +++ b/keyboards/kbdfans/kbd19x/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/kbd4x/keyboard.json b/keyboards/kbdfans/kbd4x/keyboard.json index 1f3d5ce25e..77abf71f28 100644 --- a/keyboards/kbdfans/kbd4x/keyboard.json +++ b/keyboards/kbdfans/kbd4x/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD4x", "manufacturer": "KBDfans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/kbdfans/kbd66/keyboard.json b/keyboards/kbdfans/kbd66/keyboard.json index 57cbab49fd..2b614442a0 100644 --- a/keyboards/kbdfans/kbd66/keyboard.json +++ b/keyboards/kbdfans/kbd66/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD66", "manufacturer": "KBDfans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/kbdfans/kbd67/hotswap/keyboard.json b/keyboards/kbdfans/kbd67/hotswap/keyboard.json index 4620d06a16..fb0c165d14 100644 --- a/keyboards/kbdfans/kbd67/hotswap/keyboard.json +++ b/keyboards/kbdfans/kbd67/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD67 Hotswap", "manufacturer": "KBDFans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B42", diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json b/keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json index 06f9238483..397f525f7a 100644 --- a/keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json +++ b/keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD67-MKII Soldered", "manufacturer": "KBDfans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xA103", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kbdfans/kbd67/mkiirgb/info.json b/keyboards/kbdfans/kbd67/mkiirgb/info.json index 1371370357..683503b4ee 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/info.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/info.json @@ -1,5 +1,6 @@ { "manufacturer": "KBDfans", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x4B42" diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json index f55a649f43..a90fd8b26b 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json @@ -44,6 +44,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json index 916ee0f33a..561c4df2ac 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json @@ -41,6 +41,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json index ed47182ae5..79853d2d0f 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json @@ -60,6 +60,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json index 5000f8fb0a..b8e9fdaf1c 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD67MKIIRGB ISO", "manufacturer": "KBDfans", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x4B42", diff --git a/keyboards/kbdfans/kbd67/rev1/keyboard.json b/keyboards/kbdfans/kbd67/rev1/keyboard.json index 04f88cecd2..ba91317906 100644 --- a/keyboards/kbdfans/kbd67/rev1/keyboard.json +++ b/keyboards/kbdfans/kbd67/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD67 Rev1", "manufacturer": "KBDfans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B42", diff --git a/keyboards/kbdfans/kbd67/rev2/keyboard.json b/keyboards/kbdfans/kbd67/rev2/keyboard.json index bbfbdd6257..1e9d87ba0d 100644 --- a/keyboards/kbdfans/kbd67/rev2/keyboard.json +++ b/keyboards/kbdfans/kbd67/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD67 Rev2", "manufacturer": "KBDfans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B42", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/kbd6x/keyboard.json b/keyboards/kbdfans/kbd6x/keyboard.json index ed63da9886..c2b9f28b63 100644 --- a/keyboards/kbdfans/kbd6x/keyboard.json +++ b/keyboards/kbdfans/kbd6x/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD6X", "manufacturer": "KBDfans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B42", @@ -10,6 +11,7 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/kbdfans/kbd75/rev1/keyboard.json b/keyboards/kbdfans/kbd75/rev1/keyboard.json index 900e5dbd78..01429c8ebb 100644 --- a/keyboards/kbdfans/kbd75/rev1/keyboard.json +++ b/keyboards/kbdfans/kbd75/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD75 rev1", "manufacturer": "KBDfans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B42", diff --git a/keyboards/kbdfans/kbd75/rev2/keyboard.json b/keyboards/kbdfans/kbd75/rev2/keyboard.json index e0f862d40f..322eba661a 100644 --- a/keyboards/kbdfans/kbd75/rev2/keyboard.json +++ b/keyboards/kbdfans/kbd75/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD75 rev2", "manufacturer": "KBDfans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B42", diff --git a/keyboards/kbdfans/kbd75/rules.mk b/keyboards/kbdfans/kbd75/rules.mk new file mode 100644 index 0000000000..5c46171316 --- /dev/null +++ b/keyboards/kbdfans/kbd75/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kbdfans/kbd75/rev1 diff --git a/keyboards/kbdfans/kbd75hs/keyboard.json b/keyboards/kbdfans/kbd75hs/keyboard.json index cba3e17e9a..3545f2357d 100644 --- a/keyboards/kbdfans/kbd75hs/keyboard.json +++ b/keyboards/kbdfans/kbd75hs/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/kbd75rgb/keyboard.json b/keyboards/kbdfans/kbd75rgb/keyboard.json index 6a69d78c03..9a5f7a6908 100644 --- a/keyboards/kbdfans/kbd75rgb/keyboard.json +++ b/keyboards/kbdfans/kbd75rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD75RGB", "manufacturer": "KBDfans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B42", @@ -69,6 +70,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kbdfans/kbd8x/keyboard.json b/keyboards/kbdfans/kbd8x/keyboard.json index 3e6aa88d4d..fe0106165d 100644 --- a/keyboards/kbdfans/kbd8x/keyboard.json +++ b/keyboards/kbdfans/kbd8x/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD8X", "manufacturer": "KBDfans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kbdfans/kbd8x_mk2/keyboard.json b/keyboards/kbdfans/kbd8x_mk2/keyboard.json index ff566fd864..b5d1ee6a25 100644 --- a/keyboards/kbdfans/kbd8x_mk2/keyboard.json +++ b/keyboards/kbdfans/kbd8x_mk2/keyboard.json @@ -12,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/kbdmini/keyboard.json b/keyboards/kbdfans/kbdmini/keyboard.json index 97edf073e6..8f2dade705 100644 --- a/keyboards/kbdfans/kbdmini/keyboard.json +++ b/keyboards/kbdfans/kbdmini/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBDMINI", "manufacturer": "DZTECH", + "url": "", "maintainer": "KBDFans", "usb": { "vid": "0xFEED", @@ -41,6 +42,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/kbdpad/mk1/keyboard.json b/keyboards/kbdfans/kbdpad/mk1/keyboard.json index ce9bf7cde5..10de0d0436 100644 --- a/keyboards/kbdfans/kbdpad/mk1/keyboard.json +++ b/keyboards/kbdfans/kbdpad/mk1/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/kbdfans/kbdpad/mk2/keyboard.json b/keyboards/kbdfans/kbdpad/mk2/keyboard.json index 6c7dba1293..c4af51f034 100644 --- a/keyboards/kbdfans/kbdpad/mk2/keyboard.json +++ b/keyboards/kbdfans/kbdpad/mk2/keyboard.json @@ -12,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/kbdpad/mk3/keyboard.json b/keyboards/kbdfans/kbdpad/mk3/keyboard.json index 2fad479bad..7c741f7633 100644 --- a/keyboards/kbdfans/kbdpad/mk3/keyboard.json +++ b/keyboards/kbdfans/kbdpad/mk3/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/maja/keyboard.json b/keyboards/kbdfans/maja/keyboard.json index 949dd09fe2..c307f78637 100644 --- a/keyboards/kbdfans/maja/keyboard.json +++ b/keyboards/kbdfans/maja/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Maja", "manufacturer": "KBDFans", + "url": "", "maintainer": "DZTECH", "usb": { "vid": "0x4B42", @@ -46,6 +47,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/maja_soldered/keyboard.json b/keyboards/kbdfans/maja_soldered/keyboard.json index 5c6e13efef..f182ef97d1 100644 --- a/keyboards/kbdfans/maja_soldered/keyboard.json +++ b/keyboards/kbdfans/maja_soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Maja Soldered", "manufacturer": "KBDFans", + "url": "", "maintainer": "DZTECH", "usb": { "vid": "0x4B42", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kbdfans/niu_mini/keyboard.json b/keyboards/kbdfans/niu_mini/keyboard.json index 766d63d366..4c7d6f6d50 100644 --- a/keyboards/kbdfans/niu_mini/keyboard.json +++ b/keyboards/kbdfans/niu_mini/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NIU Mini", "manufacturer": "KBDFans", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6E6D", diff --git a/keyboards/kbdfans/odin/rgb/keyboard.json b/keyboards/kbdfans/odin/rgb/keyboard.json index 1fb5a833ec..1777e2cdc0 100644 --- a/keyboards/kbdfans/odin/rgb/keyboard.json +++ b/keyboards/kbdfans/odin/rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Odin RGB", "manufacturer": "KBDFans", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x4B42", @@ -64,6 +65,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/odin/soldered/keyboard.json b/keyboards/kbdfans/odin/soldered/keyboard.json index 1f2fbff5d0..42a8a0e056 100644 --- a/keyboards/kbdfans/odin/soldered/keyboard.json +++ b/keyboards/kbdfans/odin/soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Odin Soldered", "manufacturer": "KBDFans", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x4B42", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kbdfans/odin/v2/keyboard.json b/keyboards/kbdfans/odin/v2/keyboard.json index 88a133ce70..595a5596fe 100644 --- a/keyboards/kbdfans/odin/v2/keyboard.json +++ b/keyboards/kbdfans/odin/v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Odin V2", "manufacturer": "KBDFans", + "url": "", "maintainer": "lexbrugman", "usb": { "vid": "0x4B42", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kbdfans/odin75/halconf.h b/keyboards/kbdfans/odin75/halconf.h index 15cb9895ba..0218214174 100644 --- a/keyboards/kbdfans/odin75/halconf.h +++ b/keyboards/kbdfans/odin75/halconf.h @@ -16,6 +16,13 @@ #pragma once +#include_next + +#undef HAL_USE_SPI #define HAL_USE_SPI TRUE -#include_next +#undef SPI_USE_WAIT +#define SPI_USE_WAIT TRUE + +#undef SPI_SELECT_MODE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD diff --git a/keyboards/kbdfans/odin75/keyboard.json b/keyboards/kbdfans/odin75/keyboard.json index 2bc63d7561..b6fb124c93 100644 --- a/keyboards/kbdfans/odin75/keyboard.json +++ b/keyboards/kbdfans/odin75/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -13,7 +15,8 @@ "wpm": true }, "indicators": { - "caps_lock": "GP29" + "caps_lock": "GP29", + "on_state": 1 }, "matrix_pins": { "cols": ["GP19", "GP18", "GP17", "GP16", "GP15", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP8", "GP7", "GP6", "GP3", "GP4"], diff --git a/keyboards/kbdfans/odinmini/keyboard.json b/keyboards/kbdfans/odinmini/keyboard.json index e5d43d278a..a9cb1a798f 100644 --- a/keyboards/kbdfans/odinmini/keyboard.json +++ b/keyboards/kbdfans/odinmini/keyboard.json @@ -6,6 +6,7 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -34,6 +35,7 @@ "twinkle": true }, "brightness_steps": 8, + "hue_steps": 8, "led_count": 4, "max_brightness": 180, "saturation_steps": 8, diff --git a/keyboards/kbdfans/phaseone/keyboard.json b/keyboards/kbdfans/phaseone/keyboard.json index 1c6894cc8e..fcc6bdc7b3 100644 --- a/keyboards/kbdfans/phaseone/keyboard.json +++ b/keyboards/kbdfans/phaseone/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Phase One", "manufacturer": "KBDFans", + "url": "", "maintainer": "moyi4681", "usb": { "vid": "0x4B42", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kbdfans/tiger80/keyboard.json b/keyboards/kbdfans/tiger80/keyboard.json index a507c5c682..9761cb892d 100644 --- a/keyboards/kbdfans/tiger80/keyboard.json +++ b/keyboards/kbdfans/tiger80/keyboard.json @@ -5,6 +5,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -17,6 +19,7 @@ "diode_direction": "COL2ROW", "indicators": { "caps_lock": "C7", + "on_state": 1, "scroll_lock": "B2" }, "processor": "atmega32u4", @@ -45,6 +48,7 @@ "ws2812": { "pin": "B3" }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x0011", diff --git a/keyboards/kbnordic/nordic60/rev_a/keyboard.json b/keyboards/kbnordic/nordic60/rev_a/keyboard.json index f9b0fcafba..0b1da369b3 100644 --- a/keyboards/kbnordic/nordic60/rev_a/keyboard.json +++ b/keyboards/kbnordic/nordic60/rev_a/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/kbnordic/nordic65/rev_a/keyboard.json b/keyboards/kbnordic/nordic65/rev_a/keyboard.json index a8bee1f378..8cd90949ea 100644 --- a/keyboards/kbnordic/nordic65/rev_a/keyboard.json +++ b/keyboards/kbnordic/nordic65/rev_a/keyboard.json @@ -12,6 +12,8 @@ "bootloader": "stm32-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "key_lock": true, "mousekey": false, diff --git a/keyboards/kc60/keyboard.json b/keyboards/kc60/keyboard.json index f7ee4e785b..fc21477163 100644 --- a/keyboards/kc60/keyboard.json +++ b/keyboards/kc60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KC60", "manufacturer": "NPKC", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x530A", diff --git a/keyboards/kc60se/keyboard.json b/keyboards/kc60se/keyboard.json index 76a715f589..c8bdf24a4b 100644 --- a/keyboards/kc60se/keyboard.json +++ b/keyboards/kc60se/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "kc60se", "manufacturer": "Unknown", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/keebart/sofle_choc_pro/config.h b/keyboards/keebart/sofle_choc_pro/config.h deleted file mode 100644 index 5c9b6ff8f1..0000000000 --- a/keyboards/keebart/sofle_choc_pro/config.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define USB_VBUS_PIN GP13 - -/* RP2040- and hardware-specific config */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U -#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 diff --git a/keyboards/keebart/sofle_choc_pro/keyboard.json b/keyboards/keebart/sofle_choc_pro/keyboard.json deleted file mode 100644 index a1ba222388..0000000000 --- a/keyboards/keebart/sofle_choc_pro/keyboard.json +++ /dev/null @@ -1,235 +0,0 @@ -{ - "manufacturer": "Keebart", - "keyboard_name": "sofle_choc_pro", - "maintainer": "Keebart", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "GP23", "pin_b": "GP22"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP27", "GP26", "GP25", "GP24", "GP19", "GP18"], - "rows": ["GP0", "GP1", "GP2", "GP3", "GP4"] - }, - "processor": "RP2040", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [4, 5], "x": 99, "y": 38, "flags": 4}, - {"matrix": [4, 4], "x": 91, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 77, "y": 60, "flags": 4}, - {"matrix": [3, 5], "x": 82, "y": 45, "flags": 4}, - {"matrix": [2, 5], "x": 82, "y": 31, "flags": 4}, - {"matrix": [1, 5], "x": 82, "y": 17, "flags": 4}, - {"matrix": [0, 5], "x": 82, "y": 3, "flags": 4}, - {"matrix": [0, 4], "x": 66, "y": 2, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 16, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 29, "flags": 4}, - {"matrix": [3, 4], "x": 66, "y": 43, "flags": 4}, - {"matrix": [4, 2], "x": 58, "y": 59, "flags": 4}, - {"matrix": [4, 1], "x": 41, "y": 59, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 41, "flags": 4}, - {"matrix": [2, 3], "x": 49, "y": 28, "flags": 4}, - {"matrix": [1, 3], "x": 49, "y": 16, "flags": 4}, - {"matrix": [0, 3], "x": 49, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 33, "y": 2, "flags": 4}, - {"matrix": [1, 2], "x": 33, "y": 16, "flags": 4}, - {"matrix": [2, 2], "x": 33, "y": 29, "flags": 4}, - {"matrix": [3, 2], "x": 33, "y": 43, "flags": 4}, - {"matrix": [4, 0], "x": 25, "y": 60, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 47, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 33, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 19, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 5, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 5, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 19, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 33, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 47, "flags": 4}, - {"matrix": [9, 5], "x": 125, "y": 38, "flags": 4}, - {"matrix": [9, 4], "x": 134, "y": 64, "flags": 4}, - {"matrix": [9, 3], "x": 147, "y": 60, "flags": 4}, - {"matrix": [8, 5], "x": 142, "y": 45, "flags": 4}, - {"matrix": [7, 5], "x": 142, "y": 31, "flags": 4}, - {"matrix": [6, 5], "x": 142, "y": 17, "flags": 4}, - {"matrix": [5, 5], "x": 142, "y": 3, "flags": 4}, - {"matrix": [5, 4], "x": 158, "y": 2, "flags": 4}, - {"matrix": [6, 4], "x": 158, "y": 16, "flags": 4}, - {"matrix": [7, 4], "x": 158, "y": 29, "flags": 4}, - {"matrix": [8, 4], "x": 158, "y": 43, "flags": 4}, - {"matrix": [9, 2], "x": 166, "y": 59, "flags": 4}, - {"matrix": [9, 1], "x": 183, "y": 59, "flags": 4}, - {"matrix": [8, 3], "x": 175, "y": 41, "flags": 4}, - {"matrix": [7, 3], "x": 175, "y": 28, "flags": 4}, - {"matrix": [6, 3], "x": 175, "y": 16, "flags": 4}, - {"matrix": [5, 3], "x": 175, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 191, "y": 2, "flags": 4}, - {"matrix": [6, 2], "x": 191, "y": 16, "flags": 4}, - {"matrix": [7, 2], "x": 191, "y": 29, "flags": 4}, - {"matrix": [8, 2], "x": 191, "y": 43, "flags": 4}, - {"matrix": [9, 0], "x": 199, "y": 60, "flags": 4}, - {"matrix": [8, 1], "x": 208, "y": 47, "flags": 4}, - {"matrix": [7, 1], "x": 208, "y": 33, "flags": 4}, - {"matrix": [6, 1], "x": 208, "y": 19, "flags": 4}, - {"matrix": [5, 1], "x": 208, "y": 5, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 5, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 19, "flags": 4}, - {"matrix": [7, 0], "x": 224, "y": 33, "flags": 4}, - {"matrix": [8, 0], "x": 224, "y": 47, "flags": 4} - ], - "max_brightness": 50, - "sleep": true, - "split_count": [30, 30] - }, - "split": { - "bootmagic": { - "matrix": [5, 0] - }, - "enabled": true, - "handedness": { - "pin": "GP21" - }, - "serial": { - "driver": "vendor", - "pin": "GP12" - }, - "transport": { - "sync": { - "indicators": true, - "layer_state": true, - "matrix_state": true - } - } - }, - "url": "https://keebart.com/products/sofle", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "suspend_wakeup_delay": 200, - "vid": "0xFEED" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP10" - }, - "layouts": { - "LAYOUT_split_4x6_5": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.375}, - {"matrix": [0, 1], "x": 1, "y": 0.375}, - {"matrix": [0, 2], "x": 2, "y": 0.125}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.125}, - {"matrix": [0, 5], "x": 5, "y": 0.25}, - {"matrix": [5, 5], "x": 9, "y": 0.25}, - {"matrix": [5, 4], "x": 10, "y": 0.125}, - {"matrix": [5, 3], "x": 11, "y": 0}, - {"matrix": [5, 2], "x": 12, "y": 0.125}, - {"matrix": [5, 1], "x": 13, "y": 0.375}, - {"matrix": [5, 0], "x": 14, "y": 0.375}, - {"matrix": [1, 0], "x": 0, "y": 1.375}, - {"matrix": [1, 1], "x": 1, "y": 1.375}, - {"matrix": [1, 2], "x": 2, "y": 1.125}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1.125}, - {"matrix": [1, 5], "x": 5, "y": 1.25}, - {"matrix": [6, 5], "x": 9, "y": 1.25}, - {"matrix": [6, 4], "x": 10, "y": 1.125}, - {"matrix": [6, 3], "x": 11, "y": 1}, - {"matrix": [6, 2], "x": 12, "y": 1.125}, - {"matrix": [6, 1], "x": 13, "y": 1.375}, - {"matrix": [6, 0], "x": 14, "y": 1.375}, - {"matrix": [2, 0], "x": 0, "y": 2.375}, - {"matrix": [2, 1], "x": 1, "y": 2.375}, - {"matrix": [2, 2], "x": 2, "y": 2.125}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2.125}, - {"matrix": [2, 5], "x": 5, "y": 2.25}, - {"matrix": [7, 5], "x": 9, "y": 2.25}, - {"matrix": [7, 4], "x": 10, "y": 2.125}, - {"matrix": [7, 3], "x": 11, "y": 2}, - {"matrix": [7, 2], "x": 12, "y": 2.125}, - {"matrix": [7, 1], "x": 13, "y": 2.375}, - {"matrix": [7, 0], "x": 14, "y": 2.375}, - {"matrix": [3, 0], "x": 0, "y": 3.375}, - {"matrix": [3, 1], "x": 1, "y": 3.375}, - {"matrix": [3, 2], "x": 2, "y": 3.125}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3.125}, - {"matrix": [3, 5], "x": 5, "y": 3.25}, - {"matrix": [4, 5], "x": 6, "y": 2.75}, - {"matrix": [9, 5], "x": 8, "y": 2.75}, - {"matrix": [8, 5], "x": 9, "y": 3.25}, - {"matrix": [8, 4], "x": 10, "y": 3.125}, - {"matrix": [8, 3], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3.125}, - {"matrix": [8, 1], "x": 13, "y": 3.375}, - {"matrix": [8, 0], "x": 14, "y": 3.375}, - {"matrix": [4, 0], "x": 1.5, "y": 4.375}, - {"matrix": [4, 1], "x": 2.5, "y": 4.25}, - {"matrix": [4, 2], "x": 3.5, "y": 4.25}, - {"matrix": [4, 3], "x": 4.5, "y": 4.375}, - {"matrix": [4, 4], "x": 6, "y": 4.375, "h": 1.5}, - {"matrix": [9, 4], "x": 8, "y": 4.375, "h": 1.5}, - {"matrix": [9, 3], "x": 9.5, "y": 4.375}, - {"matrix": [9, 2], "x": 10.5, "y": 4.25}, - {"matrix": [9, 1], "x": 11.5, "y": 4.25}, - {"matrix": [9, 0], "x": 12.5, "y": 4.375} - ] - } - } -} diff --git a/keyboards/keebart/sofle_choc_pro/keymaps/default/keymap.c b/keyboards/keebart/sofle_choc_pro/keymaps/default/keymap.c deleted file mode 100644 index c6f33d9c56..0000000000 --- a/keyboards/keebart/sofle_choc_pro/keymaps/default/keymap.c +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum layers { - BASE, // default layer - MDIA, // media keys -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - * QWERTY - * ,-----------------------------------------. ,-----------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bspc | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | CAPS | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | - * |------+------+------+------+------+------| Mute | | Pause |------+------+------+------+------+------| - * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift| - * `-----------------------------------------/ / \ \-----------------------------------------' - * | LCTL | LALT | LCMD | LGUI | /Enter / \Space \ | RGUI | DEL | RALT | RCTL | - * | | | | LT1 |/ / \ \ | LT1 | | | | - * `----------------------------------' '------''---------------------------' - */ - -[BASE] = LAYOUT_split_4x6_5( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LALT, KC_LCMD, LT(MDIA,KC_LGUI), KC_ENT, KC_SPC, LT(MDIA,KC_RGUI), KC_DEL, KC_RALT, KC_RCTL -), -[MDIA] = LAYOUT_split_4x6_5( - KC_MUTE,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, - RM_TOGG,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, - RM_NEXT,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, - RM_HUEU,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______, - _______,_______,_______,_______, _______, _______, _______,_______,_______,_______ -) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, - [MDIA] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } -}; -#endif diff --git a/keyboards/keebart/sofle_choc_pro/keymaps/default/rules.mk b/keyboards/keebart/sofle_choc_pro/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/keebart/sofle_choc_pro/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keebart/sofle_choc_pro/readme.md b/keyboards/keebart/sofle_choc_pro/readme.md deleted file mode 100644 index 8f0e797be0..0000000000 --- a/keyboards/keebart/sofle_choc_pro/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# Sofle Choc Pro - -![sofle_choc_pro](https://i.imgur.com/q9A2HMe.jpeg) - -A complete remake of the Sofle Choc Keyboard by Josef Adamčík. Featuring an onboard RP2040 with 128 MB flash -memory and choc-spaced keys for a more compact keyboard. - -- Keyboard Maintainer: [Keebart](https://github.com/Keebart) -- Hardware Supported: RP2040 -- Hardware Availability: [Keebart Shop](https://keebart.com/products/sofle) - -Make example for this keyboard (after setting up your build environment): - - make keebart/sofle_choc_pro:default - -Flashing example for this keyboard: - - make keebart/sofle_choc_pro:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -- **Bootmagic reset**: Hold down the top left key of the left side of the keyboard while connecting the left side to the computer. Similarly, hold down the top right key of the right side of the keyboard while connecting the right side to the computer. -- **Physical reset button**: Briefly press the button on the back of the PCB -- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/keebformom/keyboard.json b/keyboards/keebformom/keyboard.json index 7fbaa5737f..b1ffee0f3d 100644 --- a/keyboards/keebformom/keyboard.json +++ b/keyboards/keebformom/keyboard.json @@ -1,5 +1,6 @@ { "keyboard_name": "Keeb For Mom", + "url": "", "maintainer": "qmk", "manufacturer": "nendezkombet/sandipratama", "usb": { diff --git a/keyboards/keebio/bamfk4/keyboard.json b/keyboards/keebio/bamfk4/keyboard.json index 08b3900766..829395d671 100644 --- a/keyboards/keebio/bamfk4/keyboard.json +++ b/keyboards/keebio/bamfk4/keyboard.json @@ -80,6 +80,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/keebio/bdn9/keymaps/default/config.h b/keyboards/keebio/bdn9/keymaps/default/config.h new file mode 100644 index 0000000000..e09fba9232 --- /dev/null +++ b/keyboards/keebio/bdn9/keymaps/default/config.h @@ -0,0 +1,5 @@ +#pragma once + +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_KEYPRESSES +#endif diff --git a/keyboards/keebio/bdn9/rev3/config.h b/keyboards/keebio/bdn9/rev3/config.h deleted file mode 100644 index 3afa37bce1..0000000000 --- a/keyboards/keebio/bdn9/rev3/config.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2025 Danny Nguyen (@nooges) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* Defines for the RGB matrix */ -#ifdef RGB_MATRIX_ENABLE -# define WS2812_PWM_DRIVER PWMD15 -# define WS2812_PWM_CHANNEL 2 -# define WS2812_PWM_PAL_MODE 1 -# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 -# define WS2812_DMA_CHANNEL 2 -# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM15_UP -#endif diff --git a/keyboards/keebio/bdn9/rev3/halconf.h b/keyboards/keebio/bdn9/rev3/halconf.h deleted file mode 100644 index 969d6e5512..0000000000 --- a/keyboards/keebio/bdn9/rev3/halconf.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2025 Danny Nguyen (@nooges) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/keebio/bdn9/rev3/keyboard.json b/keyboards/keebio/bdn9/rev3/keyboard.json deleted file mode 100644 index e180c04e2a..0000000000 --- a/keyboards/keebio/bdn9/rev3/keyboard.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "keyboard_name": "BDN9 Rev. 3", - "bootloader": "stm32-dfu", - "encoder": { - "rotary": [ - {"pin_a": "A8", "pin_b": "A4"}, - {"pin_a": "B3", "pin_b": "A15"}, - {"pin_a": "A10", "pin_b": "A9"} - ] - }, - "features": { - "bootmagic": true, - "command": true, - "console": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "rgb_matrix": true - }, - "matrix_pins": { - "direct": [ - ["B12", "B5", "B6"], - ["B14", "B4", "B7"], - ["A3", "F1", "F0"] - ] - }, - "processor": "STM32G431", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [1, 1], "x": 112, "y": 32, "flags": 4}, - {"matrix": [1, 2], "x": 224, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [2, 1], "x": 112, "y": 64, "flags": 4}, - {"matrix": [2, 2], "x": 224, "y": 64, "flags": 4}, - {"x": 56, "y": 64, "flags": 2}, - {"x": 168, "y": 64, "flags": 2} - ] - }, - "usb": { - "device_version": "3.0.0", - "pid": "0x3133" - }, - "ws2812": { - "driver": "pwm", - "pin": "B15" - } -} diff --git a/keyboards/keebio/bdn9/rev3/mcuconf.h b/keyboards/keebio/bdn9/rev3/mcuconf.h deleted file mode 100644 index 0b109bf791..0000000000 --- a/keyboards/keebio/bdn9/rev3/mcuconf.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2025 Danny Nguyen (@nooges) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -/* enable TIM15, used for RGB LED PWM driver */ -#undef STM32_PWM_USE_TIM15 -#define STM32_PWM_USE_TIM15 TRUE diff --git a/keyboards/keebio/bdn9/rev3/rev3.c b/keyboards/keebio/bdn9/rev3/rev3.c deleted file mode 100644 index f15abf9d85..0000000000 --- a/keyboards/keebio/bdn9/rev3/rev3.c +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2025 Danny Nguyen (@nooges) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -void keyboard_pre_init_kb(void) { - // Disable the PD peripheral in pre-init because its pins (B4, B6) are being used in the matrix: - PWR->CR3 |= PWR_CR3_UCPD_DBDIS; - // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) - keyboard_pre_init_user(); -} -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { return false; } - if (index == 0) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - else if (index == 1) { - if (clockwise) { - tap_code(KC_DOWN); - } else { - tap_code(KC_UP); - } - } - else if (index == 2) { - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } - return false; -} diff --git a/keyboards/keebio/bdn9/rules.mk b/keyboards/keebio/bdn9/rules.mk new file mode 100644 index 0000000000..431a8ad027 --- /dev/null +++ b/keyboards/keebio/bdn9/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keebio/bdn9/rev1 diff --git a/keyboards/keebio/bfo9000/keyboard.json b/keyboards/keebio/bfo9000/keyboard.json index 08d9997d43..2dcc6076a0 100644 --- a/keyboards/keebio/bfo9000/keyboard.json +++ b/keyboards/keebio/bfo9000/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/keebio/bigswitchseat/keyboard.json b/keyboards/keebio/bigswitchseat/keyboard.json index d6cf6b3799..3d6ce65bde 100644 --- a/keyboards/keebio/bigswitchseat/keyboard.json +++ b/keyboards/keebio/bigswitchseat/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/keebio/cepstrum/info.json b/keyboards/keebio/cepstrum/info.json index cb41e89ff6..250b886d8b 100644 --- a/keyboards/keebio/cepstrum/info.json +++ b/keyboards/keebio/cepstrum/info.json @@ -7,6 +7,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keebio/chiri_ce/rev1/keyboard.json b/keyboards/keebio/chiri_ce/rev1/keyboard.json index 9cf7f51654..f118a4dd1e 100644 --- a/keyboards/keebio/chiri_ce/rev1/keyboard.json +++ b/keyboards/keebio/chiri_ce/rev1/keyboard.json @@ -128,9 +128,7 @@ "driver": "vendor" }, "transport": { - "sync": { - "matrix_state": true - } + "sync_matrix_state": true } }, "usb": { diff --git a/keyboards/keebio/convolution/info.json b/keyboards/keebio/convolution/info.json index 5ab3a0226c..9ea761c1a9 100644 --- a/keyboards/keebio/convolution/info.json +++ b/keyboards/keebio/convolution/info.json @@ -6,6 +6,7 @@ "vid": "0xCB10" }, "features": { + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/keebio/convolution/rules.mk b/keyboards/keebio/convolution/rules.mk new file mode 100644 index 0000000000..9df8bd1c47 --- /dev/null +++ b/keyboards/keebio/convolution/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keebio/convolution/rev1 diff --git a/keyboards/keebio/dilly/keyboard.json b/keyboards/keebio/dilly/keyboard.json index 82a565ae62..83bf1eac9d 100644 --- a/keyboards/keebio/dilly/keyboard.json +++ b/keyboards/keebio/dilly/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dilly", "manufacturer": "Keebio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xCB10", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/keebio/dsp40/rules.mk b/keyboards/keebio/dsp40/rules.mk new file mode 100644 index 0000000000..3e8e9be18c --- /dev/null +++ b/keyboards/keebio/dsp40/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keebio/dsp40/rev1 diff --git a/keyboards/keebio/ergodicity/keyboard.json b/keyboards/keebio/ergodicity/keyboard.json index 6f755ba45c..f1b1649f8a 100644 --- a/keyboards/keebio/ergodicity/keyboard.json +++ b/keyboards/keebio/ergodicity/keyboard.json @@ -11,6 +11,7 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keebio/ergodicity/readme.md b/keyboards/keebio/ergodicity/readme.md index 61f4ee658c..0f841d6e3e 100644 --- a/keyboards/keebio/ergodicity/readme.md +++ b/keyboards/keebio/ergodicity/readme.md @@ -1,5 +1,9 @@ # Ergodicity +![ergodicity](imgur.com image replace me!) + +A short description of the keyboard/project + Keyboard Maintainer: [nooges/bakingpy](https://github.com/nooges) Hardware Supported: Ergodicity PCB w/ATmega32u4 Hardware Availability: [Keebio](https://keeb.io) diff --git a/keyboards/keebio/foldkb/rules.mk b/keyboards/keebio/foldkb/rules.mk new file mode 100644 index 0000000000..6a0522a902 --- /dev/null +++ b/keyboards/keebio/foldkb/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keebio/foldkb/rev1 diff --git a/keyboards/keebio/fourier/keyboard.json b/keyboards/keebio/fourier/keyboard.json index ae4985787d..057598a259 100644 --- a/keyboards/keebio/fourier/keyboard.json +++ b/keyboards/keebio/fourier/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/keebio/iris/rev1/keyboard.json b/keyboards/keebio/iris/rev1/keyboard.json index fbccf0de84..f9c1573a15 100644 --- a/keyboards/keebio/iris/rev1/keyboard.json +++ b/keyboards/keebio/iris/rev1/keyboard.json @@ -7,6 +7,7 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/keebio/iris/rev1_led/keyboard.json b/keyboards/keebio/iris/rev1_led/keyboard.json index cb171fcec3..69f14d8494 100644 --- a/keyboards/keebio/iris/rev1_led/keyboard.json +++ b/keyboards/keebio/iris/rev1_led/keyboard.json @@ -7,6 +7,7 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/keebio/iris/rev5/keyboard.json b/keyboards/keebio/iris/rev5/keyboard.json index 9c7f04c786..043ecdb95e 100644 --- a/keyboards/keebio/iris/rev5/keyboard.json +++ b/keyboards/keebio/iris/rev5/keyboard.json @@ -7,6 +7,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/keebio/iris_ce/rev1/keyboard.json b/keyboards/keebio/iris_ce/rev1/keyboard.json index 5276d626b1..c5cab98778 100644 --- a/keyboards/keebio/iris_ce/rev1/keyboard.json +++ b/keyboards/keebio/iris_ce/rev1/keyboard.json @@ -148,9 +148,7 @@ "driver": "vendor" }, "transport": { - "sync":{ - "matrix_state": true - } + "sync_matrix_state": true } }, "usb": { diff --git a/keyboards/keebio/kbo5000/rules.mk b/keyboards/keebio/kbo5000/rules.mk new file mode 100644 index 0000000000..06d2f2f412 --- /dev/null +++ b/keyboards/keebio/kbo5000/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keebio/kbo5000/rev1 diff --git a/keyboards/keebio/laplace/keyboard.json b/keyboards/keebio/laplace/keyboard.json index 3a2ed70905..22cced0ee3 100644 --- a/keyboards/keebio/laplace/keyboard.json +++ b/keyboards/keebio/laplace/keyboard.json @@ -28,6 +28,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/keebio/levinson/rules.mk b/keyboards/keebio/levinson/rules.mk new file mode 100644 index 0000000000..44cdce9d12 --- /dev/null +++ b/keyboards/keebio/levinson/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keebio/levinson/rev2 diff --git a/keyboards/keebio/nyquist/rev1/keyboard.json b/keyboards/keebio/nyquist/rev1/keyboard.json index f684332bdb..ef20252c53 100644 --- a/keyboards/keebio/nyquist/rev1/keyboard.json +++ b/keyboards/keebio/nyquist/rev1/keyboard.json @@ -7,6 +7,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/keebio/nyquist/rev2/keyboard.json b/keyboards/keebio/nyquist/rev2/keyboard.json index dede204981..d327d74599 100644 --- a/keyboards/keebio/nyquist/rev2/keyboard.json +++ b/keyboards/keebio/nyquist/rev2/keyboard.json @@ -7,6 +7,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/keebio/nyquist/rev3/keyboard.json b/keyboards/keebio/nyquist/rev3/keyboard.json index bdc7be0e4e..f1aa1522f7 100644 --- a/keyboards/keebio/nyquist/rev3/keyboard.json +++ b/keyboards/keebio/nyquist/rev3/keyboard.json @@ -7,6 +7,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/keebio/quefrency/rules.mk b/keyboards/keebio/quefrency/rules.mk new file mode 100644 index 0000000000..fb40fc8a56 --- /dev/null +++ b/keyboards/keebio/quefrency/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keebio/quefrency/rev1 diff --git a/keyboards/keebio/rorschach/rules.mk b/keyboards/keebio/rorschach/rules.mk new file mode 100644 index 0000000000..6cdac68a4e --- /dev/null +++ b/keyboards/keebio/rorschach/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keebio/rorschach/rev1 diff --git a/keyboards/keebio/sinc/info.json b/keyboards/keebio/sinc/info.json index 87be01da9a..aa1e08f39d 100644 --- a/keyboards/keebio/sinc/info.json +++ b/keyboards/keebio/sinc/info.json @@ -7,6 +7,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/keebio/sinc/rules.mk b/keyboards/keebio/sinc/rules.mk new file mode 100644 index 0000000000..1419957479 --- /dev/null +++ b/keyboards/keebio/sinc/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keebio/sinc/rev1 diff --git a/keyboards/keebio/stick/keyboard.json b/keyboards/keebio/stick/keyboard.json index 93d78837eb..2e2b3539ab 100644 --- a/keyboards/keebio/stick/keyboard.json +++ b/keyboards/keebio/stick/keyboard.json @@ -87,6 +87,8 @@ "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keebio/tragicforce68/keyboard.json b/keyboards/keebio/tragicforce68/keyboard.json index 3173ed3f50..f2f27a7194 100644 --- a/keyboards/keebio/tragicforce68/keyboard.json +++ b/keyboards/keebio/tragicforce68/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/keebio/viterbi/rules.mk b/keyboards/keebio/viterbi/rules.mk new file mode 100644 index 0000000000..ecf6a3fa87 --- /dev/null +++ b/keyboards/keebio/viterbi/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keebio/viterbi/rev2 diff --git a/keyboards/keebio/wtf60/keyboard.json b/keyboards/keebio/wtf60/keyboard.json index 7f9dfd0dcd..2c14740eff 100644 --- a/keyboards/keebio/wtf60/keyboard.json +++ b/keyboards/keebio/wtf60/keyboard.json @@ -34,6 +34,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/keebmonkey/kbmg68/keyboard.json b/keyboards/keebmonkey/kbmg68/keyboard.json index 647f0ecf95..5cb0fa0e45 100644 --- a/keyboards/keebmonkey/kbmg68/keyboard.json +++ b/keyboards/keebmonkey/kbmg68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "kbmg68", "manufacturer": "KeebMonkey", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -30,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/keebsforall/freebird60/keyboard.json b/keyboards/keebsforall/freebird60/keyboard.json index a57600e884..3c4df7472a 100644 --- a/keyboards/keebsforall/freebird60/keyboard.json +++ b/keyboards/keebsforall/freebird60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Freebird60", "manufacturer": "KnoblesseOblige", + "url": "", "maintainer": "KnoblesseOblige", "usb": { "vid": "0xADAD", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/keebsforall/freebird75/keyboard.json b/keyboards/keebsforall/freebird75/keyboard.json index 5560d09e62..1e92ad7063 100644 --- a/keyboards/keebsforall/freebird75/keyboard.json +++ b/keyboards/keebsforall/freebird75/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["C7", "C6", "B6", "B5", "B4", "D7"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x7575", diff --git a/keyboards/keebsforall/freebirdnp/lite/keyboard.json b/keyboards/keebsforall/freebirdnp/lite/keyboard.json index 1114df98b1..af98661426 100644 --- a/keyboards/keebsforall/freebirdnp/lite/keyboard.json +++ b/keyboards/keebsforall/freebirdnp/lite/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/keebsforall/freebirdnp/pro/keyboard.json b/keyboards/keebsforall/freebirdnp/pro/keyboard.json index c6716b315a..8eae2f89f9 100644 --- a/keyboards/keebsforall/freebirdnp/pro/keyboard.json +++ b/keyboards/keebsforall/freebirdnp/pro/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keebsforall/freebirdtkl/keyboard.json b/keyboards/keebsforall/freebirdtkl/keyboard.json index a5a2f2d3c1..37a6243beb 100644 --- a/keyboards/keebsforall/freebirdtkl/keyboard.json +++ b/keyboards/keebsforall/freebirdtkl/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/keebwerk/mega/ansi/keyboard.json b/keyboards/keebwerk/mega/ansi/keyboard.json index 01f158da9a..e5a12585df 100755 --- a/keyboards/keebwerk/mega/ansi/keyboard.json +++ b/keyboards/keebwerk/mega/ansi/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Keebwerk Mega ANSI", "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "Yiancar", "usb": { "vid": "0x8968", diff --git a/keyboards/keebwerk/nano_slider/keyboard.json b/keyboards/keebwerk/nano_slider/keyboard.json index e44a2feb3e..64f59d6c10 100644 --- a/keyboards/keebwerk/nano_slider/keyboard.json +++ b/keyboards/keebwerk/nano_slider/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "nano. slider", "manufacturer": "keebwerk.", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x03A8", diff --git a/keyboards/keebzdotnet/fme/keyboard.json b/keyboards/keebzdotnet/fme/keyboard.json index 49118c32e6..d7b9ebca0c 100644 --- a/keyboards/keebzdotnet/fme/keyboard.json +++ b/keyboards/keebzdotnet/fme/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "FMe", "manufacturer": "keebzdotnet", + "url": "", "maintainer": "keebzdotnet", "usb": { "vid": "0x4B5A", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/keebzdotnet/wazowski/keyboard.json b/keyboards/keebzdotnet/wazowski/keyboard.json index dcf14c27f3..150fa3c790 100644 --- a/keyboards/keebzdotnet/wazowski/keyboard.json +++ b/keyboards/keebzdotnet/wazowski/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/kegen/gboy/keyboard.json b/keyboards/kegen/gboy/keyboard.json index a39316328f..8c611d6664 100644 --- a/keyboards/kegen/gboy/keyboard.json +++ b/keyboards/kegen/gboy/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kelwin/utopia88/keyboard.json b/keyboards/kelwin/utopia88/keyboard.json index d73be1dd27..406642d41c 100644 --- a/keyboards/kelwin/utopia88/keyboard.json +++ b/keyboards/kelwin/utopia88/keyboard.json @@ -9,6 +9,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true @@ -21,6 +23,7 @@ "rows": ["B7", "D5", "D3", "D2", "D1", "D0"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/kepler_33/proto/keyboard.json b/keyboards/kepler_33/proto/keyboard.json index 725700b787..1ac13e81f8 100644 --- a/keyboards/kepler_33/proto/keyboard.json +++ b/keyboards/kepler_33/proto/keyboard.json @@ -5,6 +5,8 @@ "bootloader": "stm32-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/keybage/radpad/keyboard.json b/keyboards/keybage/radpad/keyboard.json index 24f84477a8..84407a9310 100644 --- a/keyboards/keybage/radpad/keyboard.json +++ b/keyboards/keybage/radpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RadPad", "manufacturer": "Keybage", + "url": "", "maintainer": "Brandon Schlack", "usb": { "vid": "0x4253", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keybee/keybee65/keyboard.json b/keyboards/keybee/keybee65/keyboard.json index a2a4862836..7952378b15 100644 --- a/keyboards/keybee/keybee65/keyboard.json +++ b/keyboards/keybee/keybee65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KeyBee65", "manufacturer": "KeyBee", + "url": "", "maintainer": "ToastyStoemp", "usb": { "vid": "0x6265", @@ -19,6 +20,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/keyboardio/atreus/keyboard.json b/keyboards/keyboardio/atreus/keyboard.json index 7fee6ec54d..5185d9ee28 100644 --- a/keyboards/keyboardio/atreus/keyboard.json +++ b/keyboards/keyboardio/atreus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Atreus", "manufacturer": "Keyboardio", + "url": "", "maintainer": "keyboardio", "usb": { "vid": "0x1209", diff --git a/keyboards/keycapsss/3w6_2040/keyboard.json b/keyboards/keycapsss/3w6_2040/keyboard.json index 03305c67b6..f29b3753c6 100644 --- a/keyboards/keycapsss/3w6_2040/keyboard.json +++ b/keyboards/keycapsss/3w6_2040/keyboard.json @@ -7,6 +7,7 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -41,6 +42,7 @@ "sat": 232, "speed": 2 }, + "hue_steps": 8, "led_count": 2, "max_brightness": 100, "saturation_steps": 8, diff --git a/keyboards/keycapsss/kimiko/rules.mk b/keyboards/keycapsss/kimiko/rules.mk new file mode 100644 index 0000000000..cb9f69d6bb --- /dev/null +++ b/keyboards/keycapsss/kimiko/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keycapsss/kimiko/rev2 diff --git a/keyboards/keycapsss/o4l_5x12/keyboard.json b/keyboards/keycapsss/o4l_5x12/keyboard.json index 5a516adca0..d83bc58795 100644 --- a/keyboards/keycapsss/o4l_5x12/keyboard.json +++ b/keyboards/keycapsss/o4l_5x12/keyboard.json @@ -32,6 +32,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/keycapsss/plaid_pad/rev1/keyboard.json b/keyboards/keycapsss/plaid_pad/rev1/keyboard.json index fd85b0cff7..e4a8a8d3c8 100644 --- a/keyboards/keycapsss/plaid_pad/rev1/keyboard.json +++ b/keyboards/keycapsss/plaid_pad/rev1/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/keycapsss/plaid_pad/rev2/keyboard.json b/keyboards/keycapsss/plaid_pad/rev2/keyboard.json index 2e00961d9b..8dc84d4ee8 100644 --- a/keyboards/keycapsss/plaid_pad/rev2/keyboard.json +++ b/keyboards/keycapsss/plaid_pad/rev2/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/keycapsss/plaid_pad/rev3/keyboard.json b/keyboards/keycapsss/plaid_pad/rev3/keyboard.json index 49aadb2030..4e1d071287 100644 --- a/keyboards/keycapsss/plaid_pad/rev3/keyboard.json +++ b/keyboards/keycapsss/plaid_pad/rev3/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/keycapsss/plaid_pad/rules.mk b/keyboards/keycapsss/plaid_pad/rules.mk new file mode 100644 index 0000000000..0ab7cc3141 --- /dev/null +++ b/keyboards/keycapsss/plaid_pad/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keycapsss/plaid_pad/rev1 diff --git a/keyboards/keychron/c1_pro/info.json b/keyboards/keychron/c1_pro/info.json index d38a273d45..e40c2b9960 100644 --- a/keyboards/keychron/c1_pro/info.json +++ b/keyboards/keychron/c1_pro/info.json @@ -15,6 +15,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/c1_pro_v2/ansi/non_light/keyboard.json b/keyboards/keychron/c1_pro_v2/ansi/non_light/keyboard.json deleted file mode 100644 index 07a0688e0a..0000000000 --- a/keyboards/keychron/c1_pro_v2/ansi/non_light/keyboard.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "keyboards_name": "Keychron C1 Pro V2 Non-Light", - "usb": { - "pid": "0x051C", - "device_version": "1.0.0" - } -} diff --git a/keyboards/keychron/c1_pro_v2/ansi/non_light/keymaps/default/keymap.c b/keyboards/keychron/c1_pro_v2/ansi/non_light/keymaps/default/keymap.c deleted file mode 100644 index 3c24214b9c..0000000000 --- a/keyboards/keychron/c1_pro_v2/ansi/non_light/keymaps/default/keymap.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN, -}; - -#define KC_TASK LGUI(KC_TAB) -#define KC_FLXP LGUI(KC_E) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_BRID, KC_BRIU, _______, _______, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_SLEP, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_tkl_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - [WIN_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_NO, KC_SLEP, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_tkl_ansi( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; - -// clang-format on diff --git a/keyboards/keychron/c1_pro_v2/ansi/rgb/config.h b/keyboards/keychron/c1_pro_v2/ansi/rgb/config.h deleted file mode 100644 index 739eb788fd..0000000000 --- a/keyboards/keychron/c1_pro_v2/ansi/rgb/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* RGB Matrix Driver Configuration */ -#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO -#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND - -/* Set LED driver current */ -#define SNLED27351_CURRENT_TUNE { 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28 } diff --git a/keyboards/keychron/c1_pro_v2/ansi/rgb/keyboard.json b/keyboards/keychron/c1_pro_v2/ansi/rgb/keyboard.json deleted file mode 100644 index e1aca75ea5..0000000000 --- a/keyboards/keychron/c1_pro_v2/ansi/rgb/keyboard.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "keyboard_name": "Keychron C1 Pro V2 RGB", - "features": { - "rgb_matrix": true - }, - "rgb_matrix": { - "animations": { - "band_spiral_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "jellybean_raindrops": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_simple": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 26, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 39, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 65, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 85, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 98, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 111, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 124, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 156, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 182, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 1}, - - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 15, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 156, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 176, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 211, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 224, "y": 15, "flags": 1}, - - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 20, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 33, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 46, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 59, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 111, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 124, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 137, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 150, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 163, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 179, "y": 27, "flags": 1}, - {"matrix": [2, 14], "x": 198, "y": 27, "flags": 1}, - {"matrix": [2, 15], "x": 211, "y": 27, "flags": 1}, - {"matrix": [2, 16], "x": 224, "y": 27, "flags": 1}, - - {"matrix": [3, 0], "x": 5, "y": 39, "flags": 8}, - {"matrix": [3, 1], "x": 23, "y": 39, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 39, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 39, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 39, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 39, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 39, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 39, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 39, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 39, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 39, "flags": 4}, - {"matrix": [3, 11], "x": 153, "y": 39, "flags": 4}, - {"matrix": [3, 13], "x": 174, "y": 39, "flags": 1}, - - {"matrix": [4, 0], "x": 8, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 82, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 95, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 108, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 121, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 134, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 147, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 171, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 1}, - - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 34, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 83, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 132, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 148, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 165, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 181, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 1} - ], - "sleep": true - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x0516" - } -} diff --git a/keyboards/keychron/c1_pro_v2/ansi/rgb/keymaps/default/keymap.c b/keyboards/keychron/c1_pro_v2/ansi/rgb/keymaps/default/keymap.c deleted file mode 100644 index e775db45d1..0000000000 --- a/keyboards/keychron/c1_pro_v2/ansi/rgb/keymaps/default/keymap.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// clang-format off - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN -}; - -#define KC_TASK LGUI(KC_TAB) -#define KC_FLXP LGUI(KC_E) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_tkl_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - [WIN_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_NO, RM_NEXT, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_tkl_ansi( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; - -// clang-format on diff --git a/keyboards/keychron/c1_pro_v2/ansi/rgb/rgb.c b/keyboards/keychron/c1_pro_v2/ansi/rgb/rgb.c deleted file mode 100644 index 8c5b45583a..0000000000 --- a/keyboards/keychron/c1_pro_v2/ansi/rgb/rgb.c +++ /dev/null @@ -1,124 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE - -// clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { -/* Refer to SNLED27351 manual for these locations - * driver - * | R location - * | | G location - * | | | B location - * | | | | */ - {0, CB9_CA1, CB7_CA1, CB8_CA1}, - {0, CB9_CA2, CB7_CA2, CB8_CA2}, - {0, CB9_CA3, CB7_CA3, CB8_CA3}, - {0, CB9_CA4, CB7_CA4, CB8_CA4}, - {0, CB9_CA5, CB7_CA5, CB8_CA5}, - {0, CB9_CA6, CB7_CA6, CB8_CA6}, - {0, CB9_CA7, CB7_CA7, CB8_CA7}, - {0, CB9_CA8, CB7_CA8, CB8_CA8}, - {0, CB9_CA9, CB7_CA9, CB8_CA9}, - {0, CB9_CA10, CB7_CA10, CB8_CA10}, - {0, CB9_CA11, CB7_CA11, CB8_CA11}, - {0, CB9_CA12, CB7_CA12, CB8_CA12}, - {0, CB9_CA13, CB7_CA13, CB8_CA13}, - {0, CB9_CA15, CB7_CA15, CB8_CA15}, - {0, CB9_CA16, CB7_CA16, CB8_CA16}, - {0, CB12_CA5, CB10_CA5, CB11_CA5}, - - {0, CB3_CA1, CB1_CA1, CB2_CA1}, - {0, CB3_CA2, CB1_CA2, CB2_CA2}, - {0, CB3_CA3, CB1_CA3, CB2_CA3}, - {0, CB3_CA4, CB1_CA4, CB2_CA4}, - {0, CB3_CA5, CB1_CA5, CB2_CA5}, - {0, CB3_CA6, CB1_CA6, CB2_CA6}, - {0, CB3_CA7, CB1_CA7, CB2_CA7}, - {0, CB3_CA8, CB1_CA8, CB2_CA8}, - {0, CB3_CA9, CB1_CA9, CB2_CA9}, - {0, CB3_CA10, CB1_CA10, CB2_CA10}, - {0, CB3_CA11, CB1_CA11, CB2_CA11}, - {0, CB3_CA12, CB1_CA12, CB2_CA12}, - {0, CB3_CA13, CB1_CA13, CB2_CA13}, - {0, CB3_CA14, CB1_CA14, CB2_CA14}, - {0, CB3_CA15, CB1_CA15, CB2_CA15}, - {0, CB3_CA16, CB1_CA16, CB2_CA16}, - {0, CB12_CA9, CB10_CA9, CB11_CA9}, - - {0, CB6_CA1, CB4_CA1, CB5_CA1}, - {0, CB6_CA2, CB4_CA2, CB5_CA2}, - {0, CB6_CA3, CB4_CA3, CB5_CA3}, - {0, CB6_CA4, CB4_CA4, CB5_CA4}, - {0, CB6_CA5, CB4_CA5, CB5_CA5}, - {0, CB6_CA6, CB4_CA6, CB5_CA6}, - {0, CB6_CA7, CB4_CA7, CB5_CA7}, - {0, CB6_CA8, CB4_CA8, CB5_CA8}, - {0, CB6_CA9, CB4_CA9, CB5_CA9}, - {0, CB6_CA10, CB4_CA10, CB5_CA10}, - {0, CB6_CA11, CB4_CA11, CB5_CA11}, - {0, CB6_CA12, CB4_CA12, CB5_CA12}, - {0, CB6_CA13, CB4_CA13, CB5_CA13}, - {0, CB6_CA14, CB4_CA14, CB5_CA14}, - {0, CB6_CA15, CB4_CA15, CB5_CA15}, - {0, CB6_CA16, CB4_CA16, CB5_CA16}, - {0, CB12_CA14, CB10_CA14, CB11_CA14}, - - {1, CB3_CA16, CB1_CA16, CB2_CA16}, - {1, CB3_CA15, CB1_CA15, CB2_CA15}, - {1, CB3_CA14, CB1_CA14, CB2_CA14}, - {1, CB3_CA13, CB1_CA13, CB2_CA13}, - {1, CB3_CA12, CB1_CA12, CB2_CA12}, - {1, CB3_CA11, CB1_CA11, CB2_CA11}, - {1, CB3_CA10, CB1_CA10, CB2_CA10}, - {1, CB3_CA9, CB1_CA9, CB2_CA9}, - {1, CB3_CA8, CB1_CA8, CB2_CA8}, - {1, CB3_CA7, CB1_CA7, CB2_CA7}, - {1, CB3_CA6, CB1_CA6, CB2_CA6}, - {1, CB3_CA5, CB1_CA5, CB2_CA5}, - {1, CB3_CA3, CB1_CA3, CB2_CA3}, - - {1, CB9_CA16, CB7_CA16, CB8_CA16}, - {1, CB9_CA14, CB7_CA14, CB8_CA14}, - {1, CB9_CA13, CB7_CA13, CB8_CA13}, - {1, CB9_CA12, CB7_CA12, CB8_CA12}, - {1, CB9_CA11, CB7_CA11, CB8_CA11}, - {1, CB9_CA10, CB7_CA10, CB8_CA10}, - {1, CB9_CA9, CB7_CA9, CB8_CA9}, - {1, CB9_CA8, CB7_CA8, CB8_CA8}, - {1, CB9_CA7, CB7_CA7, CB8_CA7}, - {1, CB9_CA6, CB7_CA6, CB8_CA6}, - {1, CB9_CA5, CB7_CA5, CB8_CA5}, - {1, CB9_CA3, CB7_CA3, CB8_CA3}, - {1, CB9_CA1, CB7_CA1, CB8_CA1}, - - {1, CB6_CA16, CB4_CA16, CB5_CA16}, - {1, CB6_CA15, CB4_CA15, CB5_CA15}, - {1, CB6_CA14, CB4_CA14, CB5_CA14}, - {1, CB6_CA10, CB4_CA10, CB5_CA10}, - {1, CB6_CA6, CB4_CA6, CB5_CA6}, - {1, CB6_CA5, CB4_CA5, CB5_CA5}, - {1, CB6_CA4, CB4_CA4, CB5_CA4}, - {1, CB6_CA3, CB4_CA3, CB5_CA3}, - {1, CB6_CA2, CB4_CA2, CB5_CA2}, - {1, CB6_CA1, CB4_CA1, CB5_CA1}, - {1, CB12_CA10, CB10_CA10, CB11_CA10}, -}; -#endif // RGB_MATRIX_ENABLE - -// clang-format on diff --git a/keyboards/keychron/c1_pro_v2/ansi/white/config.h b/keyboards/keychron/c1_pro_v2/ansi/white/config.h deleted file mode 100644 index 4fdbf33656..0000000000 --- a/keyboards/keychron/c1_pro_v2/ansi/white/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* LED Matrix Driver Configuration */ -#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND - -/* Scan phase of led driver set as MSKPHASE_9CHANNEL(defined as 0x03 in CKLED2001.h) */ -#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL - -#define SNLED27351_CURRENT_TUNE { 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60 } diff --git a/keyboards/keychron/c1_pro_v2/ansi/white/keyboard.json b/keyboards/keychron/c1_pro_v2/ansi/white/keyboard.json deleted file mode 100644 index cd29952e62..0000000000 --- a/keyboards/keychron/c1_pro_v2/ansi/white/keyboard.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "features": { - "led_matrix": true - }, - "led_matrix": { - "animations": { - "band_pinwheel": true, - "band_spiral": true, - "breathing": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_up_down": true, - "dual_beacon": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_simple": true, - "solid_splash": true, - "wave_left_right": true, - "wave_up_down": true - }, - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 26, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 39, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 65, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 85, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 98, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 111, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 124, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 156, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 182, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 1}, - - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 15, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 156, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 176, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 211, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 224, "y": 15, "flags": 1}, - - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 20, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 33, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 46, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 59, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 111, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 124, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 137, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 150, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 163, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 179, "y": 27, "flags": 1}, - {"matrix": [2, 14], "x": 198, "y": 27, "flags": 1}, - {"matrix": [2, 15], "x": 211, "y": 27, "flags": 1}, - {"matrix": [2, 16], "x": 224, "y": 27, "flags": 1}, - - {"matrix": [3, 0], "x": 5, "y": 39, "flags": 8}, - {"matrix": [3, 1], "x": 23, "y": 39, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 39, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 39, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 39, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 39, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 39, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 39, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 39, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 39, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 39, "flags": 4}, - {"matrix": [3, 11], "x": 153, "y": 39, "flags": 4}, - {"matrix": [3, 13], "x": 174, "y": 39, "flags": 1}, - - {"matrix": [4, 0], "x": 8, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 82, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 95, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 108, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 121, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 134, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 147, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 171, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 1}, - - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 34, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 83, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 132, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 148, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 165, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 181, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 1} - ], - "sleep": true - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x0519" - } -} diff --git a/keyboards/keychron/c1_pro_v2/ansi/white/keymaps/default/keymap.c b/keyboards/keychron/c1_pro_v2/ansi/white/keymaps/default/keymap.c deleted file mode 100644 index af1c54d738..0000000000 --- a/keyboards/keychron/c1_pro_v2/ansi/white/keymaps/default/keymap.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// clang-format off - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN -}; - -#define KC_TASK LGUI(KC_TAB) -#define KC_FLXP LGUI(KC_E) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_BRID, KC_BRIU, _______, _______, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, LM_NEXT, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_tkl_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, LM_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - [WIN_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, _______, LM_NEXT, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_tkl_ansi( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, LM_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; - -// clang-format on diff --git a/keyboards/keychron/c1_pro_v2/ansi/white/white.c b/keyboards/keychron/c1_pro_v2/ansi/white/white.c deleted file mode 100644 index 36fa6bf1d1..0000000000 --- a/keyboards/keychron/c1_pro_v2/ansi/white/white.c +++ /dev/null @@ -1,121 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef LED_MATRIX_ENABLE -// clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { -/* Refer to SNLED27351 manual for these locations - * driver - * | LED address - * | | */ - {0, CB1_CA16}, - {0, CB1_CA15}, - {0, CB1_CA14}, - {0, CB1_CA13}, - {0, CB1_CA12}, - {0, CB1_CA11}, - {0, CB1_CA10}, - {0, CB1_CA9 }, - {0, CB1_CA8 }, - {0, CB1_CA7 }, - {0, CB1_CA6 }, - {0, CB1_CA5 }, - {0, CB1_CA4 }, - {0, CB1_CA2 }, - {0, CB1_CA1 }, - {0, CB7_CA1 }, - - {0, CB2_CA16}, - {0, CB2_CA15}, - {0, CB2_CA14}, - {0, CB2_CA13}, - {0, CB2_CA12}, - {0, CB2_CA11}, - {0, CB2_CA10}, - {0, CB2_CA9 }, - {0, CB2_CA8 }, - {0, CB2_CA7 }, - {0, CB2_CA6 }, - {0, CB2_CA5 }, - {0, CB2_CA4 }, - {0, CB2_CA3 }, - {0, CB2_CA2 }, - {0, CB2_CA1 }, - {0, CB8_CA1 }, - - {0, CB3_CA16}, - {0, CB3_CA15}, - {0, CB3_CA14}, - {0, CB3_CA13}, - {0, CB3_CA12}, - {0, CB3_CA11}, - {0, CB3_CA10}, - {0, CB3_CA9 }, - {0, CB3_CA8 }, - {0, CB3_CA7 }, - {0, CB3_CA6 }, - {0, CB3_CA5 }, - {0, CB3_CA4 }, - {0, CB3_CA3 }, - {0, CB3_CA2 }, - {0, CB3_CA1 }, - {0, CB7_CA6 }, - - {0, CB4_CA16}, - {0, CB4_CA15}, - {0, CB4_CA14}, - {0, CB4_CA13}, - {0, CB4_CA12}, - {0, CB4_CA11}, - {0, CB4_CA10}, - {0, CB4_CA9 }, - {0, CB4_CA8 }, - {0, CB4_CA7 }, - {0, CB4_CA6 }, - {0, CB4_CA5 }, - {0, CB4_CA3 }, - - {0, CB5_CA16}, - {0, CB5_CA14}, - {0, CB5_CA13}, - {0, CB5_CA12}, - {0, CB5_CA11}, - {0, CB5_CA10}, - {0, CB5_CA9 }, - {0, CB5_CA8 }, - {0, CB5_CA7 }, - {0, CB5_CA6 }, - {0, CB5_CA5 }, - {0, CB5_CA3 }, - {0, CB5_CA1 }, - - {0, CB6_CA16}, - {0, CB6_CA15}, - {0, CB6_CA14}, - {0, CB6_CA10}, - {0, CB6_CA6 }, - {0, CB6_CA5 }, - {0, CB6_CA4 }, - {0, CB6_CA3 }, - {0, CB6_CA2 }, - {0, CB6_CA1 }, - {0, CB7_CA13}, -}; -#endif - -// clang-fomat on diff --git a/keyboards/keychron/c1_pro_v2/board.h b/keyboards/keychron/c1_pro_v2/board.h deleted file mode 100644 index e6cf0b2856..0000000000 --- a/keyboards/keychron/c1_pro_v2/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2025 @ Keychron (https://www.keychron.com) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/keychron/c1_pro_v2/c1_pro_v2.c b/keyboards/keychron/c1_pro_v2/c1_pro_v2.c deleted file mode 100644 index d4ff5eb9dc..0000000000 --- a/keyboards/keychron/c1_pro_v2/c1_pro_v2.c +++ /dev/null @@ -1,104 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef DIP_SWITCH_ENABLE -bool dip_switch_update_kb(uint8_t index, bool active) { - if (!dip_switch_update_user(index, active)) { - return false; - } - if (index == 0) { - default_layer_set(1UL << (active ? 0 : 2)); - } - return true; -} -#endif - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - switch (keycode) { -#ifdef RGB_MATRIX_ENABLE - case QK_RGB_MATRIX_TOGGLE: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_NONE); - rgb_matrix_set_color_all(0, 0, 0); - } break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - } break; - } - } - if (!rgb_matrix_is_enabled()) { - rgb_matrix_set_flags(LED_FLAG_ALL); - rgb_matrix_enable(); - } - return false; -#endif -#ifdef LED_MATRIX_ENABLE - case QK_LED_MATRIX_TOGGLE: - if (record->event.pressed) { - switch (led_matrix_get_flags()) { - case LED_FLAG_ALL: { - led_matrix_set_flags(LED_FLAG_NONE); - led_matrix_set_value_all(0); - } break; - default: { - led_matrix_set_flags(LED_FLAG_ALL); - } break; - } - } - if (!led_matrix_is_enabled()) { - led_matrix_set_flags(LED_FLAG_ALL); - led_matrix_enable(); - } - return false; -#endif - default: - return true; - } -} - -void keyboard_post_init_kb(void) { - gpio_set_pin_output_push_pull(LED_MAC_OS_PIN); - gpio_set_pin_output_push_pull(LED_WIN_OS_PIN); - gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); - gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); - - keyboard_post_init_user(); -} - -void housekeeping_task_kb(void) { - if (default_layer_state == (1U << 0)) { - gpio_write_pin(LED_MAC_OS_PIN, LED_OS_PIN_ON_STATE); - gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); - } - if (default_layer_state == (1U << 2)) { - gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); - gpio_write_pin(LED_WIN_OS_PIN, LED_OS_PIN_ON_STATE); - } -} - -void suspend_power_down_kb(void) { - gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); - gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); - - suspend_power_down_user(); -} diff --git a/keyboards/keychron/c1_pro_v2/config.h b/keyboards/keychron/c1_pro_v2/config.h deleted file mode 100644 index 71c3121877..0000000000 --- a/keyboards/keychron/c1_pro_v2/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2025 @ Keychron(https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* Increase I2C speed to 1000 KHz */ -#define I2C1_CLOCK_SPEED 400000 -#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 - -/* System indication led */ -#define LED_MAC_OS_PIN C10 -#define LED_WIN_OS_PIN C11 -#define LED_OS_PIN_ON_STATE 1 diff --git a/keyboards/keychron/c1_pro_v2/halconf.h b/keyboards/keychron/c1_pro_v2/halconf.h deleted file mode 100644 index d0a9933637..0000000000 --- a/keyboards/keychron/c1_pro_v2/halconf.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define HAL_USE_I2C TRUE - -#include_next diff --git a/keyboards/keychron/c1_pro_v2/info.json b/keyboards/keychron/c1_pro_v2/info.json deleted file mode 100644 index 1e6305eb33..0000000000 --- a/keyboards/keychron/c1_pro_v2/info.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "manufacturer": "Keychron", - "maintainer": "lalalademaxiya1", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "eeprom": { - "wear_leveling": { - "backing_size": 4096 - } - }, - "features": { - "bootmagic": true, - "dip_switch": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "indicators": { - "caps_lock": "C9" - }, - "dip_switch": { - "pins": ["D2"] - }, - "matrix_pins": { - "cols": ["A0", "A1", "A2", "A3", "C0", "C1", "C2", "C3", "A8", "C12", "B9", "C6", "C7", "C4", "C5", "A15", "B10"], - "rows": ["B0", "B1", "B8", "B3", "B4", "B5"] - }, - "processor": "STM32F401", - "url": "https://github.com/Keychron", - "usb": { - "vid": "0x3434" - }, - "community_layouts": ["tkl_ansi"], - "layouts": { - "LAYOUT_tkl_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 2, "y": 0}, - {"matrix": [0, 2], "x": 3, "y": 0}, - {"matrix": [0, 3], "x": 4, "y": 0}, - {"matrix": [0, 4], "x": 5, "y": 0}, - {"matrix": [0, 5], "x": 6.5, "y": 0}, - {"matrix": [0, 6], "x": 7.5, "y": 0}, - {"matrix": [0, 7], "x": 8.5, "y": 0}, - {"matrix": [0, 8], "x": 9.5, "y": 0}, - {"matrix": [0, 9], "x": 11, "y": 0}, - {"matrix": [0, 10], "x": 12, "y": 0}, - {"matrix": [0, 11], "x": 13, "y": 0}, - {"matrix": [0, 12], "x": 14, "y": 0}, - {"matrix": [0, 14], "x": 15.25, "y": 0}, - {"matrix": [0, 15], "x": 16.25, "y": 0}, - {"matrix": [0, 16], "x": 17.25, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1.25}, - {"matrix": [1, 1], "x": 1, "y": 1.25}, - {"matrix": [1, 2], "x": 2, "y": 1.25}, - {"matrix": [1, 3], "x": 3, "y": 1.25}, - {"matrix": [1, 4], "x": 4, "y": 1.25}, - {"matrix": [1, 5], "x": 5, "y": 1.25}, - {"matrix": [1, 6], "x": 6, "y": 1.25}, - {"matrix": [1, 7], "x": 7, "y": 1.25}, - {"matrix": [1, 8], "x": 8, "y": 1.25}, - {"matrix": [1, 9], "x": 9, "y": 1.25}, - {"matrix": [1, 10], "x": 10, "y": 1.25}, - {"matrix": [1, 11], "x": 11, "y": 1.25}, - {"matrix": [1, 12], "x": 12, "y": 1.25}, - {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, - {"matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, - {"matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, - - {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, - {"matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, - {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, - {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, - {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, - {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, - {"matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - } - } -} diff --git a/keyboards/keychron/c1_pro_v2/mcuconf.h b/keyboards/keychron/c1_pro_v2/mcuconf.h deleted file mode 100644 index 95966a32ce..0000000000 --- a/keyboards/keychron/c1_pro_v2/mcuconf.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 - -#undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/keychron/c1_pro_v2/readme.md b/keyboards/keychron/c1_pro_v2/readme.md deleted file mode 100644 index 6cabd71b18..0000000000 --- a/keyboards/keychron/c1_pro_v2/readme.md +++ /dev/null @@ -1,32 +0,0 @@ -# Keychron C1 Pro V2 - -![Keychron C1 Pro](https://i.imgur.com/Svdm4lph.jpg) - -A customizable 80% TKL keyboard. - -v1 is based on STM32L432 and v2 is based on STM32F402. - -* Keyboard Maintainer: [Keychron](https://github.com/keychron) -* Hardware Supported: Keychron C1 Pro -* Hardware Availability: [Keychron](https://www.keychron.com) - -Make example for this keyboard (after setting up your build environment): - - make keychron/c1_pro_v2/ansi/rgb:default - make keychron/c1_pro_v2/ansi/white:default - make keychron/c1_pro_v2/ansi/non_light:default - -Flashing example for this keyboard: - - make keychron/c1_pro_v2/ansi/rgb:default:flash - make keychron/c1_pro_v2/ansi/white:default:flash - make keychron/c1_pro_v2/ansi/non_light:default:flash - -## bootloader - -Enter the bootloader in two ways: - -* **Bootmagic reset**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. -* **Physical reset button**: Briefly press the RESET button under the spacebar. - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/keychron/c2_pro/info.json b/keyboards/keychron/c2_pro/info.json index 9c0e1ac72e..4b11fc213a 100644 --- a/keyboards/keychron/c2_pro/info.json +++ b/keyboards/keychron/c2_pro/info.json @@ -15,6 +15,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/c2_pro_v2/ansi/rgb/config.h b/keyboards/keychron/c2_pro_v2/ansi/rgb/config.h deleted file mode 100644 index 739eb788fd..0000000000 --- a/keyboards/keychron/c2_pro_v2/ansi/rgb/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* RGB Matrix Driver Configuration */ -#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO -#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND - -/* Set LED driver current */ -#define SNLED27351_CURRENT_TUNE { 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28 } diff --git a/keyboards/keychron/c2_pro_v2/ansi/rgb/keyboard.json b/keyboards/keychron/c2_pro_v2/ansi/rgb/keyboard.json deleted file mode 100644 index f619ab096c..0000000000 --- a/keyboards/keychron/c2_pro_v2/ansi/rgb/keyboard.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "keyboard_name": "Keychron C2 Pro V2 RGB", - "features": { - "rgb_matrix": true - }, - "rgb_matrix": { - "animations": { - "band_spiral_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "jellybean_raindrops": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_simple": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 21, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 31, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 68, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 89, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 99, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 115, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 136, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 146, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 159, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 180, "y": 0, "flags": 1}, - - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 21, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 31, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 63, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 94, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 115, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 141, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 159, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 169, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 180, "y": 15, "flags": 1}, - {"matrix": [1, 17], "x": 193, "y": 15, "flags": 4}, - {"matrix": [1, 18], "x": 203, "y": 15, "flags": 4}, - {"matrix": [1, 19], "x": 214, "y": 15, "flags": 4}, - {"matrix": [1, 20], "x": 224, "y": 15, "flags": 4}, - - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 57, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 78, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 99, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 143, "y": 27, "flags": 1}, - {"matrix": [2, 14], "x": 159, "y": 27, "flags": 1}, - {"matrix": [2, 15], "x": 169, "y": 27, "flags": 1}, - {"matrix": [2, 16], "x": 180, "y": 27, "flags": 1}, - {"matrix": [2, 17], "x": 193, "y": 27, "flags": 4}, - {"matrix": [2, 18], "x": 203, "y": 27, "flags": 4}, - {"matrix": [2, 19], "x": 214, "y": 27, "flags": 4}, - {"matrix": [2, 20], "x": 224, "y": 34, "flags": 4}, - - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 123, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 139, "y": 40, "flags": 1}, - {"matrix": [3, 17], "x": 193, "y": 40, "flags": 4}, - {"matrix": [3, 18], "x": 203, "y": 40, "flags": 4}, - {"matrix": [3, 19], "x": 214, "y": 40, "flags": 4}, - - {"matrix": [4, 0], "x": 7, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 23, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 34, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 44, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 65, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 76, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 86, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 96, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 117, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 137, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 169, "y": 52, "flags": 1}, - {"matrix": [4, 17], "x": 193, "y": 52, "flags": 4}, - {"matrix": [4, 18], "x": 203, "y": 52, "flags": 4}, - {"matrix": [4, 19], "x": 214, "y": 52, "flags": 4}, - {"matrix": [4, 20], "x": 224, "y": 58, "flags": 4}, - - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 27, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 66, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 105, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 118, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 145, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 17], "x": 198, "y": 64, "flags": 4}, - {"matrix": [5, 18], "x": 214, "y": 64, "flags": 4} - ], - "sleep": true - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x0526" - } -} diff --git a/keyboards/keychron/c2_pro_v2/ansi/rgb/keymaps/default/keymap.c b/keyboards/keychron/c2_pro_v2/ansi/rgb/keymaps/default/keymap.c deleted file mode 100644 index 7e09d028f7..0000000000 --- a/keyboards/keychron/c2_pro_v2/ansi/rgb/keymaps/default/keymap.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN, -}; - -#define KC_TASK LGUI(KC_TAB) -#define KC_FLXP LGUI(KC_E) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_104_ansi( - KC_ESC, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), - - [MAC_FN] = LAYOUT_104_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_NEXT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - - [WIN_BASE] = LAYOUT_104_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_NO, RM_NEXT, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), - - [WIN_FN] = LAYOUT_104_ansi( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALU, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), -}; - -// clang-format on diff --git a/keyboards/keychron/c2_pro_v2/ansi/rgb/rgb.c b/keyboards/keychron/c2_pro_v2/ansi/rgb/rgb.c deleted file mode 100644 index d92cf177f4..0000000000 --- a/keyboards/keychron/c2_pro_v2/ansi/rgb/rgb.c +++ /dev/null @@ -1,139 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { -/* Refer to SNLED27351 manual for these locations - * driver - * | R location - * | | G location - * | | | B location - * | | | | */ - {0, CB9_CA1, CB7_CA1, CB8_CA1}, - {0, CB9_CA2, CB7_CA2, CB8_CA2}, - {0, CB9_CA3, CB7_CA3, CB8_CA3}, - {0, CB9_CA4, CB7_CA4, CB8_CA4}, - {0, CB9_CA5, CB7_CA5, CB8_CA5}, - {0, CB9_CA6, CB7_CA6, CB8_CA6}, - {0, CB9_CA7, CB7_CA7, CB8_CA7}, - {0, CB9_CA8, CB7_CA8, CB8_CA8}, - {0, CB9_CA9, CB7_CA9, CB8_CA9}, - {0, CB9_CA10, CB7_CA10, CB8_CA10}, - {0, CB9_CA11, CB7_CA11, CB8_CA11}, - {0, CB9_CA12, CB7_CA12, CB8_CA12}, - {0, CB9_CA13, CB7_CA13, CB8_CA13}, - {0, CB9_CA15, CB7_CA15, CB8_CA15}, - {0, CB9_CA16, CB7_CA16, CB8_CA16}, - {0, CB12_CA5, CB10_CA5, CB11_CA5}, - - {0, CB3_CA1, CB1_CA1, CB2_CA1}, - {0, CB3_CA2, CB1_CA2, CB2_CA2}, - {0, CB3_CA3, CB1_CA3, CB2_CA3}, - {0, CB3_CA4, CB1_CA4, CB2_CA4}, - {0, CB3_CA5, CB1_CA5, CB2_CA5}, - {0, CB3_CA6, CB1_CA6, CB2_CA6}, - {0, CB3_CA7, CB1_CA7, CB2_CA7}, - {0, CB3_CA8, CB1_CA8, CB2_CA8}, - {0, CB3_CA9, CB1_CA9, CB2_CA9}, - {0, CB3_CA10, CB1_CA10, CB2_CA10}, - {0, CB3_CA11, CB1_CA11, CB2_CA11}, - {0, CB3_CA12, CB1_CA12, CB2_CA12}, - {0, CB3_CA13, CB1_CA13, CB2_CA13}, - {0, CB3_CA14, CB1_CA14, CB2_CA14}, - {0, CB3_CA15, CB1_CA15, CB2_CA15}, - {0, CB3_CA16, CB1_CA16, CB2_CA16}, - {0, CB12_CA9, CB10_CA9, CB11_CA9}, - {0, CB12_CA10, CB10_CA10, CB11_CA10}, - {0, CB12_CA11, CB10_CA11, CB11_CA11}, - {0, CB12_CA12, CB10_CA12, CB11_CA12}, - {0, CB12_CA13, CB10_CA13, CB11_CA13}, - - {0, CB6_CA1, CB4_CA1, CB5_CA1}, - {0, CB6_CA2, CB4_CA2, CB5_CA2}, - {0, CB6_CA3, CB4_CA3, CB5_CA3}, - {0, CB6_CA4, CB4_CA4, CB5_CA4}, - {0, CB6_CA5, CB4_CA5, CB5_CA5}, - {0, CB6_CA6, CB4_CA6, CB5_CA6}, - {0, CB6_CA7, CB4_CA7, CB5_CA7}, - {0, CB6_CA8, CB4_CA8, CB5_CA8}, - {0, CB6_CA9, CB4_CA9, CB5_CA9}, - {0, CB6_CA10, CB4_CA10, CB5_CA10}, - {0, CB6_CA11, CB4_CA11, CB5_CA11}, - {0, CB6_CA12, CB4_CA12, CB5_CA12}, - {0, CB6_CA13, CB4_CA13, CB5_CA13}, - {0, CB6_CA14, CB4_CA14, CB5_CA14}, - {0, CB6_CA15, CB4_CA15, CB5_CA15}, - {0, CB6_CA16, CB4_CA16, CB5_CA16}, - {0, CB12_CA14, CB10_CA14, CB11_CA14}, - {0, CB12_CA15, CB10_CA15, CB11_CA15}, - {0, CB12_CA16, CB10_CA16, CB11_CA16}, - {1, CB12_CA1, CB10_CA1, CB11_CA1}, - {1, CB12_CA2, CB10_CA2, CB11_CA2}, - - {1, CB3_CA16, CB1_CA16, CB2_CA16}, - {1, CB3_CA15, CB1_CA15, CB2_CA15}, - {1, CB3_CA14, CB1_CA14, CB2_CA14}, - {1, CB3_CA13, CB1_CA13, CB2_CA13}, - {1, CB3_CA12, CB1_CA12, CB2_CA12}, - {1, CB3_CA11, CB1_CA11, CB2_CA11}, - {1, CB3_CA10, CB1_CA10, CB2_CA10}, - {1, CB3_CA9, CB1_CA9, CB2_CA9}, - {1, CB3_CA8, CB1_CA8, CB2_CA8}, - {1, CB3_CA7, CB1_CA7, CB2_CA7}, - {1, CB3_CA6, CB1_CA6, CB2_CA6}, - {1, CB3_CA5, CB1_CA5, CB2_CA5}, - {1, CB3_CA3, CB1_CA3, CB2_CA3}, - {1, CB12_CA3, CB10_CA3, CB11_CA3}, - {1, CB12_CA4, CB10_CA4, CB11_CA4}, - {1, CB12_CA5, CB10_CA5, CB11_CA5}, - - {1, CB9_CA16, CB7_CA16, CB8_CA16}, - {1, CB9_CA14, CB7_CA14, CB8_CA14}, - {1, CB9_CA13, CB7_CA13, CB8_CA13}, - {1, CB9_CA12, CB7_CA12, CB8_CA12}, - {1, CB9_CA11, CB7_CA11, CB8_CA11}, - {1, CB9_CA10, CB7_CA10, CB8_CA10}, - {1, CB9_CA9, CB7_CA9, CB8_CA9}, - {1, CB9_CA8, CB7_CA8, CB8_CA8}, - {1, CB9_CA7, CB7_CA7, CB8_CA7}, - {1, CB9_CA6, CB7_CA6, CB8_CA6}, - {1, CB9_CA5, CB7_CA5, CB8_CA5}, - {1, CB9_CA3, CB7_CA3, CB8_CA3}, - {1, CB9_CA1, CB7_CA1, CB8_CA1}, - {1, CB12_CA6, CB10_CA6, CB11_CA6}, - {1, CB12_CA7, CB10_CA7, CB11_CA7}, - {1, CB12_CA8, CB10_CA8, CB11_CA8}, - {1, CB12_CA9, CB10_CA9, CB11_CA9}, - - {1, CB6_CA16, CB4_CA16, CB5_CA16}, - {1, CB6_CA15, CB4_CA15, CB5_CA15}, - {1, CB6_CA14, CB4_CA14, CB5_CA14}, - {1, CB6_CA10, CB4_CA10, CB5_CA10}, - {1, CB6_CA6, CB4_CA6, CB5_CA6}, - {1, CB6_CA5, CB4_CA5, CB5_CA5}, - {1, CB6_CA4, CB4_CA4, CB5_CA4}, - {1, CB6_CA3, CB4_CA3, CB5_CA3}, - {1, CB6_CA2, CB4_CA2, CB5_CA2}, - {1, CB6_CA1, CB4_CA1, CB5_CA1}, - {1, CB12_CA10, CB10_CA10, CB11_CA10}, - {1, CB12_CA11, CB10_CA11, CB11_CA11}, - {1, CB12_CA12, CB10_CA12, CB11_CA12}, -}; -#endif - -// clang-format on diff --git a/keyboards/keychron/c2_pro_v2/ansi/white/config.h b/keyboards/keychron/c2_pro_v2/ansi/white/config.h deleted file mode 100644 index 65302c9969..0000000000 --- a/keyboards/keychron/c2_pro_v2/ansi/white/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* LED Matrix Driver Configuration */ -#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND - -/* Use the first 8 channels of led driver */ -#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_8_CHANNEL - -/* Set LED driver current */ -#define SNLED27351_CURRENT_TUNE { 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50 } diff --git a/keyboards/keychron/c2_pro_v2/ansi/white/keyboard.json b/keyboards/keychron/c2_pro_v2/ansi/white/keyboard.json deleted file mode 100644 index 020f6c0bd9..0000000000 --- a/keyboards/keychron/c2_pro_v2/ansi/white/keyboard.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "keyboard_name": "Keychron C2 Pro V2 White", - "features": { - "led_matrix": true - }, - "led_matrix": { - "animations": { - "band_pinwheel": true, - "band_spiral": true, - "breathing": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_up_down": true, - "dual_beacon": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_simple": true, - "solid_splash": true, - "wave_left_right": true, - "wave_up_down": true - }, - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 21, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 31, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 68, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 89, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 99, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 115, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 136, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 146, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 159, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 180, "y": 0, "flags": 1}, - - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 21, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 31, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 63, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 94, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 115, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 141, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 159, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 169, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 180, "y": 15, "flags": 1}, - {"matrix": [1, 17], "x": 193, "y": 15, "flags": 4}, - {"matrix": [1, 18], "x": 203, "y": 15, "flags": 4}, - {"matrix": [1, 19], "x": 214, "y": 15, "flags": 4}, - {"matrix": [1, 20], "x": 224, "y": 15, "flags": 4}, - - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 57, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 78, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 99, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 143, "y": 27, "flags": 1}, - {"matrix": [2, 14], "x": 159, "y": 27, "flags": 1}, - {"matrix": [2, 15], "x": 169, "y": 27, "flags": 1}, - {"matrix": [2, 16], "x": 180, "y": 27, "flags": 1}, - {"matrix": [2, 17], "x": 193, "y": 27, "flags": 4}, - {"matrix": [2, 18], "x": 203, "y": 27, "flags": 4}, - {"matrix": [2, 19], "x": 214, "y": 27, "flags": 4}, - {"matrix": [2, 20], "x": 224, "y": 34, "flags": 4}, - - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 123, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 139, "y": 40, "flags": 1}, - {"matrix": [3, 17], "x": 193, "y": 40, "flags": 4}, - {"matrix": [3, 18], "x": 203, "y": 40, "flags": 4}, - {"matrix": [3, 19], "x": 214, "y": 40, "flags": 4}, - - {"matrix": [4, 0], "x": 7, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 23, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 34, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 44, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 65, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 76, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 86, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 96, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 117, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 137, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 169, "y": 52, "flags": 1}, - {"matrix": [4, 17], "x": 193, "y": 52, "flags": 4}, - {"matrix": [4, 18], "x": 203, "y": 52, "flags": 4}, - {"matrix": [4, 19], "x": 214, "y": 52, "flags": 4}, - {"matrix": [4, 20], "x": 224, "y": 58, "flags": 4}, - - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 27, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 66, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 105, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 118, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 145, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 17], "x": 198, "y": 64, "flags": 4}, - {"matrix": [5, 18], "x": 214, "y": 64, "flags": 4} - ], - "sleep": true - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x0529" - } -} diff --git a/keyboards/keychron/c2_pro_v2/ansi/white/keymaps/default/keymap.c b/keyboards/keychron/c2_pro_v2/ansi/white/keymaps/default/keymap.c deleted file mode 100644 index da212f3d54..0000000000 --- a/keyboards/keychron/c2_pro_v2/ansi/white/keymaps/default/keymap.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN, -}; - -#define KC_TASK LGUI(KC_TAB) -#define KC_FLXP LGUI(KC_E) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_104_ansi( - KC_ESC, KC_BRID, KC_BRIU, _______, _______, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, LM_NEXT, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), - - [MAC_FN] = LAYOUT_104_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - - [WIN_BASE] = LAYOUT_104_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_NO, BL_STEP, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), - - [WIN_FN] = LAYOUT_104_ansi( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, LM_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), -}; - -// clang-format on - diff --git a/keyboards/keychron/c2_pro_v2/ansi/white/white.c b/keyboards/keychron/c2_pro_v2/ansi/white/white.c deleted file mode 100644 index 3ba0274e6a..0000000000 --- a/keyboards/keychron/c2_pro_v2/ansi/white/white.c +++ /dev/null @@ -1,138 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -// clang-format off -#ifdef LED_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { -/* Refer to SNLED27351 manual for these locations - * driver - * | LED address - * | | */ - {0, CB1_CA16}, - {0, CB1_CA15}, - {0, CB1_CA14}, - {0, CB1_CA13}, - {0, CB1_CA12}, - {0, CB1_CA11}, - {0, CB1_CA10}, - {0, CB1_CA9 }, - {0, CB1_CA8 }, - {0, CB1_CA7 }, - {0, CB1_CA6 }, - {0, CB1_CA5 }, - {0, CB1_CA4 }, - {0, CB1_CA2 }, - {0, CB1_CA1 }, - {0, CB7_CA1 }, - - {0, CB2_CA16}, - {0, CB2_CA15}, - {0, CB2_CA14}, - {0, CB2_CA13}, - {0, CB2_CA12}, - {0, CB2_CA11}, - {0, CB2_CA10}, - {0, CB2_CA9 }, - {0, CB2_CA8 }, - {0, CB2_CA7 }, - {0, CB2_CA6 }, - {0, CB2_CA5 }, - {0, CB2_CA4 }, - {0, CB2_CA3 }, - {0, CB2_CA2 }, - {0, CB2_CA1 }, - {0, CB8_CA1 }, - {0, CB8_CA2 }, - {0, CB8_CA3 }, - {0, CB8_CA4 }, - {0, CB8_CA5 }, - - {0, CB3_CA16}, - {0, CB3_CA15}, - {0, CB3_CA14}, - {0, CB3_CA13}, - {0, CB3_CA12}, - {0, CB3_CA11}, - {0, CB3_CA10}, - {0, CB3_CA9 }, - {0, CB3_CA8 }, - {0, CB3_CA7 }, - {0, CB3_CA6 }, - {0, CB3_CA5 }, - {0, CB3_CA4 }, - {0, CB3_CA3 }, - {0, CB3_CA2 }, - {0, CB3_CA1 }, - {0, CB7_CA6 }, - {0, CB7_CA7 }, - {0, CB7_CA8 }, - {0, CB7_CA9 }, - {0, CB7_CA10}, - - {0, CB4_CA16}, - {0, CB4_CA15}, - {0, CB4_CA14}, - {0, CB4_CA13}, - {0, CB4_CA12}, - {0, CB4_CA11}, - {0, CB4_CA10}, - {0, CB4_CA9 }, - {0, CB4_CA8 }, - {0, CB4_CA7 }, - {0, CB4_CA6 }, - {0, CB4_CA5 }, - {0, CB4_CA3 }, - {0, CB8_CA7 }, - {0, CB8_CA8 }, - {0, CB8_CA9 }, - - {0, CB5_CA16}, - {0, CB5_CA14}, - {0, CB5_CA13}, - {0, CB5_CA12}, - {0, CB5_CA11}, - {0, CB5_CA10}, - {0, CB5_CA9 }, - {0, CB5_CA8 }, - {0, CB5_CA7 }, - {0, CB5_CA6 }, - {0, CB5_CA5 }, - {0, CB5_CA3 }, - {0, CB5_CA1 }, - {0, CB8_CA6 }, - {0, CB8_CA11}, - {0, CB8_CA12}, - {0, CB8_CA10}, - - {0, CB6_CA16}, - {0, CB6_CA15}, - {0, CB6_CA14}, - {0, CB6_CA10}, - {0, CB6_CA6 }, - {0, CB6_CA5 }, - {0, CB6_CA4 }, - {0, CB6_CA3 }, - {0, CB6_CA2 }, - {0, CB6_CA1 }, - {0, CB7_CA13}, - {0, CB7_CA11}, - {0, CB7_CA12}, -}; -#endif - -// clang-format on diff --git a/keyboards/keychron/c2_pro_v2/board.h b/keyboards/keychron/c2_pro_v2/board.h deleted file mode 100644 index e6cf0b2856..0000000000 --- a/keyboards/keychron/c2_pro_v2/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2025 @ Keychron (https://www.keychron.com) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/keychron/c2_pro_v2/c2_pro_v2.c b/keyboards/keychron/c2_pro_v2/c2_pro_v2.c deleted file mode 100644 index d4ff5eb9dc..0000000000 --- a/keyboards/keychron/c2_pro_v2/c2_pro_v2.c +++ /dev/null @@ -1,104 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef DIP_SWITCH_ENABLE -bool dip_switch_update_kb(uint8_t index, bool active) { - if (!dip_switch_update_user(index, active)) { - return false; - } - if (index == 0) { - default_layer_set(1UL << (active ? 0 : 2)); - } - return true; -} -#endif - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - switch (keycode) { -#ifdef RGB_MATRIX_ENABLE - case QK_RGB_MATRIX_TOGGLE: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_NONE); - rgb_matrix_set_color_all(0, 0, 0); - } break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - } break; - } - } - if (!rgb_matrix_is_enabled()) { - rgb_matrix_set_flags(LED_FLAG_ALL); - rgb_matrix_enable(); - } - return false; -#endif -#ifdef LED_MATRIX_ENABLE - case QK_LED_MATRIX_TOGGLE: - if (record->event.pressed) { - switch (led_matrix_get_flags()) { - case LED_FLAG_ALL: { - led_matrix_set_flags(LED_FLAG_NONE); - led_matrix_set_value_all(0); - } break; - default: { - led_matrix_set_flags(LED_FLAG_ALL); - } break; - } - } - if (!led_matrix_is_enabled()) { - led_matrix_set_flags(LED_FLAG_ALL); - led_matrix_enable(); - } - return false; -#endif - default: - return true; - } -} - -void keyboard_post_init_kb(void) { - gpio_set_pin_output_push_pull(LED_MAC_OS_PIN); - gpio_set_pin_output_push_pull(LED_WIN_OS_PIN); - gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); - gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); - - keyboard_post_init_user(); -} - -void housekeeping_task_kb(void) { - if (default_layer_state == (1U << 0)) { - gpio_write_pin(LED_MAC_OS_PIN, LED_OS_PIN_ON_STATE); - gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); - } - if (default_layer_state == (1U << 2)) { - gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); - gpio_write_pin(LED_WIN_OS_PIN, LED_OS_PIN_ON_STATE); - } -} - -void suspend_power_down_kb(void) { - gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); - gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); - - suspend_power_down_user(); -} diff --git a/keyboards/keychron/c2_pro_v2/config.h b/keyboards/keychron/c2_pro_v2/config.h deleted file mode 100644 index 2c1468fa62..0000000000 --- a/keyboards/keychron/c2_pro_v2/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* Indication led */ -#define LED_MAC_OS_PIN C10 -#define LED_WIN_OS_PIN C11 -#define LED_OS_PIN_ON_STATE 1 - -/* The I2C Driver Configuration */ -#define I2C1_CLOCK_SPEED 400000 -#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 diff --git a/keyboards/keychron/c2_pro_v2/halconf.h b/keyboards/keychron/c2_pro_v2/halconf.h deleted file mode 100644 index d0a9933637..0000000000 --- a/keyboards/keychron/c2_pro_v2/halconf.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define HAL_USE_I2C TRUE - -#include_next diff --git a/keyboards/keychron/c2_pro_v2/info.json b/keyboards/keychron/c2_pro_v2/info.json deleted file mode 100644 index 9572c9812a..0000000000 --- a/keyboards/keychron/c2_pro_v2/info.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "manufacturer": "Keychron", - "url": "https://github.com/Keychron", - "maintainer": "lalalademaxiya1", - "eeprom": { - "wear_leveling": { - "backing_size": 4096 - } - }, - "usb": { - "vid": "0x3434" - }, - "features": { - "bootmagic": true, - "dip_switch": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "processor": "STM32F401", - "bootloader": "stm32-dfu", - "matrix_pins": { - "cols": ["A0", "A1", "A2", "A3", "C0", "C1", "C2", "C3", "A8", "C12", "B9", "C6", "C7", "C4", "C5","A15", "B10", "B12", "B13", "B14", "B15"], - "rows": ["B0", "B1", "B8", "B3", "B4", "B5"] - }, - "diode_direction": "COL2ROW", - "indicators": { - "caps_lock": "C9", - "num_lock": "C8" - }, - "dip_switch": { - "pins": ["D2"] - }, - "layouts": { - "LAYOUT_104_ansi": { - "layout": [ - {"matrix":[0,0], "x":0, "y":0}, - {"matrix":[0,1], "x":2, "y":0}, - {"matrix":[0,2], "x":3, "y":0}, - {"matrix":[0,3], "x":4, "y":0}, - {"matrix":[0,4], "x":5, "y":0}, - {"matrix":[0,5], "x":6.5, "y":0}, - {"matrix":[0,6], "x":7.5, "y":0}, - {"matrix":[0,7], "x":8.5, "y":0}, - {"matrix":[0,8], "x":9.5, "y":0}, - {"matrix":[0,9], "x":11, "y":0}, - {"matrix":[0,10], "x":12, "y":0}, - {"matrix":[0,11], "x":13, "y":0}, - {"matrix":[0,12], "x":14, "y":0}, - {"matrix":[0,14], "x":15.25, "y":0}, - {"matrix":[0,15], "x":16.25, "y":0}, - {"matrix":[0,16], "x":17.25, "y":0}, - - {"matrix":[1,0], "x":0, "y":1.25}, - {"matrix":[1,1], "x":1, "y":1.25}, - {"matrix":[1,2], "x":2, "y":1.25}, - {"matrix":[1,3], "x":3, "y":1.25}, - {"matrix":[1,4], "x":4, "y":1.25}, - {"matrix":[1,5], "x":5, "y":1.25}, - {"matrix":[1,6], "x":6, "y":1.25}, - {"matrix":[1,7], "x":7, "y":1.25}, - {"matrix":[1,8], "x":8, "y":1.25}, - {"matrix":[1,9], "x":9, "y":1.25}, - {"matrix":[1,10], "x":10, "y":1.25}, - {"matrix":[1,11], "x":11, "y":1.25}, - {"matrix":[1,12], "x":12, "y":1.25}, - {"matrix":[1,13], "x":13, "y":1.25, "w":2}, - {"matrix":[1,14], "x":15.25, "y":1.25}, - {"matrix":[1,15], "x":16.25, "y":1.25}, - {"matrix":[1,16], "x":17.25, "y":1.25}, - {"matrix":[1,17], "x":18.5, "y":1.25}, - {"matrix":[1,18], "x":19.5, "y":1.25}, - {"matrix":[1,19], "x":20.5, "y":1.25}, - {"matrix":[1,20], "x":21.5, "y":1.25}, - - {"matrix":[2,0], "x":0, "y":2.25, "w":1.5}, - {"matrix":[2,1], "x":1.5, "y":2.25}, - {"matrix":[2,2], "x":2.5, "y":2.25}, - {"matrix":[2,3], "x":3.5, "y":2.25}, - {"matrix":[2,4], "x":4.5, "y":2.25}, - {"matrix":[2,5], "x":5.5, "y":2.25}, - {"matrix":[2,6], "x":6.5, "y":2.25}, - {"matrix":[2,7], "x":7.5, "y":2.25}, - {"matrix":[2,8], "x":8.5, "y":2.25}, - {"matrix":[2,9], "x":9.5, "y":2.25}, - {"matrix":[2,10], "x":10.5, "y":2.25}, - {"matrix":[2,11], "x":11.5, "y":2.25}, - {"matrix":[2,12], "x":12.5, "y":2.25}, - {"matrix":[2,13], "x":13.5, "y":2.25, "w":1.5}, - {"matrix":[2,14], "x":15.25, "y":2.25}, - {"matrix":[2,15], "x":16.25, "y":2.25}, - {"matrix":[2,16], "x":17.25, "y":2.25}, - {"matrix":[2,17], "x":18.5, "y":2.25}, - {"matrix":[2,18], "x":19.5, "y":2.25}, - {"matrix":[2,19], "x":20.5, "y":2.25}, - {"matrix":[2,20], "x":21.5, "y":2.25, "h":2}, - - {"matrix":[3,0], "x":0, "y":3.25, "w":1.75}, - {"matrix":[3,1], "x":1.75, "y":3.25}, - {"matrix":[3,2], "x":2.75, "y":3.25}, - {"matrix":[3,3], "x":3.75, "y":3.25}, - {"matrix":[3,4], "x":4.75, "y":3.25}, - {"matrix":[3,5], "x":5.75, "y":3.25}, - {"matrix":[3,6], "x":6.75, "y":3.25}, - {"matrix":[3,7], "x":7.75, "y":3.25}, - {"matrix":[3,8], "x":8.75, "y":3.25}, - {"matrix":[3,9], "x":9.75, "y":3.25}, - {"matrix":[3,10], "x":10.75, "y":3.25}, - {"matrix":[3,11], "x":11.75, "y":3.25}, - {"matrix":[3,13], "x":12.75, "y":3.25, "w":2.25}, - {"matrix":[3,17], "x":18.5, "y":3.25}, - {"matrix":[3,18], "x":19.5, "y":3.25}, - {"matrix":[3,19], "x":20.5, "y":3.25}, - - {"matrix":[4,0], "x":0, "y":4.25, "w":2.25}, - {"matrix":[4,2], "x":2.25, "y":4.25}, - {"matrix":[4,3], "x":3.25, "y":4.25}, - {"matrix":[4,4], "x":4.25, "y":4.25}, - {"matrix":[4,5], "x":5.25, "y":4.25}, - {"matrix":[4,6], "x":6.25, "y":4.25}, - {"matrix":[4,7], "x":7.25, "y":4.25}, - {"matrix":[4,8], "x":8.25, "y":4.25}, - {"matrix":[4,9], "x":9.25, "y":4.25}, - {"matrix":[4,10], "x":10.25, "y":4.25}, - {"matrix":[4,11], "x":11.25, "y":4.25}, - {"matrix":[4,13], "x":12.25, "y":4.25, "w":2.75}, - {"matrix":[4,15], "x":16.25, "y":4.25}, - {"matrix":[4,17], "x":18.5, "y":4.25}, - {"matrix":[4,18], "x":19.5, "y":4.25}, - {"matrix":[4,19], "x":20.5, "y":4.25}, - {"matrix":[4,20], "x":21.5, "y":4.25, "h":2}, - - {"matrix":[5,0], "x":0, "y":5.25, "w":1.25}, - {"matrix":[5,1], "x":1.25, "y":5.25, "w":1.25}, - {"matrix":[5,2], "x":2.5, "y":5.25, "w":1.25}, - {"matrix":[5,6], "x":3.75, "y":5.25, "w":6.25}, - {"matrix":[5,10], "x":10, "y":5.25, "w":1.25}, - {"matrix":[5,11], "x":11.25, "y":5.25, "w":1.25}, - {"matrix":[5,12], "x":12.5, "y":5.25, "w":1.25}, - {"matrix":[5,13], "x":13.75, "y":5.25, "w":1.25}, - {"matrix":[5,14], "x":15.25, "y":5.25}, - {"matrix":[5,15], "x":16.25, "y":5.25}, - {"matrix":[5,16], "x":17.25, "y":5.25}, - {"matrix":[5,17], "x":18.5, "y":5.25, "w":2}, - {"matrix":[5,18], "x":20.5, "y":5.25} - ] - } - } -} diff --git a/keyboards/keychron/c2_pro_v2/mcuconf.h b/keyboards/keychron/c2_pro_v2/mcuconf.h deleted file mode 100644 index 95966a32ce..0000000000 --- a/keyboards/keychron/c2_pro_v2/mcuconf.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2025 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 - -#undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/keychron/c2_pro_v2/readme.md b/keyboards/keychron/c2_pro_v2/readme.md deleted file mode 100644 index 4c9462260e..0000000000 --- a/keyboards/keychron/c2_pro_v2/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# Keychron C2 Pro V2 - -![Keychron C2 Pro](https://i.imgur.com/BQE1tFO.jpg) - -A customizable 100% keyboard. - -Rev1 is based on STM32L432 and rev2 is based on STM32F402. - -* Keyboard Maintainer: [Keychron](https://github.com/keychron) -* Hardware Supported: Keychron C2 Pro -* Hardware Availability: [Keychron C2 Pro QMK/VIA Wired Mechanical Keyboard](https://www.keychron.com/products/keychron-c2-pro-qmk-via-wired-mechanical-keyboard) - -Make example for this keyboard (after setting up your build environment): - - make keychron/c2_pro_v2/ansi/rgb:default - make keychron/c2_pro_v2/ansi/white:default - -Flashing example for this keyboard: - - make keychron/c2_pro_v2/ansi/rgb:default:flash - make keychron/c2_pro_v2/ansi/white:default:flash - -## bootloader - -Enter the bootloader in two ways: - -* **Bootmagic reset**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. -* **Physical reset button**: Briefly press the RESET button under the spacebar. - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/keychron/c3_pro/ansi/red/config.h b/keyboards/keychron/c3_pro/ansi/red/config.h deleted file mode 100644 index 5af1da7f3b..0000000000 --- a/keyboards/keychron/c3_pro/ansi/red/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2024 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* Indication led */ -#define LED_MAC_OS_PIN A4 -#define LED_WIN_OS_PIN A5 -#define LED_OS_PIN_ON_STATE 1 - -/* LED Matrix Driver Configuration */ -#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND - -/* Use first 7 channels of LED driver */ -#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_7_CHANNEL - -/* Set LED driver current */ -#define SNLED27351_CURRENT_TUNE { 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50 } diff --git a/keyboards/keychron/c3_pro/ansi/red/keyboard.json b/keyboards/keychron/c3_pro/ansi/red/keyboard.json deleted file mode 100644 index a759e92928..0000000000 --- a/keyboards/keychron/c3_pro/ansi/red/keyboard.json +++ /dev/null @@ -1,242 +0,0 @@ - -{ - "keyboard_name": "Keychron C3 Pro Red", - "features": { - "led_matrix": true - }, - "indicators": { - "caps_lock": "A3" - }, - "led_matrix": { - "animations": { - "band_pinwheel": true, - "band_spiral": true, - "breathing": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_up_down": true, - "dual_beacon": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_simple": true, - "solid_splash": true, - "wave_left_right": true, - "wave_up_down": true - }, - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 26, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 39, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 65, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 97, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 123, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 156, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 182, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 1}, - - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 13, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 156, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 175, "y": 16, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 16, "flags": 1}, - {"matrix": [1, 15], "x": 211, "y": 16, "flags": 1}, - {"matrix": [1, 16], "x": 224, "y": 16, "flags": 1}, - - {"matrix": [2, 0], "x": 3, "y": 28, "flags": 1}, - {"matrix": [2, 1], "x": 19, "y": 28, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 28, "flags": 4}, - {"matrix": [2, 4], "x": 58, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 28, "flags": 4}, - {"matrix": [2, 6], "x": 84, "y": 28, "flags": 4}, - {"matrix": [2, 7], "x": 97, "y": 28, "flags": 4}, - {"matrix": [2, 8], "x": 110, "y": 28, "flags": 4}, - {"matrix": [2, 9], "x": 123, "y": 28, "flags": 4}, - {"matrix": [2, 10], "x": 136, "y": 28, "flags": 4}, - {"matrix": [2, 11], "x": 149, "y": 28, "flags": 4}, - {"matrix": [2, 12], "x": 162, "y": 28, "flags": 4}, - {"matrix": [2, 13], "x": 178, "y": 28, "flags": 1}, - {"matrix": [2, 14], "x": 198, "y": 28, "flags": 1}, - {"matrix": [2, 15], "x": 211, "y": 28, "flags": 1}, - {"matrix": [2, 16], "x": 224, "y": 28, "flags": 1}, - - {"matrix": [3, 0], "x": 5, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 23, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 126, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 139, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 152, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 173, "y": 40, "flags": 1}, - - {"matrix": [4, 0], "x": 8, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 133, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 146, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 170, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 1}, - - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 34, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 83, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 148, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 164, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 1}, - - {"x": 0, "y": 0, "flags": 1}, - {"x": 0, "y": 16, "flags": 1}, - {"x": 0, "y": 28, "flags": 1}, - {"x": 0, "y": 40, "flags": 1}, - {"x": 0, "y": 52, "flags": 1}, - {"x": 0, "y": 64, "flags": 1}, - {"x": 224, "y": 0, "flags": 1}, - {"x": 224, "y": 16, "flags": 1}, - {"x": 224, "y": 28, "flags": 1}, - {"x": 224, "y": 40, "flags": 1}, - {"x": 224, "y": 52, "flags": 1}, - {"x": 224, "y": 64, "flags": 1} - ], - "sleep": true - }, - "matrix_pins": { - "cols": ["C6", "C7", "C8", "A14", "A15", "C10", "C11", "C13", "C14", "C15", "C0", "C1", "C2", "C3", "A0", "A1", "A2"], - "rows": ["C12", "D2", "B3", "B4", "B5", "B6"] - }, - "usb": { - "device_version": "1.0.1", - "pid": "0x0430" - }, - "layouts": { - "LAYOUT_tkl_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6.5, "y": 0}, - {"matrix": [0, 7], "x": 7.5, "y": 0}, - {"matrix": [0, 8], "x": 8.5, "y": 0}, - {"matrix": [0, 9], "x": 9.5, "y": 0}, - {"matrix": [0, 10], "x": 11, "y": 0}, - {"matrix": [0, 11], "x": 12, "y": 0}, - {"matrix": [0, 12], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14, "y": 0}, - {"matrix": [0, 14], "x": 15.25, "y": 0}, - {"matrix": [0, 15], "x": 16.25, "y": 0}, - {"matrix": [0, 16], "x": 17.25, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1.25}, - {"matrix": [1, 1], "x": 1, "y": 1.25}, - {"matrix": [1, 2], "x": 2, "y": 1.25}, - {"matrix": [1, 3], "x": 3, "y": 1.25}, - {"matrix": [1, 4], "x": 4, "y": 1.25}, - {"matrix": [1, 5], "x": 5, "y": 1.25}, - {"matrix": [1, 6], "x": 6, "y": 1.25}, - {"matrix": [1, 7], "x": 7, "y": 1.25}, - {"matrix": [1, 8], "x": 8, "y": 1.25}, - {"matrix": [1, 9], "x": 9, "y": 1.25}, - {"matrix": [1, 10], "x": 10, "y": 1.25}, - {"matrix": [1, 11], "x": 11, "y": 1.25}, - {"matrix": [1, 12], "x": 12, "y": 1.25}, - {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, - {"matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, - {"matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, - - {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, - {"matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, - {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, - {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, - {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, - {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, - {"matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - } - } -} diff --git a/keyboards/keychron/c3_pro/ansi/red/keymaps/default/keymap.c b/keyboards/keychron/c3_pro/ansi/red/keymaps/default/keymap.c deleted file mode 100644 index 053ede0545..0000000000 --- a/keyboards/keychron/c3_pro/ansi/red/keymaps/default/keymap.c +++ /dev/null @@ -1,60 +0,0 @@ -/* Copyright 2024 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN, -}; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_BRID, KC_BRIU, _______, _______, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_TRNS, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN),KC_TRNS, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_tkl_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_STEP, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - BL_TOGG, BL_STEP, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_OSSW, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - [WIN_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_tkl_ansi( - _______, KC_BRID, KC_BRIU, _______, _______, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_STEP, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - BL_TOGG, BL_STEP, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_OSSW, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; - diff --git a/keyboards/keychron/c3_pro/ansi/red/red.c b/keyboards/keychron/c3_pro/ansi/red/red.c deleted file mode 100644 index faf79e0cac..0000000000 --- a/keyboards/keychron/c3_pro/ansi/red/red.c +++ /dev/null @@ -1,132 +0,0 @@ -/* Copyright 2023 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef LED_MATRIX_ENABLE -// clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { -/* Refer to SNLED27351 manual for these locations - * driver - * | LED address - * | | */ - {0, CB6_CA1}, - {0, CB6_CA3}, - {0, CB6_CA4}, - {0, CB6_CA5}, - {0, CB6_CA6}, - {0, CB6_CA7}, - {0, CB6_CA8}, - {0, CB6_CA9}, - {0, CB6_CA10}, - {0, CB6_CA11}, - {0, CB6_CA12}, - {0, CB6_CA13}, - {0, CB6_CA14}, - {0, CB6_CA15}, - {0, CB6_CA16}, - {0, CB3_CA13}, - - {0, CB5_CA1}, - {0, CB5_CA2}, - {0, CB5_CA3}, - {0, CB5_CA4}, - {0, CB5_CA5}, - {0, CB5_CA6}, - {0, CB5_CA7}, - {0, CB5_CA8}, - {0, CB5_CA9}, - {0, CB5_CA10}, - {0, CB5_CA11}, - {0, CB5_CA12}, - {0, CB5_CA13}, - {0, CB5_CA14}, - {0, CB5_CA15}, - {0, CB5_CA16}, - {0, CB3_CA15}, - - {0, CB4_CA1}, - {0, CB4_CA2}, - {0, CB4_CA3}, - {0, CB4_CA4}, - {0, CB4_CA5}, - {0, CB4_CA6}, - {0, CB4_CA7}, - {0, CB4_CA8}, - {0, CB4_CA9}, - {0, CB4_CA10}, - {0, CB4_CA11}, - {0, CB4_CA12}, - {0, CB4_CA13}, - {0, CB4_CA14}, - {0, CB4_CA15}, - {0, CB4_CA16}, - {0, CB3_CA16}, - - {0, CB3_CA1}, - {0, CB3_CA2}, - {0, CB3_CA3}, - {0, CB3_CA4}, - {0, CB3_CA5}, - {0, CB3_CA6}, - {0, CB3_CA7}, - {0, CB3_CA8}, - {0, CB3_CA9}, - {0, CB3_CA10}, - {0, CB3_CA11}, - {0, CB3_CA12}, - {0, CB3_CA14}, - - {0, CB2_CA1}, - {0, CB2_CA3}, - {0, CB2_CA4}, - {0, CB2_CA5}, - {0, CB2_CA6}, - {0, CB2_CA7}, - {0, CB2_CA8}, - {0, CB2_CA9}, - {0, CB2_CA10}, - {0, CB2_CA11}, - {0, CB2_CA12}, - {0, CB2_CA14}, - {0, CB2_CA16}, - - {0, CB1_CA1}, - {0, CB1_CA2}, - {0, CB1_CA3}, - {0, CB1_CA7}, - {0, CB1_CA11}, - {0, CB1_CA12}, - {0, CB1_CA13}, - {0, CB1_CA14}, - {0, CB1_CA15}, - {0, CB1_CA16}, - {0, CB2_CA15}, - - {0, CB7_CA1}, - {0, CB7_CA2}, - {0, CB7_CA3}, - {0, CB7_CA4}, - {0, CB7_CA5}, - {0, CB7_CA6}, - {0, CB7_CA12}, - {0, CB7_CA11}, - {0, CB7_CA10}, - {0, CB7_CA9}, - {0, CB7_CA8}, - {0, CB7_CA7}, -}; -#endif diff --git a/keyboards/keychron/c3_pro/ansi/rgb/config.h b/keyboards/keychron/c3_pro/ansi/rgb/config.h deleted file mode 100644 index 19054e4773..0000000000 --- a/keyboards/keychron/c3_pro/ansi/rgb/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2024 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* Enable indicator LED*/ -#define LED_MAC_OS_PIN A6 -#define LED_WIN_OS_PIN A7 -#define LED_OS_PIN_ON_STATE 1 - -/* RGB Matrix Driver Configuration */ -#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO -#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND - -/* Set LED driver current */ -#define SNLED27351_CURRENT_TUNE { 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30 } diff --git a/keyboards/keychron/c3_pro/ansi/rgb/keyboard.json b/keyboards/keychron/c3_pro/ansi/rgb/keyboard.json deleted file mode 100644 index ca6f1abf08..0000000000 --- a/keyboards/keychron/c3_pro/ansi/rgb/keyboard.json +++ /dev/null @@ -1,249 +0,0 @@ -{ - "keyboard_name": "Keychron C3 Pro RGB", - "features": { - "rgb_matrix": true - }, - "indicators": { - "caps_lock": "A5" - }, - "matrix_pins": { - "cols": ["C6", "C7", "C8", "A14", "B7", "C13", "C14", "C15", "C0", "C1", "C2", "C3", "A0", "A1", "A2", "A3", "A4"], - "rows": ["C12", "D2", "B3", "B4", "B5", "B6"] - }, - "rgb_matrix": { - "animations": { - "band_spiral_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "jellybean_raindrops": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_simple": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 20, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 30, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 40, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 50, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 65, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 75, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 85, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 95, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 120, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 130, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 140, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 155, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 165, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 175, "y": 0, "flags": 1}, - - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 20, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 30, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 40, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 50, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 60, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 70, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 80, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 90, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 100, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 110, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 120, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 135, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 155, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 165, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 175, "y": 15, "flags": 1}, - - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 57, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 78, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 99, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 143, "y": 27, "flags": 4}, - {"matrix": [2, 14], "x": 155, "y": 27, "flags": 1}, - {"matrix": [2, 15], "x": 165, "y": 27, "flags": 1}, - {"matrix": [2, 16], "x": 175, "y": 27, "flags": 1}, - - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 123, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 143, "y": 40, "flags": 4}, - - {"matrix": [4, 0], "x": 7, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 23, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 34, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 44, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 65, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 76, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 86, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 96, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 117, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 137, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 165, "y": 52, "flags": 1}, - - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 27, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 67, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 104, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 116, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 128, "y": 64, "flags": 4}, - {"matrix": [5, 13], "x": 140, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 155, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 165, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 175, "y": 64, "flags": 1}, - - {"x": 0, "y": 0, "flags": 1}, - {"x": 0, "y": 16, "flags": 1}, - {"x": 0, "y": 28, "flags": 1}, - {"x": 0, "y": 40, "flags": 1}, - {"x": 0, "y": 52, "flags": 1}, - {"x": 0, "y": 64, "flags": 1}, - {"x": 224, "y": 0, "flags": 1}, - {"x": 224, "y": 16, "flags": 1}, - {"x": 224, "y": 28, "flags": 1}, - {"x": 224, "y": 40, "flags": 1}, - {"x": 224, "y": 52, "flags": 1}, - {"x": 224, "y": 64, "flags": 1} - ], - "sleep": true - }, - "usb": { - "device_version": "1.0.1", - "pid": "0x0433" - }, - "layouts": { - "LAYOUT_tkl_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 2], "x": 3, "y": 0}, - {"matrix": [0, 3], "x": 4, "y": 0}, - {"matrix": [0, 4], "x": 5, "y": 0}, - {"matrix": [0, 5], "x": 6.5, "y": 0}, - {"matrix": [0, 6], "x": 7.5, "y": 0}, - {"matrix": [0, 7], "x": 8.5, "y": 0}, - {"matrix": [0, 8], "x": 9.5, "y": 0}, - {"matrix": [0, 9], "x": 10, "y": 0}, - {"matrix": [0, 10], "x": 11, "y": 0}, - {"matrix": [0, 11], "x": 12, "y": 0}, - {"matrix": [0, 12], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14, "y": 0}, - {"matrix": [0, 14], "x": 15.25, "y": 0}, - {"matrix": [0, 15], "x": 16.25, "y": 0}, - {"matrix": [0, 16], "x": 17.25, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1.25}, - {"matrix": [1, 1], "x": 1, "y": 1.25}, - {"matrix": [1, 2], "x": 2, "y": 1.25}, - {"matrix": [1, 3], "x": 3, "y": 1.25}, - {"matrix": [1, 4], "x": 4, "y": 1.25}, - {"matrix": [1, 5], "x": 5, "y": 1.25}, - {"matrix": [1, 6], "x": 6, "y": 1.25}, - {"matrix": [1, 7], "x": 7, "y": 1.25}, - {"matrix": [1, 8], "x": 8, "y": 1.25}, - {"matrix": [1, 9], "x": 9, "y": 1.25}, - {"matrix": [1, 10], "x": 10, "y": 1.25}, - {"matrix": [1, 11], "x": 11, "y": 1.25}, - {"matrix": [1, 12], "x": 12, "y": 1.25}, - {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, - {"matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, - {"matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, - - {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, - {"matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, - {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, - {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, - {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, - {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, - {"matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - } - } -} diff --git a/keyboards/keychron/c3_pro/ansi/rgb/keymaps/default/keymap.c b/keyboards/keychron/c3_pro/ansi/rgb/keymaps/default/keymap.c deleted file mode 100644 index 27b5a7fb07..0000000000 --- a/keyboards/keychron/c3_pro/ansi/rgb/keymaps/default/keymap.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright 2024 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// clang-format off - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN, -}; - -#define KC_TASK LGUI(KC_TAB) -#define KC_FLXP LGUI(KC_E) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_TRNS, RM_NEXT, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_APP, KC_RCTL,KC_LEFT, KC_DOWN, KC_RGHT ), - - [MAC_FN] = LAYOUT_tkl_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_OSSW, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - - [WIN_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_SCROLL_LOCK,KC_PAUSE, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_APP, KC_RCTL,KC_LEFT, KC_DOWN, KC_RGHT ), - - [WIN_FN] = LAYOUT_tkl_ansi( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_NEXT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_OSSW, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, GU_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), -}; diff --git a/keyboards/keychron/c3_pro/ansi/rgb/rgb.c b/keyboards/keychron/c3_pro/ansi/rgb/rgb.c deleted file mode 100644 index 8ec1995a09..0000000000 --- a/keyboards/keychron/c3_pro/ansi/rgb/rgb.c +++ /dev/null @@ -1,135 +0,0 @@ -/* Copyright 2024 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE -// clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { -/* Refer to SNLED27351 manual for these locations - - * driver - * | R location - * | | G location - * | | | B location - * | | | | */ - {0, CB7_CA1, CB9_CA1, CB8_CA1}, - {0, CB7_CA3, CB9_CA3, CB8_CA3}, - {0, CB7_CA4, CB9_CA4, CB8_CA4}, - {0, CB7_CA5, CB9_CA5, CB8_CA5}, - {0, CB7_CA6, CB9_CA6, CB8_CA6}, - {0, CB7_CA7, CB9_CA7, CB8_CA7}, - {0, CB7_CA8, CB9_CA8, CB8_CA8}, - {0, CB7_CA9, CB9_CA9, CB8_CA9}, - {0, CB7_CA10, CB9_CA10, CB8_CA10}, - {0, CB7_CA11, CB9_CA11, CB8_CA11}, - {0, CB7_CA12, CB9_CA12, CB8_CA12}, - {0, CB7_CA13, CB9_CA13, CB8_CA13}, - {0, CB7_CA14, CB9_CA14, CB8_CA14}, - {0, CB7_CA15, CB9_CA15, CB8_CA15}, - {0, CB7_CA16, CB9_CA16, CB8_CA16}, - {1, CB7_CA16, CB9_CA16, CB8_CA16}, - - {0, CB4_CA1, CB6_CA1, CB5_CA1}, - {0, CB4_CA2, CB6_CA2, CB5_CA2}, - {0, CB4_CA3, CB6_CA3, CB5_CA3}, - {0, CB4_CA4, CB6_CA4, CB5_CA4}, - {0, CB4_CA5, CB6_CA5, CB5_CA5}, - {0, CB4_CA6, CB6_CA6, CB5_CA6}, - {0, CB4_CA7, CB6_CA7, CB5_CA7}, - {0, CB4_CA8, CB6_CA8, CB5_CA8}, - {0, CB4_CA9, CB6_CA9, CB5_CA9}, - {0, CB4_CA10, CB6_CA10, CB5_CA10}, - {0, CB4_CA11, CB6_CA11, CB5_CA11}, - {0, CB4_CA12, CB6_CA12, CB5_CA12}, - {0, CB4_CA13, CB6_CA13, CB5_CA13}, - {0, CB4_CA14, CB6_CA14, CB5_CA14}, - {0, CB4_CA15, CB6_CA15, CB5_CA15}, - {0, CB4_CA16, CB6_CA16, CB5_CA16}, - {1, CB7_CA13, CB9_CA13, CB8_CA13}, - - {0, CB1_CA1, CB3_CA1, CB2_CA1}, - {0, CB1_CA2, CB3_CA2, CB2_CA2}, - {0, CB1_CA3, CB3_CA3, CB2_CA3}, - {0, CB1_CA4, CB3_CA4, CB2_CA4}, - {0, CB1_CA5, CB3_CA5, CB2_CA5}, - {0, CB1_CA6, CB3_CA6, CB2_CA6}, - {0, CB1_CA7, CB3_CA7, CB2_CA7}, - {0, CB1_CA8, CB3_CA8, CB2_CA8}, - {0, CB1_CA9, CB3_CA9, CB2_CA9}, - {0, CB1_CA10, CB3_CA10, CB2_CA10}, - {0, CB1_CA11, CB3_CA11, CB2_CA11}, - {0, CB1_CA12, CB3_CA12, CB2_CA12}, - {0, CB1_CA13, CB3_CA13, CB2_CA13}, - {0, CB1_CA14, CB3_CA14, CB2_CA14}, - {0, CB1_CA15, CB3_CA15, CB2_CA15}, - {0, CB1_CA16, CB3_CA16, CB2_CA16}, - {1, CB7_CA15, CB9_CA15, CB8_CA15}, - - {1, CB7_CA1, CB9_CA1, CB8_CA1}, - {1, CB7_CA2, CB9_CA2, CB8_CA2}, - {1, CB7_CA3, CB9_CA3, CB8_CA3}, - {1, CB7_CA4, CB9_CA4, CB8_CA4}, - {1, CB7_CA5, CB9_CA5, CB8_CA5}, - {1, CB7_CA6, CB9_CA6, CB8_CA6}, - {1, CB7_CA7, CB9_CA7, CB8_CA7}, - {1, CB7_CA8, CB9_CA8, CB8_CA8}, - {1, CB7_CA9, CB9_CA9, CB8_CA9}, - {1, CB7_CA10, CB9_CA10, CB8_CA10}, - {1, CB7_CA11, CB9_CA11, CB8_CA11}, - {1, CB7_CA12, CB9_CA12, CB8_CA12}, - {1, CB7_CA14, CB9_CA14, CB8_CA14}, - - {1, CB1_CA1, CB3_CA1, CB2_CA1}, - {1, CB1_CA3, CB3_CA3, CB2_CA3}, - {1, CB1_CA4, CB3_CA4, CB2_CA4}, - {1, CB1_CA5, CB3_CA5, CB2_CA5}, - {1, CB1_CA6, CB3_CA6, CB2_CA6}, - {1, CB1_CA7, CB3_CA7, CB2_CA7}, - {1, CB1_CA8, CB3_CA8, CB2_CA8}, - {1, CB1_CA9, CB3_CA9, CB2_CA9}, - {1, CB1_CA10, CB3_CA10, CB2_CA10}, - {1, CB1_CA11, CB3_CA11, CB2_CA11}, - {1, CB1_CA12, CB3_CA12, CB2_CA12}, - {1, CB1_CA14, CB3_CA14, CB2_CA14}, - {1, CB1_CA16, CB3_CA16, CB2_CA16}, - - {1, CB4_CA1, CB6_CA1, CB5_CA1}, - {1, CB4_CA2, CB6_CA2, CB5_CA2}, - {1, CB4_CA3, CB6_CA3, CB5_CA3}, - {1, CB4_CA7, CB6_CA7, CB5_CA7}, - {1, CB4_CA11, CB6_CA11, CB5_CA11}, - {1, CB4_CA12, CB6_CA12, CB5_CA12}, - {1, CB4_CA13, CB6_CA13, CB5_CA13}, - {1, CB4_CA14, CB6_CA14, CB5_CA14}, - {1, CB4_CA15, CB6_CA15, CB5_CA15}, - {1, CB4_CA16, CB6_CA16, CB5_CA16}, - {1, CB1_CA15, CB3_CA15, CB2_CA15}, - - {0, CB10_CA1, CB12_CA1, CB11_CA1}, - {0, CB10_CA2, CB12_CA2, CB11_CA2}, - {0, CB10_CA3, CB12_CA3, CB11_CA3}, - {0, CB10_CA4, CB12_CA4, CB11_CA4}, - {0, CB10_CA5, CB12_CA5, CB11_CA5}, - {0, CB10_CA6, CB12_CA6, CB11_CA6}, - {0, CB10_CA7, CB12_CA7, CB11_CA7}, - {0, CB10_CA8, CB12_CA8, CB11_CA8}, - {0, CB10_CA9, CB12_CA9, CB11_CA9}, - {0, CB10_CA10, CB12_CA10, CB11_CA10}, - {0, CB10_CA11, CB12_CA11, CB11_CA11}, - {0, CB10_CA12, CB12_CA12, CB11_CA12}, -}; -#endif diff --git a/keyboards/keychron/c3_pro/board.h b/keyboards/keychron/c3_pro/board.h deleted file mode 100644 index 60d25b93b8..0000000000 --- a/keyboards/keychron/c3_pro/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2024 @ Keychron (https://www.keychron.com) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/keychron/c3_pro/c3_pro.c b/keyboards/keychron/c3_pro/c3_pro.c deleted file mode 100644 index 905eb86f5a..0000000000 --- a/keyboards/keychron/c3_pro/c3_pro.c +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright 2024 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "c3_pro.h" - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - switch (keycode) { -#ifdef RGB_MATRIX_ENABLE - case QK_RGB_MATRIX_TOGGLE: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_NONE); - rgb_matrix_set_color_all(0, 0, 0); - } break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - } break; - } - } - if (!rgb_matrix_is_enabled()) { - rgb_matrix_set_flags(LED_FLAG_ALL); - rgb_matrix_enable(); - } - return false; -#endif -#ifdef LED_MATRIX_ENABLE - case QK_LED_MATRIX_TOGGLE: - if (record->event.pressed) { - switch (led_matrix_get_flags()) { - case LED_FLAG_ALL: { - led_matrix_set_flags(LED_FLAG_NONE); - led_matrix_set_value_all(0); - } break; - default: { - led_matrix_set_flags(LED_FLAG_ALL); - } break; - } - } - if (!led_matrix_is_enabled()) { - led_matrix_set_flags(LED_FLAG_ALL); - led_matrix_enable(); - } - return false; -#endif - case KC_OSSW: - if (record->event.pressed) { - default_layer_xor(1U << 0); - default_layer_xor(1U << 2); - eeconfig_update_default_layer(default_layer_state); - } - return false; - default: - return true; - } -} - -#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) - -bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { - if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { - return false; - } - // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); - - if (host_keyboard_led_state().caps_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 255, 255, 255); - } else { - if (!rgb_matrix_get_flags()) { - RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 0, 0); - } - } - return true; -} - -#endif // RGB_MATRIX_ENABLE && CAPS_LOCK_LED_INDEX - -#if defined(LED_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) - -bool led_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { - if (!led_matrix_indicators_advanced_user(led_min, led_max)) { - return false; - } - - if (host_keyboard_led_state().caps_lock) { - led_matrix_set_value(CAPS_LOCK_LED_INDEX, 255); - - } else { - if (!led_matrix_get_flags()) { - led_matrix_set_value(CAPS_LOCK_LED_INDEX, 0); - } - } - return true; -} - -#endif // LED_MATRIX_ENABLE && CAPS_LOCK_LED_INDEX diff --git a/keyboards/keychron/c3_pro/c3_pro.h b/keyboards/keychron/c3_pro/c3_pro.h deleted file mode 100644 index 689e061657..0000000000 --- a/keyboards/keychron/c3_pro/c3_pro.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2024 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "quantum.h" - -enum my_keycodes { - KC_OS_SWITCH = QK_KB_11, -}; - -#define KC_OSSW KC_OS_SWITCH diff --git a/keyboards/keychron/c3_pro/config.h b/keyboards/keychron/c3_pro/config.h deleted file mode 100644 index f5e7e85969..0000000000 --- a/keyboards/keychron/c3_pro/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2024 @ Keychron(https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* I2C driver Configuration */ -#define I2C1_SCL_PIN B8 -#define I2C1_SDA_PIN B9 -#define I2C1_CLOCK_SPEED 400000 -#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 - diff --git a/keyboards/keychron/c3_pro/halconf.h b/keyboards/keychron/c3_pro/halconf.h deleted file mode 100644 index 093e4254c3..0000000000 --- a/keyboards/keychron/c3_pro/halconf.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2024 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define HAL_USE_I2C TRUE - -#include_next diff --git a/keyboards/keychron/c3_pro/info.json b/keyboards/keychron/c3_pro/info.json deleted file mode 100644 index 24a77aae07..0000000000 --- a/keyboards/keychron/c3_pro/info.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "manufacturer": "Keychron", - "maintainer": "Joe", - "bootloader": "stm32-dfu", - "community_layouts": ["tkl_ansi"], - "diode_direction": "ROW2COL", - "eeprom": { - "wear_leveling": { - "backing_size": 4096 - } - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "processor": "STM32F401", - "url": "https://github.com/Keychron", - "usb": { - "device_version": "1.0.1", - "vid": "0x3434" - } -} diff --git a/keyboards/keychron/c3_pro/mcuconf.h b/keyboards/keychron/c3_pro/mcuconf.h deleted file mode 100644 index ad75926a14..0000000000 --- a/keyboards/keychron/c3_pro/mcuconf.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2024 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 - -#undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/keychron/c3_pro/readme.md b/keyboards/keychron/c3_pro/readme.md deleted file mode 100644 index ae2deb45a7..0000000000 --- a/keyboards/keychron/c3_pro/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# Keychron C3 Pro - -![Keychron C3 Pro](https://i.imgur.com/b4FTJsf.jpg) - -A customizable 87% keyboard. - -* Keyboard Maintainer: [Keychron](https://github.com/keychron) -* Hardware Supported: Keychron C3 Pro -* Hardware Availability: [Keychron](https://www.keychron.com/) - -Make example for this keyboard (after setting up your build environment): - - make keychron/c3_pro/ansi/red:default - make keychron/c3_pro/ansi/rgb:default - -Flashing example for this keyboard: - - make keychron/c3_pro/ansi/red:default:flash - make keychron/c3_pro/ansi/rgb:default:flash - -## bootloader - -Enter the bootloader in two ways: - -* **Bootmagic reset**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. -* **Physical reset button**: Briefly press the RESET button under the spacebar. - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/keychron/q0/info.json b/keyboards/keychron/q0/info.json index 666a797411..a301746831 100644 --- a/keyboards/keychron/q0/info.json +++ b/keyboards/keychron/q0/info.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/keychron/q11/info.json b/keyboards/keychron/q11/info.json index bb9a8f7d0d..73c4233876 100755 --- a/keyboards/keychron/q11/info.json +++ b/keyboards/keychron/q11/info.json @@ -21,6 +21,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/q1v1/info.json b/keyboards/keychron/q1v1/info.json index b8ab503b07..0107c60b9c 100644 --- a/keyboards/keychron/q1v1/info.json +++ b/keyboards/keychron/q1v1/info.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/q1v2/info.json b/keyboards/keychron/q1v2/info.json index f0342254fa..7eb7038696 100644 --- a/keyboards/keychron/q1v2/info.json +++ b/keyboards/keychron/q1v2/info.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/keychron/q2/info.json b/keyboards/keychron/q2/info.json index c322a9902f..d0bb48d7cb 100644 --- a/keyboards/keychron/q2/info.json +++ b/keyboards/keychron/q2/info.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/q3/info.json b/keyboards/keychron/q3/info.json index a08a115bb6..a07fc670d8 100644 --- a/keyboards/keychron/q3/info.json +++ b/keyboards/keychron/q3/info.json @@ -14,6 +14,8 @@ "features": { "bootmagic": true, "dip_switch": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/keychron/q4/info.json b/keyboards/keychron/q4/info.json index bcbfd74217..4b9f246b4c 100644 --- a/keyboards/keychron/q4/info.json +++ b/keyboards/keychron/q4/info.json @@ -18,6 +18,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/keychron/q5/info.json b/keyboards/keychron/q5/info.json index 1e7a5de703..b35996d341 100644 --- a/keyboards/keychron/q5/info.json +++ b/keyboards/keychron/q5/info.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/q60/ansi/keyboard.json b/keyboards/keychron/q60/ansi/keyboard.json index 83ee57d011..4d6f680890 100644 --- a/keyboards/keychron/q60/ansi/keyboard.json +++ b/keyboards/keychron/q60/ansi/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/q7/info.json b/keyboards/keychron/q7/info.json index 663ad4b275..6b8a94ce99 100644 --- a/keyboards/keychron/q7/info.json +++ b/keyboards/keychron/q7/info.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/q8/info.json b/keyboards/keychron/q8/info.json index b0478e019b..da4c9c6f79 100644 --- a/keyboards/keychron/q8/info.json +++ b/keyboards/keychron/q8/info.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/q9/info.json b/keyboards/keychron/q9/info.json index ff80a256d3..322fcfa1ad 100644 --- a/keyboards/keychron/q9/info.json +++ b/keyboards/keychron/q9/info.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/q9_plus/info.json b/keyboards/keychron/q9_plus/info.json index 8d5034971f..927f5094a6 100755 --- a/keyboards/keychron/q9_plus/info.json +++ b/keyboards/keychron/q9_plus/info.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "dip_switch": true, diff --git a/keyboards/keychron/s1/ansi/rgb/keyboard.json b/keyboards/keychron/s1/ansi/rgb/keyboard.json index fb52ee6423..23ea66071e 100644 --- a/keyboards/keychron/s1/ansi/rgb/keyboard.json +++ b/keyboards/keychron/s1/ansi/rgb/keyboard.json @@ -37,6 +37,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/s1/ansi/white/keyboard.json b/keyboards/keychron/s1/ansi/white/keyboard.json index 7118ebfc44..40cc99a23f 100644 --- a/keyboards/keychron/s1/ansi/white/keyboard.json +++ b/keyboards/keychron/s1/ansi/white/keyboard.json @@ -123,6 +123,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "led_matrix": true, diff --git a/keyboards/keychron/v2/ansi/keyboard.json b/keyboards/keychron/v2/ansi/keyboard.json index bc09cb8a27..015aae6e3e 100644 --- a/keyboards/keychron/v2/ansi/keyboard.json +++ b/keyboards/keychron/v2/ansi/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/v2/ansi_encoder/keyboard.json b/keyboards/keychron/v2/ansi_encoder/keyboard.json index 6752d14b15..ca62bab148 100644 --- a/keyboards/keychron/v2/ansi_encoder/keyboard.json +++ b/keyboards/keychron/v2/ansi_encoder/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "encoder": true, "extrakey": true, diff --git a/keyboards/keychron/v2/iso/keyboard.json b/keyboards/keychron/v2/iso/keyboard.json index 89bdb51a65..827f613247 100644 --- a/keyboards/keychron/v2/iso/keyboard.json +++ b/keyboards/keychron/v2/iso/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/v2/iso_encoder/keyboard.json b/keyboards/keychron/v2/iso_encoder/keyboard.json index 89ce2714f1..10774d6974 100644 --- a/keyboards/keychron/v2/iso_encoder/keyboard.json +++ b/keyboards/keychron/v2/iso_encoder/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "encoder": true, "extrakey": true, diff --git a/keyboards/keychron/v2/jis/keyboard.json b/keyboards/keychron/v2/jis/keyboard.json index 01beaf31ac..c775944009 100644 --- a/keyboards/keychron/v2/jis/keyboard.json +++ b/keyboards/keychron/v2/jis/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/v2/jis_encoder/keyboard.json b/keyboards/keychron/v2/jis_encoder/keyboard.json index d8a540953c..c783b3553e 100644 --- a/keyboards/keychron/v2/jis_encoder/keyboard.json +++ b/keyboards/keychron/v2/jis_encoder/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "encoder": true, "extrakey": true, diff --git a/keyboards/keychron/v3/ansi/keyboard.json b/keyboards/keychron/v3/ansi/keyboard.json index d388456227..b8489a43b4 100644 --- a/keyboards/keychron/v3/ansi/keyboard.json +++ b/keyboards/keychron/v3/ansi/keyboard.json @@ -5,6 +5,8 @@ "maintainer": "lalalademaxiya1", "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/v3/iso/keyboard.json b/keyboards/keychron/v3/iso/keyboard.json index 40a8139ccc..b257deb1c0 100644 --- a/keyboards/keychron/v3/iso/keyboard.json +++ b/keyboards/keychron/v3/iso/keyboard.json @@ -5,6 +5,7 @@ "maintainer": "lalalademaxiya1", "features": { "bootmagic": true, + "command": false, "console": true, "dip_switch": true, "extrakey": true, diff --git a/keyboards/keychron/v3/jis/keyboard.json b/keyboards/keychron/v3/jis/keyboard.json index 0bc3a43d0e..f00716b2db 100644 --- a/keyboards/keychron/v3/jis/keyboard.json +++ b/keyboards/keychron/v3/jis/keyboard.json @@ -5,6 +5,8 @@ "maintainer": "lalalademaxiya1", "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/v4/ansi/keyboard.json b/keyboards/keychron/v4/ansi/keyboard.json index 7184e32f27..d66eb3f956 100644 --- a/keyboards/keychron/v4/ansi/keyboard.json +++ b/keyboards/keychron/v4/ansi/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/v4/iso/keyboard.json b/keyboards/keychron/v4/iso/keyboard.json index 8077844652..c7854307e4 100644 --- a/keyboards/keychron/v4/iso/keyboard.json +++ b/keyboards/keychron/v4/iso/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/v7/ansi/keyboard.json b/keyboards/keychron/v7/ansi/keyboard.json index 503aea5ab6..a60b46dc97 100644 --- a/keyboards/keychron/v7/ansi/keyboard.json +++ b/keyboards/keychron/v7/ansi/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/v7/iso/keyboard.json b/keyboards/keychron/v7/iso/keyboard.json index ec4cd06e6b..0022222635 100644 --- a/keyboards/keychron/v7/iso/keyboard.json +++ b/keyboards/keychron/v7/iso/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/v8/ansi/keyboard.json b/keyboards/keychron/v8/ansi/keyboard.json index 392783e024..7827270228 100644 --- a/keyboards/keychron/v8/ansi/keyboard.json +++ b/keyboards/keychron/v8/ansi/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/v8/ansi_encoder/keyboard.json b/keyboards/keychron/v8/ansi_encoder/keyboard.json index 6d3257feec..a5d84021d0 100644 --- a/keyboards/keychron/v8/ansi_encoder/keyboard.json +++ b/keyboards/keychron/v8/ansi_encoder/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "encoder": true, "extrakey": true, diff --git a/keyboards/keychron/v8/iso/keyboard.json b/keyboards/keychron/v8/iso/keyboard.json index 0d10662a00..89310111f5 100644 --- a/keyboards/keychron/v8/iso/keyboard.json +++ b/keyboards/keychron/v8/iso/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keychron/v8/iso_encoder/keyboard.json b/keyboards/keychron/v8/iso_encoder/keyboard.json index d446d213d4..2e50de7421 100644 --- a/keyboards/keychron/v8/iso_encoder/keyboard.json +++ b/keyboards/keychron/v8/iso_encoder/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "dip_switch": true, "encoder": true, "extrakey": true, diff --git a/keyboards/keychron/x0/board.h b/keyboards/keychron/x0/board.h deleted file mode 100644 index 55dd9bf2d2..0000000000 --- a/keyboards/keychron/x0/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2023 @ Keychron(https://www.keychron.com) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/keychron/x0/config.h b/keyboards/keychron/x0/config.h deleted file mode 100644 index 1a2a4e42a3..0000000000 --- a/keyboards/keychron/x0/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2023 @ Keychron(https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* I2C Driver Configuration */ -#define I2C1_SCL_PIN B8 -#define I2C1_SDA_PIN B9 -#define I2C1_CLOCK_SPEED 400000 -#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 diff --git a/keyboards/keychron/x0/halconf.h b/keyboards/keychron/x0/halconf.h deleted file mode 100644 index 41bddcb279..0000000000 --- a/keyboards/keychron/x0/halconf.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define HAL_USE_I2C TRUE - -#include_next diff --git a/keyboards/keychron/x0/info.json b/keyboards/keychron/x0/info.json deleted file mode 100644 index 7e2e512ef4..0000000000 --- a/keyboards/keychron/x0/info.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "manufacturer": "Keychron", - "keyboard_name": "Lemokey X0", - "maintainer": "lalalademaxiya1", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "eeprom": { - "wear_leveling": { - "backing_size": 4096 - } - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "indicators": { - "caps_lock": "A3" - }, - "matrix_pins": { - "cols": ["C6", "C7", "C8", "A14", "A15", "C10", "C11"], - "rows": ["C12", "D2", "B3", "B4", "B5", "B6"] - }, - "processor": "STM32F401", - "url": "https://www.lemokey.com/products/lemokey-x0-qmk-wired-mechanical-gaming-keypad", - "usb": { - "device_version": "1.1.0", - "pid": "0x0200", - "vid": "0x362D" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 2, "y": 0}, - {"matrix": [0, 2], "x": 3, "y": 0}, - {"matrix": [0, 3], "x": 4, "y": 0}, - {"matrix": [0, 4], "x": 5, "y": 0}, - {"matrix": [0, 5], "x": 6, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1.25}, - {"matrix": [1, 1], "x": 1, "y": 1.25}, - {"matrix": [1, 2], "x": 2, "y": 1.25}, - {"matrix": [1, 3], "x": 3, "y": 1.25}, - {"matrix": [1, 4], "x": 4, "y": 1.25}, - {"matrix": [1, 5], "x": 5, "y": 1.25}, - {"matrix": [1, 6], "x": 6, "y": 1.25}, - {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"matrix": [2, 5], "x": 5.5, "y": 2.25, "w": 1.5}, - {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"matrix": [3, 5], "x": 5.75, "y": 3.25, "w": 1.25}, - {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"matrix": [4, 5], "x": 5.25, "y": 4.25, "w": 1.75}, - {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"matrix": [5, 2], "x": 2.75, "y": 5.25}, - {"matrix": [5, 3], "x": 3.75, "y": 5.25}, - {"matrix": [5, 4], "x": 4.75, "y": 5.25}, - {"matrix": [5, 5], "x": 6, "y": 5.25} - ] - } - } -} diff --git a/keyboards/keychron/x0/mcuconf.h b/keyboards/keychron/x0/mcuconf.h deleted file mode 100644 index bb608cec27..0000000000 --- a/keyboards/keychron/x0/mcuconf.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 - -#undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/keychron/x0/readme.md b/keyboards/keychron/x0/readme.md deleted file mode 100644 index d08c3abe7e..0000000000 --- a/keyboards/keychron/x0/readme.md +++ /dev/null @@ -1,23 +0,0 @@ -# Lemokey X0 - -![Lemokey X0](https://i.imgur.com/ntROq41.jpeg) - -A one-handed gaming keypad. - -* Keyboard Maintainer: [Keychron](https://github.com/keychron) -* Hardware Supported: Lemokey X0 -* Hardware Availability: [Keychron](https://www.lemokey.com/products/lemokey-x0-qmk-wired-mechanical-gaming-keypad) - -Make example for this keyboard (after setting up your build environment): - - make keychron/x0/red:default - -Flashing example for this keyboard: - - make keychron/x0/red:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -To enter the bootloader, hold down the key located at **K00**, labelled and commonly programmed as **Esc**, while plugging in the keyboard. diff --git a/keyboards/keychron/x0/red/config.h b/keyboards/keychron/x0/red/config.h deleted file mode 100644 index 067266830f..0000000000 --- a/keyboards/keychron/x0/red/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2023 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#ifdef LED_MATRIX_ENABLE -# define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND - -# define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_6_CHANNEL -# define SNLED27351_CURRENT_TUNE \ - { 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60 } -#endif diff --git a/keyboards/keychron/x0/red/keyboard.json b/keyboards/keychron/x0/red/keyboard.json deleted file mode 100644 index f591a607eb..0000000000 --- a/keyboards/keychron/x0/red/keyboard.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "features": { - "led_matrix": true - }, - "led_matrix": { - "animations": { - "band_pinwheel": true, - "band_spiral": true, - "breathing": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_up_down": true, - "dual_beacon": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_simple": true, - "solid_splash": true, - "wave_left_right": true, - "wave_up_down": true - }, - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 37, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 75, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 149, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 187, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 13, "flags": 1}, - {"matrix": [1, 1], "x": 37, "y": 13, "flags": 4}, - {"matrix": [1, 2], "x": 75, "y": 13, "flags": 4}, - {"matrix": [1, 3], "x": 112, "y": 13, "flags": 4}, - {"matrix": [1, 4], "x": 149, "y": 13, "flags": 4}, - {"matrix": [1, 5], "x": 187, "y": 13, "flags": 4}, - {"matrix": [1, 6], "x": 224, "y": 13, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 26, "flags": 1}, - {"matrix": [2, 1], "x": 37, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 75, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 112, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 149, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 187, "y": 26, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 38, "flags": 1}, - {"matrix": [3, 1], "x": 37, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 75, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 112, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 149, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 187, "y": 38, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 51, "flags": 1}, - {"matrix": [4, 2], "x": 75, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 112, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 149, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 187, "y": 51, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 75, "y": 64, "flags": 1}, - {"matrix": [5, 3], "x": 112, "y": 64, "flags": 1}, - {"matrix": [5, 4], "x": 149, "y": 64, "flags": 1} - ], - "sleep": true - } -} diff --git a/keyboards/keychron/x0/red/keymaps/default/keymap.c b/keyboards/keychron/x0/red/keymaps/default/keymap.c deleted file mode 100644 index 4d04c09d9b..0000000000 --- a/keyboards/keychron/x0/red/keymaps/default/keymap.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2023 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers { - WIN_BASE, - WIN_FN, -}; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [WIN_BASE] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, - KC_LCTL, KC_LALT, MO(WIN_FN), MO(WIN_FN), KC_SPC), - - [WIN_FN] = LAYOUT( - _______, KC_BRID, KC_BRIU, LGUI(KC_TAB), LGUI(KC_E), _______, - _______, _______, _______, _______, _______, _______, _______, - LM_TOGG, LM_PREV, LM_BRIU, LM_NEXT, _______, _______, - _______, LM_SPDD, LM_BRID, LM_SPDU, _______, _______, - _______, _______, _______, _______, NK_TOGG, - _______, _______, _______, _______, _______), -}; diff --git a/keyboards/keychron/x0/red/red.c b/keyboards/keychron/x0/red/red.c deleted file mode 100644 index 9499a09d8b..0000000000 --- a/keyboards/keychron/x0/red/red.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright 2023 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef LED_MATRIX_ENABLE -// clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[LED_MATRIX_LED_COUNT] = { -/* Refer to SNLED27351 manual for these locations - * driver - * | LED address - * | | */ - {0, CB6_CA1 }, - {0, CB6_CA2 }, - {0, CB6_CA3 }, - {0, CB6_CA4 }, - {0, CB6_CA5 }, - {0, CB6_CA6 }, - {0, CB5_CA1 }, - {0, CB5_CA2 }, - {0, CB5_CA3 }, - {0, CB5_CA4 }, - {0, CB5_CA5 }, - {0, CB5_CA6 }, - {0, CB5_CA7 }, - {0, CB4_CA1 }, - {0, CB4_CA2 }, - {0, CB4_CA3 }, - {0, CB4_CA4 }, - {0, CB4_CA5 }, - {0, CB4_CA6 }, - {0, CB3_CA1 }, - {0, CB3_CA2 }, - {0, CB3_CA3 }, - {0, CB3_CA4 }, - {0, CB3_CA5 }, - {0, CB3_CA6 }, - {0, CB2_CA1 }, - {0, CB2_CA3 }, - {0, CB2_CA4 }, - {0, CB2_CA5 }, - {0, CB2_CA6 }, - {0, CB1_CA1 }, - {0, CB1_CA3 }, - {0, CB1_CA4 }, - {0, CB1_CA5 }, -}; -#endif diff --git a/keyboards/keycult/keycult1800/keyboard.json b/keyboards/keycult/keycult1800/keyboard.json index 8ed6e6e2fa..a50b77d104 100644 --- a/keyboards/keycult/keycult1800/keyboard.json +++ b/keyboards/keycult/keycult1800/keyboard.json @@ -96,8 +96,7 @@ { "matrix": [3, 15], "x": 16.5, "y": 3.5 }, { "matrix": [3, 16], "x": 17.5, "y": 3.5 }, { "matrix": [3, 17], "x": 18.5, "y": 3.5 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.5 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.5 }, + { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.5 }, { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, diff --git a/keyboards/keycult/keycult1800/keymaps/default/keymap.c b/keyboards/keycult/keycult1800/keymaps/default/keymap.c index 79570b73a2..e596ff2db0 100644 --- a/keyboards/keycult/keycult1800/keymaps/default/keymap.c +++ b/keyboards/keycult/keycult1800/keymaps/default/keymap.c @@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [1] = LAYOUT( /* FN */ @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keycult/keycult60/keyboard.json b/keyboards/keycult/keycult60/keyboard.json deleted file mode 100755 index 349472d87b..0000000000 --- a/keyboards/keycult/keycult60/keyboard.json +++ /dev/null @@ -1,600 +0,0 @@ -{ - "keyboard_name": "Keycult 60", - "manufacturer": "Yiancar-Designs", - "url": "https://yiancar-designs.com", - "maintainer": "Yiancar-Designs", - "usb": { - "vid": "0x8968", - "pid": "0x6339", - "device_version": "1.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "nkro": true - }, - "indicators": { - "caps_lock": "B6", - "on_state": 0 - }, - "matrix_pins": { - "cols": ["A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14"], - "rows": ["A2", "B9", "B8", "B5", "B4"] - }, - "diode_direction": "COL2ROW", - "processor": "STM32F072", - "bootloader": "stm32-dfu", - "community_layouts": [ - "60_ansi", - "60_ansi_split_bs_rshift", - "60_ansi_tsangan", - "60_ansi_tsangan_split_bs_rshift", - "60_iso", - "60_iso_split_bs_rshift", - "60_iso_tsangan" - ], - "layouts": { - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_iso_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_iso_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/keycult/keycult60/keycult60.c b/keyboards/keycult/keycult60/keycult60.c deleted file mode 100755 index 69a12503a3..0000000000 --- a/keyboards/keycult/keycult60/keycult60.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2025 Yiancar-Designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "quantum.h" - -void led_init_ports(void) { - // Set our LED pins as open drain outputs - gpio_set_pin_output_open_drain(LED_CAPS_LOCK_PIN); -} diff --git a/keyboards/keycult/keycult60/keymaps/default/keymap.c b/keyboards/keycult/keycult60/keymaps/default/keymap.c deleted file mode 100644 index 47e27e4607..0000000000 --- a/keyboards/keycult/keycult60/keymaps/default/keymap.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2025 Yiancar-Designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_all( /* Base */ - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL), - -[1] = LAYOUT_all( /* FN */ - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; diff --git a/keyboards/keycult/keycult60/readme.md b/keyboards/keycult/keycult60/readme.md deleted file mode 100755 index 0889d7686b..0000000000 --- a/keyboards/keycult/keycult60/readme.md +++ /dev/null @@ -1,32 +0,0 @@ -# Keycult 60 - -This is a standard 60% layout PCB. - -* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) -* Hardware Supported: A 60% keyboard with STM32F072CB -* Hardware Availability: https://novelkeys.com/ - -## Instructions - -### Build - -Make example for this keyboard (after setting up your build environment): - - make keycult/keycult60:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -### Reset - -- Unplug -- Hold Escape -- Plug In -- Unplug -- Release Escape - -### Flash - -- Unplug -- Hold Escape -- Plug In -- Flash using QMK Toolbox or CLI (`make keycult/keycult60::flash`) diff --git a/keyboards/keycult/keycult60/rules.mk b/keyboards/keycult/keycult60/rules.mk deleted file mode 100644 index 0ab54aaaf7..0000000000 --- a/keyboards/keycult/keycult60/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/keycult/keycult_zero/keyboard.json b/keyboards/keycult/keycult_zero/keyboard.json deleted file mode 100755 index 4da493202f..0000000000 --- a/keyboards/keycult/keycult_zero/keyboard.json +++ /dev/null @@ -1,603 +0,0 @@ -{ - "keyboard_name": "Keycult Zero", - "manufacturer": "Yiancar-Designs", - "url": "https://yiancar-designs.com", - "maintainer": "Yiancar-Designs", - "usb": { - "vid": "0x8968", - "pid": "0x6337", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "nkro": true - }, - "indicators": { - "caps_lock": "B6", - "on_state": 0 - }, - "matrix_pins": { - "cols": ["A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14"], - "rows": ["A2", "B9", "B8", "B5", "B4"] - }, - "diode_direction": "COL2ROW", - "processor": "STM32F072", - "bootloader": "stm32-dfu", - "community_layouts": [ - "60_ansi", - "60_ansi_split_bs_rshift", - "60_ansi_tsangan", - "60_ansi_tsangan_split_bs_rshift", - "60_iso", - "60_iso_split_bs_rshift", - "60_iso_tsangan" - ], - "layout_aliases": { - "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" - }, - "layouts": { - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_iso_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_iso_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/keycult/keycult_zero/keycult_zero.c b/keyboards/keycult/keycult_zero/keycult_zero.c deleted file mode 100755 index fdbfa8f272..0000000000 --- a/keyboards/keycult/keycult_zero/keycult_zero.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2024 Yiancar-Designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "quantum.h" - -void led_init_ports(void) { - // Set our LED pins as open drain outputs - gpio_set_pin_output_open_drain(LED_CAPS_LOCK_PIN); -} diff --git a/keyboards/keycult/keycult_zero/keymaps/default/keymap.c b/keyboards/keycult/keycult_zero/keymaps/default/keymap.c deleted file mode 100644 index 998d514e29..0000000000 --- a/keyboards/keycult/keycult_zero/keymaps/default/keymap.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2024 Yiancar-Designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_all( /* Base */ - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL), - -[1] = LAYOUT_all( /* FN */ - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; diff --git a/keyboards/keycult/keycult_zero/readme.md b/keyboards/keycult/keycult_zero/readme.md deleted file mode 100755 index f558808b16..0000000000 --- a/keyboards/keycult/keycult_zero/readme.md +++ /dev/null @@ -1,32 +0,0 @@ -# Keycult Zero - -This is a standard 60% layout PCB. It supports VIA. - -* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) -* Hardware Supported: A 60% keyboard with STM32F072CB -* Hardware Availability: https://novelkeys.com/ - -## Instructions - -### Build - -Make example for this keyboard (after setting up your build environment): - - make keycult/keycult_zero:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -### Reset - -- Unplug -- Hold Escape -- Plug In -- Unplug -- Release Escape - -### Flash - -- Unplug -- Hold Escape -- Plug In -- Flash using QMK Toolbox or CLI (`make keycult/keycult_zero::flash`) diff --git a/keyboards/keycult/keycult_zero/rules.mk b/keyboards/keycult/keycult_zero/rules.mk deleted file mode 100644 index 0ab54aaaf7..0000000000 --- a/keyboards/keycult/keycult_zero/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/keyhive/absinthe/keyboard.json b/keyboards/keyhive/absinthe/keyboard.json index 26939e4dcc..82a5ae5631 100644 --- a/keyboards/keyhive/absinthe/keyboard.json +++ b/keyboards/keyhive/absinthe/keyboard.json @@ -25,6 +25,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/keyhive/honeycomb/keyboard.json b/keyboards/keyhive/honeycomb/keyboard.json index 69907fccc1..768f08275d 100644 --- a/keyboards/keyhive/honeycomb/keyboard.json +++ b/keyboards/keyhive/honeycomb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Honeycomb", "manufacturer": "Keyhive", + "url": "", "maintainer": "filoxo", "usb": { "vid": "0xFEED", diff --git a/keyboards/keyhive/lattice60/keyboard.json b/keyboards/keyhive/lattice60/keyboard.json index fce9453e34..b805a73357 100644 --- a/keyboards/keyhive/lattice60/keyboard.json +++ b/keyboards/keyhive/lattice60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "LATTICE60", "manufacturer": "emdarcher", + "url": "", "maintainer": "emdarcher", "usb": { "vid": "0x16C0", diff --git a/keyboards/keyhive/navi10/info.json b/keyboards/keyhive/navi10/info.json index 25c9f14f27..e5df0c68e1 100644 --- a/keyboards/keyhive/navi10/info.json +++ b/keyboards/keyhive/navi10/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Navi10", "manufacturer": "emdarcher", + "url": "", "maintainer": "emdarcher", "usb": { "vid": "0xFEED", diff --git a/keyboards/keyhive/navi10/rules.mk b/keyboards/keyhive/navi10/rules.mk new file mode 100644 index 0000000000..6ebb2d0ceb --- /dev/null +++ b/keyboards/keyhive/navi10/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keyhive/navi10/rev3 diff --git a/keyboards/keyhive/opus/keyboard.json b/keyboards/keyhive/opus/keyboard.json index 6072a59f5d..e92c8604ce 100644 --- a/keyboards/keyhive/opus/keyboard.json +++ b/keyboards/keyhive/opus/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/keyhive/smallice/keyboard.json b/keyboards/keyhive/smallice/keyboard.json index 2b3a6994e7..f7118ed3cf 100644 --- a/keyboards/keyhive/smallice/keyboard.json +++ b/keyboards/keyhive/smallice/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/keyhive/southpole/keyboard.json b/keyboards/keyhive/southpole/keyboard.json index 8c1895b45d..7136675881 100644 --- a/keyboards/keyhive/southpole/keyboard.json +++ b/keyboards/keyhive/southpole/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "southpole", "manufacturer": "u/waxpoetic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/keyhive/uno/rules.mk b/keyboards/keyhive/uno/rules.mk new file mode 100644 index 0000000000..3220994593 --- /dev/null +++ b/keyboards/keyhive/uno/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keyhive/uno/rev1 diff --git a/keyboards/keyhive/ut472/keyboard.json b/keyboards/keyhive/ut472/keyboard.json index 6050751da9..828058a955 100644 --- a/keyboards/keyhive/ut472/keyboard.json +++ b/keyboards/keyhive/ut472/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "UT47.2", "manufacturer": "Keyhive", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xA103", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/keyprez/bison/keyboard.json b/keyboards/keyprez/bison/keyboard.json index 94d2049965..5fd2de1ff5 100644 --- a/keyboards/keyprez/bison/keyboard.json +++ b/keyboards/keyprez/bison/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "bison", "manufacturer": "csandven", + "url": "", "maintainer": "Christian Sandven", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keyprez/bison/keymaps/default/keymap.c b/keyboards/keyprez/bison/keymaps/default/keymap.c index 17c5f2ecd7..d66b1a487b 100644 --- a/keyboards/keyprez/bison/keymaps/default/keymap.c +++ b/keyboards/keyprez/bison/keymaps/default/keymap.c @@ -25,6 +25,11 @@ enum layer_names { _FN, }; +enum custom_keycodes { + KC_PRVWD = SAFE_RANGE, + KC_NXTWD +}; + #define LOWER MO(_LOWER) #define RAISE MO(_RAISE) #define FN MO(_FN) @@ -42,9 +47,6 @@ enum layer_names { #define KC_COLMK PDF(_COLEMAK) #define KC_HRM PDF(_HRM) -#define KC_PRVWD LCTL(KC_LEFT) -#define KC_NXTWD LCTL(KC_RGHT) - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* * QWERTY @@ -184,3 +186,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______, _______, _______, _______, _______, _______, _______ ), }; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_PRVWD: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_LEFT); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_LEFT); + } + break; + case KC_NXTWD: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_RIGHT); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_RIGHT); + } + break; + } + return true; +} diff --git a/keyboards/keyprez/corgi/keyboard.json b/keyboards/keyprez/corgi/keyboard.json index 6883970af4..8e664de03d 100644 --- a/keyboards/keyprez/corgi/keyboard.json +++ b/keyboards/keyprez/corgi/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "corgi", "manufacturer": "Christian Sandven", + "url": "", "maintainer": "Christian Sandven", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keyprez/rhino/keyboard.json b/keyboards/keyprez/rhino/keyboard.json index f7993c9020..75854f6f99 100644 --- a/keyboards/keyprez/rhino/keyboard.json +++ b/keyboards/keyprez/rhino/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "rhino", "manufacturer": "Christian Sandven", + "url": "", "maintainer": "Christian Sandven", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "audio": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keyprez/unicorn/keyboard.json b/keyboards/keyprez/unicorn/keyboard.json index 20aa2e3e73..7fa855e240 100644 --- a/keyboards/keyprez/unicorn/keyboard.json +++ b/keyboards/keyprez/unicorn/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Unicorn", "manufacturer": "Keyprez", + "url": "", "maintainer": "Keyprez", "usb": { "vid": "0x6B7A", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keyquest/enclave/keyboard.json b/keyboards/keyquest/enclave/keyboard.json index 57fe8eaa61..9b2dbb6519 100644 --- a/keyboards/keyquest/enclave/keyboard.json +++ b/keyboards/keyquest/enclave/keyboard.json @@ -33,6 +33,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/keysofkings/twokey/keyboard.json b/keyboards/keysofkings/twokey/keyboard.json index 2ec17f2b93..2b75891329 100644 --- a/keyboards/keysofkings/twokey/keyboard.json +++ b/keyboards/keysofkings/twokey/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Twokey", "manufacturer": "Keys of Kings", + "url": "", "maintainer": "Keys of Kings", "usb": { "vid": "0xFEED", @@ -31,6 +32,8 @@ "features": { "audio": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/keyspensory/kp60/keyboard.json b/keyboards/keyspensory/kp60/keyboard.json index 2072186e9d..1172e14d45 100644 --- a/keyboards/keyspensory/kp60/keyboard.json +++ b/keyboards/keyspensory/kp60/keyboard.json @@ -17,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -24,6 +26,7 @@ }, "rgblight": { "led_count": 8, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, "animations": { diff --git a/keyboards/keystonecaps/gameroyadvance/keyboard.json b/keyboards/keystonecaps/gameroyadvance/keyboard.json index 1a7960ac25..15cce9afd5 100644 --- a/keyboards/keystonecaps/gameroyadvance/keyboard.json +++ b/keyboards/keystonecaps/gameroyadvance/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/keyten/aperture/keyboard.json b/keyboards/keyten/aperture/keyboard.json index 614a1e4ab7..7648e46cc0 100644 --- a/keyboards/keyten/aperture/keyboard.json +++ b/keyboards/keyten/aperture/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Aperture", "manufacturer": "Bizunow", + "url": "", "maintainer": "key10iq", "usb": { "vid": "0xEB69", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/keyten/diablo/keyboard.json b/keyboards/keyten/diablo/keyboard.json index c65ba97fae..3882d4e160 100644 --- a/keyboards/keyten/diablo/keyboard.json +++ b/keyboards/keyten/diablo/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/keyten/kt3700/keyboard.json b/keyboards/keyten/kt3700/keyboard.json index 6b14c733bd..9f89ee1453 100644 --- a/keyboards/keyten/kt3700/keyboard.json +++ b/keyboards/keyten/kt3700/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "kt3700", "manufacturer": "keyten", + "url": "", "maintainer": "key10iq", "usb": { "vid": "0xEB69", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/keyten/kt60_m/keyboard.json b/keyboards/keyten/kt60_m/keyboard.json index 11605a10d0..f72deeebbd 100644 --- a/keyboards/keyten/kt60_m/keyboard.json +++ b/keyboards/keyten/kt60_m/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "kt60-M", "manufacturer": "keyten", + "url": "", "maintainer": "key10iq", "usb": { "vid": "0xEB69", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/keyten/kt60_mu/chconf.h b/keyboards/keyten/kt60_mu/chconf.h deleted file mode 100644 index 2166f7dd9e..0000000000 --- a/keyboards/keyten/kt60_mu/chconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2024 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef CH_CFG_ST_RESOLUTION -#define CH_CFG_ST_RESOLUTION 16 diff --git a/keyboards/keyten/kt60_mu/config.h b/keyboards/keyten/kt60_mu/config.h deleted file mode 100644 index aa1736d36b..0000000000 --- a/keyboards/keyten/kt60_mu/config.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2024 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD2 -#define BACKLIGHT_PWM_CHANNEL 4 -#define BACKLIGHT_PAL_MODE 2 diff --git a/keyboards/keyten/kt60_mu/halconf.h b/keyboards/keyten/kt60_mu/halconf.h deleted file mode 100644 index 835310a770..0000000000 --- a/keyboards/keyten/kt60_mu/halconf.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2024 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/keyten/kt60_mu/keyboard.json b/keyboards/keyten/kt60_mu/keyboard.json deleted file mode 100644 index dcf5035b8e..0000000000 --- a/keyboards/keyten/kt60_mu/keyboard.json +++ /dev/null @@ -1,300 +0,0 @@ -{ - "manufacturer": "keyten", - "keyboard_name": "kt60-MU", - "maintainer": "key10iq", - "processor": "STM32F072", - "bootloader": "stm32-dfu", - "usb": { - "vid": "0xEB69", - "pid": "0x6006", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "backlight": true - }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "rows": ["B2", "B1", "B7", "B6", "B5"], - "cols": ["A15", "A4", "F1", "A5", "F0", "A6", "C15", "A7", "C14", "B0", "C13", "B10", "B4", "B3"] - }, - "indicators": { - "caps_lock": "A14" - }, - "backlight": { - "pin": "B11", - "levels": 15 - }, - "community_layouts": [ - "60_ansi_wkl_split_bs_rshift", - "60_hhkb", - "60_ansi_tsangan_split_bs_rshift" - ], - "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift" - }, - "layouts": { - "LAYOUT_60_ansi_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/keyten/kt60_mu/keymaps/default/keymap.c b/keyboards/keyten/kt60_mu/keymaps/default/keymap.c deleted file mode 100644 index c13c720145..0000000000 --- a/keyboards/keyten/kt60_mu/keymaps/default/keymap.c +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL - ), - - [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) - -}; diff --git a/keyboards/keyten/kt60_mu/mcuconf.h b/keyboards/keyten/kt60_mu/mcuconf.h deleted file mode 100644 index a3ac64bb32..0000000000 --- a/keyboards/keyten/kt60_mu/mcuconf.h +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2024 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE - -#undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 3 diff --git a/keyboards/keyten/kt60_mu/readme.md b/keyboards/keyten/kt60_mu/readme.md deleted file mode 100644 index 937215ad34..0000000000 --- a/keyboards/keyten/kt60_mu/readme.md +++ /dev/null @@ -1,42 +0,0 @@ -# keyten kt60-MU - -PCB supporting multiple 60% keyboards. -Outline is compatible with: - -* All common O-Ring mount keyboards -* Polaris V2 (In theory. At the time of PCB design, this keyboard is in IC stage) - -Supports two Type-C connector position: - -* Standard left position -* Central position like Aksara 60 - -Supports three JST connector position like the following PCBs or keyboards: - -* hiney h60 -* Singa Unikorn -* Polaris V2 - -![kt60-MU](https://i.imgur.com/72uSWLx.jpg) - -* Keyboard Maintainer: [keyten](https://github.com/key10iq) -* Hardware Supported: keyten kt60-MU -* Hardware Availability: private GB - -Make example for this keyboard (after setting up your build environment): - - make keyten/kt60_mu:default - -Flashing example for this keyboard: - - make keyten/kt60_mu:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available -* Physical reset button: Hold the button on the back of the PCB diff --git a/keyboards/keyten/kt60hs_t/info.json b/keyboards/keyten/kt60hs_t/info.json deleted file mode 100644 index 97b4f7d222..0000000000 --- a/keyboards/keyten/kt60hs_t/info.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "manufacturer": "keyten", - "keyboard_name": "kt60HS-T", - "maintainer": "key10iq", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "usb": { - "vid": "0xEB69" - } -} diff --git a/keyboards/keyten/kt60hs_t/v1/keyboard.json b/keyboards/keyten/kt60hs_t/keyboard.json similarity index 75% rename from keyboards/keyten/kt60hs_t/v1/keyboard.json rename to keyboards/keyten/kt60hs_t/keyboard.json index b5b90304b2..63a755d698 100644 --- a/keyboards/keyten/kt60hs_t/v1/keyboard.json +++ b/keyboards/keyten/kt60hs_t/keyboard.json @@ -1,6 +1,17 @@ { + "manufacturer": "keyten", + "keyboard_name": "kt60HS-T", + "maintainer": "key10iq", "bootloader": "stm32-dfu", "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, "matrix_pins": { "cols": ["A3", "A4", "A5", "A6", "A7", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"], "rows": ["B15", "B14", "B12", "B13", "B0"] @@ -8,7 +19,8 @@ "processor": "STM32F401", "usb": { "device_version": "0.0.1", - "pid": "0x6004" + "pid": "0x6004", + "vid": "0xEB69" }, "community_layouts": [ "60_ansi_wkl_split_bs_rshift", @@ -16,8 +28,7 @@ "60_ansi_tsangan_split_bs_rshift" ], "layout_aliases": { - "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift", - "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "layouts": { "LAYOUT_60_ansi_wkl_split_bs_rshift": { @@ -213,71 +224,6 @@ {"matrix": [4, 11], "x": 12.5, "y": 4}, {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] - }, - "LAYOUT_60_ansi_tsangan_split_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] } } } diff --git a/keyboards/keyten/kt60hs_t/readme.md b/keyboards/keyten/kt60hs_t/readme.md index eb02f6bb8f..75ccbc3b69 100644 --- a/keyboards/keyten/kt60hs_t/readme.md +++ b/keyboards/keyten/kt60hs_t/readme.md @@ -2,15 +2,30 @@ 60% MX Hot-Swap Tsangan PCB -![kt60HS-T image](https://i.imgur.com/vM32aoX.jpeg) +![kt60HS-T image](https://i.imgur.com/Iqrf6tHh.jpg) + +* Keyboard Maintainer: [keyten](https://github.com/key10iq) +* Hardware Supported: keyten kt60HS-T +* Hardware Availability: private GB Supports: 1. Split Backspace 2. Stepped Caps Lock -There are two versions of the PCB available. +Make example for this keyboard (after setting up your build environment): -|Version| Features | -|-------|-------------------------------------------| -|v1 |Blue/Purple PCB / ARM STM32F401 controller | -|v2 |Purple PCB / ARM STM32F072 controller | + make keyten/kt60hs_t:default + +Flashing example for this keyboard: + + make keyten/kt60hs_t:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available +* Physical reset button: Hold the button on the back of the PCB diff --git a/keyboards/keyten/kt60hs_t/v1/readme.md b/keyboards/keyten/kt60hs_t/v1/readme.md deleted file mode 100644 index 2f31dbf4bf..0000000000 --- a/keyboards/keyten/kt60hs_t/v1/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# keyten kt60HS-T V1 - -60% MX Hot-Swap Tsangan PCB - -![kt60HS-T image](https://i.imgur.com/tOej7ND.jpeg) - -**Note: This firmware only supports the PCB version with STM32F401 controller** - -* Keyboard Maintainer: [keyten](https://github.com/key10iq) -* Hardware Supported: keyten kt60HS-T -* Hardware Availability: private GB - -Make example for this keyboard (after setting up your build environment): - - make keyten/kt60hs_t/v1:default - -Flashing example for this keyboard: - - make keyten/kt60hs_t/v1:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available -* Physical reset button: Hold the button on the back of the PCB diff --git a/keyboards/keyten/kt60hs_t/v2/keyboard.json b/keyboards/keyten/kt60hs_t/v2/keyboard.json deleted file mode 100644 index 728bd90fe8..0000000000 --- a/keyboards/keyten/kt60hs_t/v2/keyboard.json +++ /dev/null @@ -1,282 +0,0 @@ -{ - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["A3", "A4", "A5", "A6", "A7", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"], - "rows": ["B15", "B14", "B12", "B13", "B0"] - }, - "processor": "STM32F072", - "usb": { - "device_version": "2.0.0", - "pid": "0x6007" - }, - "community_layouts": [ - "60_ansi_wkl_split_bs_rshift", - "60_hhkb", - "60_ansi_tsangan_split_bs_rshift" - ], - "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift" - }, - "layouts": { - "LAYOUT_60_ansi_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/keyten/kt60hs_t/v2/readme.md b/keyboards/keyten/kt60hs_t/v2/readme.md deleted file mode 100644 index db2b8afccf..0000000000 --- a/keyboards/keyten/kt60hs_t/v2/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# keyten kt60HS-T V2 - -60% MX Hot-Swap Tsangan PCB - -![kt60HS-T image](https://i.imgur.com/vM32aoX.jpeg) - -**Note: This firmware only supports the PCB version with STM32F072 controller** - -* Keyboard Maintainer: [keyten](https://github.com/key10iq) -* Hardware Supported: keyten kt60HS-T V2 -* Hardware Availability: private GB - -Make example for this keyboard (after setting up your build environment): - - make keyten/kt60hs_t/v2:default - -Flashing example for this keyboard: - - make keyten/kt60hs_t/v2:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available -* Physical reset button: Hold the button on the back of the PCB diff --git a/keyboards/keyten/lisa/keyboard.json b/keyboards/keyten/lisa/keyboard.json index a370a7add1..deac0f3740 100644 --- a/keyboards/keyten/lisa/keyboard.json +++ b/keyboards/keyten/lisa/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/keyten/ortho_slayer/keyboard.json b/keyboards/keyten/ortho_slayer/keyboard.json deleted file mode 100644 index e023298937..0000000000 --- a/keyboards/keyten/ortho_slayer/keyboard.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "manufacturer": "keyten x La-Versa", - "keyboard_name": "Ortho Slayer", - "maintainer": "key10iq", - "processor": "STM32F072", - "bootloader": "stm32-dfu", - "usb": { - "vid": "0xEB69", - "pid": "0x9001", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "diode_direction": "ROW2COL", - "matrix_pins": { - "rows": ["B6", "B4", "A15", "B0", "B1", "A6", "B15", "B11", "A9", "B13"], - "cols": ["B7", "B14", "B5", "A8", "B3", "A10", "A14", "B12", "A7", "B2", "B10"] - }, - "layouts": { - "LAYOUT": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [1, 0], "x": 1, "y": 0 }, - { "matrix": [0, 1], "x": 2, "y": 0 }, - { "matrix": [1, 1], "x": 3, "y": 0 }, - { "matrix": [0, 2], "x": 4, "y": 0 }, - { "matrix": [1, 2], "x": 5, "y": 0 }, - { "matrix": [0, 3], "x": 6, "y": 0 }, - { "matrix": [1, 3], "x": 7, "y": 0 }, - { "matrix": [0, 4], "x": 8, "y": 0 }, - { "matrix": [1, 4], "x": 9, "y": 0 }, - { "matrix": [0, 5], "x": 10, "y": 0 }, - { "matrix": [1, 5], "x": 11, "y": 0 }, - { "matrix": [0, 6], "x": 12, "y": 0 }, - { "matrix": [1, 6], "x": 13, "y": 0 }, - { "matrix": [0, 7], "x": 14.25, "y": 0 }, - { "matrix": [1, 7], "x": 15.25, "y": 0 }, - { "matrix": [0, 8], "x": 16.25, "y": 0 }, - { "matrix": [1, 8], "x": 17.5, "y": 0 }, - { "matrix": [0, 9], "x": 18.5, "y": 0 }, - { "matrix": [1, 9], "x": 19.5, "y": 0 }, - { "matrix": [0, 10], "x": 20.5, "y": 0 }, - { "matrix": [2, 0], "x": 0, "y": 1 }, - { "matrix": [3, 0], "x": 1, "y": 1 }, - { "matrix": [2, 1], "x": 2, "y": 1 }, - { "matrix": [3, 1], "x": 3, "y": 1 }, - { "matrix": [2, 2], "x": 4, "y": 1 }, - { "matrix": [3, 2], "x": 5, "y": 1 }, - { "matrix": [2, 3], "x": 6, "y": 1 }, - { "matrix": [3, 3], "x": 7, "y": 1 }, - { "matrix": [2, 4], "x": 8, "y": 1 }, - { "matrix": [3, 4], "x": 9, "y": 1 }, - { "matrix": [2, 5], "x": 10, "y": 1 }, - { "matrix": [3, 5], "x": 11, "y": 1 }, - { "matrix": [2, 6], "x": 12, "y": 1 }, - { "matrix": [3, 6], "x": 13, "y": 1 }, - { "matrix": [2, 7], "x": 14.25, "y": 1 }, - { "matrix": [3, 7], "x": 15.25, "y": 1 }, - { "matrix": [2, 8], "x": 16.25, "y": 1 }, - { "matrix": [3, 8], "x": 17.5, "y": 1 }, - { "matrix": [2, 9], "x": 18.5, "y": 1 }, - { "matrix": [3, 9], "x": 19.5, "y": 1 }, - { "h": 2, "matrix": [5, 10], "x": 20.5, "y": 1 }, - { "matrix": [4, 0], "x": 0, "y": 2 }, - { "matrix": [5, 0], "x": 1, "y": 2 }, - { "matrix": [4, 1], "x": 2, "y": 2 }, - { "matrix": [5, 1], "x": 3, "y": 2 }, - { "matrix": [4, 2], "x": 4, "y": 2 }, - { "matrix": [5, 2], "x": 5, "y": 2 }, - { "matrix": [4, 3], "x": 6, "y": 2 }, - { "matrix": [5, 3], "x": 7, "y": 2 }, - { "matrix": [4, 4], "x": 8, "y": 2 }, - { "matrix": [5, 4], "x": 9, "y": 2 }, - { "matrix": [4, 5], "x": 10, "y": 2 }, - { "matrix": [5, 5], "x": 11, "y": 2 }, - { "matrix": [4, 6], "x": 12, "y": 2 }, - { "matrix": [5, 6], "x": 13, "y": 2 }, - { "matrix": [5, 9], "x": 17.5, "y": 2 }, - { "matrix": [4, 9], "x": 18.5, "y": 2 }, - { "matrix": [4, 10], "x": 19.5, "y": 2 }, - { "matrix": [6, 0], "w": 2, "x": 0, "y": 3 }, - { "matrix": [7, 0], "x": 2, "y": 3 }, - { "matrix": [6, 2], "x": 3, "y": 3 }, - { "matrix": [7, 2], "x": 4, "y": 3 }, - { "matrix": [6, 3], "x": 5, "y": 3 }, - { "matrix": [7, 3], "x": 6, "y": 3 }, - { "matrix": [6, 4], "x": 7, "y": 3 }, - { "matrix": [7, 4], "x": 8, "y": 3 }, - { "matrix": [6, 5], "x": 9, "y": 3 }, - { "matrix": [7, 5], "x": 10, "y": 3 }, - { "matrix": [7, 6], "x": 11, "y": 3 }, - { "matrix": [6, 6], "w": 2, "x": 12, "y": 3 }, - { "matrix": [6, 8], "x": 15.25, "y": 3 }, - { "matrix": [7, 8], "x": 17.5, "y": 3 }, - { "matrix": [6, 9], "x": 18.5, "y": 3 }, - { "matrix": [7, 9], "x": 19.5, "y": 3 }, - { "h": 2, "matrix": [9, 10], "x": 20.5, "y": 3 }, - { "matrix": [8, 0], "w": 1.25, "x": 0, "y": 4 }, - { "matrix": [9, 0], "x": 1.25, "y": 4 }, - { "matrix": [8, 1], "w": 1.25, "x": 2.25, "y": 4 }, - { "matrix": [8, 4], "w": 7, "x": 3.5, "y": 4 }, - { "matrix": [9, 4], "w": 1.25, "x": 10.5, "y": 4 }, - { "matrix": [8, 6], "x": 11.75, "y": 4 }, - { "matrix": [9, 6], "w": 1.25, "x": 12.75, "y": 4 }, - { "matrix": [8, 7], "x": 14.25, "y": 4 }, - { "matrix": [9, 7], "x": 15.25, "y": 4 }, - { "matrix": [8, 8], "x": 16.25, "y": 4 }, - { "matrix": [9, 8], "w": 2, "x": 17.5, "y": 4 }, - { "matrix": [8, 10], "x": 19.5, "y": 4 } - ] - } - } -} diff --git a/keyboards/keyten/ortho_slayer/keymaps/default/keymap.c b/keyboards/keyten/ortho_slayer/keymaps/default/keymap.c deleted file mode 100644 index ea471d31ef..0000000000 --- a/keyboards/keyten/ortho_slayer/keymaps/default/keymap.c +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - MO(1), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_KP_9, KC_PPLS, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ), - - [1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) - -}; diff --git a/keyboards/keyten/ortho_slayer/readme.md b/keyboards/keyten/ortho_slayer/readme.md deleted file mode 100644 index bae4adf3b6..0000000000 --- a/keyboards/keyten/ortho_slayer/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# keyten x La-Versa Ortho Slayer - -Ortho Slayer is a full size FRL ortho keyboard inspired by Berserk - -![Ortho Slayer image](https://i.imgur.com/CGYysPM.jpeg) - -* Keyboard Maintainer: [keyten](https://github.com/key10iq) -* Hardware Supported: keyten x La-Versa Ortho Slayer -* Hardware Availability: private GB - -Make example for this keyboard (after setting up your build environment): - - make keyten/ortho_slayer:default - -Flashing example for this keyboard: - - make keyten/ortho_slayer:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available -* Physical reset button: Hold the button on the back of the PCB diff --git a/keyboards/kezewa/enter67/keyboard.json b/keyboards/kezewa/enter67/keyboard.json index eca9311377..df1d7f6b5b 100644 --- a/keyboards/kezewa/enter67/keyboard.json +++ b/keyboards/kezewa/enter67/keyboard.json @@ -19,6 +19,7 @@ "rows": ["A1", "A2", "A3", "A4", "A5"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "0.0.1", "pid": "0xAA66", diff --git a/keyboards/kezewa/enter80/keyboard.json b/keyboards/kezewa/enter80/keyboard.json index 9e62163192..a4fe83b3ac 100644 --- a/keyboards/kezewa/enter80/keyboard.json +++ b/keyboards/kezewa/enter80/keyboard.json @@ -19,6 +19,7 @@ "cols": ["A1", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B11", "B12", "B13", "B14", "A8", "A9", "A10", "A15", "B3"], "rows": ["B4", "B5", "B6", "B15", "B10", "B7"] }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0xFF65", diff --git a/keyboards/kibou/fukuro/keyboard.json b/keyboards/kibou/fukuro/keyboard.json index 9588cb9ff7..fa50cca964 100644 --- a/keyboards/kibou/fukuro/keyboard.json +++ b/keyboards/kibou/fukuro/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["A9", "A10", "C13", "A0", "A6"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x0003", diff --git a/keyboards/kibou/harbour/keyboard.json b/keyboards/kibou/harbour/keyboard.json index 15249a9c97..a5417e1ae5 100644 --- a/keyboards/kibou/harbour/keyboard.json +++ b/keyboards/kibou/harbour/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kibou/suisei/keyboard.json b/keyboards/kibou/suisei/keyboard.json index 283e6f6895..f212df1bc7 100644 --- a/keyboards/kibou/suisei/keyboard.json +++ b/keyboards/kibou/suisei/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kibou/wendy/keyboard.json b/keyboards/kibou/wendy/keyboard.json index 99e0ddb84d..1ab0ca8e7f 100644 --- a/keyboards/kibou/wendy/keyboard.json +++ b/keyboards/kibou/wendy/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kibou/winter/keyboard.json b/keyboards/kibou/winter/keyboard.json index 14f912ceb4..47a359ec9b 100644 --- a/keyboards/kibou/winter/keyboard.json +++ b/keyboards/kibou/winter/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kikkou/keyboard.json b/keyboards/kikkou/keyboard.json index 4285d3a515..af684bbc29 100644 --- a/keyboards/kikkou/keyboard.json +++ b/keyboards/kikkou/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kikkou", "manufacturer": "Mechwerkes", + "url": "", "maintainer": "Mechwerkes", "usb": { "vid": "0x6D65", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kikoslab/ellora65/keyboard.json b/keyboards/kikoslab/ellora65/keyboard.json index 3a8ace7879..fdb60e4791 100644 --- a/keyboards/kikoslab/ellora65/keyboard.json +++ b/keyboards/kikoslab/ellora65/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kikoslab/kl90/keyboard.json b/keyboards/kikoslab/kl90/keyboard.json index af030fb86b..0a107dfba8 100644 --- a/keyboards/kikoslab/kl90/keyboard.json +++ b/keyboards/kikoslab/kl90/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kikoslab/kl90/keymaps/default/keymap.c b/keyboards/kikoslab/kl90/keymaps/default/keymap.c index 5cf7c75503..4dbffe8f77 100644 --- a/keyboards/kikoslab/kl90/keymaps/default/keymap.c +++ b/keyboards/kikoslab/kl90/keymaps/default/keymap.c @@ -23,9 +23,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_DEL , KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_MPLY, KC_F13 , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_F14 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , - KC_F15 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , KC_PGUP, - KC_F16 , KC_LSFT, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_PGDN, - KC_F17 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + KC_F15 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_PIPE, KC_ENT , KC_PGUP, + KC_F16 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_BSLS, KC_UP , KC_PGDN, + KC_F17 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [2] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; bool encoder_update_user(uint8_t index, bool clockwise) { diff --git a/keyboards/kin80/info.json b/keyboards/kin80/info.json index df58894b92..395742d88b 100644 --- a/keyboards/kin80/info.json +++ b/keyboards/kin80/info.json @@ -4,6 +4,8 @@ "maintainer": "DmNosachev", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/kin80/rules.mk b/keyboards/kin80/rules.mk new file mode 100644 index 0000000000..b264c9cfc5 --- /dev/null +++ b/keyboards/kin80/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kin80/blackpill401 diff --git a/keyboards/kindakeyboards/conone65/keyboard.json b/keyboards/kindakeyboards/conone65/keyboard.json index 46df385527..6786b6a3d5 100644 --- a/keyboards/kindakeyboards/conone65/keyboard.json +++ b/keyboards/kindakeyboards/conone65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/kinesis/alvicstep/keyboard.json b/keyboards/kinesis/alvicstep/keyboard.json index dea99f66ef..951f01203c 100644 --- a/keyboards/kinesis/alvicstep/keyboard.json +++ b/keyboards/kinesis/alvicstep/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "console": false, + "command": false, "mousekey": true, "extrakey": true, "nkro": true diff --git a/keyboards/kinesis/info.json b/keyboards/kinesis/info.json index 066f072ebd..49025977bd 100644 --- a/keyboards/kinesis/info.json +++ b/keyboards/kinesis/info.json @@ -1,4 +1,5 @@ { + "url": "", "maintainer": "qmk", "qmk": { "locking": { diff --git a/keyboards/kinesis/kint2pp/keyboard.json b/keyboards/kinesis/kint2pp/keyboard.json index 3b00cfff46..48d77942db 100644 --- a/keyboards/kinesis/kint2pp/keyboard.json +++ b/keyboards/kinesis/kint2pp/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "console": false, + "command": false, "mousekey": true, "extrakey": true, "nkro": true diff --git a/keyboards/kinesis/kint32/chconf.h b/keyboards/kinesis/kint32/chconf.h deleted file mode 100644 index 5c0b6e8580..0000000000 --- a/keyboards/kinesis/kint32/chconf.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/kinesis/kint32/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_TIME_QUANTUM 20 - -#include_next diff --git a/keyboards/kinesis/kint32/keyboard.json b/keyboards/kinesis/kint32/keyboard.json deleted file mode 100644 index 4f403c2ffa..0000000000 --- a/keyboards/kinesis/kint32/keyboard.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "manufacturer": "https://github.com/stapelberg", - "keyboard_name": "kinT (kint32)", - "bootloader": "halfkay", - "build": { - "debounce_type": "sym_eager_pk" - }, - "debounce": 20, - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "indicators": { - "caps_lock": "C7", - "on_state": 0 - }, - "matrix_pins": { - "cols": ["B3", "D1", "C0", "D5", "C1", "B2", "D4"], - "rows": ["D3", "C3", "C4", "C6", "D2", "B0", "D7", "A12", "A13", "B17", "B16", "D0", "B1", "C2", "D6"] - }, - "processor": "MK20DX256", - "usb": { - "device_version": "0.0.1", - "max_power": 100, - "pid": "0x345C", - "vid": "0x1209" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [12, 0], "x": 0, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [13, 0], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [14, 0], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [12, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [13, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [14, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [12, 2], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [13, 2], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [14, 2], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [12, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [13, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [14, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [12, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [13, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [14, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [12, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [14, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [13, 5], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85}, - {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25}, - {"matrix": [1, 0], "x": 1.25, "y": 1.25}, - {"matrix": [2, 0], "x": 2.25, "y": 1}, - {"matrix": [3, 0], "x": 3.25, "y": 1}, - {"matrix": [4, 0], "x": 4.25, "y": 1}, - {"matrix": [5, 0], "x": 5.25, "y": 1}, - {"matrix": [6, 0], "x": 9.25, "y": 1}, - {"matrix": [7, 0], "x": 10.25, "y": 1}, - {"matrix": [8, 0], "x": 11.25, "y": 1}, - {"matrix": [9, 0], "x": 12.25, "y": 1}, - {"matrix": [10, 0], "x": 13.25, "y": 1.25}, - {"matrix": [11, 0], "x": 14.25, "y": 1.25, "w": 1.25}, - {"matrix": [0, 1], "x": 0, "y": 2.25, "w": 1.25}, - {"matrix": [1, 1], "x": 1.25, "y": 2.25}, - {"matrix": [2, 1], "x": 2.25, "y": 2}, - {"matrix": [3, 1], "x": 3.25, "y": 2}, - {"matrix": [4, 1], "x": 4.25, "y": 2}, - {"matrix": [5, 1], "x": 5.25, "y": 2}, - {"matrix": [6, 1], "x": 9.25, "y": 2}, - {"matrix": [7, 1], "x": 10.25, "y": 2}, - {"matrix": [8, 1], "x": 11.25, "y": 2}, - {"matrix": [9, 1], "x": 12.25, "y": 2}, - {"matrix": [10, 1], "x": 13.25, "y": 2.25}, - {"matrix": [11, 1], "x": 14.25, "y": 2.25, "w": 1.25}, - {"matrix": [0, 2], "x": 0, "y": 3.25, "w": 1.25}, - {"matrix": [1, 2], "x": 1.25, "y": 3.25}, - {"matrix": [2, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [4, 2], "x": 4.25, "y": 3}, - {"matrix": [5, 2], "x": 5.25, "y": 3}, - {"matrix": [6, 2], "x": 9.25, "y": 3}, - {"matrix": [7, 2], "x": 10.25, "y": 3}, - {"matrix": [8, 2], "x": 11.25, "y": 3}, - {"matrix": [9, 2], "x": 12.25, "y": 3}, - {"matrix": [10, 2], "x": 13.25, "y": 3.25}, - {"matrix": [11, 2], "x": 14.25, "y": 3.25, "w": 1.25}, - {"matrix": [0, 3], "x": 0, "y": 4.25, "w": 1.25}, - {"matrix": [1, 3], "x": 1.25, "y": 4.25}, - {"matrix": [2, 3], "x": 2.25, "y": 4}, - {"matrix": [3, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 3], "x": 4.25, "y": 4}, - {"matrix": [5, 3], "x": 5.25, "y": 4}, - {"matrix": [6, 3], "x": 9.25, "y": 4}, - {"matrix": [7, 3], "x": 10.25, "y": 4}, - {"matrix": [8, 3], "x": 11.25, "y": 4}, - {"matrix": [9, 3], "x": 12.25, "y": 4}, - {"matrix": [10, 3], "x": 13.25, "y": 4.25}, - {"matrix": [11, 3], "x": 14.25, "y": 4.25, "w": 1.25}, - {"matrix": [1, 4], "x": 1.25, "y": 5.25}, - {"matrix": [2, 4], "x": 2.25, "y": 5}, - {"matrix": [3, 4], "x": 3.25, "y": 5}, - {"matrix": [5, 4], "x": 4.25, "y": 5}, - {"matrix": [6, 4], "x": 10.25, "y": 5}, - {"matrix": [8, 4], "x": 11.25, "y": 5}, - {"matrix": [9, 4], "x": 12.25, "y": 5}, - {"matrix": [10, 4], "x": 13.25, "y": 5.25}, - {"matrix": [5, 6], "x": 5.25, "y": 6}, - {"matrix": [5, 5], "x": 6.25, "y": 6}, - {"matrix": [9, 6], "x": 8.25, "y": 6}, - {"matrix": [8, 5], "x": 9.25, "y": 6}, - {"matrix": [3, 5], "x": 6.25, "y": 7}, - {"matrix": [8, 6], "x": 8.25, "y": 7}, - {"matrix": [3, 6], "x": 4.25, "y": 7, "h": 2}, - {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2}, - {"matrix": [2, 5], "x": 6.25, "y": 8}, - {"matrix": [6, 6], "x": 8.25, "y": 8}, - {"matrix": [7, 5], "x": 9.25, "y": 7, "h": 2}, - {"matrix": [6, 5], "x": 10.25, "y": 7, "h": 2} - ] - } - } -} diff --git a/keyboards/kinesis/kint32/kint32.c b/keyboards/kinesis/kint32/kint32.c deleted file mode 100644 index dd4ccbca3f..0000000000 --- a/keyboards/kinesis/kint32/kint32.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#define LED_POWER C5 - -void keyboard_pre_init_kb(void) { - // Turn on the Teensy 3.2 Power LED: - gpio_set_pin_output(LED_POWER); - gpio_write_pin_high(LED_POWER); - - keyboard_pre_init_user(); -} diff --git a/keyboards/kinesis/kint32/mcuconf.h b/keyboards/kinesis/kint32/mcuconf.h deleted file mode 100644 index 327f5c9aa3..0000000000 --- a/keyboards/kinesis/kint32/mcuconf.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -#ifndef _MCUCONF_H_ -#define _MCUCONF_H_ - -#define K20x_MCUCONF - -/* - * HAL driver system settings. - */ -/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */ -#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE -#define KINETIS_PLLCLK_FREQUENCY 96000000UL -#define KINETIS_SYSCLK_FREQUENCY 48000000UL - -/* - * SERIAL driver system settings. - */ -#define KINETIS_SERIAL_USE_UART0 TRUE - -/* - * USB driver settings - */ -#define KINETIS_USB_USE_USB0 TRUE - -/* Need to redefine this, since the default (configured for K20x) might not apply - * 2 for Teensy LC - * 5 for Teensy 3.x */ -#define KINETIS_USB_USB0_IRQ_PRIORITY 5 - -/* - * I2C driver settings - */ -#define KINETIS_I2C_USE_I2C0 TRUE -#define KINETIS_I2C_I2C0_PRIORITY 4 - -#endif /* _MCUCONF_H_ */ diff --git a/keyboards/kinesis/kint32/readme.md b/keyboards/kinesis/kint32/readme.md deleted file mode 100644 index fe85e3e1f4..0000000000 --- a/keyboards/kinesis/kint32/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# kinesis_kint32 keyboard firmware - -Please see https://github.com/kinx-project/kint for details. diff --git a/keyboards/kinesis/kint36/keyboard.json b/keyboards/kinesis/kint36/keyboard.json index 02df04a7c9..592fade4cb 100644 --- a/keyboards/kinesis/kint36/keyboard.json +++ b/keyboards/kinesis/kint36/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "console": false, + "command": false, "mousekey": true, "extrakey": true, "nkro": true diff --git a/keyboards/kinesis/kint41/keyboard.json b/keyboards/kinesis/kint41/keyboard.json index 25ebd64fb9..c1eb7b8465 100644 --- a/keyboards/kinesis/kint41/keyboard.json +++ b/keyboards/kinesis/kint41/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "console": false, + "command": false, "mousekey": true, "extrakey": true, "nkro": true diff --git a/keyboards/kinesis/kintlc/keyboard.json b/keyboards/kinesis/kintlc/keyboard.json index 8d12eb2fe4..07c81e1c89 100644 --- a/keyboards/kinesis/kintlc/keyboard.json +++ b/keyboards/kinesis/kintlc/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "console": false, + "command": false, "mousekey": true, "extrakey": true, "nkro": true diff --git a/keyboards/kinesis/kintwin/keyboard.json b/keyboards/kinesis/kintwin/keyboard.json index e4a42f3696..92727e9ecb 100644 --- a/keyboards/kinesis/kintwin/keyboard.json +++ b/keyboards/kinesis/kintwin/keyboard.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "console": false, + "command": false, "mousekey": true, "extrakey": true, "nkro": true diff --git a/keyboards/kinesis/nguyenvietyen/keyboard.json b/keyboards/kinesis/nguyenvietyen/keyboard.json index f1765183cc..68bdd0f767 100644 --- a/keyboards/kinesis/nguyenvietyen/keyboard.json +++ b/keyboards/kinesis/nguyenvietyen/keyboard.json @@ -8,6 +8,7 @@ }, "features": { "bootmagic": true, + "console": false, "command": true, "mousekey": true, "extrakey": true, diff --git a/keyboards/kinesis/stapelberg/keyboard.json b/keyboards/kinesis/stapelberg/keyboard.json index fbc955ebe2..6ad972d247 100644 --- a/keyboards/kinesis/stapelberg/keyboard.json +++ b/keyboards/kinesis/stapelberg/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "console": false, + "command": false, "mousekey": true, "extrakey": true, "nkro": true diff --git a/keyboards/kineticlabs/emu/hotswap/keyboard.json b/keyboards/kineticlabs/emu/hotswap/keyboard.json index 6a974fd410..ec53c2f6bf 100644 --- a/keyboards/kineticlabs/emu/hotswap/keyboard.json +++ b/keyboards/kineticlabs/emu/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Emu Hotswap", "manufacturer": "Kineticlabs", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0xE015", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/kineticlabs/emu/soldered/keyboard.json b/keyboards/kineticlabs/emu/soldered/keyboard.json index 5cbb524fdf..4aaf523d2a 100644 --- a/keyboards/kineticlabs/emu/soldered/keyboard.json +++ b/keyboards/kineticlabs/emu/soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Emu Soldered", "manufacturer": "Kineticlabs", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0xE015", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/kingly_keys/ave/ortho/keyboard.json b/keyboards/kingly_keys/ave/ortho/keyboard.json index 3720ac7f5a..27fb2666a2 100644 --- a/keyboards/kingly_keys/ave/ortho/keyboard.json +++ b/keyboards/kingly_keys/ave/ortho/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "The Ave. Ortholinear", "manufacturer": "Kingly-Keys", + "url": "", "maintainer": "the-royal", "usb": { "vid": "0x4B4B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kingly_keys/ave/staggered/keyboard.json b/keyboards/kingly_keys/ave/staggered/keyboard.json index 1d05272459..5fcb1657e3 100644 --- a/keyboards/kingly_keys/ave/staggered/keyboard.json +++ b/keyboards/kingly_keys/ave/staggered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "The Ave. Staggered", "manufacturer": "Kingly-Keys", + "url": "", "maintainer": "the-royal", "usb": { "vid": "0x4B4B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kingly_keys/little_foot/keyboard.json b/keyboards/kingly_keys/little_foot/keyboard.json index 2af4432d47..a511d48905 100644 --- a/keyboards/kingly_keys/little_foot/keyboard.json +++ b/keyboards/kingly_keys/little_foot/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "The Little Foot", "manufacturer": "Kingly-Keys", + "url": "", "maintainer": "TheRoyalSweatshirt", "usb": { "vid": "0xFEED", @@ -31,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kingly_keys/romac/keyboard.json b/keyboards/kingly_keys/romac/keyboard.json index 40c8dea64f..9927bdc25f 100644 --- a/keyboards/kingly_keys/romac/keyboard.json +++ b/keyboards/kingly_keys/romac/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RoMac", "manufacturer": "TheRoyalSweatshirt", + "url": "", "maintainer": "TheRoyalSweatshirt", "usb": { "vid": "0x4B4B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kingly_keys/romac_plus/keyboard.json b/keyboards/kingly_keys/romac_plus/keyboard.json index b0b2f487cb..8b6c43333d 100644 --- a/keyboards/kingly_keys/romac_plus/keyboard.json +++ b/keyboards/kingly_keys/romac_plus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RoMac+", "manufacturer": "TheRoyalSweatshirt", + "url": "", "maintainer": "TheRoyalSweatshirt", "usb": { "vid": "0x4B4B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kingly_keys/ropro/keyboard.json b/keyboards/kingly_keys/ropro/keyboard.json index 6a70aca089..fb22d06a7d 100644 --- a/keyboards/kingly_keys/ropro/keyboard.json +++ b/keyboards/kingly_keys/ropro/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kingly_keys/smd_milk/keyboard.json b/keyboards/kingly_keys/smd_milk/keyboard.json index 943599dad1..9f8a10a5bf 100644 --- a/keyboards/kingly_keys/smd_milk/keyboard.json +++ b/keyboards/kingly_keys/smd_milk/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SMD-2% Milk", "manufacturer": "Kingly-Keys", + "url": "", "maintainer": "TheRoyalSweatshirt", "usb": { "vid": "0xFEED", diff --git a/keyboards/kingly_keys/soap/keyboard.json b/keyboards/kingly_keys/soap/keyboard.json index 78660c4f6d..615014ffbf 100644 --- a/keyboards/kingly_keys/soap/keyboard.json +++ b/keyboards/kingly_keys/soap/keyboard.json @@ -28,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kira/kira75/keyboard.json b/keyboards/kira/kira75/keyboard.json index a974b10161..fb4c90a8b5 100644 --- a/keyboards/kira/kira75/keyboard.json +++ b/keyboards/kira/kira75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kira 75", "manufacturer": "thesiscamper", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/kira/kira75/readme.md b/keyboards/kira/kira75/readme.md index 237e81d06b..a30b60d179 100644 --- a/keyboards/kira/kira75/readme.md +++ b/keyboards/kira/kira75/readme.md @@ -1,5 +1,7 @@ # Kira 75 +![kira75](imgur.com image replace me!) + 75% keyboard designed by thesiscamper Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) diff --git a/keyboards/kira/kira80/keyboard.json b/keyboards/kira/kira80/keyboard.json index c66c919a42..137e1f6565 100644 --- a/keyboards/kira/kira80/keyboard.json +++ b/keyboards/kira/kira80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kira80", "manufacturer": "EVE", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6986", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/kiserdesigns/madeline/keyboard.json b/keyboards/kiserdesigns/madeline/keyboard.json index 5fdcd981f1..8a1a988a6f 100644 --- a/keyboards/kiserdesigns/madeline/keyboard.json +++ b/keyboards/kiserdesigns/madeline/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kiwikeebs/macro/keyboard.json b/keyboards/kiwikeebs/macro/keyboard.json index 98d8171944..faaebe88cf 100644 --- a/keyboards/kiwikeebs/macro/keyboard.json +++ b/keyboards/kiwikeebs/macro/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kiwikeebs/macro_v2/keyboard.json b/keyboards/kiwikeebs/macro_v2/keyboard.json index 9947f48f63..3848457990 100644 --- a/keyboards/kiwikeebs/macro_v2/keyboard.json +++ b/keyboards/kiwikeebs/macro_v2/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kiwikey/wanderland/keyboard.json b/keyboards/kiwikey/wanderland/keyboard.json index 1c2067942f..3dd7c668ac 100644 --- a/keyboards/kiwikey/wanderland/keyboard.json +++ b/keyboards/kiwikey/wanderland/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/kj_modify/rs40/keyboard.json b/keyboards/kj_modify/rs40/keyboard.json index 44ce821d57..a869383bd7 100644 --- a/keyboards/kj_modify/rs40/keyboard.json +++ b/keyboards/kj_modify/rs40/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kk/65/keyboard.json b/keyboards/kk/65/keyboard.json index 27ff4073ee..49c52eec80 100644 --- a/keyboards/kk/65/keyboard.json +++ b/keyboards/kk/65/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -21,6 +23,7 @@ "rows": ["D7", "B4", "B5", "B6", "B7"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/kkatano/bakeneko60/keyboard.json b/keyboards/kkatano/bakeneko60/keyboard.json index d4188b7c0f..094cc71728 100644 --- a/keyboards/kkatano/bakeneko60/keyboard.json +++ b/keyboards/kkatano/bakeneko60/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/kkatano/bakeneko65/rev2/keyboard.json b/keyboards/kkatano/bakeneko65/rev2/keyboard.json index ae13085586..93ac8a5e50 100644 --- a/keyboards/kkatano/bakeneko65/rev2/keyboard.json +++ b/keyboards/kkatano/bakeneko65/rev2/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/kkatano/bakeneko65/rev3/keyboard.json b/keyboards/kkatano/bakeneko65/rev3/keyboard.json index efc1697166..3892da5d04 100644 --- a/keyboards/kkatano/bakeneko65/rev3/keyboard.json +++ b/keyboards/kkatano/bakeneko65/rev3/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/knobgoblin/keyboard.json b/keyboards/knobgoblin/keyboard.json index 4cc00e26cd..8494eea465 100644 --- a/keyboards/knobgoblin/keyboard.json +++ b/keyboards/knobgoblin/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Knob Goblin", "manufacturer": "MrT1ddl3s", + "url": "", "maintainer": "MrT1ddl3s", "usb": { "vid": "0x4B47", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/koca58/board.h b/keyboards/koca58/board.h deleted file mode 100644 index d9de50c2b8..0000000000 --- a/keyboards/koca58/board.h +++ /dev/null @@ -1,8 +0,0 @@ -/* Copyright 2025 oxnh */ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 12000000U diff --git a/keyboards/koca58/config.h b/keyboards/koca58/config.h deleted file mode 100644 index 3256cc474f..0000000000 --- a/keyboards/koca58/config.h +++ /dev/null @@ -1,10 +0,0 @@ -/* Copyright 2025 oxnh */ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -#pragma once - -#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. -#define SERIAL_USART_TX_PIN C10 // USART TX pin -#define SERIAL_USART_RX_PIN C11 // USART RX pin -#define SERIAL_USART_DRIVER SD3 -#define USART3_PARTIALREMAP - diff --git a/keyboards/koca58/halconf.h b/keyboards/koca58/halconf.h deleted file mode 100644 index 79853fe70d..0000000000 --- a/keyboards/koca58/halconf.h +++ /dev/null @@ -1,7 +0,0 @@ -/* Copyright 2025 oxnh */ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -#pragma once - -#define HAL_USE_SERIAL TRUE - -#include_next diff --git a/keyboards/koca58/keyboard.json b/keyboards/koca58/keyboard.json deleted file mode 100644 index 5a58f6c26c..0000000000 --- a/keyboards/koca58/keyboard.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "manufacturer": "oxnh", - "keyboard_name": "Koca58", - "maintainer": "oxnh", - "bootloader": "stm32duino", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "direct": [["A10", "A9", "A8", "C9", "C8", "C7", "B2", "B13", "B12", "B14", "B15", "C6", "A6", "A7", "C4", "C5", "B0", "B1", "B5", "A0", "A1", "A2", "A3", "A4", "A5", "C14", "C13", "B7", "B6"]] - }, - "processor": "STM32F103", - "split": { - "enabled": true, - "handedness": { - "pin": "C15" - }, - "matrix_pins": { - "right": { - "direct": [["A10", "A9", "A8", "C9", "C8", "C7", "B2", "B13", "B12", "B14", "B15", "C6", "A6", "A7", "C4", "C5", "B0", "B1", "C14", "A0", "A1", "A2", "A3", "A4", "A5", "C13", "B7", "B6", "B5"]] - } - }, - "serial": { - "driver": "usart" - } - }, - "url": "https://github.com/Hardware7253/Koca58", - "usb": { - "device_version": "1.0.0", - "pid": "0x5106", - "vid": "0x4C17" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.45}, - {"matrix": [0, 1], "x": 1, "y": 0.375}, - {"matrix": [0, 2], "x": 2, "y": 0.125}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.125}, - {"matrix": [0, 5], "x": 5, "y": 0.25}, - {"matrix": [1, 0], "x": 10, "y": 0.25}, - {"matrix": [1, 1], "x": 11, "y": 0.125}, - {"matrix": [1, 2], "x": 12, "y": 0}, - {"matrix": [1, 3], "x": 13, "y": 0.125}, - {"matrix": [1, 4], "x": 14, "y": 0.375}, - {"matrix": [1, 5], "x": 15, "y": 0.45}, - {"matrix": [0, 6], "x": 0, "y": 1.45}, - {"matrix": [0, 7], "x": 1, "y": 1.375}, - {"matrix": [0, 8], "x": 2, "y": 1.125}, - {"matrix": [0, 9], "x": 3, "y": 1}, - {"matrix": [0, 10], "x": 4, "y": 1.125}, - {"matrix": [0, 11], "x": 5, "y": 1.25}, - {"matrix": [1, 6], "x": 10, "y": 1.25}, - {"matrix": [1, 7], "x": 11, "y": 1.125}, - {"matrix": [1, 8], "x": 12, "y": 1}, - {"matrix": [1, 9], "x": 13, "y": 1.125}, - {"matrix": [1, 10], "x": 14, "y": 1.375}, - {"matrix": [1, 11], "x": 15, "y": 1.45}, - {"matrix": [0, 12], "x": 0, "y": 2.45}, - {"matrix": [0, 13], "x": 1, "y": 2.375}, - {"matrix": [0, 14], "x": 2, "y": 2.125}, - {"matrix": [0, 15], "x": 3, "y": 2}, - {"matrix": [0, 16], "x": 4, "y": 2.125}, - {"matrix": [0, 17], "x": 5, "y": 2.25}, - {"matrix": [1, 12], "x": 10, "y": 2.25}, - {"matrix": [1, 13], "x": 11, "y": 2.125}, - {"matrix": [1, 14], "x": 12, "y": 2}, - {"matrix": [1, 15], "x": 13, "y": 2.125}, - {"matrix": [1, 16], "x": 14, "y": 2.375}, - {"matrix": [1, 17], "x": 15, "y": 2.45}, - {"matrix": [0, 19], "x": 0, "y": 3.45}, - {"matrix": [0, 20], "x": 1, "y": 3.375}, - {"matrix": [0, 21], "x": 2, "y": 3.125}, - {"matrix": [0, 22], "x": 3, "y": 3}, - {"matrix": [0, 23], "x": 4, "y": 3.125}, - {"matrix": [0, 24], "x": 5, "y": 3.25}, - {"matrix": [0, 18], "x": 6, "y": 2.75}, - {"matrix": [1, 18], "x": 9, "y": 2.75}, - {"matrix": [1, 19], "x": 10, "y": 3.25}, - {"matrix": [1, 20], "x": 11, "y": 3.125}, - {"matrix": [1, 21], "x": 12, "y": 3}, - {"matrix": [1, 22], "x": 13, "y": 3.125}, - {"matrix": [1, 23], "x": 14, "y": 3.375}, - {"matrix": [1, 24], "x": 15, "y": 3.45}, - {"matrix": [0, 25], "x": 2.5, "y": 4.15}, - {"matrix": [0, 26], "x": 3.5, "y": 4.15}, - {"matrix": [0, 27], "x": 4.5, "y": 4.25}, - {"matrix": [0, 28], "x": 6, "y": 4.25, "h": 1.5}, - {"matrix": [1, 25], "x": 9, "y": 4.25, "h": 1.5}, - {"matrix": [1, 26], "x": 10.45, "y": 4.25}, - {"matrix": [1, 27], "x": 11.5, "y": 4.15}, - {"matrix": [1, 28], "x": 12.5, "y": 4.15} - ] - } - } -} diff --git a/keyboards/koca58/keymaps/default/keymap.c b/keyboards/koca58/keymaps/default/keymap.c deleted file mode 100644 index b571cadda8..0000000000 --- a/keyboards/koca58/keymaps/default/keymap.c +++ /dev/null @@ -1,78 +0,0 @@ -/* Copyright 2025 oxnh */ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -#include QMK_KEYBOARD_H - -enum layer_number { - _QWERTY = 0, - _LOWER, - _RAISE, - _ADJUST, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* QWERTY - * ,-----------------------------------------. ,-----------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | - * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| - * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift| - * `-----------------------------------------/ / \ \-----------------------------------------' - * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI | - * | | | |/ / \ \ | | | | - * `----------------------------' '------''--------------------' - */ - [_QWERTY] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LALT, KC_LGUI, MO(_LOWER), KC_SPC, KC_ENT, MO(_RAISE), KC_BSPC, KC_RGUI - ), - /* LOWER - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | ~ | - * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| - * | | | | | | |-------| |-------| | _ | + | { | } | | | - * `-----------------------------------------/ / \ \-----------------------------------------' - * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI | - * | | | |/ / \ \ | | | | - * `----------------------------' '------''--------------------' - */ - [_LOWER] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD, - _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - /* RAISE - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | | - * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| - * | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ | - * `-----------------------------------------/ / \ \-----------------------------------------' - * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI | - * | | | |/ / \ \ | | | | - * `----------------------------' '------''--------------------' - */ - - [_RAISE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/koca58/mcuconf.h b/keyboards/koca58/mcuconf.h deleted file mode 100644 index 3270d5f778..0000000000 --- a/keyboards/koca58/mcuconf.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Copyright 2025 oxnh */ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -#pragma once - -#include_next - -#undef STM32_SERIAL_USE_USART3 -#define STM32_SERIAL_USE_USART3 TRUE - -#undef STM32_PLLMUL_VALUE -#define STM32_PLLMUL_VALUE 6 diff --git a/keyboards/koca58/readme.md b/keyboards/koca58/readme.md deleted file mode 100644 index fbf1c59954..0000000000 --- a/keyboards/koca58/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# Koca58 - -![Koca58](https://i.imgur.com/loOGjGq.jpeg) - -A Lily58 variant featuring SMT components, powered by an STM32F103 MCU and utilizing direct wiring. If you have a Lily58 with a soldered dev board (e.g., pro micro), please visit the original [Lily58](/keyboards/lily58) directory. - -* Keyboard Maintainer: [oxnh](https://github.com/Hardware7253) -* Hardware Supported: All Koca58 PCBs -* Hardware Availability: [Open source design](https://github.com/Hardware7253/Koca58) - -Make example for this keyboard (after setting up your build environment): - - make koca58:default - -Flashing example for this keyboard: - - make koca58:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader: - -* **Physical reset button**: Briefly press the button on the back of the PCB before or during uploading firmware diff --git a/keyboards/kona_classic/keyboard.json b/keyboards/kona_classic/keyboard.json index 716df4759f..79bef89bb6 100644 --- a/keyboards/kona_classic/keyboard.json +++ b/keyboards/kona_classic/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kona Classic", "manufacturer": "Dangerous Parts", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/kopibeng/mnk60/keyboard.json b/keyboards/kopibeng/mnk60/keyboard.json index 3daec9131d..0477ac560d 100644 --- a/keyboards/kopibeng/mnk60/keyboard.json +++ b/keyboards/kopibeng/mnk60/keyboard.json @@ -14,6 +14,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kopibeng/mnk60_stm32/keyboard.json b/keyboards/kopibeng/mnk60_stm32/keyboard.json index 75d7361aec..8b2278aff0 100644 --- a/keyboards/kopibeng/mnk60_stm32/keyboard.json +++ b/keyboards/kopibeng/mnk60_stm32/keyboard.json @@ -7,6 +7,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kopibeng/mnk65_stm32/keyboard.json b/keyboards/kopibeng/mnk65_stm32/keyboard.json index e425863d70..c71394ba84 100644 --- a/keyboards/kopibeng/mnk65_stm32/keyboard.json +++ b/keyboards/kopibeng/mnk65_stm32/keyboard.json @@ -7,6 +7,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kopibeng/tgr_lena/keyboard.json b/keyboards/kopibeng/tgr_lena/keyboard.json index a526c26e52..2460b04a5a 100644 --- a/keyboards/kopibeng/tgr_lena/keyboard.json +++ b/keyboards/kopibeng/tgr_lena/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kopibeng/typ65/keyboard.json b/keyboards/kopibeng/typ65/keyboard.json index aedb7cb7d9..57a23da4ad 100644 --- a/keyboards/kopibeng/typ65/keyboard.json +++ b/keyboards/kopibeng/typ65/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kopibeng/xt60/keyboard.json b/keyboards/kopibeng/xt60/keyboard.json index 1cb770f8df..24dc8f490b 100644 --- a/keyboards/kopibeng/xt60/keyboard.json +++ b/keyboards/kopibeng/xt60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XT60", "manufacturer": "kopibeng", + "url": "", "maintainer": "Kopibeng", "usb": { "vid": "0x4B50", @@ -24,6 +25,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kopibeng/xt60_singa/keyboard.json b/keyboards/kopibeng/xt60_singa/keyboard.json index 3a7726310a..b1d239cd20 100644 --- a/keyboards/kopibeng/xt60_singa/keyboard.json +++ b/keyboards/kopibeng/xt60_singa/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XT60_SINGA", "manufacturer": "kopibeng", + "url": "", "maintainer": "Kopibeng", "usb": { "vid": "0x4B50", @@ -24,6 +25,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kopibeng/xt65/keyboard.json b/keyboards/kopibeng/xt65/keyboard.json index 47d1fdeeed..c73ff703d5 100644 --- a/keyboards/kopibeng/xt65/keyboard.json +++ b/keyboards/kopibeng/xt65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XT65", "manufacturer": "kopibeng", + "url": "", "maintainer": "kopibeng", "usb": { "vid": "0x4B50", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kopibeng/xt8x/keyboard.json b/keyboards/kopibeng/xt8x/keyboard.json index ad6c044982..7167cb1d07 100644 --- a/keyboards/kopibeng/xt8x/keyboard.json +++ b/keyboards/kopibeng/xt8x/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XT8x", "manufacturer": "kopibeng", + "url": "", "maintainer": "kopibeng", "usb": { "vid": "0x4B50", diff --git a/keyboards/kprepublic/bm16a/v1/keyboard.json b/keyboards/kprepublic/bm16a/v1/keyboard.json index ee31afbcf5..85173a89cc 100644 --- a/keyboards/kprepublic/bm16a/v1/keyboard.json +++ b/keyboards/kprepublic/bm16a/v1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "bm16a", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", @@ -13,6 +14,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "backlight": true, "rgblight": true diff --git a/keyboards/kprepublic/bm16a/v1/readme.md b/keyboards/kprepublic/bm16a/v1/readme.md index 6ad3773371..d24a879505 100644 --- a/keyboards/kprepublic/bm16a/v1/readme.md +++ b/keyboards/kprepublic/bm16a/v1/readme.md @@ -5,6 +5,7 @@ A 16 key macropad, with USB C, RGB underglow and backlight. * Keyboard Maintainer: QMK Community +* Hardware Supported: The PCBs, controllers supported * Hardware Availability: [KPrepublic](https://kprepublic.com/products/bm16a-16-keys-custom-mechanical-keyboard-pcb-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom-underglow-alps-mx); [AliExpress](https://www.aliexpress.com/store/product/bm16a-16-keys-Custom-Mechanical-Keyboard-PCB-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom/3034003_32970629907.html) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kprepublic/bm16a/v2/keyboard.json b/keyboards/kprepublic/bm16a/v2/keyboard.json index b4ef622f4a..e922d0b9ee 100644 --- a/keyboards/kprepublic/bm16a/v2/keyboard.json +++ b/keyboards/kprepublic/bm16a/v2/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -20,6 +22,7 @@ "rows": ["A8", "A9", "B5", "B3"] }, "processor": "STM32F103", // GD32F303CCT6 + "url": "", "usb": { "device_version": "0.0.2", "pid": "0x016C", diff --git a/keyboards/kprepublic/bm16s/keyboard.json b/keyboards/kprepublic/bm16s/keyboard.json index fe259c2fc9..8c6ce05bb9 100644 --- a/keyboards/kprepublic/bm16s/keyboard.json +++ b/keyboards/kprepublic/bm16s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "bm16s", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kprepublic/bm16s/readme.md b/keyboards/kprepublic/bm16s/readme.md index 5b121cdaea..6a887e553a 100644 --- a/keyboards/kprepublic/bm16s/readme.md +++ b/keyboards/kprepublic/bm16s/readme.md @@ -3,6 +3,7 @@ A 16-key macropad, with USB C and per-key RGB backlighting. This is a variant of the BM16A, but with low profile Choc switches. * Keyboard Maintainer: QMK Community +* Hardware Supported: The PCBs, controllers supported * Hardware Availability: [KPrepublic](https://kprepublic.com/collections/pcb/products/bm16s-16-keys-custom-mechanical-keyboard-pcb-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-switch-leds-choc-switch); [AliExpress](https://www.aliexpress.com/item/bm16s-16-keys-Custom-Mechanical-Keyboard-PCB-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-switch/32999247908.html); [Massdrop](https://www.massdrop.com/buy/78169) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json index 5cad0a013a..7bdeafbcad 100644 --- a/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json +++ b/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM40 Hotswap RGB", "manufacturer": "KPRepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", @@ -65,6 +66,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json b/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json index c38be9612f..525a6088ed 100644 --- a/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json +++ b/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM40 Hotswap RGB", "manufacturer": "KPRepublic", + "url": "", "maintainer": "qmk", "features": { "bootmagic": true, @@ -9,6 +10,8 @@ "rgblight": true, "rgb_matrix": true, "tri_layer": true, + "console": false, + "command": false, "nkro": false }, "build": { diff --git a/keyboards/kprepublic/bm43a/keyboard.json b/keyboards/kprepublic/bm43a/keyboard.json index 28c8f259d1..79c089c68c 100644 --- a/keyboards/kprepublic/bm43a/keyboard.json +++ b/keyboards/kprepublic/bm43a/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM43A", "manufacturer": "KPRepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/kprepublic/bm43hsrgb/keyboard.json b/keyboards/kprepublic/bm43hsrgb/keyboard.json index 3aeba0ef91..9fa40bdd9c 100755 --- a/keyboards/kprepublic/bm43hsrgb/keyboard.json +++ b/keyboards/kprepublic/bm43hsrgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM43 Hotswap RGB", "manufacturer": "KPRepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", @@ -30,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json index 55ec5589d1..5fe5d21014 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM60HSRGB", "manufacturer": "KP Republic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", @@ -67,6 +68,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json index 3783ebb8b2..a82d5159cf 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM60V2", "manufacturer": "KP Republic", + "url": "", "maintainer": "bdtc123", "usb": { "vid": "0x4B50", diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json index 75e8333f7a..0a9b283131 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM60HSRGB_EC Rev1", "manufacturer": "KP Republic", + "url": "", "maintainer": "peepeetee", "usb": { "vid": "0x4B50", @@ -58,6 +59,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json index dd43d36d71..09124e03a9 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM60HSRGB_EC Rev2", "manufacturer": "KP Republic", + "url": "", "maintainer": "peepeetee", "usb": { "vid": "0x4B50", @@ -65,6 +66,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json index b3bf6e44b2..4cd2c48440 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM60HSRGB_ISO Rev1", "manufacturer": "KPRepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", @@ -64,6 +65,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json index 3a0df3e414..e84817122e 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM60HSRGB_ISO Rev2", "manufacturer": "KPRepublic", + "url": "", "maintainer": "kp republic", "usb": { "vid": "0x4B50", diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json index 9619665e6d..d7923b8432 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM60HSRGB Poker Rev1", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", @@ -79,6 +80,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json index f3edf59fec..62ff452a68 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM60HSRGB Poker Rev2", "manufacturer": "KPrepublic", + "url": "", "maintainer": "bdtc123", "usb": { "vid": "0x4B50", diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json index d761606a5a..dc63acfa41 100644 --- a/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json +++ b/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM65HSRGB", "manufacturer": "KPrepublic", + "url": "", "maintainer": "bytesapart", "usb": { "vid": "0x4B50", @@ -18,6 +19,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json index e9e330b160..53b132713c 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM65HSRGB ISO", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", @@ -85,6 +86,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json index b5ca4d696d..6e2d3a9208 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json +++ b/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM68HSRGB Rev1", "manufacturer": "KPrepublic", + "url": "", "maintainer": "peepeetee", "usb": { "vid": "0x4B50", @@ -64,6 +65,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json b/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json index 28ad31304e..7df1af5902 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json +++ b/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM68HSRGB Rev2", "manufacturer": "KPrepublic", + "url": "", "maintainer": "bdtc123", "usb": { "vid": "0x4B50", @@ -71,6 +72,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kprepublic/bm80hsrgb/keyboard.json b/keyboards/kprepublic/bm80hsrgb/keyboard.json index 1a1b1a6ed3..5a4d65fbcd 100644 --- a/keyboards/kprepublic/bm80hsrgb/keyboard.json +++ b/keyboards/kprepublic/bm80hsrgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM80HSRGB", "manufacturer": "KPRepublic", + "url": "", "maintainer": "peepeetee", "usb": { "vid": "0x4B50", @@ -62,6 +63,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kprepublic/bm80v2/keyboard.json b/keyboards/kprepublic/bm80v2/keyboard.json index 43de1e4933..dd985550bb 100644 --- a/keyboards/kprepublic/bm80v2/keyboard.json +++ b/keyboards/kprepublic/bm80v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM80v2", "manufacturer": "KPrepublic", + "url": "", "maintainer": "edwardslau", "usb": { "vid": "0x4B50", @@ -53,6 +54,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kprepublic/bm80v2_iso/keyboard.json b/keyboards/kprepublic/bm80v2_iso/keyboard.json index beb90a3738..46ab7a5e8b 100644 --- a/keyboards/kprepublic/bm80v2_iso/keyboard.json +++ b/keyboards/kprepublic/bm80v2_iso/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM80v2 ISO", "manufacturer": "KPrepublic", + "url": "", "maintainer": "edwardslau", "usb": { "vid": "0x4B50", @@ -53,6 +54,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kprepublic/bm980hsrgb/keyboard.json b/keyboards/kprepublic/bm980hsrgb/keyboard.json index 85f8b006ae..8ee498b7b6 100644 --- a/keyboards/kprepublic/bm980hsrgb/keyboard.json +++ b/keyboards/kprepublic/bm980hsrgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BM980 Hotswap RGB", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", @@ -15,6 +16,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kprepublic/cospad/keyboard.json b/keyboards/kprepublic/cospad/keyboard.json index ac5b98c83a..51a824b816 100644 --- a/keyboards/kprepublic/cospad/keyboard.json +++ b/keyboards/kprepublic/cospad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Cospad", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B5C", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/kprepublic/cstc40/info.json b/keyboards/kprepublic/cstc40/info.json index 8e4e640b7e..44d12fc22f 100644 --- a/keyboards/kprepublic/cstc40/info.json +++ b/keyboards/kprepublic/cstc40/info.json @@ -7,12 +7,15 @@ "debounce": 2, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, "rgb_matrix": true }, "processor": "STM32F401", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0040", diff --git a/keyboards/kprepublic/jj40/rev1/keyboard.json b/keyboards/kprepublic/jj40/rev1/keyboard.json index 201f916ee3..3ac3e2f02c 100644 --- a/keyboards/kprepublic/jj40/rev1/keyboard.json +++ b/keyboards/kprepublic/jj40/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JJ40 rev1", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", diff --git a/keyboards/kprepublic/jj40/rules.mk b/keyboards/kprepublic/jj40/rules.mk new file mode 100644 index 0000000000..fa09523958 --- /dev/null +++ b/keyboards/kprepublic/jj40/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kprepublic/jj40/rev1 diff --git a/keyboards/kprepublic/jj4x4/keyboard.json b/keyboards/kprepublic/jj4x4/keyboard.json index 872ee1ac55..2f53db2e88 100644 --- a/keyboards/kprepublic/jj4x4/keyboard.json +++ b/keyboards/kprepublic/jj4x4/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JJ4x4", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", @@ -11,6 +12,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/kprepublic/jj50/rev1/keyboard.json b/keyboards/kprepublic/jj50/rev1/keyboard.json index 7eed1349e0..c9f191ef9c 100644 --- a/keyboards/kprepublic/jj50/rev1/keyboard.json +++ b/keyboards/kprepublic/jj50/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JJ50 rev1", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", diff --git a/keyboards/kprepublic/jj50/rev2/keyboard.json b/keyboards/kprepublic/jj50/rev2/keyboard.json index 4327c4be97..b739c20713 100644 --- a/keyboards/kprepublic/jj50/rev2/keyboard.json +++ b/keyboards/kprepublic/jj50/rev2/keyboard.json @@ -39,9 +39,11 @@ "twinkle": true }, "brightness_steps": 8, + "hue_steps": 8, "led_count": 6, "saturation_steps": 8 }, + "url": "", "usb": { "device_version": "2.0.0", "pid": "0x0050", diff --git a/keyboards/kprepublic/jj50/rules.mk b/keyboards/kprepublic/jj50/rules.mk new file mode 100644 index 0000000000..8f77c68db2 --- /dev/null +++ b/keyboards/kprepublic/jj50/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kprepublic/jj50/rev1 diff --git a/keyboards/kradoindustries/kousa/keyboard.json b/keyboards/kradoindustries/kousa/keyboard.json index 2730bf5d50..196e863bf5 100644 --- a/keyboards/kradoindustries/kousa/keyboard.json +++ b/keyboards/kradoindustries/kousa/keyboard.json @@ -14,6 +14,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "encoder": true, "rgblight": true diff --git a/keyboards/kradoindustries/krado66/keyboard.json b/keyboards/kradoindustries/krado66/keyboard.json index 6964f3f80f..aefadf12de 100644 --- a/keyboards/kradoindustries/krado66/keyboard.json +++ b/keyboards/kradoindustries/krado66/keyboard.json @@ -14,6 +14,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "encoder": true, "rgblight": true diff --git a/keyboards/kradoindustries/promenade/keyboard.json b/keyboards/kradoindustries/promenade/keyboard.json index f8b1197ff1..86330dbc2e 100644 --- a/keyboards/kradoindustries/promenade/keyboard.json +++ b/keyboards/kradoindustries/promenade/keyboard.json @@ -15,6 +15,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgblight": true }, @@ -71,8 +73,8 @@ {"matrix": [1, 3], "x":3.5, "y":1}, {"matrix": [1, 4], "x":4.5, "y":1}, {"matrix": [1, 5], "x":5.5, "y":1}, - {"matrix": [1, 6], "x":6.5, "y":1}, - {"matrix": [1, 7], "x":7.5, "y":1}, + {"matrix": [1, 6], "x":6.5, "y":1, "h":1.5}, + {"matrix": [1, 7], "x":7.5, "y":1, "h":1.5}, {"matrix": [1, 8], "x":8.5, "y":1}, {"matrix": [1, 9], "x":9.5, "y":1}, {"matrix": [1, 10], "x":10.5, "y":1}, @@ -86,8 +88,6 @@ {"matrix": [2, 3], "x":3.5, "y":2}, {"matrix": [2, 4], "x":4.5, "y":2}, {"matrix": [2, 5], "x":5.5, "y":2}, - {"matrix": [2, 6], "x":6.5, "y":2}, - {"matrix": [2, 7], "x":7.5, "y":2}, {"matrix": [2, 8], "x":8.5, "y":2}, {"matrix": [2, 9], "x":9.5, "y":2}, {"matrix": [2, 10], "x":10.5, "y":2}, @@ -101,8 +101,8 @@ {"matrix": [3, 3], "x":3.5, "y":3}, {"matrix": [3, 4], "x":4.5, "y":3}, {"matrix": [3, 5], "x":5.5, "y":3}, - {"matrix": [3, 6], "x":6.5, "y":3}, - {"matrix": [3, 7], "x":7.5, "y":3}, + {"matrix": [3, 6], "x":6.5, "y":2.5, "h":1.5}, + {"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5}, {"matrix": [3, 8], "x":8.5, "y":3}, {"matrix": [3, 9], "x":9.5, "y":3}, {"matrix": [3, 10], "x":10.5, "y":3}, @@ -199,81 +199,6 @@ {"matrix": [4, 13], "x":13.5, "y":4, "w":1.5} ] }, - "LAYOUT_1x2u": { - "layout": [ - {"matrix": [0, 0], "x":0, "y":0, "w":1.5}, - {"matrix": [0, 1], "x":1.5, "y":0}, - {"matrix": [0, 2], "x":2.5, "y":0}, - {"matrix": [0, 3], "x":3.5, "y":0}, - {"matrix": [0, 4], "x":4.5, "y":0}, - {"matrix": [0, 5], "x":5.5, "y":0}, - {"matrix": [0, 6], "x":6.5, "y":0}, - {"matrix": [0, 7], "x":7.5, "y":0}, - {"matrix": [0, 8], "x":8.5, "y":0}, - {"matrix": [0, 9], "x":9.5, "y":0}, - {"matrix": [0, 10], "x":10.5, "y":0}, - {"matrix": [0, 11], "x":11.5, "y":0}, - {"matrix": [0, 12], "x":12.5, "y":0}, - {"matrix": [0, 13], "x":13.5, "y":0, "w":1.5}, - - {"matrix": [1, 0], "x":0, "y":1, "w":1.5}, - {"matrix": [1, 1], "x":1.5, "y":1}, - {"matrix": [1, 2], "x":2.5, "y":1}, - {"matrix": [1, 3], "x":3.5, "y":1}, - {"matrix": [1, 4], "x":4.5, "y":1}, - {"matrix": [1, 5], "x":5.5, "y":1}, - {"matrix": [1, 6], "x":6.5, "y":1, "h":1.5}, - {"matrix": [1, 7], "x":7.5, "y":1, "h":1.5}, - {"matrix": [1, 8], "x":8.5, "y":1}, - {"matrix": [1, 9], "x":9.5, "y":1}, - {"matrix": [1, 10], "x":10.5, "y":1}, - {"matrix": [1, 11], "x":11.5, "y":1}, - {"matrix": [1, 12], "x":12.5, "y":1}, - {"matrix": [1, 13], "x":13.5, "y":1, "w":1.5}, - - {"matrix": [2, 0], "x":0, "y":2, "w":1.5}, - {"matrix": [2, 1], "x":1.5, "y":2}, - {"matrix": [2, 2], "x":2.5, "y":2}, - {"matrix": [2, 3], "x":3.5, "y":2}, - {"matrix": [2, 4], "x":4.5, "y":2}, - {"matrix": [2, 5], "x":5.5, "y":2}, - {"matrix": [2, 8], "x":8.5, "y":2}, - {"matrix": [2, 9], "x":9.5, "y":2}, - {"matrix": [2, 10], "x":10.5, "y":2}, - {"matrix": [2, 11], "x":11.5, "y":2}, - {"matrix": [2, 12], "x":12.5, "y":2}, - {"matrix": [2, 13], "x":13.5, "y":2, "w":1.5}, - - {"matrix": [3, 0], "x":0, "y":3, "w":1.5}, - {"matrix": [3, 1], "x":1.5, "y":3}, - {"matrix": [3, 2], "x":2.5, "y":3}, - {"matrix": [3, 3], "x":3.5, "y":3}, - {"matrix": [3, 4], "x":4.5, "y":3}, - {"matrix": [3, 5], "x":5.5, "y":3}, - {"matrix": [3, 6], "x":6.5, "y":2.5, "h":1.5}, - {"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5}, - {"matrix": [3, 8], "x":8.5, "y":3}, - {"matrix": [3, 9], "x":9.5, "y":3}, - {"matrix": [3, 10], "x":10.5, "y":3}, - {"matrix": [3, 11], "x":11.5, "y":3}, - {"matrix": [3, 12], "x":12.5, "y":3}, - {"matrix": [3, 13], "x":13.5, "y":3, "w":1.5}, - - {"matrix": [4, 0], "x":0, "y":4, "w":1.5}, - {"matrix": [4, 1], "x":1.5, "y":4}, - {"matrix": [4, 2], "x":2.5, "y":4}, - {"matrix": [4, 3], "x":3.5, "y":4}, - {"matrix": [4, 4], "x":4.5, "y":4}, - {"matrix": [4, 5], "x":5.5, "y":4}, - {"matrix": [4, 6], "x":6.5, "y":4, "w":2}, - {"matrix": [4, 8], "x":8.5, "y":4}, - {"matrix": [4, 9], "x":9.5, "y":4}, - {"matrix": [4, 10], "x":10.5, "y":4}, - {"matrix": [4, 11], "x":11.5, "y":4}, - {"matrix": [4, 12], "x":12.5, "y":4}, - {"matrix": [4, 13], "x":13.5, "y":4, "w":1.5} - ] - }, "LAYOUT_2x3u": { "layout": [ {"matrix": [0, 0], "x":0, "y":0, "w":1.5}, diff --git a/keyboards/kradoindustries/promenade/keymaps/default/keymap.c b/keyboards/kradoindustries/promenade/keymaps/default/keymap.c index be8401e608..aef0f28161 100644 --- a/keyboards/kradoindustries/promenade/keymaps/default/keymap.c +++ b/keyboards/kradoindustries/promenade/keymaps/default/keymap.c @@ -26,19 +26,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * .-----------------------------------------------------------------------------------------------------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | BACKSP | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | E | R | T | [ | ] | Y | U | I | O | P | \ | + * | TAB | Q | W | E | R | T | [ | ] | Y | U | I | O | P | ' | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | CAP LK | A | S | D | F | G | HOME | PG UP | H | J | K | L | ; | ENTER | + * | CAP LK | A | S | D | F | G | | | H | J | K | L | ; | ENTER | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| * | LSHIFT | Z | X | C | V | B | END | PG DN | N | M | , | . | / | RSHIFT | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| - * | LCTRL | LGUI | LALT | FN | SPACE | SPACE | SPACE | SPACE | LEFT | DOWN | UP | RIGHT | RCTRL | + * | LCTRL | LGUI | FN | LALT | SPACE | SPACE | SPACE | SPACE | SPACE | LEFT | DOWN | UP | RIGHT | RCTRL | * '-----------------------------------------------------------------------------------------------------------------------------' */ [_BASE] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL ), @@ -47,20 +47,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * .-----------------------------------------------------------------------------------------------------------------------------. * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | | HOME | UP | END | PG UP | | | | | | | | PRT SC | | + * | | Home | Up | End | PgUp | | | | | | | | PRT SC | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | | LEFT | DOWN | RIGHT | PG DN | | | | | | | | ' | RGB Off| + * | | Left | Down | Right | PgDn | | | | | | | | | Reset | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| - * | | | | | | ENTER | ENTER | BACKSP | | | | | Reset | + * | | | | | | | | | | | | | | Reset | * '-----------------------------------------------------------------------------------------------------------------------------' */ [_FN] = LAYOUT_all( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_QUOT, UG_TOGG, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, - _______, _______, _______, _______, _______, KC_ENT, KC_ENT, KC_BSPC, _______, _______, _______, _______, QK_BOOT + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/kradoindustries/promenade/matrix_diagram.md b/keyboards/kradoindustries/promenade/matrix_diagram.md index 3c205c9a99..086471b8b9 100644 --- a/keyboards/kradoindustries/promenade/matrix_diagram.md +++ b/keyboards/kradoindustries/promenade/matrix_diagram.md @@ -5,10 +5,10 @@ │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │ ├─────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼─────┤ │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ -├─────┼───┼───┼───┼───┼───├───┼───┼───┼───┼───┼───┼───┼─────┤ -│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ -├─────┼───┼───┼───┼───┼───├───┼───┼───┼───┼───┼───┼───┼─────┤ -│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ +├─────┼───┼───┼───┼───┼───┤ │ ├───┼───┼───┼───┼───┼─────┤ +│20 │21 │22 │23 │24 │25 ├───┼───┤28 │29 │2A │2B │2C │2D │ +├─────┼───┼───┼───┼───┼───┤36 │37 ├───┼───┼───┼───┼───┼─────┤ +│30 │31 │32 │33 │34 │35 │ │ │38 │39 │3A │3B │3C │3D │ ├─────┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┼───┼─────┤ │40 │41 │42 │43 │44 │45 │46 │48 │49 │4A │4B │4C │4D │ └─────┴───┴───┴───┴───┴───┴───────┴───┴───┴───┴───┴───┴─────┘ diff --git a/keyboards/kradoindustries/promenade_rp24s/keyboard.json b/keyboards/kradoindustries/promenade_rp24s/keyboard.json index 5fb3dbfec8..c0d4a7f535 100644 --- a/keyboards/kradoindustries/promenade_rp24s/keyboard.json +++ b/keyboards/kradoindustries/promenade_rp24s/keyboard.json @@ -14,6 +14,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "encoder": true, "rgblight": true diff --git a/keyboards/kraken_jones/pteron56/keyboard.json b/keyboards/kraken_jones/pteron56/keyboard.json index d298a1220f..0af1f6b735 100644 --- a/keyboards/kraken_jones/pteron56/keyboard.json +++ b/keyboards/kraken_jones/pteron56/keyboard.json @@ -18,6 +18,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "layouts": { diff --git a/keyboards/ktec/daisy/keyboard.json b/keyboards/ktec/daisy/keyboard.json index 9d8a7f2de5..d0a24f5b0d 100644 --- a/keyboards/ktec/daisy/keyboard.json +++ b/keyboards/ktec/daisy/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Daisy", "manufacturer": "KTEC", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B50", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/ktec/staryu/keyboard.json b/keyboards/ktec/staryu/keyboard.json index 2fa35a7913..a2799703be 100644 --- a/keyboards/ktec/staryu/keyboard.json +++ b/keyboards/ktec/staryu/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Staryu", "manufacturer": "K.T.E.C.", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x1209", @@ -39,6 +40,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/kumaokobo/kudox/rules.mk b/keyboards/kumaokobo/kudox/rules.mk new file mode 100644 index 0000000000..16c27e7c3b --- /dev/null +++ b/keyboards/kumaokobo/kudox/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kumaokobo/kudox/rev3 diff --git a/keyboards/kumaokobo/kudox_full/rules.mk b/keyboards/kumaokobo/kudox_full/rules.mk new file mode 100644 index 0000000000..c912dcd2e5 --- /dev/null +++ b/keyboards/kumaokobo/kudox_full/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kumaokobo/kudox_full/rev1 diff --git a/keyboards/kumaokobo/kudox_game/info.json b/keyboards/kumaokobo/kudox_game/info.json index 8750facede..6968b5e427 100644 --- a/keyboards/kumaokobo/kudox_game/info.json +++ b/keyboards/kumaokobo/kudox_game/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "The Kudox Game Keyboard", "manufacturer": "Kumao Kobo", + "url": "", "maintainer": "Kumao Kobo", "usb": { "vid": "0xABBA", diff --git a/keyboards/kumaokobo/kudox_game/rev1/keyboard.json b/keyboards/kumaokobo/kudox_game/rev1/keyboard.json index bd3d8053ff..975fbcd546 100644 --- a/keyboards/kumaokobo/kudox_game/rev1/keyboard.json +++ b/keyboards/kumaokobo/kudox_game/rev1/keyboard.json @@ -30,6 +30,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/kumaokobo/kudox_game/rev2/keyboard.json b/keyboards/kumaokobo/kudox_game/rev2/keyboard.json index 84f272d712..ac13e1b216 100644 --- a/keyboards/kumaokobo/kudox_game/rev2/keyboard.json +++ b/keyboards/kumaokobo/kudox_game/rev2/keyboard.json @@ -30,6 +30,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/kumaokobo/kudox_game/rules.mk b/keyboards/kumaokobo/kudox_game/rules.mk new file mode 100644 index 0000000000..28918ca489 --- /dev/null +++ b/keyboards/kumaokobo/kudox_game/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kumaokobo/kudox_game/rev2 diff --git a/keyboards/kumaokobo/pico/rules.mk b/keyboards/kumaokobo/pico/rules.mk new file mode 100644 index 0000000000..df859afa0f --- /dev/null +++ b/keyboards/kumaokobo/pico/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = kumaokobo/pico/65keys diff --git a/keyboards/kuro/kuro65/keyboard.json b/keyboards/kuro/kuro65/keyboard.json index 631120ae79..72549735d9 100644 --- a/keyboards/kuro/kuro65/keyboard.json +++ b/keyboards/kuro/kuro65/keyboard.json @@ -2,6 +2,7 @@ "keyboard_name": "Kuro65", "manufacturer": "Kuro", "maintainer": "0x544D", + "url": "", "processor": "atmega32u4", "bootloader": "atmel-dfu", "diode_direction": "COL2ROW", @@ -21,6 +22,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/kv/revt/keyboard.json b/keyboards/kv/revt/keyboard.json index 20d9c38fbe..8553dcdd35 100644 --- a/keyboards/kv/revt/keyboard.json +++ b/keyboards/kv/revt/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KVT", "manufacturer": "Hybrid", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6565", diff --git a/keyboards/kwstudio/pisces/keyboard.json b/keyboards/kwstudio/pisces/keyboard.json index 25936beb85..48f4e6a4f6 100644 --- a/keyboards/kwstudio/pisces/keyboard.json +++ b/keyboards/kwstudio/pisces/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -18,6 +20,7 @@ "rows": ["B7", "D5", "D3", "D2", "D1", "D0"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/kwstudio/scorpio/keyboard.json b/keyboards/kwstudio/scorpio/keyboard.json index 4d94b3a6b9..82262afb1b 100644 --- a/keyboards/kwstudio/scorpio/keyboard.json +++ b/keyboards/kwstudio/scorpio/keyboard.json @@ -35,6 +35,7 @@ "led_count": 9, "sleep": true }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x0002", diff --git a/keyboards/kwstudio/scorpio_rev2/keyboard.json b/keyboards/kwstudio/scorpio_rev2/keyboard.json index b4cf901d1f..d1b41b1d4f 100644 --- a/keyboards/kwstudio/scorpio_rev2/keyboard.json +++ b/keyboards/kwstudio/scorpio_rev2/keyboard.json @@ -38,6 +38,7 @@ "led_count": 9, "saturation_steps": 8 }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0003", diff --git a/keyboards/kwub/bloop/keyboard.json b/keyboards/kwub/bloop/keyboard.json index a5486926b3..2889ef1598 100644 --- a/keyboards/kwub/bloop/keyboard.json +++ b/keyboards/kwub/bloop/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/labbe/labbeminiv1/keyboard.json b/keyboards/labbe/labbeminiv1/keyboard.json index e1b94dfa4e..da53de3da5 100644 --- a/keyboards/labbe/labbeminiv1/keyboard.json +++ b/keyboards/labbe/labbeminiv1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Labbe Mini V1", "manufacturer": "Labbe", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xABBE", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false diff --git a/keyboards/labyrinth75/keyboard.json b/keyboards/labyrinth75/keyboard.json index 8e7326fa35..1e70a8318d 100644 --- a/keyboards/labyrinth75/keyboard.json +++ b/keyboards/labyrinth75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "labyrinth75", "manufacturer": "Livi", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4F53", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/laneware/lpad/keyboard.json b/keyboards/laneware/lpad/keyboard.json index cf1b297fd8..464205846b 100644 --- a/keyboards/laneware/lpad/keyboard.json +++ b/keyboards/laneware/lpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "L-PAD", "manufacturer": "Laneware Peripherals", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4C50", @@ -11,6 +12,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/laneware/lw67/keyboard.json b/keyboards/laneware/lw67/keyboard.json index 6e3f09e500..e48506f58e 100644 --- a/keyboards/laneware/lw67/keyboard.json +++ b/keyboards/laneware/lw67/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "LW-67", "manufacturer": "Laneware Peripherals", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4C50", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/laneware/lw75/keyboard.json b/keyboards/laneware/lw75/keyboard.json index a61e4396cd..27601d1e28 100644 --- a/keyboards/laneware/lw75/keyboard.json +++ b/keyboards/laneware/lw75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "LW-75", "manufacturer": "Laneware Peripherals", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4C50", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/laneware/macro1/keyboard.json b/keyboards/laneware/macro1/keyboard.json index ded25130a0..a432db5915 100644 --- a/keyboards/laneware/macro1/keyboard.json +++ b/keyboards/laneware/macro1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MACRO-1", "manufacturer": "Laneware Peripherals", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4C50", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/laneware/raindrop/keyboard.json b/keyboards/laneware/raindrop/keyboard.json index 115bf2fc56..4e5d674b2b 100644 --- a/keyboards/laneware/raindrop/keyboard.json +++ b/keyboards/laneware/raindrop/keyboard.json @@ -19,6 +19,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "qmk": { diff --git a/keyboards/large_lad/keyboard.json b/keyboards/large_lad/keyboard.json deleted file mode 100644 index e983d53939..0000000000 --- a/keyboards/large_lad/keyboard.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "manufacturer": "DIY (open source)", - "keyboard_name": "Large Lad", - "maintainer": "Hyphen-ated", - "bootmagic": { - "matrix": [11, 12] - }, - "development_board": "blackpill_f411", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "B7", "pin_b": "A0"} - ] - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "encoder": true - }, - "matrix_pins": { - "cols": ["A2", "A1", "C13", "C14", "C15", "A5", "A6", "B0", "B3", "B8", "A15", "A8", "B15"], - "rows": ["B5", "B6", "B4", "B9", "A4", "A3", "A7", "B1", "B10", "B12", "B13", "B14"] - }, - "url": "https://github.com/Hyphen-ated/large-lad-keyboard", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "L1", "matrix": [11, 12], "x": 0, "y": 0}, - {"label": "L2", "matrix": [11, 11], "x": 1, "y": 0}, - {"label": "L3", "matrix": [11, 6], "x": 2, "y": 0}, - {"label": "F13", "matrix": [11, 5], "x": 5.25, "y": 0}, - {"label": "F14", "matrix": [11, 4], "x": 6.25, "y": 0}, - {"label": "F15", "matrix": [11, 3], "x": 7.25, "y": 0}, - {"label": "F16", "matrix": [11, 2], "x": 8.25, "y": 0}, - {"label": "F17", "matrix": [11, 1], "x": 9.75, "y": 0}, - {"label": "F18", "matrix": [11, 0], "x": 10.75, "y": 0}, - {"label": "F19", "matrix": [0, 12], "x": 11.75, "y": 0}, - {"label": "F20", "matrix": [0, 11], "x": 12.75, "y": 0}, - {"label": "F21", "matrix": [0, 10], "x": 14.25, "y": 0}, - {"label": "F22", "matrix": [0, 9], "x": 15.25, "y": 0}, - {"label": "F23", "matrix": [0, 8], "x": 16.25, "y": 0}, - {"label": "F24", "matrix": [0, 7], "x": 17.25, "y": 0}, - {"label": "R1", "matrix": [0, 6], "x": 18.5, "y": 0}, - {"label": "R2", "matrix": [0, 5], "x": 19.5, "y": 0}, - {"label": "R3", "matrix": [0, 4], "x": 20.5, "y": 0}, - {"label": "R4", "matrix": [0, 3], "x": 21.75, "y": 0}, - {"label": "R5", "matrix": [0, 2], "x": 22.75, "y": 0}, - {"label": "R6", "matrix": [0, 1], "x": 23.75, "y": 0}, - {"label": "R7", "matrix": [0, 0], "x": 24.75, "y": 0}, - {"label": "L4", "matrix": [11, 7], "x": 0, "y": 1}, - {"label": "L5", "matrix": [10, 12], "x": 1, "y": 1}, - {"label": "L6", "matrix": [10, 11], "x": 2, "y": 1}, - {"label": "Esc", "matrix": [10, 6], "x": 3.25, "y": 1}, - {"label": "F1", "matrix": [10, 5], "x": 5.25, "y": 1}, - {"label": "F2", "matrix": [10, 4], "x": 6.25, "y": 1}, - {"label": "F3", "matrix": [10, 3], "x": 7.25, "y": 1}, - {"label": "F4", "matrix": [10, 2], "x": 8.25, "y": 1}, - {"label": "F5", "matrix": [10, 1], "x": 9.75, "y": 1}, - {"label": "F6", "matrix": [10, 0], "x": 10.75, "y": 1}, - {"label": "F7", "matrix": [1, 12], "x": 11.75, "y": 1}, - {"label": "F8", "matrix": [1, 11], "x": 12.75, "y": 1}, - {"label": "F9", "matrix": [1, 10], "x": 14.25, "y": 1}, - {"label": "F10", "matrix": [1, 9], "x": 15.25, "y": 1}, - {"label": "F11", "matrix": [1, 8], "x": 16.25, "y": 1}, - {"label": "F12", "matrix": [1, 7], "x": 17.25, "y": 1}, - {"label": "PrtSc", "matrix": [1, 6], "x": 18.5, "y": 1}, - {"label": "Scroll Lock", "matrix": [1, 5], "x": 19.5, "y": 1}, - {"label": "Pause", "matrix": [1, 4], "x": 20.5, "y": 1}, - {"label": "R8", "matrix": [1, 3], "x": 21.75, "y": 1}, - {"label": "R9", "matrix": [1, 2], "x": 22.75, "y": 1}, - {"label": "R10", "matrix": [1, 1], "x": 23.75, "y": 1}, - {"label": "R11", "matrix": [1, 0], "x": 24.75, "y": 1}, - {"label": "L7", "matrix": [11, 8], "x": 0, "y": 2.25}, - {"label": "L8", "matrix": [10, 7], "x": 1, "y": 2.25}, - {"label": "L9", "matrix": [9, 12], "x": 2, "y": 2.25}, - {"label": "~", "matrix": [9, 11], "x": 3.25, "y": 2.5}, - {"label": "!", "matrix": [9, 6], "x": 4.25, "y": 2.5}, - {"label": "@", "matrix": [9, 5], "x": 5.25, "y": 2.5}, - {"label": "#", "matrix": [9, 4], "x": 6.25, "y": 2.5}, - {"label": "$", "matrix": [9, 3], "x": 7.25, "y": 2.5}, - {"label": "%", "matrix": [9, 2], "x": 8.25, "y": 2.5}, - {"label": "^", "matrix": [9, 1], "x": 9.25, "y": 2.5}, - {"label": "&", "matrix": [9, 0], "x": 10.25, "y": 2.5}, - {"label": "*", "matrix": [2, 12], "x": 11.25, "y": 2.5}, - {"label": "(", "matrix": [2, 11], "x": 12.25, "y": 2.5}, - {"label": ")", "matrix": [2, 10], "x": 13.25, "y": 2.5}, - {"label": "_", "matrix": [2, 9], "x": 14.25, "y": 2.5}, - {"label": "+", "matrix": [2, 8], "x": 15.25, "y": 2.5}, - {"label": "Backspace", "matrix": [2, 7], "x": 16.25, "y": 2.5, "w": 2}, - {"label": "Insert", "matrix": [2, 6], "x": 18.5, "y": 2.5}, - {"label": "Home", "matrix": [2, 5], "x": 19.5, "y": 2.5}, - {"label": "PgUp", "matrix": [2, 4], "x": 20.5, "y": 2.5}, - {"label": "Num Lock", "matrix": [2, 3], "x": 21.75, "y": 2.5}, - {"label": "/", "matrix": [2, 2], "x": 22.75, "y": 2.5}, - {"label": "*", "matrix": [2, 1], "x": 23.75, "y": 2.5}, - {"label": "-", "matrix": [2, 0], "x": 24.75, "y": 2.5}, - {"label": "L10", "matrix": [10, 8], "x": 0, "y": 3.25}, - {"label": "L11", "matrix": [9, 7], "x": 1, "y": 3.25}, - {"label": "L12", "matrix": [8, 12], "x": 2, "y": 3.25}, - {"label": "Tab", "matrix": [8, 11], "x": 3.25, "y": 3.5, "w": 1.5}, - {"label": "Q", "matrix": [8, 6], "x": 4.75, "y": 3.5}, - {"label": "W", "matrix": [8, 5], "x": 5.75, "y": 3.5}, - {"label": "E", "matrix": [8, 4], "x": 6.75, "y": 3.5}, - {"label": "R", "matrix": [8, 3], "x": 7.75, "y": 3.5}, - {"label": "T", "matrix": [8, 2], "x": 8.75, "y": 3.5}, - {"label": "Y", "matrix": [8, 1], "x": 9.75, "y": 3.5}, - {"label": "U", "matrix": [8, 0], "x": 10.75, "y": 3.5}, - {"label": "I", "matrix": [3, 12], "x": 11.75, "y": 3.5}, - {"label": "O", "matrix": [3, 11], "x": 12.75, "y": 3.5}, - {"label": "P", "matrix": [3, 10], "x": 13.75, "y": 3.5}, - {"label": "{", "matrix": [3, 9], "x": 14.75, "y": 3.5}, - {"label": "}", "matrix": [3, 8], "x": 15.75, "y": 3.5}, - {"label": "|", "matrix": [3, 7], "x": 16.75, "y": 3.5, "w": 1.5}, - {"label": "Delete", "matrix": [3, 6], "x": 18.5, "y": 3.5}, - {"label": "End", "matrix": [3, 5], "x": 19.5, "y": 3.5}, - {"label": "PgDn", "matrix": [3, 4], "x": 20.5, "y": 3.5}, - {"label": "7", "matrix": [3, 3], "x": 21.75, "y": 3.5}, - {"label": "8", "matrix": [3, 2], "x": 22.75, "y": 3.5}, - {"label": "9", "matrix": [3, 1], "x": 23.75, "y": 3.5}, - {"label": "+", "matrix": [3, 0], "x": 24.75, "y": 3.5, "h": 2}, - {"label": "L13", "matrix": [9, 8], "x": 0, "y": 4.25}, - {"label": "L14", "matrix": [8, 7], "x": 1, "y": 4.25}, - {"label": "L15", "matrix": [7, 12], "x": 2, "y": 4.25}, - {"label": "Caps Lock", "matrix": [7, 6], "x": 3.25, "y": 4.5, "w": 1.75}, - {"label": "A", "matrix": [7, 5], "x": 5, "y": 4.5}, - {"label": "S", "matrix": [7, 4], "x": 6, "y": 4.5}, - {"label": "D", "matrix": [7, 3], "x": 7, "y": 4.5}, - {"label": "F", "matrix": [7, 2], "x": 8, "y": 4.5}, - {"label": "G", "matrix": [7, 1], "x": 9, "y": 4.5}, - {"label": "H", "matrix": [7, 0], "x": 10, "y": 4.5}, - {"label": "J", "matrix": [4, 12], "x": 11, "y": 4.5}, - {"label": "K", "matrix": [4, 11], "x": 12, "y": 4.5}, - {"label": "L", "matrix": [4, 10], "x": 13, "y": 4.5}, - {"label": ":", "matrix": [4, 9], "x": 14, "y": 4.5}, - {"label": "\"", "matrix": [4, 8], "x": 15, "y": 4.5}, - {"label": "Enter", "matrix": [4, 7], "x": 16, "y": 4.5, "w": 2.25}, - {"label": "4", "matrix": [4, 3], "x": 21.75, "y": 4.5}, - {"label": "5", "matrix": [4, 2], "x": 22.75, "y": 4.5}, - {"label": "6", "matrix": [4, 1], "x": 23.75, "y": 4.5}, - {"label": "L16", "matrix": [8, 8], "x": 0, "y": 5.5}, - {"label": "L17", "matrix": [7, 7], "x": 1, "y": 5.5}, - {"label": "L18", "matrix": [6, 12], "x": 2, "y": 5.5}, - {"label": "Shift", "matrix": [7, 11], "x": 3.25, "y": 5.5, "w": 2.25}, - {"label": "Z", "matrix": [6, 5], "x": 5.5, "y": 5.5}, - {"label": "X", "matrix": [6, 3], "x": 6.5, "y": 5.5}, - {"label": "C", "matrix": [6, 2], "x": 7.5, "y": 5.5}, - {"label": "V", "matrix": [6, 1], "x": 8.5, "y": 5.5}, - {"label": "B", "matrix": [6, 0], "x": 9.5, "y": 5.5}, - {"label": "N", "matrix": [5, 12], "x": 10.5, "y": 5.5}, - {"label": "M", "matrix": [5, 11], "x": 11.5, "y": 5.5}, - {"label": "<", "matrix": [5, 10], "x": 12.5, "y": 5.5}, - {"label": ">", "matrix": [5, 9], "x": 13.5, "y": 5.5}, - {"label": "?", "matrix": [5, 8], "x": 14.5, "y": 5.5}, - {"label": "Shift", "matrix": [5, 7], "x": 15.5, "y": 5.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 5], "x": 19.5, "y": 5.5}, - {"label": "1", "matrix": [5, 3], "x": 21.75, "y": 5.5}, - {"label": "2", "matrix": [5, 2], "x": 22.75, "y": 5.5}, - {"label": "3", "matrix": [5, 1], "x": 23.75, "y": 5.5}, - {"label": "Enter", "matrix": [4, 0], "x": 24.75, "y": 5.5, "h": 2}, - {"label": "L19", "matrix": [7, 8], "x": 0, "y": 6.5}, - {"label": "L20", "matrix": [8, 9], "x": 1, "y": 6.5}, - {"label": "L21", "matrix": [7, 9], "x": 2, "y": 6.5}, - {"label": "Ctrl", "matrix": [6, 11], "x": 3.25, "y": 6.5, "w": 1.25}, - {"label": "Win", "matrix": [6, 6], "x": 4.5, "y": 6.5, "w": 1.25}, - {"label": "Alt", "matrix": [6, 4], "x": 5.75, "y": 6.5, "w": 1.25}, - {"label": "Space", "matrix": [6, 10], "x": 7, "y": 6.5, "w": 6.25}, - {"label": "Alt", "matrix": [6, 9], "x": 13.25, "y": 6.5, "w": 1.25}, - {"label": "Win", "matrix": [6, 8], "x": 14.5, "y": 6.5, "w": 1.25}, - {"label": "Menu", "matrix": [6, 7], "x": 15.75, "y": 6.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [5, 6], "x": 17, "y": 6.5, "w": 1.25}, - {"label": "Left", "matrix": [4, 6], "x": 18.5, "y": 6.5}, - {"label": "Down", "matrix": [5, 5], "x": 19.5, "y": 6.5}, - {"label": "Right", "matrix": [4, 4], "x": 20.5, "y": 6.5}, - {"label": "0", "matrix": [5, 4], "x": 21.75, "y": 6.5, "w": 2}, - {"label": ".", "matrix": [5, 0], "x": 23.75, "y": 6.5} - ] - } - } -} diff --git a/keyboards/large_lad/keymaps/default/keymap.c b/keyboards/large_lad/keymaps/default/keymap.c deleted file mode 100644 index 68c368360f..0000000000 --- a/keyboards/large_lad/keymaps/default/keymap.c +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2024 Hyphen-ated (@Hyphen-ated) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ - * │ │ │ │ │F13│F14│F15│F16│ │F17│F18│F19│F20│ │F21│F22│F23│F24│ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┤ ┌───┐ ├───┼───┼───┤───┤ ├───┼───┼───┤───┤ ├───┼───┼───┤───┤ ├───┼───┼───┤ ├───┼───┼───┤───┤ - * │ │ │ │ │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ │ │ │ │ │ - * └───┴───┴───┘ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ └───┴───┴───┴───┘ - * ┌───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ - * │ │ │ │ │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ - * ├───┼───┼───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ - * │ │ │ │ │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ - * ├───┼───┼───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ - * │ │ │ │ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ - * ├───┼───┼───┤ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤ - * │ │ │ │ │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ - * ├───┼───┼───┤ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ - * │ │ │ │ │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ - * └───┴───┴───┘ └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ - */ - [0] = LAYOUT( - KC_NO,KC_NO,KC_NO, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO,KC_NO,KC_NO, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, KC_NO, KC_NO, KC_NO, KC_NO, - - KC_NO,KC_NO,KC_NO, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_NO,KC_NO,KC_NO, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_NO,KC_NO,KC_NO, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_NO,KC_NO,KC_NO, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_NO,KC_NO,KC_NO, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ) -}; - -// encoder controls volume by default -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } -}; -#endif diff --git a/keyboards/large_lad/keymaps/default/rules.mk b/keyboards/large_lad/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/large_lad/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/large_lad/readme.md b/keyboards/large_lad/readme.md deleted file mode 100644 index ac9f5a0646..0000000000 --- a/keyboards/large_lad/readme.md +++ /dev/null @@ -1,23 +0,0 @@ -# large_lad - -![large_lad](https://i.imgur.com/CQWAD2X.jpg) - -Starts with the standard US 104 key layout and adds more keys on top and on the left. Total of 148 keys, one of which is a rotary encoder. Includes two rows of function keys and a 3x7 grid of keys on the left. No LEDs. - -* Keyboard Maintainer: [Hyphen-ated](https://github.com/Hyphen-ated) -* Hardware Supported: Custom open source PCB. -* Hardware Availability: DIY. PCB and plate design files available at https://github.com/Hyphen-ated/large-lad-keyboard - -Make example for this keyboard (after setting up your build environment): - - make large_lad:default - -Flashing example for this keyboard: - - make large_lad:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -To enter the bootloader, there's two buttons to press on the blackpill board. Press and hold BOOT, press and release NRST, then release BOOT. Sometimes this randomly fails and you have to try again. diff --git a/keyboards/laser_ninja/pumpkinpad/keyboard.json b/keyboards/laser_ninja/pumpkinpad/keyboard.json index 9004a411a2..64e62911a6 100644 --- a/keyboards/laser_ninja/pumpkinpad/keyboard.json +++ b/keyboards/laser_ninja/pumpkinpad/keyboard.json @@ -1,11 +1,14 @@ { "keyboard_name": "Pumpkinpad", "manufacturer": "Laser Ninja", + "url": "", "maintainer": "Jels", "processor": "STM32F072", "bootloader": "stm32-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/latincompass/latin17rgb/keyboard.json b/keyboards/latincompass/latin17rgb/keyboard.json index 6dab2faf68..161672aea4 100644 --- a/keyboards/latincompass/latin17rgb/keyboard.json +++ b/keyboards/latincompass/latin17rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Latin17RGB", "manufacturer": "18438880", + "url": "", "maintainer": "18438880", "usb": { "vid": "0x7C88", @@ -65,6 +66,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/latincompass/latin47ble/keyboard.json b/keyboards/latincompass/latin47ble/keyboard.json index f5d53dbbe8..ac07f68152 100644 --- a/keyboards/latincompass/latin47ble/keyboard.json +++ b/keyboards/latincompass/latin47ble/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Latin47BLE", "manufacturer": "latincompass", + "url": "", "maintainer": "latincompass", "usb": { "vid": "0x6C63", diff --git a/keyboards/latincompass/latin60rgb/keyboard.json b/keyboards/latincompass/latin60rgb/keyboard.json index bc28bdf08e..764a7c882a 100644 --- a/keyboards/latincompass/latin60rgb/keyboard.json +++ b/keyboards/latincompass/latin60rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Latin60RGB", "manufacturer": "latincompass", + "url": "", "maintainer": "latincompass", "usb": { "vid": "0x6C63", @@ -109,6 +110,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/latincompass/latin64ble/keyboard.json b/keyboards/latincompass/latin64ble/keyboard.json index 3a7a93c4a3..b2563569d3 100644 --- a/keyboards/latincompass/latin64ble/keyboard.json +++ b/keyboards/latincompass/latin64ble/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Latin64BLE", "manufacturer": "latincompass", + "url": "", "maintainer": "latincompass", "usb": { "vid": "0x6C63", diff --git a/keyboards/latincompass/latin6rgb/keyboard.json b/keyboards/latincompass/latin6rgb/keyboard.json index d2708df399..42aa82a030 100644 --- a/keyboards/latincompass/latin6rgb/keyboard.json +++ b/keyboards/latincompass/latin6rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Latin6rgb", "manufacturer": "18438880", + "url": "", "maintainer": "18438880", "usb": { "vid": "0x7C88", diff --git a/keyboards/latincompass/latinpad/keyboard.json b/keyboards/latincompass/latinpad/keyboard.json index 2efc370ad3..1e2c8ca90c 100644 --- a/keyboards/latincompass/latinpad/keyboard.json +++ b/keyboards/latincompass/latinpad/keyboard.json @@ -44,6 +44,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/latincompass/latinpadble/keyboard.json b/keyboards/latincompass/latinpadble/keyboard.json index f99fee5bad..fe35f74e79 100644 --- a/keyboards/latincompass/latinpadble/keyboard.json +++ b/keyboards/latincompass/latinpadble/keyboard.json @@ -11,6 +11,8 @@ "features": { "bluetooth": true, "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/lazydesigners/bolt/keyboard.json b/keyboards/lazydesigners/bolt/keyboard.json index e1254e0de5..c155c852df 100644 --- a/keyboards/lazydesigners/bolt/keyboard.json +++ b/keyboards/lazydesigners/bolt/keyboard.json @@ -29,6 +29,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/lazydesigners/cassette8/keyboard.json b/keyboards/lazydesigners/cassette8/keyboard.json index 55044bd108..623b804efe 100755 --- a/keyboards/lazydesigners/cassette8/keyboard.json +++ b/keyboards/lazydesigners/cassette8/keyboard.json @@ -29,6 +29,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/lazydesigners/dimple/rules.mk b/keyboards/lazydesigners/dimple/rules.mk new file mode 100644 index 0000000000..cd05623d84 --- /dev/null +++ b/keyboards/lazydesigners/dimple/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = lazydesigners/dimple/staggered/rev1 diff --git a/keyboards/lazydesigners/dimpleplus/keyboard.json b/keyboards/lazydesigners/dimpleplus/keyboard.json index 474be8352c..afae905c7b 100644 --- a/keyboards/lazydesigners/dimpleplus/keyboard.json +++ b/keyboards/lazydesigners/dimpleplus/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/lazydesigners/the30/keyboard.json b/keyboards/lazydesigners/the30/keyboard.json index 494105db18..64562ada66 100644 --- a/keyboards/lazydesigners/the30/keyboard.json +++ b/keyboards/lazydesigners/the30/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/lazydesigners/the40/keyboard.json b/keyboards/lazydesigners/the40/keyboard.json index dfefd92593..0e06e16ea8 100644 --- a/keyboards/lazydesigners/the40/keyboard.json +++ b/keyboards/lazydesigners/the40/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/lazydesigners/the50/keyboard.json b/keyboards/lazydesigners/the50/keyboard.json index de4ad88219..1039625f06 100644 --- a/keyboards/lazydesigners/the50/keyboard.json +++ b/keyboards/lazydesigners/the50/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/lazydesigners/the60/rev1/keyboard.json b/keyboards/lazydesigners/the60/rev1/keyboard.json index 8fd9df1559..815cf8e04d 100755 --- a/keyboards/lazydesigners/the60/rev1/keyboard.json +++ b/keyboards/lazydesigners/the60/rev1/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/lazydesigners/the60/rev2/keyboard.json b/keyboards/lazydesigners/the60/rev2/keyboard.json index 1b2c32b737..f9a0fd95b5 100755 --- a/keyboards/lazydesigners/the60/rev2/keyboard.json +++ b/keyboards/lazydesigners/the60/rev2/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/leafcutterlabs/bigknob/keyboard.json b/keyboards/leafcutterlabs/bigknob/keyboard.json index c1f3e12f03..8250f7eb61 100644 --- a/keyboards/leafcutterlabs/bigknob/keyboard.json +++ b/keyboards/leafcutterlabs/bigknob/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "bigKNOB", "manufacturer": "leafcutterlabs", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xCEEB", @@ -34,6 +35,8 @@ "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/leeku/finger65/keyboard.json b/keyboards/leeku/finger65/keyboard.json index cba7adea66..c9b7338856 100644 --- a/keyboards/leeku/finger65/keyboard.json +++ b/keyboards/leeku/finger65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Finger65", "manufacturer": "LeeKu", + "url": "", "maintainer": "sidcarter", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false diff --git a/keyboards/handwired/onekey/keymaps/battery/config.h b/keyboards/lendunistus/rpneko65/rev1/config.h similarity index 50% rename from keyboards/handwired/onekey/keymaps/battery/config.h rename to keyboards/lendunistus/rpneko65/rev1/config.h index 8a1c05d436..6786155fbf 100644 --- a/keyboards/handwired/onekey/keymaps/battery/config.h +++ b/keyboards/lendunistus/rpneko65/rev1/config.h @@ -1,6 +1,6 @@ -// Copyright 2024 QMK +// Copyright 2023 lendunistus // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#define BATTERY_PIN ADC_PIN +#define CAPS_LOCK_ENABLE true diff --git a/keyboards/lendunistus/rpneko65/rev1/keyboard.json b/keyboards/lendunistus/rpneko65/rev1/keyboard.json index d0bb593996..29682cf2a7 100644 --- a/keyboards/lendunistus/rpneko65/rev1/keyboard.json +++ b/keyboards/lendunistus/rpneko65/rev1/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/lendunistus/rpneko65/rev1/rev1.c b/keyboards/lendunistus/rpneko65/rev1/rev1.c index a542dc6b31..2cb9cf07f8 100644 --- a/keyboards/lendunistus/rpneko65/rev1/rev1.c +++ b/keyboards/lendunistus/rpneko65/rev1/rev1.c @@ -16,10 +16,6 @@ along with this program. If not, see . */ #include "quantum.h" -#ifndef CAPS_LOCK_ENABLE -# define CAPS_LOCK_ENABLE true -#endif - bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if (CAPS_LOCK_ENABLE && res) { diff --git a/keyboards/lets_split/info.json b/keyboards/lets_split/info.json index 9152226cab..a92a948abd 100644 --- a/keyboards/lets_split/info.json +++ b/keyboards/lets_split/info.json @@ -1,4 +1,5 @@ { + "url": "", "maintainer": "qmk", "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/lets_split/rules.mk b/keyboards/lets_split/rules.mk new file mode 100644 index 0000000000..0fb6d36204 --- /dev/null +++ b/keyboards/lets_split/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = lets_split/rev2 diff --git a/keyboards/lfkeyboards/lfk78/revb/keyboard.json b/keyboards/lfkeyboards/lfk78/revb/keyboard.json index d5c4656928..a4c0d83902 100644 --- a/keyboards/lfkeyboards/lfk78/revb/keyboard.json +++ b/keyboards/lfkeyboards/lfk78/revb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "LFK78 Rev B", "manufacturer": "LFKeyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4C46", diff --git a/keyboards/lfkeyboards/lfk78/revc/keyboard.json b/keyboards/lfkeyboards/lfk78/revc/keyboard.json index 0906307fe7..56ab9b49be 100644 --- a/keyboards/lfkeyboards/lfk78/revc/keyboard.json +++ b/keyboards/lfkeyboards/lfk78/revc/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "LFK7 Rev C-H", "manufacturer": "LFKeyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4C46", diff --git a/keyboards/lfkeyboards/lfk78/revj/keyboard.json b/keyboards/lfkeyboards/lfk78/revj/keyboard.json index 2657a21b8c..df8ac8d0f6 100644 --- a/keyboards/lfkeyboards/lfk78/revj/keyboard.json +++ b/keyboards/lfkeyboards/lfk78/revj/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "LFK78 Rev J", "manufacturer": "LFKeyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4C46", diff --git a/keyboards/lfkeyboards/lfk78/rules.mk b/keyboards/lfkeyboards/lfk78/rules.mk new file mode 100644 index 0000000000..5ebd387c83 --- /dev/null +++ b/keyboards/lfkeyboards/lfk78/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = lfkeyboards/lfk78/revj diff --git a/keyboards/lfkeyboards/lfk87/info.json b/keyboards/lfkeyboards/lfk87/info.json index a0c0b2bcc0..9b10936df8 100644 --- a/keyboards/lfkeyboards/lfk87/info.json +++ b/keyboards/lfkeyboards/lfk87/info.json @@ -1,10 +1,13 @@ { "keyboard_name": "LFK87", "manufacturer": "LFKeyboards", + "url": "", "maintainer": "qmk", "features": { "audio": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/lfkeyboards/lfk87/rules.mk b/keyboards/lfkeyboards/lfk87/rules.mk new file mode 100644 index 0000000000..05b80ac74a --- /dev/null +++ b/keyboards/lfkeyboards/lfk87/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = lfkeyboards/lfk78/revc diff --git a/keyboards/lfkeyboards/lfkpad/keyboard.json b/keyboards/lfkeyboards/lfkpad/keyboard.json index dc638cbfa9..6de415b8e0 100644 --- a/keyboards/lfkeyboards/lfkpad/keyboard.json +++ b/keyboards/lfkeyboards/lfkpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "LFKPad", "manufacturer": "LFKeyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4C46", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/lfkeyboards/mini1800/info.json b/keyboards/lfkeyboards/mini1800/info.json index a7ee5324b6..35bb1c15a8 100644 --- a/keyboards/lfkeyboards/mini1800/info.json +++ b/keyboards/lfkeyboards/mini1800/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mini1800", "manufacturer": "LFKeyboards", + "url": "", "maintainer": "lfkeyboards", "usb": { "vid": "0xFEED", diff --git a/keyboards/lfkeyboards/smk65/info.json b/keyboards/lfkeyboards/smk65/info.json index d1ce471242..0ecbf2ab95 100644 --- a/keyboards/lfkeyboards/smk65/info.json +++ b/keyboards/lfkeyboards/smk65/info.json @@ -1,9 +1,11 @@ { "keyboard_name": "SMK65v2", "manufacturer": "LFKeyboards", + "url": "", "maintainer": "qmk", "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/lfkeyboards/smk65/revf/keyboard.json b/keyboards/lfkeyboards/smk65/revf/keyboard.json index 1dd58441fc..4e8a44d3bc 100644 --- a/keyboards/lfkeyboards/smk65/revf/keyboard.json +++ b/keyboards/lfkeyboards/smk65/revf/keyboard.json @@ -133,7 +133,7 @@ {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, {"matrix": [2, 15], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, diff --git a/keyboards/lfkeyboards/smk65/rules.mk b/keyboards/lfkeyboards/smk65/rules.mk new file mode 100644 index 0000000000..b2d7497663 --- /dev/null +++ b/keyboards/lfkeyboards/smk65/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = lfkeyboards/smk65/revb diff --git a/keyboards/lgbtkl/keyboard.json b/keyboards/lgbtkl/keyboard.json index 51411f2b2a..a3f126e862 100644 --- a/keyboards/lgbtkl/keyboard.json +++ b/keyboards/lgbtkl/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/lily58/lite_rev3/keyboard.json b/keyboards/lily58/lite_rev3/keyboard.json index 839cf4fe78..2073c0661e 100644 --- a/keyboards/lily58/lite_rev3/keyboard.json +++ b/keyboards/lily58/lite_rev3/keyboard.json @@ -2,6 +2,7 @@ "keyboard_name": "Lily58 Lite Rev3", "manufacturer": "Liliums", "maintainer": "yuchi", + "url": "", "processor": "RP2040", "bootloader": "rp2040", "diode_direction": "COL2ROW", @@ -17,7 +18,7 @@ } }, "matrix_pins": { - "cols": ["GP3", "GP4", "GP5", "GP6", "GP7", "GP8"], + "cols": ["GP8", "GP7", "GP6", "GP5", "GP4", "GP3"], "rows": ["GP13", "GP12", "GP11", "GP10", "GP9"] }, "features": { diff --git a/keyboards/lily58/r2g/keyboard.json b/keyboards/lily58/r2g/keyboard.json index 6bd8f7b916..bb825b1d9e 100644 --- a/keyboards/lily58/r2g/keyboard.json +++ b/keyboards/lily58/r2g/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lily58 R2G", "manufacturer": "Mechboards UK", + "url": "", "maintainer": "Elliot Powell", "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/lily58/rev1/keyboard.json b/keyboards/lily58/rev1/keyboard.json index 3488b0e2b5..9ee51b8ba3 100644 --- a/keyboards/lily58/rev1/keyboard.json +++ b/keyboards/lily58/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lily58", "manufacturer": "liliums", + "url": "", "maintainer": "liliums", "usb": { "vid": "0x04D8", diff --git a/keyboards/lily58/rules.mk b/keyboards/lily58/rules.mk new file mode 100644 index 0000000000..a63bd42ad3 --- /dev/null +++ b/keyboards/lily58/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = lily58/rev1 diff --git a/keyboards/lime/rules.mk b/keyboards/lime/rules.mk new file mode 100644 index 0000000000..4643abab93 --- /dev/null +++ b/keyboards/lime/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = lime/rev1 diff --git a/keyboards/linworks/dolice/keyboard.json b/keyboards/linworks/dolice/keyboard.json index bcdfda561f..6a556db654 100644 --- a/keyboards/linworks/dolice/keyboard.json +++ b/keyboards/linworks/dolice/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/linworks/em8/keyboard.json b/keyboards/linworks/em8/keyboard.json index 12b8e8e0a9..cf17b94a4d 100644 --- a/keyboards/linworks/em8/keyboard.json +++ b/keyboards/linworks/em8/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/linworks/fave104/keyboard.json b/keyboards/linworks/fave104/keyboard.json index 561293c329..c71fdd5661 100644 --- a/keyboards/linworks/fave104/keyboard.json +++ b/keyboards/linworks/fave104/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "FAVE-104", "manufacturer": "Lx3", + "url": "", "maintainer": "keydler", "usb": { "vid": "0x4C58", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/linworks/fave60/keyboard.json b/keyboards/linworks/fave60/keyboard.json index ab0f72c3ef..38c5458445 100644 --- a/keyboards/linworks/fave60/keyboard.json +++ b/keyboards/linworks/fave60/keyboard.json @@ -26,6 +26,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -41,6 +43,7 @@ "cols": ["D6", "D4", "B5", "B4", "B6", "C6", "C7", "F4", "F0", "E6", "D1", "D2", "D3", "D5", "B0"], "rows": ["F6", "F7", "D7", "F1", "D0"] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x000D", diff --git a/keyboards/linworks/fave60a/keyboard.json b/keyboards/linworks/fave60a/keyboard.json index 8a505aaae2..7972e94bae 100644 --- a/keyboards/linworks/fave60a/keyboard.json +++ b/keyboards/linworks/fave60a/keyboard.json @@ -161,6 +161,7 @@ "max_brightness": 120, "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x000C", diff --git a/keyboards/linworks/fave65h/keyboard.json b/keyboards/linworks/fave65h/keyboard.json index 212bd0a37b..6e35f55a4b 100644 --- a/keyboards/linworks/fave65h/keyboard.json +++ b/keyboards/linworks/fave65h/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "FAve 65H", "manufacturer": "Lx3", + "url": "", "maintainer": "ToastyStoemp", "usb": { "vid": "0x4C58", diff --git a/keyboards/linworks/fave84h/keyboard.json b/keyboards/linworks/fave84h/keyboard.json index 1b6d5516bf..1ca6cb911a 100644 --- a/keyboards/linworks/fave84h/keyboard.json +++ b/keyboards/linworks/fave84h/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -196,6 +198,7 @@ "max_brightness": 120, "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0004", diff --git a/keyboards/linworks/fave87/keyboard.json b/keyboards/linworks/fave87/keyboard.json index 6dce6f39fe..9083b8c8ec 100644 --- a/keyboards/linworks/fave87/keyboard.json +++ b/keyboards/linworks/fave87/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/linworks/fave87h/keyboard.json b/keyboards/linworks/fave87h/keyboard.json index 4bb6e42de4..5fb1d4d42a 100644 --- a/keyboards/linworks/fave87h/keyboard.json +++ b/keyboards/linworks/fave87h/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "FAve 87H", "manufacturer": "Lx3", + "url": "", "maintainer": "ToastyStoemp", "usb": { "vid": "0x4C58", diff --git a/keyboards/linworks/favepada/keyboard.json b/keyboards/linworks/favepada/keyboard.json index e468f88779..2b5adcf0a6 100644 --- a/keyboards/linworks/favepada/keyboard.json +++ b/keyboards/linworks/favepada/keyboard.json @@ -107,6 +107,7 @@ "ws2812": { "pin": "B1" }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x000B", diff --git a/keyboards/linworks/whale75/keyboard.json b/keyboards/linworks/whale75/keyboard.json index 4298382471..88598d8e8c 100644 --- a/keyboards/linworks/whale75/keyboard.json +++ b/keyboards/linworks/whale75/keyboard.json @@ -24,6 +24,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/littlealby/mute/keyboard.json b/keyboards/littlealby/mute/keyboard.json index 3ca52491bb..96c2e26a74 100644 --- a/keyboards/littlealby/mute/keyboard.json +++ b/keyboards/littlealby/mute/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mute", "manufacturer": "Little Alby", + "url": "", "maintainer": "albybarber", "usb": { "vid": "0x4142", @@ -18,6 +19,8 @@ "bootloader": "caterina", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/lizard_trick/tenkey_plusplus/keyboard.json b/keyboards/lizard_trick/tenkey_plusplus/keyboard.json index e3828e0674..0877d99885 100644 --- a/keyboards/lizard_trick/tenkey_plusplus/keyboard.json +++ b/keyboards/lizard_trick/tenkey_plusplus/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/ll3macorn/bongopad/keyboard.json b/keyboards/ll3macorn/bongopad/keyboard.json index a47529ed28..7a6f0ff043 100644 --- a/keyboards/ll3macorn/bongopad/keyboard.json +++ b/keyboards/ll3macorn/bongopad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/lm_keyboard/lm60n/keyboard.json b/keyboards/lm_keyboard/lm60n/keyboard.json index 0b901ee2ea..f12bdec031 100644 --- a/keyboards/lm_keyboard/lm60n/keyboard.json +++ b/keyboards/lm_keyboard/lm60n/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "L+M 60N", "manufacturer": "L+M Keyboard", + "url": "", "maintainer": "gkeyboard", "usb": { "vid": "0x4C4D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/longnald/corin/keyboard.json b/keyboards/longnald/corin/keyboard.json index 0eb2726507..a423348b78 100644 --- a/keyboards/longnald/corin/keyboard.json +++ b/keyboards/longnald/corin/keyboard.json @@ -27,6 +27,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/lostdotfish/rp2040_orbweaver/keyboard.json b/keyboards/lostdotfish/rp2040_orbweaver/keyboard.json index b1f867760a..b711d9c4a8 100644 --- a/keyboards/lostdotfish/rp2040_orbweaver/keyboard.json +++ b/keyboards/lostdotfish/rp2040_orbweaver/keyboard.json @@ -14,6 +14,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/lxxt/keyboard.json b/keyboards/lxxt/keyboard.json index a4bc328a71..3a2700883d 100644 --- a/keyboards/lxxt/keyboard.json +++ b/keyboards/lxxt/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "LXXT", "manufacturer": "DeskDaily", + "url": "", "maintainer": "DeskDaily", "usb": { "vid": "0x5003", @@ -25,8 +26,10 @@ }, "rgblight": { "led_count": 16, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, + "max_brightness": 255, "sleep": true, "animations": { "alternating": true, @@ -46,6 +49,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgblight": true, "encoder": true diff --git a/keyboards/lyso1/lefishe/keyboard.json b/keyboards/lyso1/lefishe/keyboard.json index be92e9930f..6104f47e47 100644 --- a/keyboards/lyso1/lefishe/keyboard.json +++ b/keyboards/lyso1/lefishe/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Le_Fishe", "manufacturer": "Lyso1", + "url": "", "maintainer": "Lyso1", "usb": { "vid": "0x7856", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/lz/erghost/keyboard.json b/keyboards/lz/erghost/keyboard.json index 7722e4fc62..ac5ce2edf2 100644 --- a/keyboards/lz/erghost/keyboard.json +++ b/keyboards/lz/erghost/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "erGhost", "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x6C7A", diff --git a/keyboards/m10a/keyboard.json b/keyboards/m10a/keyboard.json index d6f1be0bbb..544d2535ed 100644 --- a/keyboards/m10a/keyboard.json +++ b/keyboards/m10a/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "M10-A", "manufacturer": "RAMA WORKS", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5241", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/machine_industries/m4_a/keyboard.json b/keyboards/machine_industries/m4_a/keyboard.json index 147b85018a..04510f92e1 100644 --- a/keyboards/machine_industries/m4_a/keyboard.json +++ b/keyboards/machine_industries/m4_a/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/machkeyboards/mach3/keyboard.json b/keyboards/machkeyboards/mach3/keyboard.json index 126845a37d..9f9d492bcc 100644 --- a/keyboards/machkeyboards/mach3/keyboard.json +++ b/keyboards/machkeyboards/mach3/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/macrocat/keyboard.json b/keyboards/macrocat/keyboard.json index d9d3be105a..470ce8973a 100644 --- a/keyboards/macrocat/keyboard.json +++ b/keyboards/macrocat/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/madjax_macropad/keyboard.json b/keyboards/madjax_macropad/keyboard.json index 63c1383ac1..ac2802faef 100644 --- a/keyboards/madjax_macropad/keyboard.json +++ b/keyboards/madjax_macropad/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/magic_force/mf17/keyboard.json b/keyboards/magic_force/mf17/keyboard.json index 10469f63c6..705318e71e 100644 --- a/keyboards/magic_force/mf17/keyboard.json +++ b/keyboards/magic_force/mf17/keyboard.json @@ -96,7 +96,7 @@ "sleep": true }, "indicators": { - "num_lock": "B15", + "caps_lock": "B15", "on_state": 0 }, "community_layouts": ["numpad_5x4"], diff --git a/keyboards/magic_force/mf34/keyboard.json b/keyboards/magic_force/mf34/keyboard.json index 44d1a4ec92..7178d0405e 100644 --- a/keyboards/magic_force/mf34/keyboard.json +++ b/keyboards/magic_force/mf34/keyboard.json @@ -1,5 +1,6 @@ { "keyboard_name": "MagicForce", + "url": "", "maintainer": "MagicForce", "manufacturer": "MagicForce", "usb": { diff --git a/keyboards/makeymakey/keyboard.json b/keyboards/makeymakey/keyboard.json index 4bd463fa3d..8f04535032 100644 --- a/keyboards/makeymakey/keyboard.json +++ b/keyboards/makeymakey/keyboard.json @@ -12,6 +12,8 @@ "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": true, "nkro": true diff --git a/keyboards/makrosu/keyboard.json b/keyboards/makrosu/keyboard.json index e79a03f475..ec6b8a3bfd 100644 --- a/keyboards/makrosu/keyboard.json +++ b/keyboards/makrosu/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MakrOSU", "manufacturer": "Valdydesu_", + "url": "", "maintainer": "Valdydesu_", "usb": { "vid": "0xAB69", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/malevolti/lyra/rev1/keyboard.json b/keyboards/malevolti/lyra/rev1/keyboard.json index 6a4a993d76..cce0ad7bb7 100644 --- a/keyboards/malevolti/lyra/rev1/keyboard.json +++ b/keyboards/malevolti/lyra/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lyra", "manufacturer": "Dom", + "url": "", "maintainer": "malevolti", "usb": { "vid": "0x4443", diff --git a/keyboards/malevolti/superlyra/rev1/keyboard.json b/keyboards/malevolti/superlyra/rev1/keyboard.json index 52745a94f7..61ef7c605d 100644 --- a/keyboards/malevolti/superlyra/rev1/keyboard.json +++ b/keyboards/malevolti/superlyra/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SuperLyra", "manufacturer": "Dom", + "url": "", "maintainer": "malevolti", "usb": { "vid": "0x4443", @@ -15,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/manta60/keyboard.json b/keyboards/manta60/keyboard.json index 007f015379..d2f308e89c 100644 --- a/keyboards/manta60/keyboard.json +++ b/keyboards/manta60/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": false, "mousekey": true, "nkro": false, diff --git a/keyboards/manyboard/macro/keyboard.json b/keyboards/manyboard/macro/keyboard.json index d0c278b781..b40861414f 100644 --- a/keyboards/manyboard/macro/keyboard.json +++ b/keyboards/manyboard/macro/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/maple_computing/6ball/keyboard.json b/keyboards/maple_computing/6ball/keyboard.json index 335294e51e..3f125c75c4 100644 --- a/keyboards/maple_computing/6ball/keyboard.json +++ b/keyboards/maple_computing/6ball/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "6-Ball", "manufacturer": "That-Canadian", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xCEEB", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/maple_computing/c39/keyboard.json b/keyboards/maple_computing/c39/keyboard.json index f2f396ccd7..de4cbc6aeb 100755 --- a/keyboards/maple_computing/c39/keyboard.json +++ b/keyboards/maple_computing/c39/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "C39", "manufacturer": "Maple Computing", + "url": "", "maintainer": "Space Cat", "usb": { "vid": "0xCA17", diff --git a/keyboards/maple_computing/christmas_tree/rules.mk b/keyboards/maple_computing/christmas_tree/rules.mk new file mode 100644 index 0000000000..3a6633cf56 --- /dev/null +++ b/keyboards/maple_computing/christmas_tree/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = maple_computing/christmas_tree/v2017 diff --git a/keyboards/maple_computing/christmas_tree/v2017/keyboard.json b/keyboards/maple_computing/christmas_tree/v2017/keyboard.json index d2ebc781d6..604b1b382a 100644 --- a/keyboards/maple_computing/christmas_tree/v2017/keyboard.json +++ b/keyboards/maple_computing/christmas_tree/v2017/keyboard.json @@ -13,6 +13,7 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/maple_computing/ivy/rev1/keyboard.json b/keyboards/maple_computing/ivy/rev1/keyboard.json index e5bc6beae7..aac35a5dcc 100644 --- a/keyboards/maple_computing/ivy/rev1/keyboard.json +++ b/keyboards/maple_computing/ivy/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ivy", "manufacturer": "Maple Computing", + "url": "", "maintainer": "That-Canadian", "usb": { "vid": "0x1337", diff --git a/keyboards/maple_computing/ivy/rules.mk b/keyboards/maple_computing/ivy/rules.mk new file mode 100644 index 0000000000..2665d44abd --- /dev/null +++ b/keyboards/maple_computing/ivy/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = maple_computing/ivy/rev1 diff --git a/keyboards/maple_computing/jnao/keyboard.json b/keyboards/maple_computing/jnao/keyboard.json index 012d51f8f5..97b51a7680 100644 --- a/keyboards/maple_computing/jnao/keyboard.json +++ b/keyboards/maple_computing/jnao/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JNAO", "manufacturer": "Maple Computing", + "url": "", "maintainer": "That-Canadian", "usb": { "vid": "0x1337", diff --git a/keyboards/maple_computing/launchpad/rev1/keyboard.json b/keyboards/maple_computing/launchpad/rev1/keyboard.json index 272a2eef6d..8c75561179 100644 --- a/keyboards/maple_computing/launchpad/rev1/keyboard.json +++ b/keyboards/maple_computing/launchpad/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Launch Pad", "manufacturer": "Maple Computing", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x1337", diff --git a/keyboards/maple_computing/launchpad/rules.mk b/keyboards/maple_computing/launchpad/rules.mk new file mode 100644 index 0000000000..8c35a608a6 --- /dev/null +++ b/keyboards/maple_computing/launchpad/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = maple_computing/launchpad/rev1 diff --git a/keyboards/maple_computing/lets_split_eh/keyboard.json b/keyboards/maple_computing/lets_split_eh/keyboard.json index 90965090b1..42a1cf3e77 100644 --- a/keyboards/maple_computing/lets_split_eh/keyboard.json +++ b/keyboards/maple_computing/lets_split_eh/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lets Split Eh?", "manufacturer": "That-Canadian", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/maple_computing/minidox/rev1/keyboard.json b/keyboards/maple_computing/minidox/rev1/keyboard.json index 340a8bd39e..b64f26e834 100644 --- a/keyboards/maple_computing/minidox/rev1/keyboard.json +++ b/keyboards/maple_computing/minidox/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MiniDox", "manufacturer": "That-Canadian", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/maple_computing/minidox/rules.mk b/keyboards/maple_computing/minidox/rules.mk new file mode 100644 index 0000000000..d5a7f49e40 --- /dev/null +++ b/keyboards/maple_computing/minidox/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = maple_computing/minidox/rev1 diff --git a/keyboards/maple_computing/the_ruler/keyboard.json b/keyboards/maple_computing/the_ruler/keyboard.json index 3cca7e577a..7d15bb9bb8 100644 --- a/keyboards/maple_computing/the_ruler/keyboard.json +++ b/keyboards/maple_computing/the_ruler/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "The Ruler", "manufacturer": "Maple Computing", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x1337", @@ -29,6 +30,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/marcopad/keyboard.json b/keyboards/marcopad/keyboard.json index 50dc3c1ed0..c0a8ca37c0 100644 --- a/keyboards/marcopad/keyboard.json +++ b/keyboards/marcopad/keyboard.json @@ -34,7 +34,8 @@ "animation": "splash", "hue": 132, "sat": 102, - "speed": 80 + "speed": 80, + "val": 255 }, "driver": "ws2812", "layout": [ diff --git a/keyboards/mariorion_v25/prod/keyboard.json b/keyboards/mariorion_v25/prod/keyboard.json index 4ffccca63e..dd014be03a 100644 --- a/keyboards/mariorion_v25/prod/keyboard.json +++ b/keyboards/mariorion_v25/prod/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -42,6 +44,7 @@ "rows": ["B5", "B4", "B3", "A2", "C13", "B8"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0002", diff --git a/keyboards/mariorion_v25/proto/keyboard.json b/keyboards/mariorion_v25/proto/keyboard.json index 404b845c00..be00d447d2 100644 --- a/keyboards/mariorion_v25/proto/keyboard.json +++ b/keyboards/mariorion_v25/proto/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -42,6 +44,7 @@ "rows": ["B5", "B4", "B3", "A2", "C13", "B8"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/mariorion_v25/rules.mk b/keyboards/mariorion_v25/rules.mk new file mode 100644 index 0000000000..f0bfa47284 --- /dev/null +++ b/keyboards/mariorion_v25/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mariorion_v25/prod diff --git a/keyboards/marksard/leftover30/keyboard.json b/keyboards/marksard/leftover30/keyboard.json index 1b1131d6fc..ae2250a5f2 100644 --- a/keyboards/marksard/leftover30/keyboard.json +++ b/keyboards/marksard/leftover30/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/marksard/rhymestone/rules.mk b/keyboards/marksard/rhymestone/rules.mk new file mode 100644 index 0000000000..1833888708 --- /dev/null +++ b/keyboards/marksard/rhymestone/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = marksard/rhymestone/rev1 diff --git a/keyboards/marksard/treadstone32/info.json b/keyboards/marksard/treadstone32/info.json index 2de31ac08d..d93277472c 100644 --- a/keyboards/marksard/treadstone32/info.json +++ b/keyboards/marksard/treadstone32/info.json @@ -4,6 +4,8 @@ "maintainer": "marksard", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": true, "nkro": false diff --git a/keyboards/marksard/treadstone32/readme.md b/keyboards/marksard/treadstone32/readme.md index 4e3d544698..170c6bc761 100644 --- a/keyboards/marksard/treadstone32/readme.md +++ b/keyboards/marksard/treadstone32/readme.md @@ -4,7 +4,9 @@ A 32-key Symmetric staggered keyboard. -* Keyboard Maintainer: [marksard](https://github.com/marksard) +Keyboard Maintainer: [marksard](https://github.com/marksard) +Hardware Supported: The PCBs, controllers supported +Hardware Availability: links to where you can find this hardware Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/marksard/treadstone32/rules.mk b/keyboards/marksard/treadstone32/rules.mk new file mode 100644 index 0000000000..2d7ca16d86 --- /dev/null +++ b/keyboards/marksard/treadstone32/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = marksard/treadstone32/rev1 diff --git a/keyboards/marksard/treadstone48/readme.md b/keyboards/marksard/treadstone48/readme.md index 692891447c..c5f6f8f73f 100644 --- a/keyboards/marksard/treadstone48/readme.md +++ b/keyboards/marksard/treadstone48/readme.md @@ -4,7 +4,9 @@ A 47 (or 48) keys Symmetric Staggered keyboard. -* Keyboard Maintainer: [marksard](https://github.com/marksard) +Keyboard Maintainer: [marksard](https://github.com/marksard) +Hardware Supported: The PCBs, controllers supported +Hardware Availability: links to where you can find this hardware Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/marksard/treadstone48/rules.mk b/keyboards/marksard/treadstone48/rules.mk new file mode 100644 index 0000000000..23865d27e6 --- /dev/null +++ b/keyboards/marksard/treadstone48/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = marksard/treadstone48/rev1 diff --git a/keyboards/masterworks/classy_tkl/readme.md b/keyboards/masterworks/classy_tkl/readme.md index 1e5903483c..0557ed7f4c 100644 --- a/keyboards/masterworks/classy_tkl/readme.md +++ b/keyboards/masterworks/classy_tkl/readme.md @@ -2,6 +2,8 @@ ![Classy TKL](https://i.imgur.com/p1dxfYKl.jpg) +A short description of the keyboard/project + * Keyboard Maintainer: [Mathias Andersson](https://github.com/wraul) * Hardware Supported: [Classy TKL PCB](https://github.com/4pplet/classyTKL) * Hardware Availability: https://geekhack.org/index.php?topic=105933 diff --git a/keyboards/matchstickworks/normiepad/keyboard.json b/keyboards/matchstickworks/normiepad/keyboard.json index 4e6a8cdb13..3063b820aa 100644 --- a/keyboards/matchstickworks/normiepad/keyboard.json +++ b/keyboards/matchstickworks/normiepad/keyboard.json @@ -4,6 +4,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/matchstickworks/southpad/rev1/keyboard.json b/keyboards/matchstickworks/southpad/rev1/keyboard.json index e7c3237a55..15db9823b1 100644 --- a/keyboards/matchstickworks/southpad/rev1/keyboard.json +++ b/keyboards/matchstickworks/southpad/rev1/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/matchstickworks/southpad/rev2/keyboard.json b/keyboards/matchstickworks/southpad/rev2/keyboard.json index e546b66bb9..717b56ef63 100644 --- a/keyboards/matchstickworks/southpad/rev2/keyboard.json +++ b/keyboards/matchstickworks/southpad/rev2/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/matrix/abelx/keyboard.json b/keyboards/matrix/abelx/keyboard.json index 19f7d23b61..7fcad281da 100644 --- a/keyboards/matrix/abelx/keyboard.json +++ b/keyboards/matrix/abelx/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ABELX", "manufacturer": "Matrix", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D58", diff --git a/keyboards/matrix/cain_re/keyboard.json b/keyboards/matrix/cain_re/keyboard.json index 2217a001a3..7d93e806c2 100644 --- a/keyboards/matrix/cain_re/keyboard.json +++ b/keyboards/matrix/cain_re/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Cain", "manufacturer": "Matrix", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D58", @@ -36,6 +37,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/matrix/falcon/config.h b/keyboards/matrix/falcon/config.h index 66787658fd..9065dd0770 100644 --- a/keyboards/matrix/falcon/config.h +++ b/keyboards/matrix/falcon/config.h @@ -29,3 +29,4 @@ //pin setting #define LED_POWER_PIN D5 #define CHG_EN_PIN E6 +#define BATTERY_LEVEL_PIN F0 diff --git a/keyboards/matrix/falcon/keyboard.json b/keyboards/matrix/falcon/keyboard.json index 1a65d86974..0c387f5bc2 100644 --- a/keyboards/matrix/falcon/keyboard.json +++ b/keyboards/matrix/falcon/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Falcon", "manufacturer": "Matrix Lab", + "url": "", "maintainer": "yulei (Astro)", "usb": { "vid": "0x4D58", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/matrix/m12og/rev1/keyboard.json b/keyboards/matrix/m12og/rev1/keyboard.json index 7d1fccdad6..c956720a8d 100644 --- a/keyboards/matrix/m12og/rev1/keyboard.json +++ b/keyboards/matrix/m12og/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "m12og_v1", "manufacturer": "Matrix", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0x4D58", diff --git a/keyboards/matrix/m12og/rev2/keyboard.json b/keyboards/matrix/m12og/rev2/keyboard.json index 038aea0984..45fcffe9eb 100644 --- a/keyboards/matrix/m12og/rev2/keyboard.json +++ b/keyboards/matrix/m12og/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "M12OG", "manufacturer": "Matrix", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D58", @@ -36,6 +37,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/matrix/m20add/keyboard.json b/keyboards/matrix/m20add/keyboard.json index 31cc936b9c..fc58d242e6 100644 --- a/keyboards/matrix/m20add/keyboard.json +++ b/keyboards/matrix/m20add/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "8XV2.0 Additional", "manufacturer": "Matrix", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D58", diff --git a/keyboards/matrix/me/keyboard.json b/keyboards/matrix/me/keyboard.json index bd2ecde4a4..8349fbd7e6 100644 --- a/keyboards/matrix/me/keyboard.json +++ b/keyboards/matrix/me/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Matrix ME", "manufacturer": "Matrix Lab", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D58", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/matrix/noah/keyboard.json b/keyboards/matrix/noah/keyboard.json index d9d4ce3976..53c8dc2458 100644 --- a/keyboards/matrix/noah/keyboard.json +++ b/keyboards/matrix/noah/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NOAH", "manufacturer": "Matrix", + "url": "", "maintainer": "astro", "usb": { "vid": "0x4D58", diff --git a/keyboards/matthewdias/m3n3van/keyboard.json b/keyboards/matthewdias/m3n3van/keyboard.json index c5b26b3e9d..3fdfb7f61d 100644 --- a/keyboards/matthewdias/m3n3van/keyboard.json +++ b/keyboards/matthewdias/m3n3van/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/matthewdias/minim/keyboard.json b/keyboards/matthewdias/minim/keyboard.json index 8735545ba7..b9ff70ca40 100644 --- a/keyboards/matthewdias/minim/keyboard.json +++ b/keyboards/matthewdias/minim/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/matthewdias/model_v/keyboard.json b/keyboards/matthewdias/model_v/keyboard.json index 5bcda4e887..00d4c4c0eb 100644 --- a/keyboards/matthewdias/model_v/keyboard.json +++ b/keyboards/matthewdias/model_v/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/matthewdias/txuu/keyboard.json b/keyboards/matthewdias/txuu/keyboard.json index 035eca2490..b4c1597e5f 100644 --- a/keyboards/matthewdias/txuu/keyboard.json +++ b/keyboards/matthewdias/txuu/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/maxipad/info.json b/keyboards/maxipad/info.json index b058bf15d0..bf054e4b83 100644 --- a/keyboards/maxipad/info.json +++ b/keyboards/maxipad/info.json @@ -1,9 +1,12 @@ { "keyboard_name": "maxipad", "manufacturer": "wootpatoot", + "url": "", "maintainer": "qmk", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/maxipad/rules.mk b/keyboards/maxipad/rules.mk new file mode 100644 index 0000000000..98a712a7b8 --- /dev/null +++ b/keyboards/maxipad/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = maxipad/promicro diff --git a/keyboards/maxr1998/phoebe/keyboard.json b/keyboards/maxr1998/phoebe/keyboard.json index d678e3b74e..86407414fa 100644 --- a/keyboards/maxr1998/phoebe/keyboard.json +++ b/keyboards/maxr1998/phoebe/keyboard.json @@ -9,10 +9,10 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, - "key_lock": true, - "mousekey": true, "nkro": true, - "rgblight": true + "rgblight": true, + "key_lock": true, + "leader": true }, "qmk": { "locking": { diff --git a/keyboards/maxr1998/phoebe/keymaps/default/config.h b/keyboards/maxr1998/phoebe/keymaps/default/config.h index b8f6676468..593ac440c1 100644 --- a/keyboards/maxr1998/phoebe/keymaps/default/config.h +++ b/keyboards/maxr1998/phoebe/keymaps/default/config.h @@ -1,18 +1,3 @@ -/* Copyright 2019 Max Rumpf (@Maxr1998) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ #pragma once #define RSPC_KEYS KC_RSFT, KC_RALT, KC_7 diff --git a/keyboards/maxr1998/phoebe/keymaps/default/keymap.c b/keyboards/maxr1998/phoebe/keymaps/default/keymap.c index de5fe3a67c..8b4f31644c 100644 --- a/keyboards/maxr1998/phoebe/keymaps/default/keymap.c +++ b/keyboards/maxr1998/phoebe/keymaps/default/keymap.c @@ -1,18 +1,3 @@ -/* Copyright 2019 Max Rumpf (@Maxr1998) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ #include QMK_KEYBOARD_H #include "keymap_german.h" @@ -50,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, SC_RSPC, - KC_LCTL, KC_LGUI, KC_LALT, KC_BTN1, KC_SC, KC_SPC, KC_ALGR, KC_FN, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, QK_LEAD, KC_SC, KC_SPC, KC_ALGR, KC_FN, KC_LEFT, KC_DOWN, KC_RGHT ), /* Special characters @@ -92,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, DE_UDIA, KC_F9, DE_ODIA, KC_PSCR, KC_DEL, QK_LOCK, DE_ADIA, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_SW,RGB_M_SN,_______, _______, _______, _______, _______, _______, _______, _______, _______, UG_HUED, UG_TOGG, UG_HUEU, KC_PGUP, _______, - XXXXXXX, _______, XXXXXXX, KC_BTN2, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END + XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END ), /* Gaming @@ -143,4 +128,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; } return true; +}; + +void leader_end_user(void) { + if (leader_sequence_two_keys(KC_G, KC_P)) { + SEND_STRING("git push"); + } + if (leader_sequence_three_keys(KC_G, KC_F, KC_P)) { + SEND_STRING("git push --force-with-lease"); + } } diff --git a/keyboards/maxr1998/phoebe/phoebe.c b/keyboards/maxr1998/phoebe/phoebe.c index 0451f9177e..b05f9b3235 100644 --- a/keyboards/maxr1998/phoebe/phoebe.c +++ b/keyboards/maxr1998/phoebe/phoebe.c @@ -1,18 +1,3 @@ -/* Copyright 2019 Max Rumpf (@Maxr1998) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ #include "quantum.h" const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {50, 50, 50}; diff --git a/keyboards/maxr1998/pulse4k/keyboard.json b/keyboards/maxr1998/pulse4k/keyboard.json index a2bdcb5068..22d1d67a51 100644 --- a/keyboards/maxr1998/pulse4k/keyboard.json +++ b/keyboards/maxr1998/pulse4k/keyboard.json @@ -28,6 +28,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/mazestudio/jocker/keyboard.json b/keyboards/mazestudio/jocker/keyboard.json index 55e0a7de66..7257866f21 100644 --- a/keyboards/mazestudio/jocker/keyboard.json +++ b/keyboards/mazestudio/jocker/keyboard.json @@ -4,6 +4,7 @@ "maintainer": "mazestd", "bootloader": "atmel-dfu", "processor": "atmega32u4", + "url": "", "usb": { "vid": "0x70F5", "pid": "0x4A01", @@ -11,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/mb44/keyboard.json b/keyboards/mb44/keyboard.json index 5c2eeb6666..c349d11d38 100644 --- a/keyboards/mb44/keyboard.json +++ b/keyboards/mb44/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MB-44", "manufacturer": "melonbred", + "url": "", "maintainer": "melonbred", "usb": { "vid": "0x6D62", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/mb44/readme.md b/keyboards/mb44/readme.md index 3029c69f9e..3cd59ecdb1 100644 --- a/keyboards/mb44/readme.md +++ b/keyboards/mb44/readme.md @@ -5,6 +5,8 @@ To reset and put into bootloader mode, please use the hardware reset button on the botton of the PCB. If the PCB is on the default firmware, software reset is available by holding the bottom left corner key and pressing `B` in the standard qwerty layout. * Keyboard Maintainer: [melonbred](https://github.com/melonbred) +* Hardware Supported: The PCBs, controllers supported +* Hardware Availability: Links to where you can find this hardware Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/mc_76k/keyboard.json b/keyboards/mc_76k/keyboard.json index d277ec95d5..18aef48d01 100644 --- a/keyboards/mc_76k/keyboard.json +++ b/keyboards/mc_76k/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/mechanickeys/miniashen40/keyboard.json b/keyboards/mechanickeys/miniashen40/keyboard.json index 36eb0a4300..2adee31c1d 100644 --- a/keyboards/mechanickeys/miniashen40/keyboard.json +++ b/keyboards/mechanickeys/miniashen40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mini Ashen 40", "manufacturer": "MechanicKeys", + "url": "", "maintainer": "jfescobar18", "usb": { "vid": "0x4D4B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/mechanickeys/undead60m/keyboard.json b/keyboards/mechanickeys/undead60m/keyboard.json index 5b5f5ca167..7dc27c29ed 100644 --- a/keyboards/mechanickeys/undead60m/keyboard.json +++ b/keyboards/mechanickeys/undead60m/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Undead 60-M", "manufacturer": "MechanicKeys", + "url": "", "maintainer": "jfescobar18", "usb": { "vid": "0x4D4B", @@ -31,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mechboards/common/display_oled.c b/keyboards/mechboards/common/display_oled.c deleted file mode 100644 index fed13c22fd..0000000000 --- a/keyboards/mechboards/common/display_oled.c +++ /dev/null @@ -1,385 +0,0 @@ -// Copyright 2025 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -static uint16_t current_keycode = 0xFF; - -static const char *depad_str(const char *depad_str, char depad_char) { - while (*depad_str == depad_char) - ++depad_str; - return depad_str; -} - -static void render_spacer(uint8_t char_length) { - static const char PROGMEM spacer_char[] = {8, 8, 8, 8, 8, 8, 8}; - if (char_length > 5) { - char_length = 5; - } - for (uint8_t i = 0; i < char_length; i++) { - oled_write_raw_P(spacer_char, sizeof(spacer_char)); - oled_advance_char(); - } -} - -__attribute__((weak)) void render_logo(void) { - static const char PROGMEM mb_logo[] = { - 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 31, 31, 31, 31, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 227, 227, 227, 3, 227, 227, 227, 3, 227, 227, 227, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 254, 252, 255, 255, 255, 255, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 255, 255, 4, 4, 4, 4, 4, 255, - 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 224, 224, 0, 238, 238, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 65, 65, 65, 65, 65, 255, 127, 127, 127, 127, 127, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 63, 127, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 255, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 255, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 240, 240, 240, 240, 240, 255, 240, 240, 240, 240, 240, 255, 240, 240, 240, 240, 240, 255, 255, 255, 255, 255, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 199, 199, 199, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 224, 127, 63, - }; - oled_write_raw_P(mb_logo, sizeof(mb_logo)); -} - -void render_small_mb_logo(void) { - static const char PROGMEM small_mb_logo[] = { - 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 0, 119, 119, 119, 0, 112, 112, 112, 0, 112, 112, 112, 119, 119, 119, 0, 0, 0, 0, 0, 119, 119, 119, 0, 0, 0, 0, 0, 119, 119, 119, 0, 0, 119, 119, 119, 0, 112, 112, 112, 0, 119, 119, 119, - }; - oled_write_raw_P(small_mb_logo, sizeof(small_mb_logo)); -} - -static uint8_t last_hue; -static uint8_t last_sat; -static uint8_t last_val; -static uint8_t last_mode; - -void render_rgb_info(void) { - last_hue = rgb_matrix_get_hue(); - last_sat = rgb_matrix_get_sat(); - last_val = rgb_matrix_get_val(); - last_mode = rgb_matrix_get_mode(); - oled_set_cursor(0, 6); - oled_write("H:", false); - oled_write(depad_str(get_u16_str(last_hue, ' '), ' '), false); - oled_set_cursor(0, 7); - oled_write("S:", false); - oled_write_ln(depad_str(get_u16_str(last_sat, ' '), ' '), false); - oled_set_cursor(0, 8); - oled_write("V:", false); - oled_write_ln(depad_str(get_u16_str(last_val, ' '), ' '), false); - oled_set_cursor(0, 9); - oled_write("M:", false); - oled_write_ln(depad_str(get_u16_str(last_mode, ' '), ' '), false); -} - -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } - return rotation; -} - -char basic_codes_to_name[57] = {' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', '#', ';', '\'', '`', ',', '.', '/'}; - -const char *keycode_string(uint16_t keycode) { - char *keycode_str; - static char key; - switch (keycode) { - case 0 ... 56: - key = pgm_read_byte(&basic_codes_to_name[keycode]); - return &key; - case KC_CAPS: - keycode_str = "Caps\0"; - break; - case KC_SCRL: - keycode_str = "Scrl\0"; - break; - case KC_PAUS: - keycode_str = "Pause\0"; - break; - case KC_DEL: - keycode_str = "Del\0"; - break; - case KC_NUM: - keycode_str = "Num\0"; - break; - case KC_MUTE: - keycode_str = "Mute\0"; - break; - case KC_VOLU: - keycode_str = "VolUp\0"; - break; - case KC_VOLD: - keycode_str = "VolD\0"; - break; - case KC_MNXT: - keycode_str = "Next\0"; - break; - case KC_MPRV: - keycode_str = "Prev\0"; - break; - case KC_MSTP: - keycode_str = "Stop\0"; - break; - case KC_MPLY: - keycode_str = "Play\0"; - break; - case QK_MODS ... QK_MODS_MAX: - keycode_str = "MOD()\0"; - break; - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - keycode_str = "MT()\0"; - break; - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: - keycode_str = "LT()\0"; - break; - case QK_LAYER_MOD ... QK_LAYER_MOD_MAX: - keycode_str = "LM()\0"; - break; - case QK_TO ... QK_TO_MAX: - keycode_str = "TO()\0"; - break; - case QK_MOMENTARY ... QK_MOMENTARY_MAX: - keycode_str = "MO()\0"; - break; - case QK_DEF_LAYER ... QK_DEF_LAYER_MAX: - keycode_str = "DF()\0"; - break; - case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: - keycode_str = "TG()\0"; - break; - case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_MOD_MAX: - keycode_str = "1SHOT\0"; - break; - case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: - keycode_str = "TT()\0"; - break; - case QK_PERSISTENT_DEF_LAYER ... QK_PERSISTENT_DEF_LAYER_MAX: - keycode_str = "PDF()\0"; - break; - case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: - keycode_str = "SWAP\0"; - break; - case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: - keycode_str = "TD()\0"; - break; - case QK_MAGIC ... QK_MAGIC_MAX: - keycode_str = "Magic\0"; - break; - case QK_MIDI ... QK_MIDI_MAX: - keycode_str = "Midi\0"; - break; - case QK_SEQUENCER ... QK_SEQUENCER_MAX: - keycode_str = "Seq\0"; - break; - case QK_JOYSTICK ... QK_JOYSTICK_MAX: - keycode_str = "Joy\0"; - break; - case QK_PROGRAMMABLE_BUTTON ... QK_PROGRAMMABLE_BUTTON_MAX: - keycode_str = "Prog\0"; - break; - case QK_AUDIO ... QK_AUDIO_MAX: - keycode_str = "Audio\0"; - break; - case QK_STENO ... QK_STENO_MAX: - keycode_str = "Steno\0"; - break; - case QK_MACRO ... QK_MACRO_MAX: - keycode_str = "Macro\0"; - break; - case QK_CONNECTION ... QK_CONNECTION_MAX: - keycode_str = "Conn\0"; - break; - case QK_LIGHTING ... QK_LIGHTING_MAX: - keycode_str = "Light\0"; - break; - case QK_QUANTUM ... QK_QUANTUM_MAX: - keycode_str = "Quant\0"; - break; - case QK_KB ... QK_KB_MAX: - keycode_str = "KB\0"; - break; - case QK_USER ... QK_USER_MAX: - keycode_str = "USER\0"; - break; - case QK_UNICODEMAP ... QK_UNICODEMAP_PAIR_MAX: - keycode_str = "Uni\0"; - break; - default: - keycode_str = "Undef\0"; - break; - } - - return keycode_str; -} - -const char *layer_string(uint32_t layer) { - char *layer_str; - switch (layer) { - case 0: - layer_str = "Zero\0"; - break; - case 1: - layer_str = "One\0"; - break; - case 2: - layer_str = "Two\0"; - break; - case 3: - layer_str = "Three\0"; - break; - case 4: - layer_str = "Four\0"; - break; - case 5: - layer_str = "Five\0"; - break; - case 6: - layer_str = "Six\0"; - break; - case 7: - layer_str = "Seven\0"; - break; - default: - return get_u16_str(layer, ' '); - } - - return layer_str; -} - -bool process_detected_host_os_kb(os_variant_t detected_os) { - if (!process_detected_host_os_user(detected_os)) { - return false; - } - - oled_set_cursor(0, 10); - switch (detected_os) { - case OS_MACOS: - oled_write_ln("MacOS", false); - case OS_IOS: - oled_write_ln("Apple", false); - break; - case OS_WINDOWS: - oled_write_ln("Win", false); - break; - case OS_LINUX: - oled_write_ln("Linux", false); - break; - case OS_UNSURE: - oled_write_ln("Unkno", false); - - break; - } - - return true; -} - -void keyboard_post_init_kb(void) { - if (!is_keyboard_master()) { - render_logo(); - } else { - oled_set_cursor(0, 0); - oled_write("Layer", false); - render_spacer(5); - oled_write_ln(layer_string(get_highest_layer(layer_state)), false); - - oled_set_cursor(0, 4); - oled_write_ln("Key", false); - render_spacer(3); - oled_advance_page(false); - oled_write_ln("None", false); - - oled_set_cursor(0, 8); - oled_write_ln("OS", false); - render_spacer(2); - oled_advance_page(false); - oled_write_ln("Wait", false); - - oled_set_cursor(0, 12); - oled_write_ln("Rate", false); - render_spacer(4); - } - keyboard_post_init_user(); -} - -layer_state_t layer_state_set_kb(layer_state_t state) { - state = layer_state_set_user(state); - oled_set_cursor(0, 2); - oled_write_ln(layer_string(get_highest_layer(state)), false); - return state; -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - current_keycode = keycode; - return process_record_user(keycode, record); -}; - -uint16_t loop_rate = 0; -void housekeeping_task_kb(void) { - if (is_keyboard_master()) { - static uint32_t loop_count = 0; - static fast_timer_t loop_time = 0; - loop_count++; - if (timer_elapsed_fast(loop_time) > 1000) { - loop_time = timer_read_fast(); - loop_rate = loop_count > UINT16_MAX ? UINT16_MAX : loop_count; - loop_count = 0; - if (is_oled_on()) { - oled_set_cursor(0, 14); - oled_write(depad_str(get_u16_str(loop_rate, ' '), ' '), false); - } - } - } - if (is_oled_on() && last_input_activity_elapsed() > OLED_TIMEOUT) { - oled_off(); - } -} - -void oled_reinit_slave(void) { - oled_init(OLED_ROTATION_270); - oled_clear(); - oled_set_cursor(0, 0); - oled_write_ln("WPM", false); - render_spacer(3); - oled_advance_page(false); - oled_write_ln(depad_str(get_u16_str(get_current_wpm(), ' '), ' '), false); - - oled_set_cursor(0, 4); - oled_write_ln("RGB", false); - render_spacer(3); - render_rgb_info(); - - oled_set_cursor(0, 13); - render_small_mb_logo(); -} - -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - - static uint16_t last_keycode = 0xFF; - static bool oled_slave_init_done = false; - - if (is_keyboard_master()) { - if (last_keycode != current_keycode) { - oled_set_cursor(0, 6); - if (current_keycode < ARRAY_SIZE(basic_codes_to_name)) { - oled_write_char(basic_codes_to_name[current_keycode], false); - oled_advance_page(true); - } else { - oled_write_ln(keycode_string(current_keycode), false); - } - last_keycode = current_keycode; - } - } else { - if (!oled_slave_init_done) { - if (timer_elapsed32(0) > 5000) { - oled_slave_init_done = true; - oled_reinit_slave(); - } - } else { - static uint16_t last_wpm = 0; - if (rgb_matrix_get_hue() != last_hue || rgb_matrix_get_sat() != last_sat || rgb_matrix_get_val() != last_val || rgb_matrix_get_mode() != last_mode) { - render_rgb_info(); - } - if (last_wpm != get_current_wpm()) { - last_wpm = get_current_wpm(); - oled_set_cursor(0, 2); - oled_write_ln(depad_str(get_u16_str(last_wpm, ' '), ' '), false); - } - } - } - - return false; -} diff --git a/keyboards/mechboards/common/post_rules.mk b/keyboards/mechboards/common/post_rules.mk deleted file mode 100644 index 69bbbab9d0..0000000000 --- a/keyboards/mechboards/common/post_rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(strip $(OLED_ENABLE)), yes) - SRC += keyboards/mechboards/common/display_oled.c -endif diff --git a/keyboards/mechboards/common/rgb_effects.h b/keyboards/mechboards/common/rgb_effects.h deleted file mode 100644 index 8763d2a007..0000000000 --- a/keyboards/mechboards/common/rgb_effects.h +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2025 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#ifdef CONVERTER_ENABLED -# define ENABLE_RGB_MATRIX_ALPHA_MODS -# define ENABLE_RGB_MATRIX_BREATHING -# define ENABLE_RGB_MATRIX_COLORBAND_PINWHEEL_SAT -# define ENABLE_RGB_MATRIX_COLORBAND_PINWHEEL_VAL -# define ENABLE_RGB_MATRIX_COLORBAND_SAT -# define ENABLE_RGB_MATRIX_COLORBAND_SPIRIAL_SAT -# define ENABLE_RGB_MATRIX_COLORBAND_SPIRIAL_VAL -# define ENABLE_RGB_MATRIX_COLORBAND_VAL -# define ENABLE_RGB_MATRIX_CYCLE_ALL -# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# define ENABLE_RGB_MATRIX_DUAL_BEACON -# define ENABLE_RGB_MATRIX_FLOWER_BLOOMING -# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# define ENABLE_RGB_MATRIX_HUE_BREATHING -# define ENABLE_RGB_MATRIX_HUE_PENDULUM -# define ENABLE_RGB_MATRIX_HUE_WAVE -# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# define ENABLE_RGB_MATRIX_PIXEL_FLOW -# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -# define ENABLE_RGB_MATRIX_PIXEL_RAIN -# define ENABLE_RGB_MATRIX_RAINBOW_BEACON -# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# define ENABLE_RGB_MATRIX_RAINDROPS -# define ENABLE_RGB_MATRIX_RIVERFLOW -# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# define ENABLE_RGB_MATRIX_SOLID_SPLASH -# define ENABLE_RGB_MATRIX_SPLASH -# define ENABLE_RGB_MATRIX_STARLIGHT -# define ENABLE_RGB_MATRIX_STARLIGHT_DUAL_HUE -# define ENABLE_RGB_MATRIX_STARLIGHT_DUAL_SAT -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#endif diff --git a/keyboards/mechboards/crkbd/pro/config.h b/keyboards/mechboards/crkbd/pro/config.h deleted file mode 100644 index 43a4b3eb9f..0000000000 --- a/keyboards/mechboards/crkbd/pro/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "keyboards/mechboards/common/rgb_effects.h" diff --git a/keyboards/mechboards/crkbd/pro/keyboard.json b/keyboards/mechboards/crkbd/pro/keyboard.json deleted file mode 100644 index 69a04760de..0000000000 --- a/keyboards/mechboards/crkbd/pro/keyboard.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "manufacturer": "Mechboards", - "keyboard_name": "CRKBD Pro", - "maintainer": "dasky", - "build": { - "lto": true - }, - "development_board": "promicro", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "B6", "pin_b": "B2"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "oled": true, - "os_detection": true, - "rgb_matrix": true, - "wpm": true - }, - "matrix_pins": { - "cols": ["F4", "F5", "F6", "F7", "B1", "B3"], - "rows": ["D4", "C6", "D7", "E6"] - }, - "rgb_matrix": { - "animations": { - "cycle_left_right": true - }, - "driver": "ws2812", - "layout": [ - {"x": 85, "y": 16, "flags": 2}, - {"x": 50, "y": 13, "flags": 2}, - {"x": 16, "y": 20, "flags": 2}, - {"x": 16, "y": 38, "flags": 2}, - {"x": 50, "y": 48, "flags": 2}, - {"x": 85, "y": 52, "flags": 2}, - {"matrix": [3, 5], "x": 95, "y": 63, "flags": 1}, - {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4}, - {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4}, - {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4}, - {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4}, - {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4}, - {"matrix": [3, 4], "x": 80, "y": 58, "flags": 1}, - {"matrix": [3, 3], "x": 60, "y": 55, "flags": 1}, - {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4}, - {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4}, - {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4}, - {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4}, - {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 7, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 24, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 41, "flags": 1}, - {"x": 139, "y": 16, "flags": 2}, - {"x": 174, "y": 13, "flags": 2}, - {"x": 208, "y": 20, "flags": 2}, - {"x": 208, "y": 38, "flags": 2}, - {"x": 174, "y": 48, "flags": 2}, - {"x": 139, "y": 52, "flags": 2}, - {"matrix": [7, 5], "x": 129, "y": 63, "flags": 1}, - {"matrix": [6, 5], "x": 139, "y": 39, "flags": 4}, - {"matrix": [5, 5], "x": 139, "y": 21, "flags": 4}, - {"matrix": [4, 5], "x": 139, "y": 4, "flags": 4}, - {"matrix": [4, 4], "x": 156, "y": 2, "flags": 4}, - {"matrix": [5, 4], "x": 156, "y": 19, "flags": 4}, - {"matrix": [6, 4], "x": 156, "y": 37, "flags": 4}, - {"matrix": [7, 4], "x": 144, "y": 58, "flags": 1}, - {"matrix": [7, 3], "x": 164, "y": 55, "flags": 1}, - {"matrix": [6, 3], "x": 174, "y": 35, "flags": 4}, - {"matrix": [5, 3], "x": 174, "y": 13, "flags": 4}, - {"matrix": [4, 3], "x": 174, "y": 0, "flags": 4}, - {"matrix": [4, 2], "x": 191, "y": 3, "flags": 4}, - {"matrix": [5, 2], "x": 191, "y": 20, "flags": 4}, - {"matrix": [6, 2], "x": 191, "y": 37, "flags": 4}, - {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4}, - {"matrix": [5, 1], "x": 208, "y": 24, "flags": 4}, - {"matrix": [4, 1], "x": 208, "y": 7, "flags": 4}, - {"matrix": [4, 0], "x": 224, "y": 7, "flags": 1}, - {"matrix": [5, 0], "x": 224, "y": 24, "flags": 1}, - {"matrix": [6, 0], "x": 224, "y": 41, "flags": 1} - ], - "max_brightness": 120, - "split_count": [27, 27] - }, - "rgblight": { - "led_count": 54, - "max_brightness": 120, - "split_count": [27, 27] - }, - "split": { - "enabled": true, - "serial": { - "pin": "D2" - }, - "transport": { - "sync": { - "matrix_state": true, - "oled": true, - "wpm": true - } - } - }, - "url": "mechboards.co.uk", - "usb": { - "device_version": "1.0.0", - "pid": "0x0003", - "vid": "0x7171" - }, - "ws2812": { - "pin": "D3" - }, - "layouts": { - "LAYOUT_split_3x6_3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.25}, - {"matrix": [0, 1], "x": 1, "y": 0.25}, - {"matrix": [0, 2], "x": 2, "y": 0.125}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.125}, - {"matrix": [0, 5], "x": 5, "y": 0.25}, - {"matrix": [4, 5], "x": 8, "y": 0.25}, - {"matrix": [4, 4], "x": 9, "y": 0.125}, - {"matrix": [4, 3], "x": 10, "y": 0}, - {"matrix": [4, 2], "x": 11, "y": 0.125}, - {"matrix": [4, 1], "x": 12, "y": 0.25}, - {"matrix": [4, 0], "x": 13, "y": 0.25}, - {"matrix": [1, 0], "x": 0, "y": 1.25}, - {"matrix": [1, 1], "x": 1, "y": 1.25}, - {"matrix": [1, 2], "x": 2, "y": 1.125}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1.125}, - {"matrix": [1, 5], "x": 5, "y": 1.25}, - {"matrix": [5, 5], "x": 8, "y": 1.25}, - {"matrix": [5, 4], "x": 9, "y": 1.125}, - {"matrix": [5, 3], "x": 10, "y": 1}, - {"matrix": [5, 2], "x": 11, "y": 1.125}, - {"matrix": [5, 1], "x": 12, "y": 1.25}, - {"matrix": [5, 0], "x": 13, "y": 1.25}, - {"matrix": [2, 0], "x": 0, "y": 2.25}, - {"matrix": [2, 1], "x": 1, "y": 2.25}, - {"matrix": [2, 2], "x": 2, "y": 2.125}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2.125}, - {"matrix": [2, 5], "x": 5, "y": 2.25}, - {"matrix": [6, 5], "x": 8, "y": 2.25}, - {"matrix": [6, 4], "x": 9, "y": 2.125}, - {"matrix": [6, 3], "x": 10, "y": 2}, - {"matrix": [6, 2], "x": 11, "y": 2.125}, - {"matrix": [6, 1], "x": 12, "y": 2.25}, - {"matrix": [6, 0], "x": 13, "y": 2.25}, - {"matrix": [3, 3], "x": 3.5, "y": 3.25}, - {"matrix": [3, 4], "x": 4.5, "y": 3.5}, - {"matrix": [3, 5], "x": 5.5, "y": 3.75}, - {"matrix": [7, 5], "x": 7.5, "y": 3.75}, - {"matrix": [7, 4], "x": 8.5, "y": 3.5}, - {"matrix": [7, 3], "x": 9.5, "y": 3.25} - ] - } - } -} diff --git a/keyboards/mechboards/crkbd/pro/keymaps/default/keymap.c b/keyboards/mechboards/crkbd/pro/keymaps/default/keymap.c deleted file mode 100644 index 2e70e3091e..0000000000 --- a/keyboards/mechboards/crkbd/pro/keymaps/default/keymap.c +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2025 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_split_3x6_3( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, - KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_RALT - -), - - [1] = LAYOUT_split_3x6_3( - KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LGUI, _______, KC_SPC, KC_ENT, MO(3), KC_RALT -), - - [2] = LAYOUT_split_3x6_3( - KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, - KC_LGUI, MO(3), KC_SPC, KC_ENT, _______, KC_RALT -), - - [3] = LAYOUT_split_3x6_3( - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RM_NEXT, RM_HUED, RM_SATD, RM_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT -) -}; - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { -[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT)}, -[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, -[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, -[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS)} -}; -#endif - -// clang-format on diff --git a/keyboards/mechboards/crkbd/pro/keymaps/default/rules.mk b/keyboards/mechboards/crkbd/pro/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/mechboards/crkbd/pro/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/mechboards/crkbd/pro/post_rules.mk b/keyboards/mechboards/crkbd/pro/post_rules.mk deleted file mode 100644 index 4bfdc8ca89..0000000000 --- a/keyboards/mechboards/crkbd/pro/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -include keyboards/mechboards/common/post_rules.mk diff --git a/keyboards/mechboards/crkbd/pro/pro.c b/keyboards/mechboards/crkbd/pro/pro.c deleted file mode 100644 index 05c41d3612..0000000000 --- a/keyboards/mechboards/crkbd/pro/pro.c +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2025 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef OLED_ENABLE -void render_logo(void) { - static const char PROGMEM pro_logo[] = { - 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 31, 31, 31, 31, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 0, 0, 0, 248, 248, 24, 24, 24, 24, 24, 24, 0, 0, 248, 248, 24, 24, 24, 24, 248, 240, 0, 0, 248, 248, 0, 0, 0, 128, 248, 248, 0, 0, 248, 248, 24, 24, 24, 24, 248, 240, 0, 0, 248, 248, 24, 24, 24, 24, 248, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 255, 255, 4, 4, 4, 4, 4, 255, - 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 6, 6, 6, 6, 255, 251, 0, 0, 255, 255, 6, 6, 15, 31, 249, 240, 0, 0, 255, 255, 6, 6, 6, 6, 255, 251, 0, 0, 255, 255, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 65, 65, 65, 65, 65, 255, 127, 127, 127, 127, 127, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 0, 0, 0, 0, 3, 3, 0, 0, 3, 3, 0, 0, - 0, 0, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 3, 1, 0, 0, 3, 3, 3, 3, 3, 3, 227, 241, 48, 176, 176, 112, 240, 48, 176, 176, 112, 240, 112, 176, 176, 112, 240, 224, 0, 0, 63, 127, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 255, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 255, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 240, 240, 240, 240, 240, 255, 240, 240, 240, 240, 240, 255, 240, 240, 240, 240, 240, 255, 255, 255, 127, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 63, 48, 61, 61, 62, 63, 48, 61, 61, 50, 63, 56, 55, 55, 56, 63, 31, 0, 0, - }; - oled_write_raw_P(pro_logo, sizeof(pro_logo)); -} -#endif diff --git a/keyboards/mechboards/crkbd/pro/readme.md b/keyboards/mechboards/crkbd/pro/readme.md deleted file mode 100644 index 52fc199d5c..0000000000 --- a/keyboards/mechboards/crkbd/pro/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# CRKBD Pro - -A refreshed CRKBD (Corne) PCB with RGB, battery, power switch and encoder support. - -* Keyboard Maintainer: [dasky](https://github.com/daskygit) -* Hardware Supported: Controllers using promicro footprint. -* Hardware Availability: https://mechboards.co.uk - -Make example for this keyboard (after setting up your build environment): - - qmk compile -kb mechboards/crkbd/pro -km default - -Flashing example for this keyboard: - - qmk flash -kb mechboards/crkbd/pro -km default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top left key/encoder or the top right key/encoder depending on which side you're connecting to usb. -* **Physical reset button**: Double press the button below the TRRS socket. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/mechboards/lily58/pro/config.h b/keyboards/mechboards/lily58/pro/config.h deleted file mode 100644 index 43a4b3eb9f..0000000000 --- a/keyboards/mechboards/lily58/pro/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "keyboards/mechboards/common/rgb_effects.h" diff --git a/keyboards/mechboards/lily58/pro/keyboard.json b/keyboards/mechboards/lily58/pro/keyboard.json deleted file mode 100644 index ca620c67d8..0000000000 --- a/keyboards/mechboards/lily58/pro/keyboard.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "manufacturer": "Mechboards", - "keyboard_name": "Lily58 Pro", - "maintainer": "dasky", - "build": { - "lto": true - }, - "development_board": "promicro", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "F5", "pin_b": "F4"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "oled": true, - "os_detection": true, - "rgb_matrix": true, - "wpm": true - }, - "matrix_pins": { - "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], - "rows": ["C6", "D7", "E6", "B4", "B5"] - }, - "rgb_matrix": { - "animations": { - "cycle_left_right": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 5], "x": 72, "y": 4, "flags": 4}, - {"matrix": [0, 4], "x": 58, "y": 2, "flags": 4}, - {"matrix": [0, 3], "x": 43, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 2, "flags": 4}, - {"matrix": [0, 1], "x": 14, "y": 6, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 8, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 23, "flags": 4}, - {"matrix": [1, 1], "x": 14, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 17, "flags": 4}, - {"matrix": [1, 3], "x": 43, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 58, "y": 17, "flags": 4}, - {"matrix": [1, 5], "x": 72, "y": 19, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 34, "flags": 4}, - {"matrix": [2, 4], "x": 58, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 43, "y": 30, "flags": 4}, - {"matrix": [2, 2], "x": 29, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 14, "y": 36, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 38, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 53, "flags": 4}, - {"matrix": [3, 1], "x": 14, "y": 51, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 47, "flags": 4}, - {"matrix": [3, 3], "x": 43, "y": 45, "flags": 4}, - {"matrix": [3, 4], "x": 58, "y": 47, "flags": 4}, - {"matrix": [3, 5], "x": 72, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 87, "y": 41, "flags": 4}, - {"matrix": [4, 4], "x": 87, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 65, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 51, "y": 62, "flags": 4}, - {"matrix": [4, 1], "x": 36, "y": 62, "flags": 4}, - {"x": 96, "y": 64, "flags": 2}, - {"x": 32, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 0, "y": 32, "flags": 2}, - {"x": 16, "y": 0, "flags": 2}, - {"x": 50, "y": 0, "flags": 2}, - {"x": 80, "y": 0, "flags": 2}, - {"x": 96, "y": 32, "flags": 2}, - {"matrix": [5, 5], "x": 152, "y": 4, "flags": 4}, - {"matrix": [5, 4], "x": 166, "y": 2, "flags": 4}, - {"matrix": [5, 3], "x": 181, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 195, "y": 2, "flags": 4}, - {"matrix": [5, 1], "x": 210, "y": 6, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 8, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 23, "flags": 4}, - {"matrix": [6, 1], "x": 210, "y": 21, "flags": 4}, - {"matrix": [6, 2], "x": 195, "y": 17, "flags": 4}, - {"matrix": [6, 3], "x": 181, "y": 15, "flags": 4}, - {"matrix": [6, 4], "x": 166, "y": 17, "flags": 4}, - {"matrix": [6, 5], "x": 152, "y": 19, "flags": 4}, - {"matrix": [7, 5], "x": 152, "y": 34, "flags": 4}, - {"matrix": [7, 4], "x": 166, "y": 32, "flags": 4}, - {"matrix": [7, 3], "x": 181, "y": 30, "flags": 4}, - {"matrix": [7, 2], "x": 195, "y": 32, "flags": 4}, - {"matrix": [7, 1], "x": 210, "y": 36, "flags": 4}, - {"matrix": [7, 0], "x": 224, "y": 38, "flags": 4}, - {"matrix": [8, 0], "x": 224, "y": 53, "flags": 4}, - {"matrix": [8, 1], "x": 210, "y": 51, "flags": 4}, - {"matrix": [8, 2], "x": 195, "y": 47, "flags": 4}, - {"matrix": [8, 3], "x": 181, "y": 45, "flags": 4}, - {"matrix": [8, 4], "x": 166, "y": 47, "flags": 4}, - {"matrix": [8, 5], "x": 152, "y": 49, "flags": 4}, - {"matrix": [9, 5], "x": 137, "y": 41, "flags": 4}, - {"matrix": [9, 4], "x": 137, "y": 64, "flags": 4}, - {"matrix": [9, 3], "x": 159, "y": 64, "flags": 4}, - {"matrix": [9, 2], "x": 173, "y": 62, "flags": 4}, - {"matrix": [9, 1], "x": 188, "y": 62, "flags": 4}, - {"x": 128, "y": 64, "flags": 2}, - {"x": 192, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 224, "y": 32, "flags": 2}, - {"x": 206, "y": 0, "flags": 2}, - {"x": 150, "y": 0, "flags": 2}, - {"x": 140, "y": 0, "flags": 2}, - {"x": 128, "y": 32, "flags": 2} - ], - "max_brightness": 120, - "sleep": true, - "split_count": [37, 37] - }, - "rgblight": { - "max_brightness": 120 - }, - "split": { - "enabled": true, - "serial": { - "pin": "D2" - }, - "transport": { - "sync": { - "matrix_state": true, - "oled": true, - "wpm": true - } - } - }, - "url": "mechboards.co.uk", - "usb": { - "device_version": "1.0.0", - "pid": "0x0002", - "vid": "0x7171" - }, - "ws2812": { - "pin": "D3" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.5}, - {"matrix": [0, 1], "x": 1, "y": 0.375}, - {"matrix": [0, 2], "x": 2, "y": 0.125}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.125}, - {"matrix": [0, 5], "x": 5, "y": 0.25}, - {"matrix": [5, 5], "x": 10.5, "y": 0.25}, - {"matrix": [5, 4], "x": 11.5, "y": 0.125}, - {"matrix": [5, 3], "x": 12.5, "y": 0}, - {"matrix": [5, 2], "x": 13.5, "y": 0.125}, - {"matrix": [5, 1], "x": 14.5, "y": 0.375}, - {"matrix": [5, 0], "x": 15.5, "y": 0.5}, - {"matrix": [1, 0], "x": 0, "y": 1.5}, - {"matrix": [1, 1], "x": 1, "y": 1.375}, - {"matrix": [1, 2], "x": 2, "y": 1.125}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1.125}, - {"matrix": [1, 5], "x": 5, "y": 1.25}, - {"matrix": [6, 5], "x": 10.5, "y": 1.25}, - {"matrix": [6, 4], "x": 11.5, "y": 1.125}, - {"matrix": [6, 3], "x": 12.5, "y": 1}, - {"matrix": [6, 2], "x": 13.5, "y": 1.125}, - {"matrix": [6, 1], "x": 14.5, "y": 1.375}, - {"matrix": [6, 0], "x": 15.5, "y": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2.5}, - {"matrix": [2, 1], "x": 1, "y": 2.375}, - {"matrix": [2, 2], "x": 2, "y": 2.125}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2.125}, - {"matrix": [2, 5], "x": 5, "y": 2.25}, - {"matrix": [7, 5], "x": 10.5, "y": 2.25}, - {"matrix": [7, 4], "x": 11.5, "y": 2.125}, - {"matrix": [7, 3], "x": 12.5, "y": 2}, - {"matrix": [7, 2], "x": 13.5, "y": 2.125}, - {"matrix": [7, 1], "x": 14.5, "y": 2.375}, - {"matrix": [7, 0], "x": 15.5, "y": 2.5}, - {"matrix": [3, 0], "x": 0, "y": 3.5}, - {"matrix": [3, 1], "x": 1, "y": 3.375}, - {"matrix": [3, 2], "x": 2, "y": 3.125}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3.125}, - {"matrix": [3, 5], "x": 5, "y": 3.25}, - {"matrix": [4, 5], "x": 6, "y": 2.75}, - {"matrix": [9, 5], "x": 9.5, "y": 2.75}, - {"matrix": [8, 5], "x": 10.5, "y": 3.25}, - {"matrix": [8, 4], "x": 11.5, "y": 3.125}, - {"matrix": [8, 3], "x": 12.5, "y": 3}, - {"matrix": [8, 2], "x": 13.5, "y": 3.125}, - {"matrix": [8, 1], "x": 14.5, "y": 3.375}, - {"matrix": [8, 0], "x": 15.5, "y": 3.5}, - {"matrix": [4, 1], "x": 2.5, "y": 4.125}, - {"matrix": [4, 2], "x": 3.5, "y": 4.15}, - {"matrix": [4, 3], "x": 4.5, "y": 4.25}, - {"matrix": [4, 4], "x": 6, "y": 4.25, "h": 1.5}, - {"matrix": [9, 4], "x": 9.5, "y": 4.25, "h": 1.5}, - {"matrix": [9, 3], "x": 11, "y": 4.25}, - {"matrix": [9, 2], "x": 12, "y": 4.15}, - {"matrix": [9, 1], "x": 13, "y": 4.15} - ] - } - } -} diff --git a/keyboards/mechboards/lily58/pro/keymaps/default/keymap.c b/keyboards/mechboards/lily58/pro/keymaps/default/keymap.c deleted file mode 100644 index 6c23650b05..0000000000 --- a/keyboards/mechboards/lily58/pro/keymaps/default/keymap.c +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2025 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_BSPC, KC_RGUI -), - -[1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD, - _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, _______, _______, _______, _______, MO(3), _______, _______ -), - - -[2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, _______, MO(3), _______, _______, _______, _______, _______ -), - - [3] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RM_NEXT, RM_HUED, RM_SATD, RM_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, - [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, - [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS)} -}; -#endif -// clang-format on diff --git a/keyboards/mechboards/lily58/pro/keymaps/default/rules.mk b/keyboards/mechboards/lily58/pro/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/mechboards/lily58/pro/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/mechboards/lily58/pro/post_rules.mk b/keyboards/mechboards/lily58/pro/post_rules.mk deleted file mode 100644 index 4bfdc8ca89..0000000000 --- a/keyboards/mechboards/lily58/pro/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -include keyboards/mechboards/common/post_rules.mk diff --git a/keyboards/mechboards/lily58/pro/pro.c b/keyboards/mechboards/lily58/pro/pro.c deleted file mode 100644 index 34c1f6409e..0000000000 --- a/keyboards/mechboards/lily58/pro/pro.c +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2025 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef OLED_ENABLE -void render_logo(void) { - static const char PROGMEM pro_logo[] = { - 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 31, 31, 31, 31, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 0, 0, 0, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 248, 24, 24, 24, 24, 24, 24, 0, 0, 240, 248, 24, 24, 24, 24, 24, 248, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 255, 255, 4, 4, 4, 4, 4, 255, - 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 249, 249, 0, 0, 255, 255, 0, 0, 248, 248, 0, 0, 0, 0, 248, 248, 0, 0, 7, 7, 6, 6, 6, 6, 254, 252, 0, 0, 251, 255, 6, 6, 6, 6, 6, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 65, 65, 65, 65, 65, 255, 127, 127, 127, 127, 127, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 0, 0, 3, 3, 0, 0, 131, 131, 131, 131, 131, 131, - 255, 255, 0, 0, 3, 3, 3, 3, 3, 3, 3, 1, 0, 0, 1, 3, 3, 3, 3, 3, 3, 3, 225, 240, 48, 176, 176, 112, 240, 48, 176, 176, 112, 240, 112, 176, 176, 112, 240, 224, 0, 0, 63, 127, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 255, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 255, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 240, 240, 240, 240, 240, 255, 240, 240, 240, 240, 240, 255, 240, 240, 240, 240, 240, 255, 255, 255, 127, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 63, 48, 61, 61, 62, 63, 48, 61, 61, 50, 63, 56, 55, 55, 56, 63, 31, 0, 0, - }; - oled_write_raw_P(pro_logo, sizeof(pro_logo)); -} -#endif diff --git a/keyboards/mechboards/lily58/pro/readme.md b/keyboards/mechboards/lily58/pro/readme.md deleted file mode 100644 index 9ec83c2800..0000000000 --- a/keyboards/mechboards/lily58/pro/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# Lily58 Pro - -A refreshed Lily58 PCB with RGB, battery, power switch and encoder support. - -* Keyboard Maintainer: [dasky](https://github.com/daskygit) -* Hardware Supported: Controllers using promicro footprint. -* Hardware Availability: https://mechboards.co.uk - -Make example for this keyboard (after setting up your build environment): - - qmk compile -kb mechboards/lily58/pro -km default - -Flashing example for this keyboard: - - qmk flash -kb mechboards/lily58/pro -km default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top left key (for left half) or top right key (for right half) when plugging in USB. -* **Physical reset button**: Briefly double press the button below the TRRS socket. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/mechboards/sofle/pro/config.h b/keyboards/mechboards/sofle/pro/config.h deleted file mode 100644 index 43a4b3eb9f..0000000000 --- a/keyboards/mechboards/sofle/pro/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "keyboards/mechboards/common/rgb_effects.h" diff --git a/keyboards/mechboards/sofle/pro/keyboard.json b/keyboards/mechboards/sofle/pro/keyboard.json deleted file mode 100644 index e1da038644..0000000000 --- a/keyboards/mechboards/sofle/pro/keyboard.json +++ /dev/null @@ -1,200 +0,0 @@ -{ - "manufacturer": "Mechboards", - "keyboard_name": "Sofle Pro", - "maintainer": "dasky", - "build": { - "lto": true - }, - "development_board": "promicro", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "F5", "pin_b": "F4"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "oled": true, - "os_detection": true, - "rgb_matrix": true, - "wpm": true - }, - "matrix_pins": { - "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], - "rows": ["C6", "D7", "E6", "B4", "B5"] - }, - "rgb_matrix": { - "animations": { - "cycle_left_right": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [4, 0], "x": 32, "y": 57, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 36, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 24, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 12, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 36, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4}, - {"matrix": [4, 1], "x": 48, "y": 55, "flags": 4}, - {"matrix": [4, 2], "x": 64, "y": 57, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 45, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 33, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 21, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 9, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 7, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 19, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 31, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 43, "flags": 4}, - {"matrix": [4, 3], "x": 80, "y": 59, "flags": 4}, - {"matrix": [4, 4], "x": 96, "y": 64, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 45, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 33, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 21, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 9, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 10, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 22, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 34, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 47, "flags": 4}, - {"x": 84, "y": 45, "flags": 2}, - {"x": 68, "y": 7, "flags": 2}, - {"x": 20, "y": 14, "flags": 2}, - {"x": 28, "y": 49, "flags": 2}, - {"x": 62, "y": 57, "flags": 2}, - {"matrix": [9, 0], "x": 192, "y": 57, "flags": 4}, - {"matrix": [8, 0], "x": 224, "y": 48, "flags": 4}, - {"matrix": [7, 0], "x": 224, "y": 36, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 24, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 12, "flags": 4}, - {"matrix": [5, 1], "x": 208, "y": 12, "flags": 4}, - {"matrix": [6, 1], "x": 208, "y": 24, "flags": 4}, - {"matrix": [7, 1], "x": 208, "y": 36, "flags": 4}, - {"matrix": [8, 1], "x": 208, "y": 48, "flags": 4}, - {"matrix": [9, 1], "x": 176, "y": 55, "flags": 4}, - {"matrix": [9, 2], "x": 160, "y": 57, "flags": 4}, - {"matrix": [8, 2], "x": 192, "y": 45, "flags": 4}, - {"matrix": [7, 2], "x": 192, "y": 33, "flags": 4}, - {"matrix": [6, 2], "x": 192, "y": 21, "flags": 4}, - {"matrix": [5, 2], "x": 192, "y": 9, "flags": 4}, - {"matrix": [5, 3], "x": 176, "y": 7, "flags": 4}, - {"matrix": [6, 3], "x": 176, "y": 19, "flags": 4}, - {"matrix": [7, 3], "x": 176, "y": 31, "flags": 4}, - {"matrix": [8, 3], "x": 176, "y": 43, "flags": 4}, - {"matrix": [9, 3], "x": 144, "y": 59, "flags": 4}, - {"matrix": [9, 4], "x": 128, "y": 64, "flags": 4}, - {"matrix": [8, 4], "x": 160, "y": 45, "flags": 4}, - {"matrix": [7, 4], "x": 160, "y": 33, "flags": 4}, - {"matrix": [6, 4], "x": 160, "y": 21, "flags": 4}, - {"matrix": [5, 4], "x": 160, "y": 9, "flags": 4}, - {"matrix": [5, 5], "x": 144, "y": 10, "flags": 4}, - {"matrix": [6, 5], "x": 144, "y": 22, "flags": 4}, - {"matrix": [7, 5], "x": 144, "y": 34, "flags": 4}, - {"matrix": [8, 5], "x": 144, "y": 47, "flags": 4} - {"x": 140, "y": 45, "flags": 2}, - {"x": 156, "y": 7, "flags": 2}, - {"x": 204, "y": 14, "flags": 2}, - {"x": 196, "y": 49, "flags": 2}, - {"x": 162, "y": 57, "flags": 2} - ], - "max_brightness": 120, - "split_count": [34, 34] - }, - "rgblight": { - "led_count": 68, - "max_brightness": 120, - "split_count": [34, 34] - }, - "split": { - "enabled": true, - "serial": { - "pin": "D2" - }, - "transport": { - "sync": { - "matrix_state": true, - "oled": true, - "wpm": true - } - } - }, - "url": "mechboards.co.uk", - "usb": { - "device_version": "1.0.0", - "pid": "0x0004", - "vid": "0x7171" - }, - "ws2812": { - "pin": "D3" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.5}, - {"matrix": [0, 1], "x": 1, "y": 0.375}, - {"matrix": [0, 2], "x": 2, "y": 0.125}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.125}, - {"matrix": [0, 5], "x": 5, "y": 0.25}, - {"matrix": [5, 5], "x": 10.5, "y": 0.25}, - {"matrix": [5, 4], "x": 11.5, "y": 0.125}, - {"matrix": [5, 3], "x": 12.5, "y": 0}, - {"matrix": [5, 2], "x": 13.5, "y": 0.125}, - {"matrix": [5, 1], "x": 14.5, "y": 0.375}, - {"matrix": [5, 0], "x": 15.5, "y": 0.5}, - {"matrix": [1, 0], "x": 0, "y": 1.5}, - {"matrix": [1, 1], "x": 1, "y": 1.375}, - {"matrix": [1, 2], "x": 2, "y": 1.125}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1.125}, - {"matrix": [1, 5], "x": 5, "y": 1.25}, - {"matrix": [6, 5], "x": 10.5, "y": 1.25}, - {"matrix": [6, 4], "x": 11.5, "y": 1.125}, - {"matrix": [6, 3], "x": 12.5, "y": 1}, - {"matrix": [6, 2], "x": 13.5, "y": 1.125}, - {"matrix": [6, 1], "x": 14.5, "y": 1.375}, - {"matrix": [6, 0], "x": 15.5, "y": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2.5}, - {"matrix": [2, 1], "x": 1, "y": 2.375}, - {"matrix": [2, 2], "x": 2, "y": 2.125}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2.125}, - {"matrix": [2, 5], "x": 5, "y": 2.25}, - {"matrix": [7, 5], "x": 10.5, "y": 2.25}, - {"matrix": [7, 4], "x": 11.5, "y": 2.125}, - {"matrix": [7, 3], "x": 12.5, "y": 2}, - {"matrix": [7, 2], "x": 13.5, "y": 2.125}, - {"matrix": [7, 1], "x": 14.5, "y": 2.375}, - {"matrix": [7, 0], "x": 15.5, "y": 2.5}, - {"matrix": [3, 0], "x": 0, "y": 3.5}, - {"matrix": [3, 1], "x": 1, "y": 3.375}, - {"matrix": [3, 2], "x": 2, "y": 3.125}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3.125}, - {"matrix": [3, 5], "x": 5, "y": 3.25}, - {"matrix": [4, 5], "x": 6, "y": 2.75}, - {"matrix": [9, 5], "x": 9.5, "y": 2.75}, - {"matrix": [8, 5], "x": 10.5, "y": 3.25}, - {"matrix": [8, 4], "x": 11.5, "y": 3.125}, - {"matrix": [8, 3], "x": 12.5, "y": 3}, - {"matrix": [8, 2], "x": 13.5, "y": 3.125}, - {"matrix": [8, 1], "x": 14.5, "y": 3.375}, - {"matrix": [8, 0], "x": 15.5, "y": 3.5}, - {"matrix": [4, 0], "x": 1.5, "y": 4.375}, - {"matrix": [4, 1], "x": 2.5, "y": 4.125}, - {"matrix": [4, 2], "x": 3.5, "y": 4.15}, - {"matrix": [4, 3], "x": 4.5, "y": 4.25}, - {"matrix": [4, 4], "x": 6, "y": 4.25, "h": 1.5}, - {"matrix": [9, 4], "x": 9.5, "y": 4.25, "h": 1.5}, - {"matrix": [9, 3], "x": 11, "y": 4.25}, - {"matrix": [9, 2], "x": 12, "y": 4.15}, - {"matrix": [9, 1], "x": 13, "y": 4.125}, - {"matrix": [9, 0], "x": 14, "y": 4.375} - ] - } - } -} diff --git a/keyboards/mechboards/sofle/pro/keymaps/default/keymap.c b/keyboards/mechboards/sofle/pro/keymaps/default/keymap.c deleted file mode 100644 index dac2331fd7..0000000000 --- a/keyboards/mechboards/sofle/pro/keymaps/default/keymap.c +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2025 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// clang-format off - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LGUI, KC_LALT, KC_LCTL, MO(1), KC_ENT, KC_SPC, MO(2), KC_RCTL, KC_RALT, KC_RGUI - ), - [1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, - _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, - _______, _______, _______, _______, _______, _______, MO(3), _______, _______, _______ - ), - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,_______, - _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, KC_BSPC, - _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, XXXXXXX, - _______, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, _______, _______, MO(3), _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, - RM_NEXT, RM_HUED, RM_SATD, RM_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { -[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT)}, -[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, -[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, -[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS)} -}; -#endif -// clang-format on diff --git a/keyboards/mechboards/sofle/pro/keymaps/default/rules.mk b/keyboards/mechboards/sofle/pro/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/mechboards/sofle/pro/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/mechboards/sofle/pro/post_rules.mk b/keyboards/mechboards/sofle/pro/post_rules.mk deleted file mode 100644 index 4bfdc8ca89..0000000000 --- a/keyboards/mechboards/sofle/pro/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -include keyboards/mechboards/common/post_rules.mk diff --git a/keyboards/mechboards/sofle/pro/pro.c b/keyboards/mechboards/sofle/pro/pro.c deleted file mode 100644 index df377eb28a..0000000000 --- a/keyboards/mechboards/sofle/pro/pro.c +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2025 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef OLED_ENABLE -void render_logo(void) { - static const char PROGMEM pro_logo[] = { - 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 31, 31, 31, 31, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 0, 0, 0, 240, 248, 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 248, 24, 24, 24, 24, 16, 0, 0, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 255, 255, 4, 4, 4, 4, 4, 255, - 7, 7, 7, 7, 7, 255, 7, 7, 7, 7, 7, 255, 255, 255, 255, 255, 0, 0, 0, 3, 7, 6, 6, 6, 6, 254, 252, 0, 0, 254, 255, 3, 3, 3, 3, 255, 254, 0, 0, 3, 255, 255, 3, 3, 3, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 254, 255, 51, 51, 51, 51, 63, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 255, 255, 65, 65, 65, 65, 65, 255, 255, 255, 65, 65, 65, 65, 65, 255, 127, 127, 127, 127, 127, 255, 65, 65, 65, 65, 65, 255, 255, 255, 255, 255, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 1, 0, 0, 1, 3, 3, 3, 3, 3, 3, 1, 0, 0, 0, 3, 3, 0, - 0, 0, 0, 0, 0, 0, 1, 3, 3, 3, 0, 0, 1, 3, 3, 3, 3, 3, 3, 1, 0, 0, 224, 240, 48, 176, 176, 112, 240, 48, 176, 176, 112, 240, 112, 176, 176, 112, 240, 224, 0, 0, 63, 127, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 255, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 255, 255, 255, 255, 240, 240, 240, 240, 240, 255, 255, 255, 240, 240, 240, 240, 240, 255, 240, 240, 240, 240, 240, 255, 240, 240, 240, 240, 240, 255, 255, 255, 127, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 63, 48, 61, 61, 62, 63, 48, 61, 61, 50, 63, 56, 55, 55, 56, 63, 31, 0, 0, - }; - oled_write_raw_P(pro_logo, sizeof(pro_logo)); -} -#endif diff --git a/keyboards/mechboards/sofle/pro/readme.md b/keyboards/mechboards/sofle/pro/readme.md deleted file mode 100644 index 7e1a772759..0000000000 --- a/keyboards/mechboards/sofle/pro/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# Sofle Pro - -A refreshed PCB with per key RGB, battery, power switch support. - -* Keyboard Maintainer: [dasky](https://github.com/daskygit) -* Hardware Supported: Controllers using promicro footprint. -* Hardware Availability: https://mechboards.co.uk - -Make example for this keyboard (after setting up your build environment): - - qmk compile -kb mechboards/sofle/pro -km default - -Flashing example for this keyboard: - - qmk flash -kb mechboards/sofle/pro -km default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top left key or the top right key depending on which side you're connecting to USB. -* **Physical reset button**: Double press the button below the TRRS socket. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/mechbrewery/mb65h/keyboard.json b/keyboards/mechbrewery/mb65h/keyboard.json index c49abe946a..8b4049be4d 100644 --- a/keyboards/mechbrewery/mb65h/keyboard.json +++ b/keyboards/mechbrewery/mb65h/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MB65H", "manufacturer": "MechBrewery", + "url": "", "maintainer": "AnthonyNguyen168", "usb": { "vid": "0x4252", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/mechbrewery/mb65s/keyboard.json b/keyboards/mechbrewery/mb65s/keyboard.json index 17472eeecf..e043d95860 100644 --- a/keyboards/mechbrewery/mb65s/keyboard.json +++ b/keyboards/mechbrewery/mb65s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MB65S", "manufacturer": "MechBrewery", + "url": "", "maintainer": "AnthonyNguyen168", "usb": { "vid": "0x4252", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/mechkeys/acr60/keyboard.json b/keyboards/mechkeys/acr60/keyboard.json index a3eed2d74e..6486b21f12 100644 --- a/keyboards/mechkeys/acr60/keyboard.json +++ b/keyboards/mechkeys/acr60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ACR60", "manufacturer": "MechKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/mechkeys/alu84/keyboard.json b/keyboards/mechkeys/alu84/keyboard.json index 3d3355a3ee..30f70b17c9 100644 --- a/keyboards/mechkeys/alu84/keyboard.json +++ b/keyboards/mechkeys/alu84/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ALU84", "manufacturer": "MechKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/mechkeys/espectro/keyboard.json b/keyboards/mechkeys/espectro/keyboard.json index d9c292d5e5..f4d2aa29bb 100644 --- a/keyboards/mechkeys/espectro/keyboard.json +++ b/keyboards/mechkeys/espectro/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Espectro", "manufacturer": "MechKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/mechkeys/mechmini/rules.mk b/keyboards/mechkeys/mechmini/rules.mk new file mode 100644 index 0000000000..9d63d875eb --- /dev/null +++ b/keyboards/mechkeys/mechmini/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechkeys/mechmini/v2 diff --git a/keyboards/mechkeys/mechmini/v1/keyboard.json b/keyboards/mechkeys/mechmini/v1/keyboard.json index a1338c9ba9..8d3a4a9b84 100644 --- a/keyboards/mechkeys/mechmini/v1/keyboard.json +++ b/keyboards/mechkeys/mechmini/v1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MechMini", "manufacturer": "MechKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/mechkeys/mk60/keyboard.json b/keyboards/mechkeys/mk60/keyboard.json index 70c8bec2c6..e47d7def2c 100644 --- a/keyboards/mechkeys/mk60/keyboard.json +++ b/keyboards/mechkeys/mk60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MK60", "manufacturer": "MechKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/mechllama/g35/info.json b/keyboards/mechllama/g35/info.json index fab11db131..2fa3871405 100644 --- a/keyboards/mechllama/g35/info.json +++ b/keyboards/mechllama/g35/info.json @@ -5,6 +5,8 @@ "maintainer": "kaylynb", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": true, diff --git a/keyboards/mechllama/g35/rules.mk b/keyboards/mechllama/g35/rules.mk new file mode 100644 index 0000000000..36acf8d17f --- /dev/null +++ b/keyboards/mechllama/g35/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechllama/g35/v2 diff --git a/keyboards/mechlovin/adelais/info.json b/keyboards/mechlovin/adelais/info.json index 84ca6403ce..42b16d6398 100644 --- a/keyboards/mechlovin/adelais/info.json +++ b/keyboards/mechlovin/adelais/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Team.Mechlovin", + "url": "", "maintainer": "mechlovin", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json b/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json index a7cd8faa78..628eb404a5 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json @@ -7,6 +7,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgblight": true, "rgb_matrix": true, diff --git a/keyboards/mechlovin/adelais/rgb_led/rules.mk b/keyboards/mechlovin/adelais/rgb_led/rules.mk new file mode 100644 index 0000000000..18047f12c7 --- /dev/null +++ b/keyboards/mechlovin/adelais/rgb_led/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/adelais/rgb_led/rev1 diff --git a/keyboards/mechlovin/adelais/rules.mk b/keyboards/mechlovin/adelais/rules.mk new file mode 100644 index 0000000000..a1d2ba038d --- /dev/null +++ b/keyboards/mechlovin/adelais/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/adelais/standard_led/arm/rev2 diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev4/rules.mk b/keyboards/mechlovin/adelais/standard_led/arm/rev4/rules.mk new file mode 100644 index 0000000000..d348ae660f --- /dev/null +++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/adelais/standard_led/arm/rev4/stm32f303 diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rules.mk b/keyboards/mechlovin/adelais/standard_led/arm/rules.mk new file mode 100644 index 0000000000..16a636a342 --- /dev/null +++ b/keyboards/mechlovin/adelais/standard_led/arm/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/adelais/standard_led/arm/rev2 \ No newline at end of file diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rev1/keyboard.json b/keyboards/mechlovin/adelais/standard_led/avr/rev1/keyboard.json index 99a31763b9..3758a8f085 100644 --- a/keyboards/mechlovin/adelais/standard_led/avr/rev1/keyboard.json +++ b/keyboards/mechlovin/adelais/standard_led/avr/rev1/keyboard.json @@ -7,6 +7,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "backlight": true, "rgblight": true diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rules.mk b/keyboards/mechlovin/adelais/standard_led/avr/rules.mk new file mode 100644 index 0000000000..f33198890d --- /dev/null +++ b/keyboards/mechlovin/adelais/standard_led/avr/rules.mk @@ -0,0 +1,2 @@ + +DEFAULT_FOLDER = mechlovin/adelais/standard_led/avr/rev1 \ No newline at end of file diff --git a/keyboards/mechlovin/adelais/standard_led/rules.mk b/keyboards/mechlovin/adelais/standard_led/rules.mk new file mode 100644 index 0000000000..a1d2ba038d --- /dev/null +++ b/keyboards/mechlovin/adelais/standard_led/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/adelais/standard_led/arm/rev2 diff --git a/keyboards/mechlovin/delphine/info.json b/keyboards/mechlovin/delphine/info.json index 2fe90c7629..baeeab6f18 100644 --- a/keyboards/mechlovin/delphine/info.json +++ b/keyboards/mechlovin/delphine/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Delphine", "manufacturer": "Mechlovin", + "url": "", "maintainer": "mechlovin", "usb": { "vid": "0x4D4C" diff --git a/keyboards/mechlovin/delphine/readme.md b/keyboards/mechlovin/delphine/readme.md index 397a0ada40..9a5389a5f3 100644 --- a/keyboards/mechlovin/delphine/readme.md +++ b/keyboards/mechlovin/delphine/readme.md @@ -1,5 +1,7 @@ # delphine +![delphine](imgur.com image replace me!) + A Number-Pad PCB, Mono backlight and RGB backlight version, Dolpad compatible. * Keyboard Maintainer: [Mechlovin'](https://github.com/mechlovin) diff --git a/keyboards/mechlovin/delphine/rules.mk b/keyboards/mechlovin/delphine/rules.mk new file mode 100644 index 0000000000..819bce1cd3 --- /dev/null +++ b/keyboards/mechlovin/delphine/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/delphine/mono_led diff --git a/keyboards/mechlovin/foundation/keyboard.json b/keyboards/mechlovin/foundation/keyboard.json index 00cf464255..3bd05add2f 100644 --- a/keyboards/mechlovin/foundation/keyboard.json +++ b/keyboards/mechlovin/foundation/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Foundation FRL", "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Protozoa", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json b/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json index e2b0ae715e..4fb4dc2eef 100644 --- a/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json +++ b/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Hannah60 RGB", "manufacturer": "Team.Mechlovin", + "url": "", "maintainer": "mechlovin", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json b/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json index 066422b3e3..06bb71a348 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json +++ b/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Hannah60 RGB Rev.2", "manufacturer": "Team.Mechlovin", + "url": "", "maintainer": "mechlovin", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/hannah60rgb/rules.mk b/keyboards/mechlovin/hannah60rgb/rules.mk new file mode 100644 index 0000000000..e876a56afb --- /dev/null +++ b/keyboards/mechlovin/hannah60rgb/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/hannah60rgb/rev1 diff --git a/keyboards/mechlovin/hannah65/rev1/haus/keyboard.json b/keyboards/mechlovin/hannah65/rev1/haus/keyboard.json index 14ca49f207..7a935fc1a5 100644 --- a/keyboards/mechlovin/hannah65/rev1/haus/keyboard.json +++ b/keyboards/mechlovin/hannah65/rev1/haus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Haus Rev. 1", "manufacturer": "Team Mechlovin", + "url": "", "maintainer": "Team Mechlovin", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/hannah65/rev1/rules.mk b/keyboards/mechlovin/hannah65/rev1/rules.mk new file mode 100644 index 0000000000..ae9bc176a4 --- /dev/null +++ b/keyboards/mechlovin/hannah65/rev1/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/hannah65/rev1/haus diff --git a/keyboards/mechlovin/hannah65/rules.mk b/keyboards/mechlovin/hannah65/rules.mk new file mode 100644 index 0000000000..ae9bc176a4 --- /dev/null +++ b/keyboards/mechlovin/hannah65/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/hannah65/rev1/haus diff --git a/keyboards/mechlovin/hannah910/rev1/keyboard.json b/keyboards/mechlovin/hannah910/rev1/keyboard.json index 44dedd57c3..61cf365337 100644 --- a/keyboards/mechlovin/hannah910/rev1/keyboard.json +++ b/keyboards/mechlovin/hannah910/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Hannah910", "manufacturer": "Mechlovin", + "url": "", "maintainer": "Mechlovin'", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/hannah910/rev2/keyboard.json b/keyboards/mechlovin/hannah910/rev2/keyboard.json index 8a01f6bb8b..9fb5847124 100644 --- a/keyboards/mechlovin/hannah910/rev2/keyboard.json +++ b/keyboards/mechlovin/hannah910/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Hannah910", "manufacturer": "Mechlovin", + "url": "", "maintainer": "Team Mechlovin'", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/hannah910/rev3/keyboard.json b/keyboards/mechlovin/hannah910/rev3/keyboard.json index 668b31328f..ba88319890 100644 --- a/keyboards/mechlovin/hannah910/rev3/keyboard.json +++ b/keyboards/mechlovin/hannah910/rev3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Hannah910", "manufacturer": "Mechlovin", + "url": "", "maintainer": "Team Mechlovin'", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/hannah910/rules.mk b/keyboards/mechlovin/hannah910/rules.mk new file mode 100644 index 0000000000..a356867197 --- /dev/null +++ b/keyboards/mechlovin/hannah910/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/hannah910/rev1 diff --git a/keyboards/mechlovin/hex4b/info.json b/keyboards/mechlovin/hex4b/info.json index de7f03bab9..9964736255 100644 --- a/keyboards/mechlovin/hex4b/info.json +++ b/keyboards/mechlovin/hex4b/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Hex-Keyboard&Mechlovin", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/hex4b/rules.mk b/keyboards/mechlovin/hex4b/rules.mk new file mode 100644 index 0000000000..e3d9ab46b4 --- /dev/null +++ b/keyboards/mechlovin/hex4b/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/hex4b/rev1 diff --git a/keyboards/mechlovin/hex6c/keyboard.json b/keyboards/mechlovin/hex6c/keyboard.json index c951cf242d..e068420b81 100644 --- a/keyboards/mechlovin/hex6c/keyboard.json +++ b/keyboards/mechlovin/hex6c/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Hex6C", "manufacturer": "Mechlovin Studio and Hex Keyboard", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/infinity87/rev1/rogue87/keyboard.json b/keyboards/mechlovin/infinity87/rev1/rogue87/keyboard.json index 840f8a0392..2ac0510dbf 100644 --- a/keyboards/mechlovin/infinity87/rev1/rogue87/keyboard.json +++ b/keyboards/mechlovin/infinity87/rev1/rogue87/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Rogue87 Rev.1", "manufacturer": "Mechlovin.Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/infinity87/rev1/rouge87/keyboard.json b/keyboards/mechlovin/infinity87/rev1/rouge87/keyboard.json index 1eec53ebb9..6b947f0f1f 100644 --- a/keyboards/mechlovin/infinity87/rev1/rouge87/keyboard.json +++ b/keyboards/mechlovin/infinity87/rev1/rouge87/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Rouge87 Rev.1", "manufacturer": "Mechlovin.Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/infinity87/rev1/rules.mk b/keyboards/mechlovin/infinity87/rev1/rules.mk new file mode 100644 index 0000000000..101153f240 --- /dev/null +++ b/keyboards/mechlovin/infinity87/rev1/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/infinity87/rev1/standard diff --git a/keyboards/mechlovin/infinity87/rev1/standard/keyboard.json b/keyboards/mechlovin/infinity87/rev1/standard/keyboard.json index 941f6ec955..a0cb10fac2 100644 --- a/keyboards/mechlovin/infinity87/rev1/standard/keyboard.json +++ b/keyboards/mechlovin/infinity87/rev1/standard/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "infinity87 Rev.1", "manufacturer": "Mechlovin.Studio", + "url": "", "maintainer": "Team Mechlovin'", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/infinity87/rev2/keyboard.json b/keyboards/mechlovin/infinity87/rev2/keyboard.json index 618b9397bf..fdc6686988 100644 --- a/keyboards/mechlovin/infinity87/rev2/keyboard.json +++ b/keyboards/mechlovin/infinity87/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Infinity87 Rev.2", "manufacturer": "Mechlovin.Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json b/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json index 2ca5e03b36..2d177949dc 100644 --- a/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json +++ b/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Infinity87 RGB Rev1", "manufacturer": "Mechlovin.Studio", + "url": "", "maintainer": "Team Mechlovin'", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/infinity87/rules.mk b/keyboards/mechlovin/infinity87/rules.mk new file mode 100644 index 0000000000..4aa072cae7 --- /dev/null +++ b/keyboards/mechlovin/infinity87/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/infinity87/rgb_rev1 diff --git a/keyboards/mechlovin/infinity875/keyboard.json b/keyboards/mechlovin/infinity875/keyboard.json index 1016178caa..73bdb0af13 100644 --- a/keyboards/mechlovin/infinity875/keyboard.json +++ b/keyboards/mechlovin/infinity875/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Infinity87.5", "manufacturer": "Mechlovin.Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/infinity88/keyboard.json b/keyboards/mechlovin/infinity88/keyboard.json index 3691c6d836..14371d2459 100644 --- a/keyboards/mechlovin/infinity88/keyboard.json +++ b/keyboards/mechlovin/infinity88/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Infinity 88", "manufacturer": "Team.Mechlovin", + "url": "", "maintainer": "mechlovin", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/infinityce/keyboard.json b/keyboards/mechlovin/infinityce/keyboard.json index ea62853ef4..5b10e056ba 100644 --- a/keyboards/mechlovin/infinityce/keyboard.json +++ b/keyboards/mechlovin/infinityce/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Infinity CE", "manufacturer": "Team.Mechlovin", + "url": "", "maintainer": "Team Mechlovin'", "usb": { "vid": "0x4D4C", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/mechlovin/jay60/keyboard.json b/keyboards/mechlovin/jay60/keyboard.json index 2b7e9ef914..75bf190d88 100644 --- a/keyboards/mechlovin/jay60/keyboard.json +++ b/keyboards/mechlovin/jay60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Jay60", "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/kanu/keyboard.json b/keyboards/mechlovin/kanu/keyboard.json index a6b6588cc8..10cd22319a 100644 --- a/keyboards/mechlovin/kanu/keyboard.json +++ b/keyboards/mechlovin/kanu/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kanu", "manufacturer": "Mechlovin", + "url": "", "maintainer": "Team Mechlovin'", "usb": { "vid": "0x4D4C", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/mechlovin/kay60/keyboard.json b/keyboards/mechlovin/kay60/keyboard.json index e7b26f4560..7c38273947 100644 --- a/keyboards/mechlovin/kay60/keyboard.json +++ b/keyboards/mechlovin/kay60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kay60", "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/mechlovin/kay65/keyboard.json b/keyboards/mechlovin/kay65/keyboard.json index 5ec1d34591..f5d5897939 100644 --- a/keyboards/mechlovin/kay65/keyboard.json +++ b/keyboards/mechlovin/kay65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kay65 Rev. 1", "manufacturer": "Team Mechlovin", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/mechlovin/mechlovin9/info.json b/keyboards/mechlovin/mechlovin9/info.json index 6783f0a323..41133813ef 100644 --- a/keyboards/mechlovin/mechlovin9/info.json +++ b/keyboards/mechlovin/mechlovin9/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Team Mechlovin", "usb": { "vid": "0x4D4C" diff --git a/keyboards/mechlovin/mechlovin9/rules.mk b/keyboards/mechlovin/mechlovin9/rules.mk new file mode 100644 index 0000000000..79de7c7d31 --- /dev/null +++ b/keyboards/mechlovin/mechlovin9/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/mechlovin9/rev1 diff --git a/keyboards/mechlovin/olly/bb/keyboard.json b/keyboards/mechlovin/olly/bb/keyboard.json index de3eb16c1d..ac08e94c3c 100644 --- a/keyboards/mechlovin/olly/bb/keyboard.json +++ b/keyboards/mechlovin/olly/bb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Olly BB", "manufacturer": "Mechlovin.Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/olly/jf/info.json b/keyboards/mechlovin/olly/jf/info.json index c5a70f44ba..315191e840 100644 --- a/keyboards/mechlovin/olly/jf/info.json +++ b/keyboards/mechlovin/olly/jf/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Mechlovin.Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C" diff --git a/keyboards/mechlovin/olly/jf/rules.mk b/keyboards/mechlovin/olly/jf/rules.mk new file mode 100644 index 0000000000..fa0eceeb8a --- /dev/null +++ b/keyboards/mechlovin/olly/jf/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/olly/jf/rev1 diff --git a/keyboards/mechlovin/olly/octagon/keyboard.json b/keyboards/mechlovin/olly/octagon/keyboard.json index 6df26bad09..4bc7d88ed7 100644 --- a/keyboards/mechlovin/olly/octagon/keyboard.json +++ b/keyboards/mechlovin/olly/octagon/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Olly Octagon", "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", @@ -169,12 +170,11 @@ "processor": "STM32F103", "bootloader": "stm32duino", "layout_aliases": { - "LAYOUT": "LAYOUT_all", - "LAYOUT_split_bs": "LAYOUT_all" + "LAYOUT": "LAYOUT_split_bs", + "LAYOUT_all": "LAYOUT_split_bs" }, - "community_layouts": ["75_ansi", "75_iso"], "layouts": { - "LAYOUT_all": { + "LAYOUT_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -269,750 +269,6 @@ {"matrix": [5, 14], "x": 14, "y": 5}, {"matrix": [5, 15], "x": 15, "y": 5} ] - }, - "LAYOUT_75_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - {"matrix": [0, 15], "x": 15, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [1, 10], "x": 10, "y": 1}, - {"matrix": [1, 11], "x": 11, "y": 1}, - {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 13], "x": 13, "y": 1, "w": 2}, - {"matrix": [1, 15], "x": 15, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, - {"matrix": [2, 15], "x": 15, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, - {"matrix": [3, 15], "x": 15, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4}, - {"matrix": [4, 6], "x": 6.25, "y": 4}, - {"matrix": [4, 7], "x": 7.25, "y": 4}, - {"matrix": [4, 8], "x": 8.25, "y": 4}, - {"matrix": [4, 9], "x": 9.25, "y": 4}, - {"matrix": [4, 10], "x": 10.25, "y": 4}, - {"matrix": [4, 11], "x": 11.25, "y": 4}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 14], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4}, - - {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, - {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5}, - {"matrix": [5, 11], "x": 11, "y": 5}, - {"matrix": [5, 12], "x": 12, "y": 5}, - {"matrix": [5, 13], "x": 13, "y": 5}, - {"matrix": [5, 14], "x": 14, "y": 5}, - {"matrix": [5, 15], "x": 15, "y": 5} - ] - }, - "LAYOUT_75_ansi_split_bs": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - {"matrix": [0, 15], "x": 15, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [1, 10], "x": 10, "y": 1}, - {"matrix": [1, 11], "x": 11, "y": 1}, - {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 13], "x": 13, "y": 1}, - {"matrix": [1, 14], "x": 14, "y": 1}, - {"matrix": [1, 15], "x": 15, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, - {"matrix": [2, 15], "x": 15, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, - {"matrix": [3, 15], "x": 15, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4}, - {"matrix": [4, 6], "x": 6.25, "y": 4}, - {"matrix": [4, 7], "x": 7.25, "y": 4}, - {"matrix": [4, 8], "x": 8.25, "y": 4}, - {"matrix": [4, 9], "x": 9.25, "y": 4}, - {"matrix": [4, 10], "x": 10.25, "y": 4}, - {"matrix": [4, 11], "x": 11.25, "y": 4}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 14], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4}, - - {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, - {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5}, - {"matrix": [5, 11], "x": 11, "y": 5}, - {"matrix": [5, 12], "x": 12, "y": 5}, - {"matrix": [5, 13], "x": 13, "y": 5}, - {"matrix": [5, 14], "x": 14, "y": 5}, - {"matrix": [5, 15], "x": 15, "y": 5} - ] - }, - "LAYOUT_75_ansi_wkl": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - {"matrix": [0, 15], "x": 15, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [1, 10], "x": 10, "y": 1}, - {"matrix": [1, 11], "x": 11, "y": 1}, - {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 13], "x": 13, "y": 1, "w": 2}, - {"matrix": [1, 15], "x": 15, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, - {"matrix": [2, 15], "x": 15, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, - {"matrix": [3, 15], "x": 15, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4}, - {"matrix": [4, 6], "x": 6.25, "y": 4}, - {"matrix": [4, 7], "x": 7.25, "y": 4}, - {"matrix": [4, 8], "x": 8.25, "y": 4}, - {"matrix": [4, 9], "x": 9.25, "y": 4}, - {"matrix": [4, 10], "x": 10.25, "y": 4}, - {"matrix": [4, 11], "x": 11.25, "y": 4}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 14], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4}, - - {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5}, - {"matrix": [5, 6], "x": 3, "y": 5, "w": 7}, - {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, - {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, - {"matrix": [5, 13], "x": 13, "y": 5}, - {"matrix": [5, 14], "x": 14, "y": 5}, - {"matrix": [5, 15], "x": 15, "y": 5} - ] - }, - "LAYOUT_75_ansi_wkl_split_bs": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - {"matrix": [0, 15], "x": 15, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [1, 10], "x": 10, "y": 1}, - {"matrix": [1, 11], "x": 11, "y": 1}, - {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 13], "x": 13, "y": 1}, - {"matrix": [1, 14], "x": 14, "y": 1}, - {"matrix": [1, 15], "x": 15, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, - {"matrix": [2, 15], "x": 15, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, - {"matrix": [3, 15], "x": 15, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4}, - {"matrix": [4, 6], "x": 6.25, "y": 4}, - {"matrix": [4, 7], "x": 7.25, "y": 4}, - {"matrix": [4, 8], "x": 8.25, "y": 4}, - {"matrix": [4, 9], "x": 9.25, "y": 4}, - {"matrix": [4, 10], "x": 10.25, "y": 4}, - {"matrix": [4, 11], "x": 11.25, "y": 4}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 14], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4}, - - {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5}, - {"matrix": [5, 6], "x": 3, "y": 5, "w": 7}, - {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, - {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, - {"matrix": [5, 13], "x": 13, "y": 5}, - {"matrix": [5, 14], "x": 14, "y": 5}, - {"matrix": [5, 15], "x": 15, "y": 5} - ] - }, - "LAYOUT_75_iso": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - {"matrix": [0, 15], "x": 15, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [1, 10], "x": 10, "y": 1}, - {"matrix": [1, 11], "x": 11, "y": 1}, - {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 13], "x": 13, "y": 1, "w": 2}, - {"matrix": [1, 15], "x": 15, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 15], "x": 15, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 12], "x": 12.75, "y": 3}, - {"matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, - {"matrix": [3, 15], "x": 15, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4}, - {"matrix": [4, 6], "x": 6.25, "y": 4}, - {"matrix": [4, 7], "x": 7.25, "y": 4}, - {"matrix": [4, 8], "x": 8.25, "y": 4}, - {"matrix": [4, 9], "x": 9.25, "y": 4}, - {"matrix": [4, 10], "x": 10.25, "y": 4}, - {"matrix": [4, 11], "x": 11.25, "y": 4}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 14], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4}, - - {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, - {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5}, - {"matrix": [5, 11], "x": 11, "y": 5}, - {"matrix": [5, 12], "x": 12, "y": 5}, - {"matrix": [5, 13], "x": 13, "y": 5}, - {"matrix": [5, 14], "x": 14, "y": 5}, - {"matrix": [5, 15], "x": 15, "y": 5} - ] - }, - "LAYOUT_75_iso_split_bs": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - {"matrix": [0, 15], "x": 15, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [1, 10], "x": 10, "y": 1}, - {"matrix": [1, 11], "x": 11, "y": 1}, - {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 13], "x": 13, "y": 1}, - {"matrix": [1, 14], "x": 14, "y": 1}, - {"matrix": [1, 15], "x": 15, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 15], "x": 15, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 12], "x": 12.75, "y": 3}, - {"matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, - {"matrix": [3, 15], "x": 15, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4}, - {"matrix": [4, 6], "x": 6.25, "y": 4}, - {"matrix": [4, 7], "x": 7.25, "y": 4}, - {"matrix": [4, 8], "x": 8.25, "y": 4}, - {"matrix": [4, 9], "x": 9.25, "y": 4}, - {"matrix": [4, 10], "x": 10.25, "y": 4}, - {"matrix": [4, 11], "x": 11.25, "y": 4}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 14], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4}, - - {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, - {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5}, - {"matrix": [5, 11], "x": 11, "y": 5}, - {"matrix": [5, 12], "x": 12, "y": 5}, - {"matrix": [5, 13], "x": 13, "y": 5}, - {"matrix": [5, 14], "x": 14, "y": 5}, - {"matrix": [5, 15], "x": 15, "y": 5} - ] - }, - "LAYOUT_75_iso_wkl": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - {"matrix": [0, 15], "x": 15, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [1, 10], "x": 10, "y": 1}, - {"matrix": [1, 11], "x": 11, "y": 1}, - {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 13], "x": 13, "y": 1, "w": 2}, - {"matrix": [1, 15], "x": 15, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 15], "x": 15, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 12], "x": 12.75, "y": 3}, - {"matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, - {"matrix": [3, 15], "x": 15, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4}, - {"matrix": [4, 6], "x": 6.25, "y": 4}, - {"matrix": [4, 7], "x": 7.25, "y": 4}, - {"matrix": [4, 8], "x": 8.25, "y": 4}, - {"matrix": [4, 9], "x": 9.25, "y": 4}, - {"matrix": [4, 10], "x": 10.25, "y": 4}, - {"matrix": [4, 11], "x": 11.25, "y": 4}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 14], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4}, - - {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5}, - {"matrix": [5, 6], "x": 3, "y": 5, "w": 7}, - {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, - {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, - {"matrix": [5, 13], "x": 13, "y": 5}, - {"matrix": [5, 14], "x": 14, "y": 5}, - {"matrix": [5, 15], "x": 15, "y": 5} - ] - }, - "LAYOUT_75_iso_wkl_split_bs": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - {"matrix": [0, 15], "x": 15, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [1, 10], "x": 10, "y": 1}, - {"matrix": [1, 11], "x": 11, "y": 1}, - {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 13], "x": 13, "y": 1}, - {"matrix": [1, 14], "x": 14, "y": 1}, - {"matrix": [1, 15], "x": 15, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 15], "x": 15, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 12], "x": 12.75, "y": 3}, - {"matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, - {"matrix": [3, 15], "x": 15, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4}, - {"matrix": [4, 6], "x": 6.25, "y": 4}, - {"matrix": [4, 7], "x": 7.25, "y": 4}, - {"matrix": [4, 8], "x": 8.25, "y": 4}, - {"matrix": [4, 9], "x": 9.25, "y": 4}, - {"matrix": [4, 10], "x": 10.25, "y": 4}, - {"matrix": [4, 11], "x": 11.25, "y": 4}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 14], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4}, - - {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5}, - {"matrix": [5, 6], "x": 3, "y": 5, "w": 7}, - {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, - {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, - {"matrix": [5, 13], "x": 13, "y": 5}, - {"matrix": [5, 14], "x": 14, "y": 5}, - {"matrix": [5, 15], "x": 15, "y": 5} - ] } } } diff --git a/keyboards/mechlovin/olly/octagon/keymaps/default/keymap.c b/keyboards/mechlovin/olly/octagon/keymaps/default/keymap.c index 19cd554ac3..353f5f5d6d 100644 --- a/keyboards/mechlovin/olly/octagon/keymaps/default/keymap.c +++ b/keyboards/mechlovin/olly/octagon/keymaps/default/keymap.c @@ -16,12 +16,12 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT_split_bs( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PAUS, KC_DEL, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, _______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) }; diff --git a/keyboards/mechlovin/olly/octagon/matrix_diagram.md b/keyboards/mechlovin/olly/octagon/matrix_diagram.md deleted file mode 100644 index 426e0691d1..0000000000 --- a/keyboards/mechlovin/olly/octagon/matrix_diagram.md +++ /dev/null @@ -1,26 +0,0 @@ -# Matrix Diagram for Mechlovin Olly Octagon - -``` -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ -│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ -├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ -│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │1D │ 2u Backspace -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ -│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │2F │ │ │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2E │ ISO Enter -│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3F │ │3C │ │ -├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ -│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4E │4F │ -├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ -│50 │51 │52 │56 │5A │5B │5C │5D │5E │5F │ -└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ -┌────────┐ -│40 │ 2.25u LShift -└────────┘ -┌────┬───┬────┬────────────────────────┬────┬───┬───┬───┬───┬───┐ -│50 │51 │52 │56 │5A │5B │5C │5D │5E │5F │ Alternative -└────┴───┴────┴────────────────────────┴────┴───┴───┴───┴───┴───┘ -┌─────┬─────┬───────────────────────────┬─────┬─────┬───┬───┬───┐ -│50 │51 │56 │5A │5C │5D │5E │5F │ WKL -└─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┴───┘ -``` diff --git a/keyboards/mechlovin/olly/orion/keyboard.json b/keyboards/mechlovin/olly/orion/keyboard.json index 408d904899..2780e21949 100644 --- a/keyboards/mechlovin/olly/orion/keyboard.json +++ b/keyboards/mechlovin/olly/orion/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Olly Orion", "manufacturer": "Mechlovin.Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/pisces/keyboard.json b/keyboards/mechlovin/pisces/keyboard.json index 4186a1c750..37915826e6 100644 --- a/keyboards/mechlovin/pisces/keyboard.json +++ b/keyboards/mechlovin/pisces/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pisces65", "manufacturer": "Team.Mechlovin", + "url": "", "maintainer": "mechlovin", "usb": { "vid": "0x4D4C", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/mechlovin/serratus/keyboard.json b/keyboards/mechlovin/serratus/keyboard.json index 8cf0778c1d..c283c48a35 100644 --- a/keyboards/mechlovin/serratus/keyboard.json +++ b/keyboards/mechlovin/serratus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Serratus Rev.1", "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/th1800/keyboard.json b/keyboards/mechlovin/th1800/keyboard.json index 8162deca81..66b7487545 100644 --- a/keyboards/mechlovin/th1800/keyboard.json +++ b/keyboards/mechlovin/th1800/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "th-1800", "manufacturer": "Team Mechlovin", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/zed1800/info.json b/keyboards/mechlovin/zed1800/info.json index aecaf6d922..9de42c2442 100644 --- a/keyboards/mechlovin/zed1800/info.json +++ b/keyboards/mechlovin/zed1800/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/zed1800/rules.mk b/keyboards/mechlovin/zed1800/rules.mk new file mode 100644 index 0000000000..e0088c95c3 --- /dev/null +++ b/keyboards/mechlovin/zed1800/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/zed1800/saber diff --git a/keyboards/mechlovin/zed60/keyboard.json b/keyboards/mechlovin/zed60/keyboard.json index aa56a3aab8..39a8ae7ea7 100644 --- a/keyboards/mechlovin/zed60/keyboard.json +++ b/keyboards/mechlovin/zed60/keyboard.json @@ -1,9 +1,13 @@ { - "manufacturer": "Mechlovin Studio", "keyboard_name": "Zed60", + "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Mechlovin' Studio", - "bootloader": "stm32duino", - "diode_direction": "COL2ROW", + "usb": { + "vid": "0x4D4C", + "pid": "0x0602", + "device_version": "0.0.1" + }, "features": { "bootmagic": true, "command": true, @@ -13,110 +17,41 @@ "nkro": false, "rgblight": true }, - "indicators": { - "caps_lock": "A4" - }, "matrix_pins": { "cols": ["A10", "A3", "A9", "A8", "B15", "B14", "B13", "B12", "B5", "B4", "B3", "A15", "B7", "B6"], "rows": ["B10", "B2", "B1", "B0", "A2"] }, - "processor": "STM32F103", + "diode_direction": "COL2ROW", + "indicators": { + "caps_lock": "A4" + }, "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "rgb_test": true, - "snake": true, - "static_gradient": true - }, + "saturation_steps": 8, "brightness_steps": 8, "led_count": 22, - "saturation_steps": 8, - "sleep": true - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x0602", - "vid": "0x4D4C" + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true + } }, "ws2812": { - "driver": "spi", - "pin": "A7" + "pin": "A7", + "driver": "spi" }, + "processor": "STM32F103", + "bootloader": "stm32duino", "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift", - "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift" }, "layouts": { - "LAYOUT_60_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, "LAYOUT_60_ansi_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -134,6 +69,7 @@ {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0}, {"matrix": [2, 12], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -148,6 +84,7 @@ {"matrix": [1, 11], "x": 11.5, "y": 1}, {"matrix": [1, 12], "x": 12.5, "y": 1}, {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -161,6 +98,7 @@ {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [3, 2], "x": 2.25, "y": 3}, {"matrix": [3, 3], "x": 3.25, "y": 3}, @@ -174,6 +112,76 @@ {"matrix": [3, 11], "x": 11.25, "y": 3}, {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, @@ -200,6 +208,7 @@ {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -214,6 +223,7 @@ {"matrix": [1, 11], "x": 11.5, "y": 1}, {"matrix": [1, 12], "x": 12.5, "y": 1}, {"matrix": [1, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -227,6 +237,7 @@ {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [2, 13], "x": 12.75, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, {"matrix": [3, 1], "x": 1.25, "y": 3}, {"matrix": [3, 2], "x": 2.25, "y": 3}, @@ -240,6 +251,7 @@ {"matrix": [3, 10], "x": 10.25, "y": 3}, {"matrix": [3, 11], "x": 11.25, "y": 3}, {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, @@ -249,72 +261,6 @@ {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 12], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] } } } diff --git a/keyboards/mechlovin/zed65/mono_led/keyboard.json b/keyboards/mechlovin/zed65/mono_led/keyboard.json index e33db35a7a..763fbe9f4c 100644 --- a/keyboards/mechlovin/zed65/mono_led/keyboard.json +++ b/keyboards/mechlovin/zed65/mono_led/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Zed65-MonoLED", "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json b/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json index 56103e44db..4b3ed831c5 100644 --- a/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json +++ b/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json @@ -11,6 +11,7 @@ "cols": ["B11", "B10", "B2", "B1", "B0", "A6", "A5", "A4", "A3", "A2", "C13", "B7", "B6", "B5", "B4", "B3"], "rows": ["B12", "B13", "B14", "B15", "A1"] }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x6504", diff --git a/keyboards/mechlovin/zed65/no_backlight/retro66/keyboard.json b/keyboards/mechlovin/zed65/no_backlight/retro66/keyboard.json index 8fcfde5db9..49ed44f0a1 100644 --- a/keyboards/mechlovin/zed65/no_backlight/retro66/keyboard.json +++ b/keyboards/mechlovin/zed65/no_backlight/retro66/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Retro66", "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Mechlovin' Studio", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/zed65/no_backlight/rules.mk b/keyboards/mechlovin/zed65/no_backlight/rules.mk new file mode 100644 index 0000000000..a699765498 --- /dev/null +++ b/keyboards/mechlovin/zed65/no_backlight/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/zed65/no_backlight/wearhaus66 diff --git a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/keyboard.json b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/keyboard.json index c2b75fd1e4..c9c9e0ddb1 100644 --- a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/keyboard.json +++ b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Wearhaus66", "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "mechlovin", "usb": { "vid": "0x4D4C", diff --git a/keyboards/mechlovin/zed65/rules.mk b/keyboards/mechlovin/zed65/rules.mk new file mode 100644 index 0000000000..a699765498 --- /dev/null +++ b/keyboards/mechlovin/zed65/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechlovin/zed65/no_backlight/wearhaus66 diff --git a/keyboards/mechstudio/dawn/keyboard.json b/keyboards/mechstudio/dawn/keyboard.json index 4c96a37c52..dc1894f4e5 100644 --- a/keyboards/mechstudio/dawn/keyboard.json +++ b/keyboards/mechstudio/dawn/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/mechwild/bde/info.json b/keyboards/mechwild/bde/info.json index edecde1eba..918c792aa7 100644 --- a/keyboards/mechwild/bde/info.json +++ b/keyboards/mechwild/bde/info.json @@ -10,7 +10,8 @@ }, "development_board": "promicro", "rgblight": { - "sleep": true + "sleep": true, + "max_brightness": 255 }, "tapping": { "tap_keycode_delay": 10, diff --git a/keyboards/mechwild/bde/rev2/keyboard.json b/keyboards/mechwild/bde/rev2/keyboard.json index b166934e1e..932f99f0e9 100644 --- a/keyboards/mechwild/bde/rev2/keyboard.json +++ b/keyboards/mechwild/bde/rev2/keyboard.json @@ -34,6 +34,7 @@ "animations": { "rainbow_swirl": true }, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8 }, diff --git a/keyboards/mechwild/bde/rules.mk b/keyboards/mechwild/bde/rules.mk new file mode 100644 index 0000000000..138a291916 --- /dev/null +++ b/keyboards/mechwild/bde/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechwild/bde/rev2 diff --git a/keyboards/mechwild/mercutio/keyboard.json b/keyboards/mechwild/mercutio/keyboard.json index d0b7d51029..0a7d758128 100644 --- a/keyboards/mechwild/mercutio/keyboard.json +++ b/keyboards/mechwild/mercutio/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mechwild/mokulua/readme.md b/keyboards/mechwild/mokulua/readme.md index 5a6b69e66e..24f01b10d4 100644 --- a/keyboards/mechwild/mokulua/readme.md +++ b/keyboards/mechwild/mokulua/readme.md @@ -2,6 +2,8 @@ ![Mokulua](https://i.imgur.com/7fifiQch.jpg) +*A short description of the keyboard/project* + * Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery) * Hardware Supported: Mokulua v1.3 * Hardware Availability: https://mechwild.com/product/mokulua/ diff --git a/keyboards/mechwild/mokulua/rules.mk b/keyboards/mechwild/mokulua/rules.mk new file mode 100644 index 0000000000..3a87a143e5 --- /dev/null +++ b/keyboards/mechwild/mokulua/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechwild/mokulua/standard \ No newline at end of file diff --git a/keyboards/mechwild/murphpad/keyboard.json b/keyboards/mechwild/murphpad/keyboard.json index 8ab90bd937..47d99f78e9 100644 --- a/keyboards/mechwild/murphpad/keyboard.json +++ b/keyboards/mechwild/murphpad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mechwild/obe/f401/rules.mk b/keyboards/mechwild/obe/f401/rules.mk new file mode 100644 index 0000000000..8709dbb4de --- /dev/null +++ b/keyboards/mechwild/obe/f401/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechwild/obe/f401/base diff --git a/keyboards/mechwild/obe/f411/rules.mk b/keyboards/mechwild/obe/f411/rules.mk new file mode 100644 index 0000000000..e24fe60509 --- /dev/null +++ b/keyboards/mechwild/obe/f411/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechwild/obe/f411/base diff --git a/keyboards/mechwild/obe/info.json b/keyboards/mechwild/obe/info.json index 5244062e9a..2247f69fac 100644 --- a/keyboards/mechwild/obe/info.json +++ b/keyboards/mechwild/obe/info.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mechwild/obe/rules.mk b/keyboards/mechwild/obe/rules.mk new file mode 100644 index 0000000000..8709dbb4de --- /dev/null +++ b/keyboards/mechwild/obe/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechwild/obe/f401/base diff --git a/keyboards/mechwild/puckbuddy/halconf.h b/keyboards/mechwild/puckbuddy/halconf.h index fb6312d554..07e8cdd17b 100644 --- a/keyboards/mechwild/puckbuddy/halconf.h +++ b/keyboards/mechwild/puckbuddy/halconf.h @@ -5,6 +5,9 @@ #pragma once #define HAL_USE_I2C TRUE + #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/mechwild/sugarglider/f401/keyboard.json b/keyboards/mechwild/sugarglider/f401/keyboard.json index 658f174275..7bf58c1b45 100644 --- a/keyboards/mechwild/sugarglider/f401/keyboard.json +++ b/keyboards/mechwild/sugarglider/f401/keyboard.json @@ -4,6 +4,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgblight": true, "encoder": true, diff --git a/keyboards/mechwild/sugarglider/f411/keyboard.json b/keyboards/mechwild/sugarglider/f411/keyboard.json index e990db524b..dd76af1f10 100644 --- a/keyboards/mechwild/sugarglider/f411/keyboard.json +++ b/keyboards/mechwild/sugarglider/f411/keyboard.json @@ -4,6 +4,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgblight": true, "encoder": true, diff --git a/keyboards/mechwild/sugarglider/halconf.h b/keyboards/mechwild/sugarglider/halconf.h index 76bd6cf256..23a1dc04b3 100644 --- a/keyboards/mechwild/sugarglider/halconf.h +++ b/keyboards/mechwild/sugarglider/halconf.h @@ -4,6 +4,9 @@ #pragma once #define HAL_USE_I2C TRUE + #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/mechwild/sugarglider/info.json b/keyboards/mechwild/sugarglider/info.json index 0b796f7c21..80004f35d1 100644 --- a/keyboards/mechwild/sugarglider/info.json +++ b/keyboards/mechwild/sugarglider/info.json @@ -18,6 +18,8 @@ }, "rgblight": { "led_count": 10, + "max_brightness": 255, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, "animations": { diff --git a/keyboards/mechwild/sugarglider/wide_oled/f401/keyboard.json b/keyboards/mechwild/sugarglider/wide_oled/f401/keyboard.json index 658f174275..7bf58c1b45 100644 --- a/keyboards/mechwild/sugarglider/wide_oled/f401/keyboard.json +++ b/keyboards/mechwild/sugarglider/wide_oled/f401/keyboard.json @@ -4,6 +4,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgblight": true, "encoder": true, diff --git a/keyboards/mechwild/sugarglider/wide_oled/f411/keyboard.json b/keyboards/mechwild/sugarglider/wide_oled/f411/keyboard.json index e990db524b..dd76af1f10 100644 --- a/keyboards/mechwild/sugarglider/wide_oled/f411/keyboard.json +++ b/keyboards/mechwild/sugarglider/wide_oled/f411/keyboard.json @@ -4,6 +4,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgblight": true, "encoder": true, diff --git a/keyboards/mechwild/waka60/f401/rules.mk b/keyboards/mechwild/waka60/f401/rules.mk new file mode 100644 index 0000000000..a0d74c14eb --- /dev/null +++ b/keyboards/mechwild/waka60/f401/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechwild/waka60/f401/base diff --git a/keyboards/mechwild/waka60/f411/rules.mk b/keyboards/mechwild/waka60/f411/rules.mk new file mode 100644 index 0000000000..0dd69ff65f --- /dev/null +++ b/keyboards/mechwild/waka60/f411/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechwild/waka60/f411/base diff --git a/keyboards/mechwild/waka60/rules.mk b/keyboards/mechwild/waka60/rules.mk new file mode 100644 index 0000000000..a0d74c14eb --- /dev/null +++ b/keyboards/mechwild/waka60/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechwild/waka60/f401/base diff --git a/keyboards/meetlab/kafka60/keyboard.json b/keyboards/meetlab/kafka60/keyboard.json index 2c7c41b23d..5dbf3f5642 100644 --- a/keyboards/meetlab/kafka60/keyboard.json +++ b/keyboards/meetlab/kafka60/keyboard.json @@ -13,6 +13,7 @@ "cols": ["A15", "B3", "B4", "B5", "B6", "B7", "B8", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B11"], "rows": ["B15", "A8", "B13", "B12", "A9"] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xBF06", diff --git a/keyboards/meetlab/kafka68/keyboard.json b/keyboards/meetlab/kafka68/keyboard.json index 418749ed43..3836edc3c9 100644 --- a/keyboards/meetlab/kafka68/keyboard.json +++ b/keyboards/meetlab/kafka68/keyboard.json @@ -14,6 +14,7 @@ "cols": ["A10", "B7", "B6", "B5", "B4", "B3", "A15", "B0", "A7", "A6", "A5", "A4", "A3", "B1", "B10", "B11"], "rows": ["B13", "B14", "B15", "A8", "A9"] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xAA07", diff --git a/keyboards/meetlab/kafkasplit/keyboard.json b/keyboards/meetlab/kafkasplit/keyboard.json index 77e5ec3e13..375d4f7a03 100644 --- a/keyboards/meetlab/kafkasplit/keyboard.json +++ b/keyboards/meetlab/kafkasplit/keyboard.json @@ -14,7 +14,8 @@ "wpm": true }, "indicators": { - "caps_lock": "GP25" + "caps_lock": "GP25", + "on_state": 1 }, "matrix_pins": { "cols": ["GP2", "GP3", "GP6", "GP7", "GP10", "GP11"], @@ -142,6 +143,7 @@ } } }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0xBFC2", diff --git a/keyboards/meetlab/kalice/keyboard.json b/keyboards/meetlab/kalice/keyboard.json index eb91d64466..5e53fe4904 100644 --- a/keyboards/meetlab/kalice/keyboard.json +++ b/keyboards/meetlab/kalice/keyboard.json @@ -31,6 +31,7 @@ "led_count": 11, "saturation_steps": 8 }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xBB04", diff --git a/keyboards/meetlab/rena/keyboard.json b/keyboards/meetlab/rena/keyboard.json index 8787fb0ee8..cf28f6d5f0 100644 --- a/keyboards/meetlab/rena/keyboard.json +++ b/keyboards/meetlab/rena/keyboard.json @@ -39,6 +39,7 @@ "led_count": 1, "saturation_steps": 8 }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xAB06", diff --git a/keyboards/mehkee96/keyboard.json b/keyboards/mehkee96/keyboard.json index 4a72232d36..4f4d4853c8 100644 --- a/keyboards/mehkee96/keyboard.json +++ b/keyboards/mehkee96/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "96KEE", "manufacturer": "Mehkee", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/meletrix/zoom65/keyboard.json b/keyboards/meletrix/zoom65/keyboard.json index ce83a60be4..997b6d55e3 100644 --- a/keyboards/meletrix/zoom65/keyboard.json +++ b/keyboards/meletrix/zoom65/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/meletrix/zoom65_lite/keyboard.json b/keyboards/meletrix/zoom65_lite/keyboard.json index 3977ea668a..990c34206d 100644 --- a/keyboards/meletrix/zoom65_lite/keyboard.json +++ b/keyboards/meletrix/zoom65_lite/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/meletrix/zoom75/keyboard.json b/keyboards/meletrix/zoom75/keyboard.json index 04e11e19ba..20d7dc064a 100644 --- a/keyboards/meletrix/zoom75/keyboard.json +++ b/keyboards/meletrix/zoom75/keyboard.json @@ -20,6 +20,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/meletrix/zoom87/keyboard.json b/keyboards/meletrix/zoom87/keyboard.json index 4f9c6812a6..b2cec7968f 100644 --- a/keyboards/meletrix/zoom87/keyboard.json +++ b/keyboards/meletrix/zoom87/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/meletrix/zoom98/keyboard.json b/keyboards/meletrix/zoom98/keyboard.json index 9665327972..b7d5672950 100644 --- a/keyboards/meletrix/zoom98/keyboard.json +++ b/keyboards/meletrix/zoom98/keyboard.json @@ -19,6 +19,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "rgb_matrix": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/melgeek/mach80/info.json b/keyboards/melgeek/mach80/info.json index d8a565b2e4..ade831fc36 100755 --- a/keyboards/melgeek/mach80/info.json +++ b/keyboards/melgeek/mach80/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mach80", "manufacturer": "MelGeek", + "url": "", "maintainer": "melgeek001365", "usb": { "vid": "0xEDED", diff --git a/keyboards/melgeek/mach80/rev1/keyboard.json b/keyboards/melgeek/mach80/rev1/keyboard.json index 78a8dbf0f6..5cb145793d 100644 --- a/keyboards/melgeek/mach80/rev1/keyboard.json +++ b/keyboards/melgeek/mach80/rev1/keyboard.json @@ -4,6 +4,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/mach80/rev2/keyboard.json b/keyboards/melgeek/mach80/rev2/keyboard.json index 78a8dbf0f6..5cb145793d 100644 --- a/keyboards/melgeek/mach80/rev2/keyboard.json +++ b/keyboards/melgeek/mach80/rev2/keyboard.json @@ -4,6 +4,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/mj61/info.json b/keyboards/melgeek/mj61/info.json index 9a3e86d5e0..d34dc59364 100644 --- a/keyboards/melgeek/mj61/info.json +++ b/keyboards/melgeek/mj61/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "MJ61", "manufacturer": "MelGeek", + "url": "", "maintainer": "melgeek001365", "usb": { "vid": "0xEDED", diff --git a/keyboards/melgeek/mj61/rev1/keyboard.json b/keyboards/melgeek/mj61/rev1/keyboard.json index b388908579..e0bd315865 100644 --- a/keyboards/melgeek/mj61/rev1/keyboard.json +++ b/keyboards/melgeek/mj61/rev1/keyboard.json @@ -1,6 +1,8 @@ { "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/mj61/rev2/keyboard.json b/keyboards/melgeek/mj61/rev2/keyboard.json index fcff9e10a5..779cfc091c 100644 --- a/keyboards/melgeek/mj61/rev2/keyboard.json +++ b/keyboards/melgeek/mj61/rev2/keyboard.json @@ -1,6 +1,8 @@ { "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/mj63/info.json b/keyboards/melgeek/mj63/info.json index af59bf8a59..c81bf9f867 100644 --- a/keyboards/melgeek/mj63/info.json +++ b/keyboards/melgeek/mj63/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "MJ63", "manufacturer": "MelGeek", + "url": "", "maintainer": "melgeek001365", "usb": { "vid": "0xEDED", diff --git a/keyboards/melgeek/mj63/rev1/keyboard.json b/keyboards/melgeek/mj63/rev1/keyboard.json index b388908579..e0bd315865 100644 --- a/keyboards/melgeek/mj63/rev1/keyboard.json +++ b/keyboards/melgeek/mj63/rev1/keyboard.json @@ -1,6 +1,8 @@ { "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/mj63/rev2/keyboard.json b/keyboards/melgeek/mj63/rev2/keyboard.json index fcff9e10a5..779cfc091c 100644 --- a/keyboards/melgeek/mj63/rev2/keyboard.json +++ b/keyboards/melgeek/mj63/rev2/keyboard.json @@ -1,6 +1,8 @@ { "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/mj64/info.json b/keyboards/melgeek/mj64/info.json index 25d908db5d..731996ef84 100644 --- a/keyboards/melgeek/mj64/info.json +++ b/keyboards/melgeek/mj64/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "MJ64", "manufacturer": "MelGeek", + "url": "", "maintainer": "melgeek001365", "usb": { "vid": "0xEDED", diff --git a/keyboards/melgeek/mj64/rev1/keyboard.json b/keyboards/melgeek/mj64/rev1/keyboard.json index b388908579..e0bd315865 100644 --- a/keyboards/melgeek/mj64/rev1/keyboard.json +++ b/keyboards/melgeek/mj64/rev1/keyboard.json @@ -1,6 +1,8 @@ { "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/mj64/rev2/keyboard.json b/keyboards/melgeek/mj64/rev2/keyboard.json index b388908579..e0bd315865 100644 --- a/keyboards/melgeek/mj64/rev2/keyboard.json +++ b/keyboards/melgeek/mj64/rev2/keyboard.json @@ -1,6 +1,8 @@ { "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/mj64/rev3/keyboard.json b/keyboards/melgeek/mj64/rev3/keyboard.json index fcff9e10a5..779cfc091c 100644 --- a/keyboards/melgeek/mj64/rev3/keyboard.json +++ b/keyboards/melgeek/mj64/rev3/keyboard.json @@ -1,6 +1,8 @@ { "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/mj65/rev3/keyboard.json b/keyboards/melgeek/mj65/rev3/keyboard.json index a4513b45e7..adf0ef94bc 100644 --- a/keyboards/melgeek/mj65/rev3/keyboard.json +++ b/keyboards/melgeek/mj65/rev3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MJ65", "manufacturer": "MelGeek", + "url": "", "maintainer": "melgeek001365", "usb": { "vid": "0xEDED", diff --git a/keyboards/melgeek/mj6xy/info.json b/keyboards/melgeek/mj6xy/info.json index 3b13337aae..0dd1212354 100755 --- a/keyboards/melgeek/mj6xy/info.json +++ b/keyboards/melgeek/mj6xy/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "MJ6XY", "manufacturer": "MelGeek", + "url": "", "maintainer": "melgeek001365", "usb": { "vid": "0xEDED", diff --git a/keyboards/melgeek/mj6xy/rev3/keyboard.json b/keyboards/melgeek/mj6xy/rev3/keyboard.json index 993887a092..ae44451236 100644 --- a/keyboards/melgeek/mj6xy/rev3/keyboard.json +++ b/keyboards/melgeek/mj6xy/rev3/keyboard.json @@ -2,6 +2,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/mojo68/rev1/keyboard.json b/keyboards/melgeek/mojo68/rev1/keyboard.json index 88f17665b4..7f21839292 100755 --- a/keyboards/melgeek/mojo68/rev1/keyboard.json +++ b/keyboards/melgeek/mojo68/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MoJo68", "manufacturer": "MelGeek", + "url": "", "maintainer": "melgeek001365", "usb": { "vid": "0xEDED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/mojo75/rev1/keyboard.json b/keyboards/melgeek/mojo75/rev1/keyboard.json index 0b0a722c90..a1b93afb69 100644 --- a/keyboards/melgeek/mojo75/rev1/keyboard.json +++ b/keyboards/melgeek/mojo75/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MoJo75", "manufacturer": "MelGeek", + "url": "", "maintainer": "melgeek001365", "usb": { "vid": "0xEDED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/tegic/rev1/keyboard.json b/keyboards/melgeek/tegic/rev1/keyboard.json index 5a1ca4f350..0a2e9306f6 100644 --- a/keyboards/melgeek/tegic/rev1/keyboard.json +++ b/keyboards/melgeek/tegic/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "tegic", "manufacturer": "MelGeek", + "url": "", "maintainer": "melgeek001365", "usb": { "vid": "0xEDED", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/z70ultra/rev1/keyboard.json b/keyboards/melgeek/z70ultra/rev1/keyboard.json index 5a8868265b..de1b1df646 100644 --- a/keyboards/melgeek/z70ultra/rev1/keyboard.json +++ b/keyboards/melgeek/z70ultra/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Z70Ultra", "manufacturer": "MelGeek", + "url": "", "maintainer": "melgeek001365", "usb": { "vid": "0xEDED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/melgeek/z70ultra/rules.mk b/keyboards/melgeek/z70ultra/rules.mk new file mode 100644 index 0000000000..8cc384b91f --- /dev/null +++ b/keyboards/melgeek/z70ultra/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = melgeek/z70ultra/rev1 diff --git a/keyboards/meme/keyboard.json b/keyboards/meme/keyboard.json index 5be88543dd..27acfc5a33 100644 --- a/keyboards/meme/keyboard.json +++ b/keyboards/meme/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Meme", "manufacturer": "Switchmod Keyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/meme/readme.md b/keyboards/meme/readme.md index 7b09a5e18f..94b55d746e 100644 --- a/keyboards/meme/readme.md +++ b/keyboards/meme/readme.md @@ -1,5 +1,7 @@ # Meme +![meme](imgur.com image replace me!) + 65% gasket mount keyboard. Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) diff --git a/keyboards/meow48/keyboard.json b/keyboards/meow48/keyboard.json index 7861555648..3bb78af116 100644 --- a/keyboards/meow48/keyboard.json +++ b/keyboards/meow48/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/meow65/keyboard.json b/keyboards/meow65/keyboard.json index 40afbb0c8b..5870152ee0 100644 --- a/keyboards/meow65/keyboard.json +++ b/keyboards/meow65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/merge/iso_macro/keyboard.json b/keyboards/merge/iso_macro/keyboard.json index 5fcfc6fcb1..1c6d905282 100644 --- a/keyboards/merge/iso_macro/keyboard.json +++ b/keyboards/merge/iso_macro/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ISO Macro", "manufacturer": "Merge", + "url": "", "maintainer": "duoshock", "usb": { "vid": "0x4D65", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/merge/uc1/keyboard.json b/keyboards/merge/uc1/keyboard.json index 496b9a6b5f..85e9b03c64 100644 --- a/keyboards/merge/uc1/keyboard.json +++ b/keyboards/merge/uc1/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/merge/um70/keyboard.json b/keyboards/merge/um70/keyboard.json index 7ebb61f7fe..afb52d3d4f 100644 --- a/keyboards/merge/um70/keyboard.json +++ b/keyboards/merge/um70/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/merge/um80/keyboard.json b/keyboards/merge/um80/keyboard.json index 6024f6e485..ea233e8f1c 100644 --- a/keyboards/merge/um80/keyboard.json +++ b/keyboards/merge/um80/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mesa/mesa_tkl/keyboard.json b/keyboards/mesa/mesa_tkl/keyboard.json index ac84dbf94f..85d1c2b5a0 100644 --- a/keyboards/mesa/mesa_tkl/keyboard.json +++ b/keyboards/mesa/mesa_tkl/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/meson/keyboard.json b/keyboards/meson/keyboard.json index b931403769..62640890ca 100644 --- a/keyboards/meson/keyboard.json +++ b/keyboards/meson/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/metamechs/timberwolf/keyboard.json b/keyboards/metamechs/timberwolf/keyboard.json index 6ccfdab449..262022d2d6 100644 --- a/keyboards/metamechs/timberwolf/keyboard.json +++ b/keyboards/metamechs/timberwolf/keyboard.json @@ -14,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/mexsistor/ludmila/keyboard.json b/keyboards/mexsistor/ludmila/keyboard.json index 61c4cca2ab..71202208c5 100644 --- a/keyboards/mexsistor/ludmila/keyboard.json +++ b/keyboards/mexsistor/ludmila/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ludmila Macropad", "manufacturer": "Kevin M.", + "url": "", "maintainer": "Kevin M.", "usb": { "vid": "0x69CC", diff --git a/keyboards/miiiw/blackio83/rev_0100/keyboard.json b/keyboards/miiiw/blackio83/rev_0100/keyboard.json index e5cf747537..d3fb31d109 100644 --- a/keyboards/miiiw/blackio83/rev_0100/keyboard.json +++ b/keyboards/miiiw/blackio83/rev_0100/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "deferred_exec": true, "dip_switch": true, "extrakey": true, diff --git a/keyboards/mikeneko65/keyboard.json b/keyboards/mikeneko65/keyboard.json index 1d1d50a796..873bb7d042 100644 --- a/keyboards/mikeneko65/keyboard.json +++ b/keyboards/mikeneko65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/miller/gm862/keyboard.json b/keyboards/miller/gm862/keyboard.json index db08a580a9..b8c32cf16a 100644 --- a/keyboards/miller/gm862/keyboard.json +++ b/keyboards/miller/gm862/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GM862", "manufacturer": "MILLER", + "url": "", "maintainer": "MILLER", "usb": { "vid": "0x4B42", @@ -43,6 +44,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/millet/doksin/keyboard.json b/keyboards/millet/doksin/keyboard.json index a472eebc79..7a848662cd 100644 --- a/keyboards/millet/doksin/keyboard.json +++ b/keyboards/millet/doksin/keyboard.json @@ -14,6 +14,7 @@ ] }, "processor": "atmega32u2", + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x1919", diff --git a/keyboards/millipad/keyboard.json b/keyboards/millipad/keyboard.json index d2761b8b1b..7230fa750b 100644 --- a/keyboards/millipad/keyboard.json +++ b/keyboards/millipad/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/mincedshon/ecila/keyboard.json b/keyboards/mincedshon/ecila/keyboard.json index ca0a20568a..fe7173e34a 100644 --- a/keyboards/mincedshon/ecila/keyboard.json +++ b/keyboards/mincedshon/ecila/keyboard.json @@ -32,6 +32,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -43,6 +45,7 @@ "rows": ["E6", "B3", "B5", "B4", "D7"] }, "processor": "atmega32u4", + "url": "", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/mini_elixivy/keyboard.json b/keyboards/mini_elixivy/keyboard.json index 9f6bfb91c0..2d45d70cf4 100644 --- a/keyboards/mini_elixivy/keyboard.json +++ b/keyboards/mini_elixivy/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mini_ten_key_plus/keyboard.json b/keyboards/mini_ten_key_plus/keyboard.json index e3b017a253..10507fa6e5 100644 --- a/keyboards/mini_ten_key_plus/keyboard.json +++ b/keyboards/mini_ten_key_plus/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/minimacro5/keyboard.json b/keyboards/minimacro5/keyboard.json index 033bc1e85a..32be6abd5f 100644 --- a/keyboards/minimacro5/keyboard.json +++ b/keyboards/minimacro5/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "miniMACRO5", "manufacturer": "leafcutterlabs", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xCEEB", @@ -38,6 +39,8 @@ "bootloader": "caterina", "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/minimon/bartlesplit/keyboard.json b/keyboards/minimon/bartlesplit/keyboard.json index 6047d17645..83f93560b6 100644 --- a/keyboards/minimon/bartlesplit/keyboard.json +++ b/keyboards/minimon/bartlesplit/keyboard.json @@ -4,6 +4,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/minimon/index_tab/keyboard.json b/keyboards/minimon/index_tab/keyboard.json index 0c594b42ac..14e4524114 100644 --- a/keyboards/minimon/index_tab/keyboard.json +++ b/keyboards/minimon/index_tab/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/mint60/keyboard.json b/keyboards/mint60/keyboard.json index 1bb54aebd9..c5bfe27365 100644 --- a/keyboards/mint60/keyboard.json +++ b/keyboards/mint60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mint60", "manufacturer": "Eucalyn", + "url": "", "maintainer": "eucalyn", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/mint60/readme.md b/keyboards/mint60/readme.md index 3a28f56181..1824c682f8 100644 --- a/keyboards/mint60/readme.md +++ b/keyboards/mint60/readme.md @@ -2,8 +2,11 @@ ![Mint60](https://i.imgur.com/suOE8HN.jpg) +A short description of the keyboard/project + Keyboard Maintainer: [Eucalyn](https://github.com/eucalyn) [@eucalyn_](https://twitter.com/eucalyn_) Hardware Supported: The Mint60 PCBs, ProMicro supported +Hardware Availability: links to where you can find this hardware Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/misonoworks/chocolatebar/keyboard.json b/keyboards/misonoworks/chocolatebar/keyboard.json index 75b10ae561..cf34557bb1 100644 --- a/keyboards/misonoworks/chocolatebar/keyboard.json +++ b/keyboards/misonoworks/chocolatebar/keyboard.json @@ -26,6 +26,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/misonoworks/karina/keyboard.json b/keyboards/misonoworks/karina/keyboard.json index 1266c07cea..0d9d55d206 100644 --- a/keyboards/misonoworks/karina/keyboard.json +++ b/keyboards/misonoworks/karina/keyboard.json @@ -29,6 +29,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/misterknife/knife66/keyboard.json b/keyboards/misterknife/knife66/keyboard.json index bfb25bb422..9e3d0c66b7 100644 --- a/keyboards/misterknife/knife66/keyboard.json +++ b/keyboards/misterknife/knife66/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Knife66", "manufacturer": "MisterKnife", + "url": "", "maintainer": "afewyards", "usb": { "vid": "0xAC11", @@ -32,6 +33,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/misterknife/knife66_iso/keyboard.json b/keyboards/misterknife/knife66_iso/keyboard.json index f35609b3af..88f8746109 100644 --- a/keyboards/misterknife/knife66_iso/keyboard.json +++ b/keyboards/misterknife/knife66_iso/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Knife66 ISO", "manufacturer": "MisterKnife", + "url": "", "maintainer": "afewyards", "usb": { "vid": "0xAC11", @@ -32,6 +33,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/mitosis/keyboard.json b/keyboards/mitosis/keyboard.json index 310c0ebd1a..c69d1d30cd 100644 --- a/keyboards/mitosis/keyboard.json +++ b/keyboards/mitosis/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mitosis", "manufacturer": "Unknown", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/miuni32/keyboard.json b/keyboards/miuni32/keyboard.json index 1ff7d1a39a..0b52b058fa 100644 --- a/keyboards/miuni32/keyboard.json +++ b/keyboards/miuni32/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Miuni32", "manufacturer": "Bigtuna.io", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -29,6 +30,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/mk65/keyboard.json b/keyboards/mk65/keyboard.json index 55bfdc0a34..9135deaf19 100644 --- a/keyboards/mk65/keyboard.json +++ b/keyboards/mk65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MK-65", "manufacturer": "mangooo", + "url": "", "maintainer": "DeskDaily", "usb": { "vid": "0x5004", @@ -26,13 +27,17 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgblight": true }, "rgblight": { "led_count": 7, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, + "max_brightness": 255, "sleep": true, "animations": { "alternating": true, diff --git a/keyboards/ml/gas75/keyboard.json b/keyboards/ml/gas75/keyboard.json index b7736884fc..25289db9c8 100644 --- a/keyboards/ml/gas75/keyboard.json +++ b/keyboards/ml/gas75/keyboard.json @@ -58,6 +58,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/mlego/m48/rev1/keyboard.json b/keyboards/mlego/m48/rev1/keyboard.json index 72e0ca383f..efd3888295 100644 --- a/keyboards/mlego/m48/rev1/keyboard.json +++ b/keyboards/mlego/m48/rev1/keyboard.json @@ -5,6 +5,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mlego/m60/rev1/keyboard.json b/keyboards/mlego/m60/rev1/keyboard.json index 36bfcb15b6..126338b0c8 100644 --- a/keyboards/mlego/m60/rev1/keyboard.json +++ b/keyboards/mlego/m60/rev1/keyboard.json @@ -5,6 +5,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mlego/m65/rev1/keyboard.json b/keyboards/mlego/m65/rev1/keyboard.json index 6959d11456..2f77137eec 100644 --- a/keyboards/mlego/m65/rev1/keyboard.json +++ b/keyboards/mlego/m65/rev1/keyboard.json @@ -3,6 +3,7 @@ "keyboard_name": "mlego/m65 rev1", "maintainer": "alin elena", "bootloader": "stm32duino", + "debounce": 5, "diode_direction": "COL2ROW", "encoder": { "rotary": [ @@ -11,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -39,6 +42,7 @@ "static_gradient": true, "twinkle": true }, + "hue_steps": 8, "layers": { "enabled": true }, diff --git a/keyboards/mlego/m65/rev2/keyboard.json b/keyboards/mlego/m65/rev2/keyboard.json index f0aa70e90b..0014767309 100644 --- a/keyboards/mlego/m65/rev2/keyboard.json +++ b/keyboards/mlego/m65/rev2/keyboard.json @@ -12,6 +12,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -40,6 +41,7 @@ "static_gradient": true, "twinkle": true }, + "hue_steps": 8, "layers": { "enabled": true }, diff --git a/keyboards/mlego/m65/rev3/keyboard.json b/keyboards/mlego/m65/rev3/keyboard.json index 21efcc027b..4b7980b63b 100644 --- a/keyboards/mlego/m65/rev3/keyboard.json +++ b/keyboards/mlego/m65/rev3/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -40,6 +42,7 @@ "static_gradient": true, "twinkle": true }, + "hue_steps": 8, "layers": { "enabled": true }, diff --git a/keyboards/mlego/m65/rev4/keyboard.json b/keyboards/mlego/m65/rev4/keyboard.json index 58c2bad7bf..ab2a708ba8 100644 --- a/keyboards/mlego/m65/rev4/keyboard.json +++ b/keyboards/mlego/m65/rev4/keyboard.json @@ -12,6 +12,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, @@ -43,6 +44,7 @@ "static_gradient": true, "twinkle": true }, + "hue_steps": 8, "layers": { "enabled": true }, diff --git a/keyboards/mmkzoo65/keyboard.json b/keyboards/mmkzoo65/keyboard.json index fdd5f50b60..f023f34ef0 100644 --- a/keyboards/mmkzoo65/keyboard.json +++ b/keyboards/mmkzoo65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MMKZOO65", "manufacturer": "MWStudio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7BA1", @@ -11,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/mntre/keyboard.json b/keyboards/mntre/keyboard.json index 41e6e618a6..26dc66dc48 100644 --- a/keyboards/mntre/keyboard.json +++ b/keyboards/mntre/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/mode/m256ws/keyboard.json b/keyboards/mode/m256ws/keyboard.json index 0574be8406..820ed536c2 100644 --- a/keyboards/mode/m256ws/keyboard.json +++ b/keyboards/mode/m256ws/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -34,6 +36,7 @@ "twinkle": true } }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x5753", diff --git a/keyboards/mode/m60h/keyboard.json b/keyboards/mode/m60h/keyboard.json index 39cbdb473f..b33ea3a9c3 100644 --- a/keyboards/mode/m60h/keyboard.json +++ b/keyboards/mode/m60h/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -37,6 +39,7 @@ "max_brightness": 120, "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0062", diff --git a/keyboards/mode/m60h_f/keyboard.json b/keyboards/mode/m60h_f/keyboard.json index f04b599d84..014472bc68 100644 --- a/keyboards/mode/m60h_f/keyboard.json +++ b/keyboards/mode/m60h_f/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -37,6 +39,7 @@ "max_brightness": 120, "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0061", diff --git a/keyboards/mode/m60s/keyboard.json b/keyboards/mode/m60s/keyboard.json index 993af9b798..6a03219427 100644 --- a/keyboards/mode/m60s/keyboard.json +++ b/keyboards/mode/m60s/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -37,6 +39,7 @@ "max_brightness": 120, "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0060", diff --git a/keyboards/mode/m65ha_alpha/keyboard.json b/keyboards/mode/m65ha_alpha/keyboard.json index 7794d16396..cc5271b5c2 100644 --- a/keyboards/mode/m65ha_alpha/keyboard.json +++ b/keyboards/mode/m65ha_alpha/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SixtyFive HA", "manufacturer": "Mode", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x00DE", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/mode/m65hi_alpha/keyboard.json b/keyboards/mode/m65hi_alpha/keyboard.json index 4d3bf4bf0a..c0c843d4de 100644 --- a/keyboards/mode/m65hi_alpha/keyboard.json +++ b/keyboards/mode/m65hi_alpha/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SixtyFive HI", "manufacturer": "Mode", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x00DE", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/mode/m65s/keyboard.json b/keyboards/mode/m65s/keyboard.json index 29221f27d5..ae8df282ad 100644 --- a/keyboards/mode/m65s/keyboard.json +++ b/keyboards/mode/m65s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SixtyFive S", "manufacturer": "Mode", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x00DE", @@ -16,6 +17,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/mode/m75h/keyboard.json b/keyboards/mode/m75h/keyboard.json index 6e6c7b4b96..5d4d8249e6 100644 --- a/keyboards/mode/m75h/keyboard.json +++ b/keyboards/mode/m75h/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "M75H", "manufacturer": "Mode", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x00DE", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/mode/m75s/keyboard.json b/keyboards/mode/m75s/keyboard.json index 822d31aebc..aff38dc622 100644 --- a/keyboards/mode/m75s/keyboard.json +++ b/keyboards/mode/m75s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "75S", "manufacturer": "Mode", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x00DE", @@ -13,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/mode/m80v1/m80h/keyboard.json b/keyboards/mode/m80v1/m80h/keyboard.json index 1e681e7f5c..dcebcb6d49 100644 --- a/keyboards/mode/m80v1/m80h/keyboard.json +++ b/keyboards/mode/m80v1/m80h/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Eighty", "manufacturer": "Mode", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x00DE", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/mode/m80v1/m80s/keyboard.json b/keyboards/mode/m80v1/m80s/keyboard.json index 5e88ff67bb..25bfd3c70a 100644 --- a/keyboards/mode/m80v1/m80s/keyboard.json +++ b/keyboards/mode/m80v1/m80s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Eighty", "manufacturer": "Mode", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x00DE", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/mode/m80v2/m80v2h/keyboard.json b/keyboards/mode/m80v2/m80v2h/keyboard.json index b4bd8e124e..1844e0775c 100644 --- a/keyboards/mode/m80v2/m80v2h/keyboard.json +++ b/keyboards/mode/m80v2/m80v2h/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/mode/m80v2/m80v2s/keyboard.json b/keyboards/mode/m80v2/m80v2s/keyboard.json index 9460ab7308..d8b4c8ee85 100644 --- a/keyboards/mode/m80v2/m80v2s/keyboard.json +++ b/keyboards/mode/m80v2/m80v2s/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/mokey/ginkgo65/keyboard.json b/keyboards/mokey/ginkgo65/keyboard.json index 7279f82cc4..311d91f2d3 100644 --- a/keyboards/mokey/ginkgo65/keyboard.json +++ b/keyboards/mokey/ginkgo65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ginkgo 65", "manufacturer": "Mokey", + "url": "", "maintainer": "rhmokey", "usb": { "vid": "0x6653", @@ -13,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/mokey/ginkgo65hot/keyboard.json b/keyboards/mokey/ginkgo65hot/keyboard.json index f39c490b2f..1674607310 100644 --- a/keyboards/mokey/ginkgo65hot/keyboard.json +++ b/keyboards/mokey/ginkgo65hot/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ginkgo65hot", "manufacturer": "Mokey", + "url": "", "maintainer": "mokey", "usb": { "vid": "0x6653", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/mokey/ibis80/keyboard.json b/keyboards/mokey/ibis80/keyboard.json index a9971d2392..d6cd985d01 100644 --- a/keyboards/mokey/ibis80/keyboard.json +++ b/keyboards/mokey/ibis80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ibis 80", "manufacturer": "Mokey", + "url": "", "maintainer": "Runheme", "usb": { "vid": "0x6653", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/mokey/luckycat70/keyboard.json b/keyboards/mokey/luckycat70/keyboard.json index e714454972..2f9ab6a1e5 100644 --- a/keyboards/mokey/luckycat70/keyboard.json +++ b/keyboards/mokey/luckycat70/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lucky Cat 70", "manufacturer": "qmk", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6653", @@ -12,6 +13,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": false, "rgblight": true }, diff --git a/keyboards/mokey/mokey12x2/keyboard.json b/keyboards/mokey/mokey12x2/keyboard.json index 489856a264..6f22429e72 100644 --- a/keyboards/mokey/mokey12x2/keyboard.json +++ b/keyboards/mokey/mokey12x2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mokey12x2", "manufacturer": "Mokey", + "url": "", "maintainer": "Mokey", "development_board": "bluepill", "diode_direction": "COL2ROW", diff --git a/keyboards/mokey/mokey63/keyboard.json b/keyboards/mokey/mokey63/keyboard.json index 88b7ce3f7f..bebc600510 100644 --- a/keyboards/mokey/mokey63/keyboard.json +++ b/keyboards/mokey/mokey63/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mokey63", "manufacturer": "Mokey", + "url": "", "maintainer": "mokey", "usb": { "vid": "0x6653", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/mokey/mokey64/keyboard.json b/keyboards/mokey/mokey64/keyboard.json index 62b6fc2ac1..0234cf6292 100644 --- a/keyboards/mokey/mokey64/keyboard.json +++ b/keyboards/mokey/mokey64/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mokey64", "manufacturer": "Mokey", + "url": "", "maintainer": "mokey", "usb": { "vid": "0x6653", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/mokey/xox70/keyboard.json b/keyboards/mokey/xox70/keyboard.json index d746a23471..4f8f5439f5 100644 --- a/keyboards/mokey/xox70/keyboard.json +++ b/keyboards/mokey/xox70/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XOX 70", "manufacturer": "Mokey", + "url": "", "maintainer": "Mokey", "usb": { "vid": "0x6653", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/mokey/xox70hot/keyboard.json b/keyboards/mokey/xox70hot/keyboard.json index b2bf671020..7d5f338b62 100644 --- a/keyboards/mokey/xox70hot/keyboard.json +++ b/keyboards/mokey/xox70hot/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XOX 70 Hotswap", "manufacturer": "Mokey", + "url": "", "maintainer": "rhmokey", "usb": { "vid": "0x6653", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/moky/moky67/halconf.h b/keyboards/moky/moky67/halconf.h index 5d94695838..0a59a1fcb8 100644 --- a/keyboards/moky/moky67/halconf.h +++ b/keyboards/moky/moky67/halconf.h @@ -4,5 +4,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/moky/moky67/keyboard.json b/keyboards/moky/moky67/keyboard.json index 869dfc3389..8737790b69 100644 --- a/keyboards/moky/moky67/keyboard.json +++ b/keyboards/moky/moky67/keyboard.json @@ -1,6 +1,7 @@ { "manufacturer": "moky", "keyboard_name": "moky67", + "url": "", "processor": "WB32FQ95", "bootloader": "wb32-dfu", "usb": { diff --git a/keyboards/moky/moky88/config.h b/keyboards/moky/moky88/config.h index 7c102e1a97..a673a38069 100644 --- a/keyboards/moky/moky88/config.h +++ b/keyboards/moky/moky88/config.h @@ -15,4 +15,5 @@ /* RGB Driver */ #define AW20216S_CS_PIN_1 D2 #define AW20216S_CS_PIN_2 B8 -#define AW20216S_EN_PIN B9 +#define AW20216S_EN_PIN_1 B9 +#define AW20216S_EN_PIN_2 B9 diff --git a/keyboards/moky/moky88/halconf.h b/keyboards/moky/moky88/halconf.h index 5d94695838..0a59a1fcb8 100644 --- a/keyboards/moky/moky88/halconf.h +++ b/keyboards/moky/moky88/halconf.h @@ -4,5 +4,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/moky/moky88/keyboard.json b/keyboards/moky/moky88/keyboard.json index 1db4c5247c..38ed4dbd28 100644 --- a/keyboards/moky/moky88/keyboard.json +++ b/keyboards/moky/moky88/keyboard.json @@ -1,6 +1,7 @@ { "manufacturer": "moky", "keyboard_name": "moky88", + "url": "", "processor": "WB32FQ95", "bootloader": "wb32-dfu", "usb": { diff --git a/keyboards/moky/moky88/moky88.c b/keyboards/moky/moky88/moky88.c index 2de672f94f..3cbd6e1468 100644 --- a/keyboards/moky/moky88/moky88.c +++ b/keyboards/moky/moky88/moky88.c @@ -23,97 +23,97 @@ const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { * | | G location * | | | B location * | | | | */ - {0, SW2_CS18, SW2_CS17, SW2_CS16 }, // 0 Esc - {0, SW3_CS18, SW3_CS17, SW3_CS16 }, // 1 F1 - {0, SW4_CS18, SW4_CS17, SW4_CS16 }, // 2 F2 - {0, SW5_CS18, SW5_CS17, SW5_CS16 }, // 3 F3 - {0, SW6_CS18, SW6_CS17, SW6_CS16 }, // 4 F4 - {0, SW7_CS18, SW7_CS17, SW7_CS16 }, // 5 F5 - {0, SW8_CS18, SW8_CS17, SW8_CS16 }, // 6 F6 - {0, SW9_CS18, SW9_CS17, SW9_CS16 }, // 7 F7 - {0, SW10_CS18, SW10_CS17, SW10_CS16 }, // 8 F8 - {0, SW11_CS18, SW11_CS17, SW11_CS16 }, // 9 F9 - {0, SW12_CS18, SW12_CS17, SW12_CS16 }, // 10 F10 - {1, SW1_CS18, SW1_CS17, SW1_CS16 }, // 11 F11 - {1, SW2_CS18, SW2_CS17, SW2_CS16 }, // 12 F12 - {1, SW3_CS18, SW3_CS17, SW3_CS16 }, // 13 MUTE - {1, SW4_CS18, SW4_CS17, SW4_CS16 }, // 14 PSCR - {1, SW5_CS18, SW5_CS17, SW5_CS16 }, // 15 SCRL - {1, SW6_CS18, SW6_CS17, SW6_CS16 }, // 16 PAUSE + {0, CS18_SW2, CS17_SW2, CS16_SW2 }, // 0 Esc + {0, CS18_SW3, CS17_SW3, CS16_SW3 }, // 1 F1 + {0, CS18_SW4, CS17_SW4, CS16_SW4 }, // 2 F2 + {0, CS18_SW5, CS17_SW5, CS16_SW5 }, // 3 F3 + {0, CS18_SW6, CS17_SW6, CS16_SW6 }, // 4 F4 + {0, CS18_SW7, CS17_SW7, CS16_SW7 }, // 5 F5 + {0, CS18_SW8, CS17_SW8, CS16_SW8 }, // 6 F6 + {0, CS18_SW9, CS17_SW9, CS16_SW9 }, // 7 F7 + {0, CS18_SW10, CS17_SW10, CS16_SW10 }, // 8 F8 + {0, CS18_SW11, CS17_SW11, CS16_SW11 }, // 9 F9 + {0, CS18_SW12, CS17_SW12, CS16_SW12 }, // 10 F10 + {1, CS18_SW1, CS17_SW1, CS16_SW1 }, // 11 F11 + {1, CS18_SW2, CS17_SW2, CS16_SW2 }, // 12 F12 + {1, CS18_SW3, CS17_SW3, CS16_SW3 }, // 13 MUTE + {1, CS18_SW4, CS17_SW4, CS16_SW4 }, // 14 PSCR + {1, CS18_SW5, CS17_SW5, CS16_SW5 }, // 15 SCRL + {1, CS18_SW6, CS17_SW6, CS16_SW6 }, // 16 PAUSE - {0, SW2_CS15, SW2_CS14, SW2_CS13 }, // 17 `~ - {0, SW3_CS15, SW3_CS14, SW3_CS13 }, // 18 1 - {0, SW4_CS15, SW4_CS14, SW4_CS13 }, // 19 2 - {0, SW5_CS15, SW5_CS14, SW5_CS13 }, // 20 3 - {0, SW6_CS15, SW6_CS14, SW6_CS13 }, // 21 4 - {0, SW7_CS15, SW7_CS14, SW7_CS13 }, // 22 5 - {0, SW8_CS15, SW8_CS14, SW8_CS13 }, // 23 6 - {0, SW9_CS15, SW9_CS14, SW9_CS13 }, // 24 7 - {0, SW10_CS15, SW10_CS14, SW10_CS13 }, // 25 8 - {0, SW11_CS15, SW11_CS14, SW11_CS13 }, // 26 9 - {0, SW12_CS15, SW12_CS14, SW12_CS13 }, // 27 0 - {1, SW1_CS15, SW1_CS14, SW1_CS13 }, // 28 -_ - {1, SW2_CS15, SW2_CS14, SW2_CS13 }, // 29 =+ - {1, SW3_CS15, SW3_CS14, SW3_CS13 }, // 30 BSPC - {1, SW4_CS15, SW4_CS14, SW4_CS13 }, // 31 INS - {1, SW5_CS15, SW5_CS14, SW5_CS13 }, // 32 HOME - {1, SW6_CS15, SW6_CS14, SW6_CS13 }, // 33 PGUP + {0, CS15_SW2, CS14_SW2, CS13_SW2 }, // 17 `~ + {0, CS15_SW3, CS14_SW3, CS13_SW3 }, // 18 1 + {0, CS15_SW4, CS14_SW4, CS13_SW4 }, // 19 2 + {0, CS15_SW5, CS14_SW5, CS13_SW5 }, // 20 3 + {0, CS15_SW6, CS14_SW6, CS13_SW6 }, // 21 4 + {0, CS15_SW7, CS14_SW7, CS13_SW7 }, // 22 5 + {0, CS15_SW8, CS14_SW8, CS13_SW8 }, // 23 6 + {0, CS15_SW9, CS14_SW9, CS13_SW9 }, // 24 7 + {0, CS15_SW10, CS14_SW10, CS13_SW10 }, // 25 8 + {0, CS15_SW11, CS14_SW11, CS13_SW11 }, // 26 9 + {0, CS15_SW12, CS14_SW12, CS13_SW12 }, // 27 0 + {1, CS15_SW1, CS14_SW1, CS13_SW1 }, // 28 -_ + {1, CS15_SW2, CS14_SW2, CS13_SW2 }, // 29 =+ + {1, CS15_SW3, CS14_SW3, CS13_SW3 }, // 30 BSPC + {1, CS15_SW4, CS14_SW4, CS13_SW4 }, // 31 INS + {1, CS15_SW5, CS14_SW5, CS13_SW5 }, // 32 HOME + {1, CS15_SW6, CS14_SW6, CS13_SW6 }, // 33 PGUP - {0, SW2_CS12, SW2_CS11, SW2_CS10 }, // 34 Tab - {0, SW3_CS12, SW3_CS11, SW3_CS10 }, // 35 Q - {0, SW4_CS12, SW4_CS11, SW4_CS10 }, // 36 W - {0, SW5_CS12, SW5_CS11, SW5_CS10 }, // 37 E - {0, SW6_CS12, SW6_CS11, SW6_CS10 }, // 38 R - {0, SW7_CS12, SW7_CS11, SW7_CS10 }, // 39 T - {0, SW8_CS12, SW8_CS11, SW8_CS10 }, // 40 Y - {0, SW9_CS12, SW9_CS11, SW9_CS10 }, // 41 U - {0, SW10_CS12, SW10_CS11, SW10_CS10 }, // 42 I - {0, SW11_CS12, SW11_CS11, SW11_CS10 }, // 43 O - {0, SW12_CS12, SW12_CS11, SW12_CS10 }, // 44 P - {1, SW1_CS12, SW1_CS11, SW1_CS10 }, // 45 [{ - {1, SW2_CS12, SW2_CS11, SW2_CS10 }, // 48 ]} - {1, SW3_CS12, SW3_CS11, SW3_CS10 }, // 47 \| - {1, SW4_CS12, SW4_CS11, SW4_CS10 }, // 48 Del - {1, SW5_CS12, SW5_CS11, SW5_CS10 }, // 49 End - {1, SW6_CS12, SW6_CS11, SW6_CS10 }, // 50 PGDN + {0, CS12_SW2, CS11_SW2, CS10_SW2 }, // 34 Tab + {0, CS12_SW3, CS11_SW3, CS10_SW3 }, // 35 Q + {0, CS12_SW4, CS11_SW4, CS10_SW4 }, // 36 W + {0, CS12_SW5, CS11_SW5, CS10_SW5 }, // 37 E + {0, CS12_SW6, CS11_SW6, CS10_SW6 }, // 38 R + {0, CS12_SW7, CS11_SW7, CS10_SW7 }, // 39 T + {0, CS12_SW8, CS11_SW8, CS10_SW8 }, // 40 Y + {0, CS12_SW9, CS11_SW9, CS10_SW9 }, // 41 U + {0, CS12_SW10, CS11_SW10, CS10_SW10 }, // 42 I + {0, CS12_SW11, CS11_SW11, CS10_SW11 }, // 43 O + {0, CS12_SW12, CS11_SW12, CS10_SW12 }, // 44 P + {1, CS12_SW1, CS11_SW1, CS10_SW1 }, // 45 [{ + {1, CS12_SW2, CS11_SW2, CS10_SW2 }, // 48 ]} + {1, CS12_SW3, CS11_SW3, CS10_SW3 }, // 47 \| + {1, CS12_SW4, CS11_SW4, CS10_SW4 }, // 48 Del + {1, CS12_SW5, CS11_SW5, CS10_SW5 }, // 49 End + {1, CS12_SW6, CS11_SW6, CS10_SW6 }, // 50 PGDN - {0, SW2_CS1, SW2_CS2, SW2_CS3 }, // 51 Caps - {0, SW3_CS1, SW3_CS2, SW3_CS3 }, // 52 A - {0, SW4_CS1, SW4_CS2, SW4_CS3 }, // 33 S - {0, SW5_CS1, SW5_CS2, SW5_CS3 }, // 54 D - {0, SW6_CS1, SW6_CS2, SW6_CS3 }, // 55 F - {0, SW7_CS1, SW7_CS2, SW7_CS3 }, // 56 G - {0, SW8_CS1, SW8_CS2, SW8_CS3 }, // 57 H - {0, SW9_CS1, SW9_CS2, SW9_CS3 }, // 58 J - {0, SW10_CS1, SW10_CS2, SW10_CS3 }, // 59 K - {0, SW11_CS1, SW11_CS2, SW11_CS3 }, // 60 L - {0, SW12_CS1, SW12_CS2, SW12_CS3 }, // 61 ;: - {1, SW1_CS1, SW1_CS2, SW1_CS3 }, // 62 ' - {1, SW3_CS1, SW3_CS2, SW3_CS3 }, // 63 Enter + {0, CS1_SW2, CS2_SW2, CS3_SW2 }, // 51 Caps + {0, CS1_SW3, CS2_SW3, CS3_SW3 }, // 52 A + {0, CS1_SW4, CS2_SW4, CS3_SW4 }, // 33 S + {0, CS1_SW5, CS2_SW5, CS3_SW5 }, // 54 D + {0, CS1_SW6, CS2_SW6, CS3_SW6 }, // 55 F + {0, CS1_SW7, CS2_SW7, CS3_SW7 }, // 56 G + {0, CS1_SW8, CS2_SW8, CS3_SW8 }, // 57 H + {0, CS1_SW9, CS2_SW9, CS3_SW9 }, // 58 J + {0, CS1_SW10, CS2_SW10, CS3_SW10 }, // 59 K + {0, CS1_SW11, CS2_SW11, CS3_SW11 }, // 60 L + {0, CS1_SW12, CS2_SW12, CS3_SW12 }, // 61 ;: + {1, CS1_SW1, CS2_SW1, CS3_SW1 }, // 62 ' + {1, CS1_SW3, CS2_SW3, CS3_SW3 }, // 63 Enter - {0, SW2_CS4, SW2_CS5, SW2_CS6 }, // 64 Shift - {0, SW4_CS4, SW4_CS5, SW4_CS6 }, // 65 Z - {0, SW5_CS4, SW5_CS5, SW5_CS6 }, // 66 X - {0, SW6_CS4, SW6_CS5, SW6_CS6 }, // 67 C - {0, SW7_CS4, SW7_CS5, SW7_CS6 }, // 68 V - {0, SW8_CS4, SW8_CS5, SW8_CS6 }, // 69 B - {0, SW9_CS4, SW9_CS5, SW9_CS6 }, // 70 N - {0, SW10_CS4, SW10_CS5, SW10_CS6 }, // 71 M - {0, SW11_CS4, SW11_CS5, SW11_CS6 }, // 72 ,< - {0, SW12_CS4, SW12_CS5, SW12_CS6 }, // 73 .> - {1, SW1_CS4, SW1_CS5, SW1_CS6 }, // 74 ? - {1, SW3_CS4, SW3_CS5, SW3_CS6 }, // 75 Shift - {1, SW5_CS4, SW5_CS5, SW5_CS6 }, // 76 Up + {0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 64 Shift + {0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 65 Z + {0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 66 X + {0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 67 C + {0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 68 V + {0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 69 B + {0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 70 N + {0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 71 M + {0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 72 ,< + {0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 73 .> + {1, CS4_SW1, CS5_SW1, CS6_SW1 }, // 74 ? + {1, CS4_SW3, CS5_SW3, CS6_SW3 }, // 75 Shift + {1, CS4_SW5, CS5_SW5, CS6_SW5 }, // 76 Up - {0, SW2_CS7, SW2_CS8, SW2_CS9 }, // 77 Ctrl_L - {0, SW3_CS7, SW3_CS8, SW3_CS9 }, // 78 Win_L - {0, SW4_CS7, SW4_CS8, SW4_CS9 }, // 79 ALT_L - {0, SW8_CS7, SW8_CS8, SW8_CS9 }, // 80 SPACE - {0, SW12_CS7, SW12_CS8, SW12_CS9 }, // 81 ALT_L - {1, SW1_CS7, SW1_CS8, SW1_CS9 }, // 82 Win_L - {1, SW2_CS7, SW2_CS8, SW2_CS9 }, // 83 Fn - {1, SW3_CS7, SW3_CS8, SW3_CS9 }, // 84 Ctrl_L - {1, SW4_CS7, SW4_CS8, SW4_CS9 }, // 85 Left - {1, SW5_CS7, SW5_CS8, SW5_CS9 }, // 86 Down - {1, SW6_CS7, SW6_CS8, SW6_CS9 }, // 87 Right + {0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 77 Ctrl_L + {0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 78 Win_L + {0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 79 ALT_L + {0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 80 SPACE + {0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 81 ALT_L + {1, CS7_SW1, CS8_SW1, CS9_SW1 }, // 82 Win_L + {1, CS7_SW2, CS8_SW2, CS9_SW2 }, // 83 Fn + {1, CS7_SW3, CS8_SW3, CS9_SW3 }, // 84 Ctrl_L + {1, CS7_SW4, CS8_SW4, CS9_SW4 }, // 85 Left + {1, CS7_SW5, CS8_SW5, CS9_SW5 }, // 86 Down + {1, CS7_SW6, CS8_SW6, CS9_SW6 }, // 87 Right }; diff --git a/keyboards/momoka_ergo/keyboard.json b/keyboards/momoka_ergo/keyboard.json index 3b2ba6664f..a24430ee82 100644 --- a/keyboards/momoka_ergo/keyboard.json +++ b/keyboards/momoka_ergo/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Momoka Ergo", "manufacturer": "StefanGrindelwald", + "url": "", "maintainer": "StefanGrindelwald", "usb": { "vid": "0x4F4D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/momokai/aurora/keyboard.json b/keyboards/momokai/aurora/keyboard.json index 1c4bc8e12f..84ecbdeb4a 100644 --- a/keyboards/momokai/aurora/keyboard.json +++ b/keyboards/momokai/aurora/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -22,6 +24,7 @@ ] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x0009", @@ -42,6 +45,7 @@ "rgb_matrix": { "default": { "animation": "solid_color", + "hue": 0, "sat": 0, "val": 200 }, diff --git a/keyboards/momokai/tap_duo/keyboard.json b/keyboards/momokai/tap_duo/keyboard.json index 1d5302985c..f5351dd031 100644 --- a/keyboards/momokai/tap_duo/keyboard.json +++ b/keyboards/momokai/tap_duo/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Tap Duo", "manufacturer": "Momokai", + "url": "", "maintainer": "peepeetee", "usb": { "vid": "0x69F9", @@ -13,6 +14,7 @@ "rgb_matrix": { "default": { "animation": "solid_color", + "hue": 0, "sat": 0, "val": 200 }, @@ -50,6 +52,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/momokai/tap_trio/keyboard.json b/keyboards/momokai/tap_trio/keyboard.json index 41da5585f6..f61de25c10 100644 --- a/keyboards/momokai/tap_trio/keyboard.json +++ b/keyboards/momokai/tap_trio/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Tap Trio", "manufacturer": "Momokai", + "url": "", "maintainer": "peepeetee", "usb": { "vid": "0x69F9", @@ -13,6 +14,7 @@ "rgb_matrix": { "default": { "animation": "solid_color", + "hue": 0, "sat": 0, "val": 200 }, @@ -50,6 +52,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/monarch/keyboard.json b/keyboards/monarch/keyboard.json index b7237ec613..c42db64a26 100644 --- a/keyboards/monarch/keyboard.json +++ b/keyboards/monarch/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Monarch", "manufacturer": "DoCallMeKing", + "url": "", "maintainer": "Ramon Imbao", "usb": { "vid": "0x4011", diff --git a/keyboards/monoflex60/keyboard.json b/keyboards/monoflex60/keyboard.json index 0becab2b63..4c6fca7524 100644 --- a/keyboards/monoflex60/keyboard.json +++ b/keyboards/monoflex60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Monoflex 60", "manufacturer": "SantiGo Customs", + "url": "", "maintainer": "key10iq", "usb": { "vid": "0xDEB4", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/monsgeek/m1/halconf.h b/keyboards/monsgeek/m1/halconf.h index 2ddb9c35d8..2f64e65393 100644 --- a/keyboards/monsgeek/m1/halconf.h +++ b/keyboards/monsgeek/m1/halconf.h @@ -17,5 +17,7 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/monsgeek/m1/keyboard.json b/keyboards/monsgeek/m1/keyboard.json index 4cca5c8686..1551b2a113 100644 --- a/keyboards/monsgeek/m1/keyboard.json +++ b/keyboards/monsgeek/m1/keyboard.json @@ -15,6 +15,8 @@ "bootmagic": true, "mousekey": false, "extrakey": true, + "console": false, + "command": false, "nkro": true, "encoder": true, "rgb_matrix": true diff --git a/keyboards/monsgeek/m1/m1.c b/keyboards/monsgeek/m1/m1.c index 2f7365e562..60479ab801 100644 --- a/keyboards/monsgeek/m1/m1.c +++ b/keyboards/monsgeek/m1/m1.c @@ -190,7 +190,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { set_single_persistent_default_layer(MAC_B); layer_state_set(1< diff --git a/keyboards/monsgeek/m3/keyboard.json b/keyboards/monsgeek/m3/keyboard.json index 9d2ea18c9d..cb7c3abf21 100644 --- a/keyboards/monsgeek/m3/keyboard.json +++ b/keyboards/monsgeek/m3/keyboard.json @@ -21,6 +21,8 @@ "features": { "bootmagic": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/monsgeek/m3/m3.c b/keyboards/monsgeek/m3/m3.c index bf5e038b3d..4dd9a55f3c 100644 --- a/keyboards/monsgeek/m3/m3.c +++ b/keyboards/monsgeek/m3/m3.c @@ -163,7 +163,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { if (record->event.pressed) { set_single_persistent_default_layer(MAC_B); keymap_config.no_gui = 0; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } return false; case GU_TOGG: diff --git a/keyboards/monsgeek/m5/halconf.h b/keyboards/monsgeek/m5/halconf.h index 2ddb9c35d8..2f64e65393 100644 --- a/keyboards/monsgeek/m5/halconf.h +++ b/keyboards/monsgeek/m5/halconf.h @@ -17,5 +17,7 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/monsgeek/m5/keyboard.json b/keyboards/monsgeek/m5/keyboard.json index 92d6add3fe..b9ef0099bc 100644 --- a/keyboards/monsgeek/m5/keyboard.json +++ b/keyboards/monsgeek/m5/keyboard.json @@ -15,6 +15,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, @@ -47,16 +49,7 @@ "driver": "snled27351", "max_brightness": 180, "animations": { - "alphas_mods": true, - "gradient_up_down": true, - "gradient_left_right": true, "breathing": true, - "band_sat": true, - "band_val": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_spiral_sat": true, - "band_spiral_val": true, "cycle_all": true, "cycle_left_right": true, "cycle_up_down": true, @@ -67,29 +60,12 @@ "cycle_spiral": true, "dual_beacon": true, "rainbow_beacon": true, - "rainbow_pinwheels": true, "raindrops": true, - "jellybean_raindrops": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "pixel_rain": true, - "pixel_flow": true, - "pixel_fractal": true, "typing_heatmap": true, - "digital_rain": true, "solid_reactive_simple": true, "solid_reactive": true, - "solid_reactive_wide": true, - "solid_reactive_multiwide": true, "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_nexus": true, - "solid_reactive_multinexus": true, - "splash": true, - "multisplash": true, - "solid_splash": true, - "solid_multisplash": true + "multisplash": true }, "layout":[ { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 }, diff --git a/keyboards/monsgeek/m6/halconf.h b/keyboards/monsgeek/m6/halconf.h index 2ddb9c35d8..2f64e65393 100644 --- a/keyboards/monsgeek/m6/halconf.h +++ b/keyboards/monsgeek/m6/halconf.h @@ -17,5 +17,7 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/monsgeek/m6/keyboard.json b/keyboards/monsgeek/m6/keyboard.json index afe38eb0da..12d7def4c7 100644 --- a/keyboards/monsgeek/m6/keyboard.json +++ b/keyboards/monsgeek/m6/keyboard.json @@ -15,6 +15,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/monstargear/xo87/rgb/keyboard.json b/keyboards/monstargear/xo87/rgb/keyboard.json index 9ee83deb00..5571b91990 100644 --- a/keyboards/monstargear/xo87/rgb/keyboard.json +++ b/keyboards/monstargear/xo87/rgb/keyboard.json @@ -67,6 +67,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/monstargear/xo87/solderable/keyboard.json b/keyboards/monstargear/xo87/solderable/keyboard.json index c825b22ac1..a230649b49 100644 --- a/keyboards/monstargear/xo87/solderable/keyboard.json +++ b/keyboards/monstargear/xo87/solderable/keyboard.json @@ -12,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/montsinger/rebound/rules.mk b/keyboards/montsinger/rebound/rules.mk new file mode 100644 index 0000000000..d277d184e1 --- /dev/null +++ b/keyboards/montsinger/rebound/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = montsinger/rebound/rev1 diff --git a/keyboards/moondrop/dash75/info.json b/keyboards/moondrop/dash75/info.json index 39772dc689..59f956815e 100644 --- a/keyboards/moondrop/dash75/info.json +++ b/keyboards/moondrop/dash75/info.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/morizon/keyboard.json b/keyboards/morizon/keyboard.json index 13999e5753..73097dd113 100644 --- a/keyboards/morizon/keyboard.json +++ b/keyboards/morizon/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mothwing/keyboard.json b/keyboards/mothwing/keyboard.json index 5a584c7cb2..c52d9df00e 100644 --- a/keyboards/mothwing/keyboard.json +++ b/keyboards/mothwing/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "mothwing", "manufacturer": "Luana co.ltd.", + "url": "", "maintainer": "tan-t", "usb": { "vid": "0x4D77", diff --git a/keyboards/mountainblocks/mb17/keyboard.json b/keyboards/mountainblocks/mb17/keyboard.json index 9103f7775f..9e9bb98406 100644 --- a/keyboards/mountainblocks/mb17/keyboard.json +++ b/keyboards/mountainblocks/mb17/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MB17", "manufacturer": "Mountainblocks", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D42", diff --git a/keyboards/mountainmechdesigns/teton_78/keyboard.json b/keyboards/mountainmechdesigns/teton_78/keyboard.json index ba7cfdd2c3..d6f5ce9cd8 100644 --- a/keyboards/mountainmechdesigns/teton_78/keyboard.json +++ b/keyboards/mountainmechdesigns/teton_78/keyboard.json @@ -9,6 +9,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -18,6 +20,7 @@ "rows": ["D0", "D1", "D2", "D3", "D5"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x3349", diff --git a/keyboards/ms_sculpt/keyboard.json b/keyboards/ms_sculpt/keyboard.json index 2193c6a870..5353a0df7e 100644 --- a/keyboards/ms_sculpt/keyboard.json +++ b/keyboards/ms_sculpt/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false @@ -20,6 +22,7 @@ "io_delay": 5 }, "debounce": 3, + "url": "", "usb": { "polling_interval": 1, "device_version": "1.0.0", diff --git a/keyboards/mss_studio/m63_rgb/keyboard.json b/keyboards/mss_studio/m63_rgb/keyboard.json index 16a4c5295f..1b1745bc20 100644 --- a/keyboards/mss_studio/m63_rgb/keyboard.json +++ b/keyboards/mss_studio/m63_rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "M63 RGB", "manufacturer": "Mss Studio", + "url": "", "maintainer": "HorrorTroll", "usb": { "vid": "0x4D4B", @@ -61,6 +62,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/mss_studio/m64_rgb/keyboard.json b/keyboards/mss_studio/m64_rgb/keyboard.json index 5b53cd58c7..eb1cabb305 100644 --- a/keyboards/mss_studio/m64_rgb/keyboard.json +++ b/keyboards/mss_studio/m64_rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "M64 RGB", "manufacturer": "Mss Studio", + "url": "", "maintainer": "HorrorTroll", "usb": { "vid": "0x4D4B", @@ -61,6 +62,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/mt/blocked65/keyboard.json b/keyboards/mt/blocked65/keyboard.json index 0f66b9f9cc..9a0ce52043 100644 --- a/keyboards/mt/blocked65/keyboard.json +++ b/keyboards/mt/blocked65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Blocked65", "manufacturer": "Dou", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5746", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/mt/mt40/keyboard.json b/keyboards/mt/mt40/keyboard.json index 924c33a4fb..d1700389f7 100644 --- a/keyboards/mt/mt40/keyboard.json +++ b/keyboards/mt/mt40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MT40", "manufacturer": "ThomasDehaeze", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/mt/mt64rgb/keyboard.json b/keyboards/mt/mt64rgb/keyboard.json index 57e827f1e3..451be59f8f 100644 --- a/keyboards/mt/mt64rgb/keyboard.json +++ b/keyboards/mt/mt64rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MT64RGB", "manufacturer": "MT", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D54", @@ -138,6 +139,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/mt/mt84/keyboard.json b/keyboards/mt/mt84/keyboard.json index 03926e8a05..26f66b31db 100644 --- a/keyboards/mt/mt84/keyboard.json +++ b/keyboards/mt/mt84/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MT84", "manufacturer": "MT", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D54", @@ -155,6 +156,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/mt/mt980/keyboard.json b/keyboards/mt/mt980/keyboard.json index 199231f7d8..2fa17224cb 100644 --- a/keyboards/mt/mt980/keyboard.json +++ b/keyboards/mt/mt980/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": true, diff --git a/keyboards/mt/split75/keyboard.json b/keyboards/mt/split75/keyboard.json index 611e25bb6f..c13fa28b80 100644 --- a/keyboards/mt/split75/keyboard.json +++ b/keyboards/mt/split75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Split75", "manufacturer": "YMDK", + "url": "", "maintainer": "Michael L. Walker", "usb": { "vid": "0x594D", diff --git a/keyboards/mtbkeys/mtb60/hotswap/keyboard.json b/keyboards/mtbkeys/mtb60/hotswap/keyboard.json index 87326a7145..cca7bb726a 100644 --- a/keyboards/mtbkeys/mtb60/hotswap/keyboard.json +++ b/keyboards/mtbkeys/mtb60/hotswap/keyboard.json @@ -34,6 +34,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/mtbkeys/mtb60/solder/keyboard.json b/keyboards/mtbkeys/mtb60/solder/keyboard.json index 59ab34b420..e128981626 100644 --- a/keyboards/mtbkeys/mtb60/solder/keyboard.json +++ b/keyboards/mtbkeys/mtb60/solder/keyboard.json @@ -34,6 +34,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/murcielago/rev1/keyboard.json b/keyboards/murcielago/rev1/keyboard.json index 88203e67fb..4d3a82ef2c 100644 --- a/keyboards/murcielago/rev1/keyboard.json +++ b/keyboards/murcielago/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Murci\u00e9lago", "manufacturer": "elagil", + "url": "", "maintainer": "elagil", "usb": { "vid": "0x6166", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/murcielago/rules.mk b/keyboards/murcielago/rules.mk new file mode 100644 index 0000000000..661563697a --- /dev/null +++ b/keyboards/murcielago/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = murcielago/rev1 \ No newline at end of file diff --git a/keyboards/mwstudio/alicekk/keyboard.json b/keyboards/mwstudio/alicekk/keyboard.json index 355437f953..141be9909e 100644 --- a/keyboards/mwstudio/alicekk/keyboard.json +++ b/keyboards/mwstudio/alicekk/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mwstudio/mmk_3/keyboard.json b/keyboards/mwstudio/mmk_3/keyboard.json index b812cb7e3b..c63bd69f62 100644 --- a/keyboards/mwstudio/mmk_3/keyboard.json +++ b/keyboards/mwstudio/mmk_3/keyboard.json @@ -31,6 +31,7 @@ "hue_steps": 10, "led_count": 5 }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x3001", diff --git a/keyboards/mwstudio/mw65_black/keyboard.json b/keyboards/mwstudio/mw65_black/keyboard.json index 8c542ec042..8955cf9688 100644 --- a/keyboards/mwstudio/mw65_black/keyboard.json +++ b/keyboards/mwstudio/mw65_black/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MW65 Black", "manufacturer": "MWStudio", + "url": "", "maintainer": "TW59420", "usb": { "vid": "0x7BA1", @@ -17,6 +18,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mwstudio/mw65_rgb/keyboard.json b/keyboards/mwstudio/mw65_rgb/keyboard.json index ce8e3f978c..f1a8190948 100644 --- a/keyboards/mwstudio/mw65_rgb/keyboard.json +++ b/keyboards/mwstudio/mw65_rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MW65 RGB", "manufacturer": "MWStudio", + "url": "", "maintainer": "TW59420", "usb": { "vid": "0x7BA1", @@ -58,6 +59,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mwstudio/mw660/keyboard.json b/keyboards/mwstudio/mw660/keyboard.json index bf0cd6781c..fdbd7564a7 100644 --- a/keyboards/mwstudio/mw660/keyboard.json +++ b/keyboards/mwstudio/mw660/keyboard.json @@ -5,6 +5,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -22,6 +24,7 @@ }, "processor": "STM32F103", "bootloader": "stm32duino", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x6601", diff --git a/keyboards/mwstudio/mw75/keyboard.json b/keyboards/mwstudio/mw75/keyboard.json index 489e711c5b..d9e540bca4 100644 --- a/keyboards/mwstudio/mw75/keyboard.json +++ b/keyboards/mwstudio/mw75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MW75", "manufacturer": "MWStudio", + "url": "", "maintainer": "TW59420", "usb": { "vid": "0x7BA1", @@ -55,6 +56,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mwstudio/mw75r2/keyboard.json b/keyboards/mwstudio/mw75r2/keyboard.json index 10c6a226ca..ae227830e5 100644 --- a/keyboards/mwstudio/mw75r2/keyboard.json +++ b/keyboards/mwstudio/mw75r2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MW75R2", "manufacturer": "MWStudio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7BA1", @@ -43,6 +44,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/mwstudio/mw80/keyboard.json b/keyboards/mwstudio/mw80/keyboard.json index 327afd3155..829e97591c 100644 --- a/keyboards/mwstudio/mw80/keyboard.json +++ b/keyboards/mwstudio/mw80/keyboard.json @@ -5,6 +5,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -16,6 +18,7 @@ }, "processor": "STM32F103", "bootloader": "stm32duino", + "url": "", "indicators": { "caps_lock": "A0" }, @@ -26,6 +29,8 @@ "rgblight": { "led_count": 16, "hue_steps": 10, + "saturation_steps": 17, + "brightness_steps": 17, "animations": { "alternating": true, "breathing": true, diff --git a/keyboards/mxss/keyboard.json b/keyboards/mxss/keyboard.json index 1c8080fdbe..defa0ae6b7 100644 --- a/keyboards/mxss/keyboard.json +++ b/keyboards/mxss/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/mykeyclub/jris65/hotswap/keyboard.json b/keyboards/mykeyclub/jris65/hotswap/keyboard.json index 134edbf4f0..3ed56136d1 100644 --- a/keyboards/mykeyclub/jris65/hotswap/keyboard.json +++ b/keyboards/mykeyclub/jris65/hotswap/keyboard.json @@ -15,6 +15,7 @@ "rows": ["F7", "F6", "F5", "B2", "F4"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "0.1.0", "pid": "0x4953", diff --git a/keyboards/mysticworks/wyvern/keyboard.json b/keyboards/mysticworks/wyvern/keyboard.json index ad2657813b..77f2aa19bd 100644 --- a/keyboards/mysticworks/wyvern/keyboard.json +++ b/keyboards/mysticworks/wyvern/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/mzmkb/slimdash/info.json b/keyboards/mzmkb/slimdash/info.json deleted file mode 100644 index ed8def5958..0000000000 --- a/keyboards/mzmkb/slimdash/info.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "manufacturer": "mzmkb", - "maintainer": "mizma", - "bootloader": "rp2040", - "processor": "RP2040", - "split": { - "enabled": true - }, - "url": "https://github.com/mizma/slimdash" -} diff --git a/keyboards/mzmkb/slimdash/readme.md b/keyboards/mzmkb/slimdash/readme.md deleted file mode 100644 index 8590472aae..0000000000 --- a/keyboards/mzmkb/slimdash/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -# Slimdash - -![mzmkb/slimdash/rev1](https://i.imgur.com/ymf8ROw.jpeg) - -__SlimDash__ is a slim low profile split ortho-staggered keyboard inspired by omkbd/ErgoDash -with following key highlights: - -* Ortho-Staggered Split keyboard layout -* Slim body (20-22mm depending on key caps and rubber feet used) -* Rigid body structure -* Per-Key RGB LED Matrix lighting -* USB-C connector -* Easy build utilizing PCBA service for the harder SMT components -* Keyboard Maintainer: [mizma](https://github.com/mizma) -* Hardware Supported: [SlimDash](https://github.com/mizma/SlimDash/) -* Hardware Availability: Build your own using design data at [SlimDash](https://github.com/mizma/SlimDash/) - -Make example for this keyboard (after setting up your build environment): - - make mzmkb/slimdash/rev1:default - -Flashing example for this keyboard: - - make mzmkb/slimdash/rev1:default:flash - -You may also enter Bootloader on your keyboard, and copy the `mzmkb_slimdash_*_*.uf2` -file into the `RPI-RP2` drive shown in your PC. - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) -and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) -for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* __Reset button__: Double-tap the RESET button on the side of the keyboard near - TRRS jack. -* __Physical reset button__: Hold BOOT_SW and press RESET on the side of the keyboard - near TRRS jack. -* __Keycode in layout__: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/mzmkb/slimdash/rev1/config.h b/keyboards/mzmkb/slimdash/rev1/config.h deleted file mode 100644 index 4c77e71b78..0000000000 --- a/keyboards/mzmkb/slimdash/rev1/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2025 mizma (@mizma) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// Make it easier to enter the bootloader -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U - -// UART1, communication between the two halves -#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode -#define SERIAL_USART_TX_PIN GP17 // USART TX pin -#define SERIAL_USART_RX_PIN GP18 // USART RX pin -#define SERIAL_PIO_USE_PIO1 // Use PIO1 as PIO0 is used for WS2812 driver - diff --git a/keyboards/mzmkb/slimdash/rev1/keyboard.json b/keyboards/mzmkb/slimdash/rev1/keyboard.json deleted file mode 100644 index c9549c903b..0000000000 --- a/keyboards/mzmkb/slimdash/rev1/keyboard.json +++ /dev/null @@ -1,239 +0,0 @@ -{ - "keyboard_name": "slimdash rev1.0", - "diode_direction": "COL2ROW", - "features": { - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true, - }, - "matrix_pins": { - "cols": ["GP0", "GP1", "GP3", "GP5", "GP8", "GP7", "GP9"], - "rows": ["GP2", "GP4", "GP6", "GP11", "GP10"] - }, - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_color": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [3, 6], "x": 105, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 105, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 90, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 75, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 45, "y": 51, "flags": 4}, - {"matrix": [4, 2], "x": 30, "y": 51, "flags": 4}, - {"matrix": [4, 1], "x": 15, "y": 51, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 51, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 15, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 30, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 60, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 38, "flags": 4}, - {"matrix": [2, 6], "x": 90, "y": 26, "flags": 4}, - {"matrix": [1, 6], "x": 90, "y": 13, "flags": 4}, - {"matrix": [2, 5], "x": 75, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 60, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 30, "y": 26, "flags": 4}, - {"matrix": [2, 1], "x": 15, "y": 26, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 26, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4}, - {"matrix": [1, 1], "x": 15, "y": 13, "flags": 4}, - {"matrix": [1, 2], "x": 30, "y": 13, "flags": 4}, - {"matrix": [1, 3], "x": 45, "y": 13, "flags": 4}, - {"matrix": [1, 4], "x": 60, "y": 13, "flags": 4}, - {"matrix": [1, 5], "x": 75, "y": 13, "flags": 4}, - {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [8, 6], "x": 119, "y": 51, "flags": 4}, - {"matrix": [9, 6], "x": 119, "y": 64, "flags": 4}, - {"matrix": [9, 5], "x": 134, "y": 51, "flags": 4}, - {"matrix": [9, 4], "x": 149, "y": 51, "flags": 4}, - {"matrix": [9, 3], "x": 179, "y": 51, "flags": 4}, - {"matrix": [9, 2], "x": 194, "y": 51, "flags": 4}, - {"matrix": [9, 1], "x": 209, "y": 51, "flags": 4}, - {"matrix": [9, 0], "x": 224, "y": 51, "flags": 4}, - {"matrix": [8, 0], "x": 224, "y": 38, "flags": 4}, - {"matrix": [8, 1], "x": 209, "y": 38, "flags": 4}, - {"matrix": [8, 2], "x": 194, "y": 38, "flags": 4}, - {"matrix": [8, 3], "x": 179, "y": 38, "flags": 4}, - {"matrix": [8, 4], "x": 164, "y": 38, "flags": 4}, - {"matrix": [8, 5], "x": 149, "y": 38, "flags": 4}, - {"matrix": [7, 6], "x": 134, "y": 26, "flags": 4}, - {"matrix": [6, 6], "x": 134, "y": 13, "flags": 4}, - {"matrix": [7, 5], "x": 149, "y": 26, "flags": 4}, - {"matrix": [7, 4], "x": 164, "y": 26, "flags": 4}, - {"matrix": [7, 3], "x": 179, "y": 26, "flags": 4}, - {"matrix": [7, 2], "x": 194, "y": 26, "flags": 4}, - {"matrix": [7, 1], "x": 209, "y": 26, "flags": 4}, - {"matrix": [7, 0], "x": 224, "y": 26, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 13, "flags": 4}, - {"matrix": [6, 1], "x": 209, "y": 13, "flags": 4}, - {"matrix": [6, 2], "x": 194, "y": 13, "flags": 4}, - {"matrix": [6, 3], "x": 179, "y": 13, "flags": 4}, - {"matrix": [6, 4], "x": 164, "y": 13, "flags": 4}, - {"matrix": [6, 5], "x": 149, "y": 13, "flags": 4}, - {"matrix": [5, 6], "x": 134, "y": 0, "flags": 4}, - {"matrix": [5, 5], "x": 149, "y": 0, "flags": 4}, - {"matrix": [5, 4], "x": 164, "y": 0, "flags": 4}, - {"matrix": [5, 3], "x": 179, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 194, "y": 0, "flags": 4}, - {"matrix": [5, 1], "x": 209, "y": 0, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 0, "flags": 4} - ], - "max_brightness": 128, - "sleep": true, - "split_count": [35, 35] - }, - "split": { - "matrix_pins": { - "right": { - "cols": ["GP0", "GP1", "GP3", "GP5", "GP8", "GP7", "GP9"], - "rows": ["GP2", "GP4", "GP6", "GP11", "GP10"] - } - }, - "serial": { - "driver": "vendor" - }, - "transport": { - "sync": { - "matrix_state": true - } - } - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x7344", - "vid": "0x4D5A" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP20" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.375}, - {"matrix": [0, 1], "x": 1, "y": 0.375}, - {"matrix": [0, 2], "x": 2, "y": 0.125}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.125}, - {"matrix": [0, 5], "x": 5, "y": 0.25}, - {"matrix": [0, 6], "x": 6, "y": 0.75}, - {"matrix": [5, 6], "x": 11.5, "y": 0.75}, - {"matrix": [5, 5], "x": 12.5, "y": 0.25}, - {"matrix": [5, 4], "x": 13.5, "y": 0.125}, - {"matrix": [5, 3], "x": 14.5, "y": 0}, - {"matrix": [5, 2], "x": 15.5, "y": 0.125}, - {"matrix": [5, 1], "x": 16.5, "y": 0.375}, - {"matrix": [5, 0], "x": 17.5, "y": 0.375}, - {"matrix": [1, 0], "x": 0, "y": 1.375}, - {"matrix": [1, 1], "x": 1, "y": 1.375}, - {"matrix": [1, 2], "x": 2, "y": 1.125}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1.125}, - {"matrix": [1, 5], "x": 5, "y": 1.25}, - {"matrix": [1, 6], "x": 6, "y": 1.75}, - {"matrix": [6, 6], "x": 11.5, "y": 1.75}, - {"matrix": [6, 5], "x": 12.5, "y": 1.25}, - {"matrix": [6, 4], "x": 13.5, "y": 1.125}, - {"matrix": [6, 3], "x": 14.5, "y": 1}, - {"matrix": [6, 2], "x": 15.5, "y": 1.125}, - {"matrix": [6, 1], "x": 16.5, "y": 1.375}, - {"matrix": [6, 0], "x": 17.5, "y": 1.375}, - {"matrix": [2, 0], "x": 0, "y": 2.375}, - {"matrix": [2, 1], "x": 1, "y": 2.375}, - {"matrix": [2, 2], "x": 2, "y": 2.125}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2.125}, - {"matrix": [2, 5], "x": 5, "y": 2.25}, - {"matrix": [2, 6], "x": 6, "y": 2.75}, - {"matrix": [7, 6], "x": 11.5, "y": 2.75}, - {"matrix": [7, 5], "x": 12.5, "y": 2.25}, - {"matrix": [7, 4], "x": 13.5, "y": 2.125}, - {"matrix": [7, 3], "x": 14.5, "y": 2}, - {"matrix": [7, 2], "x": 15.5, "y": 2.125}, - {"matrix": [7, 1], "x": 16.5, "y": 2.375}, - {"matrix": [7, 0], "x": 17.5, "y": 2.375}, - {"matrix": [3, 0], "x": 0, "y": 3.375}, - {"matrix": [3, 1], "x": 1, "y": 3.375}, - {"matrix": [3, 2], "x": 2, "y": 3.125}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3.125}, - {"matrix": [3, 5], "x": 5, "y": 3.25}, - {"matrix": [3, 6], "x": 7.25, "y": 4}, - {"matrix": [8, 6], "x": 10.25, "y": 4}, - {"matrix": [8, 5], "x": 12.5, "y": 3.25}, - {"matrix": [8, 4], "x": 13.5, "y": 3.125}, - {"matrix": [8, 3], "x": 14.5, "y": 3}, - {"matrix": [8, 2], "x": 15.5, "y": 3.125}, - {"matrix": [8, 1], "x": 16.5, "y": 3.375}, - {"matrix": [8, 0], "x": 17.5, "y": 3.375}, - {"matrix": [4, 0], "x": 0, "y": 4.375}, - {"matrix": [4, 1], "x": 1, "y": 4.375}, - {"matrix": [4, 2], "x": 2, "y": 4.125}, - {"matrix": [4, 3], "x": 3, "y": 4}, - {"matrix": [4, 4], "x": 5.25, "y": 5}, - {"matrix": [4, 5], "x": 6.25, "y": 4, "h": 2}, - {"matrix": [4, 6], "x": 7.25, "y": 5}, - {"matrix": [9, 6], "x": 10.25, "y": 5}, - {"matrix": [9, 5], "x": 11.25, "y": 4, "h": 2}, - {"matrix": [9, 4], "x": 12.25, "y": 5}, - {"matrix": [9, 3], "x": 14.5, "y": 4}, - {"matrix": [9, 2], "x": 15.5, "y": 4.125}, - {"matrix": [9, 1], "x": 16.5, "y": 4.375}, - {"matrix": [9, 0], "x": 17.5, "y": 4.375} - ] - } - } -} diff --git a/keyboards/mzmkb/slimdash/rev1/keymaps/default/keymap.c b/keyboards/mzmkb/slimdash/rev1/keymaps/default/keymap.c deleted file mode 100644 index f43ac674a8..0000000000 --- a/keyboards/mzmkb/slimdash/rev1/keymaps/default/keymap.c +++ /dev/null @@ -1,126 +0,0 @@ -/* Copyright 2025 mizma (@mizma) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layer_names { - _QWERTY, - _GAMEMODE, - _LOWER, - _RAISE -}; - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define GAMEM TG(_GAMEMODE) - -#define EISU LALT(KC_GRV) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,------------------------------------------------. .------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | LCTL | A | S | D | F | G | Del | | Ins | H | J | K | L | ; | ' | - * |------+------+------+------+------+------+------. .------+------+------+------+------+------+------| - * | LSFT | Z | X | C | V | B | | N | M | , | . | / | RSFT | - * |------+------+------+------+------+--+---+--+------. .------+--+---+--+------+------+------+------+------| - * | RM_DN| RM_UP| GAMEM| GUI | | | LALT | | RALT | | | HOME | END |PageUp|PageDn| - * .---------------------------. .------| Space|------| |------| Enter|------. .---------------------------. - * | Lower| | LSFT | | RCTL | | Raise| - * .--------------------. .--------------------. - */ - [_QWERTY] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_DEL , KC_INS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - RM_VALD, RM_VALU, GAMEM, KC_LGUI, LOWER, KC_SPC, KC_LSFT, KC_RCTL, KC_ENT, RAISE, KC_HOME, KC_END, KC_PGUP, KC_PGDN - ), - - /* Game Mode Toggle: sample toggle layer. turn off GUI key and add arrows - * ,------------------------------------------------. .------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------. .------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | - * |------+------+------+------+------+--+---+--+------. .------+--+---+--+------+------+------+------+------| - * | | | | NOOP | | | | | | | | ← | ↓ | ↑ | → | - * .---------------------------. .------| |------| |------| |------. .---------------------------. - * | | | | | | | | - * .--------------------. .--------------------. - */ - [_GAMEMODE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_NO, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Lower: NUMPAD, App/Media keys and RGM Matrix - * ,------------------------------------------------. .------------------------------------------------. - * | ` | | | | | Mute | Vol- | | Vol+ | | NumL | / | * | - | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | |RGBTGL| | BrDn | | BrUp | | 7 | 8 | 9 | + | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | CAPS | | |RM_HUD|RM_HUU| |RM_PRV| |RM_NXT| | 4 | 5 | 6 | , | | - * |------+------+------+------+------+------+------. .------+------+------+------+------+------+------| - * | | | |RM_SPD|RM_SPU| | | | 1 | 2 | 3 | = | | - * |------+------+------+------+------+--+---+--+------. .------+--+---+--+------+------+------+------+------| - * | | | | | | | | | | | | 0 | . | | | - * .---------------------------. .------| |------| |------| PENT |------. .---------------------------. - * | | | | | | | | - * .--------------------. .--------------------. - */ - [_LOWER] = LAYOUT( - KC_GRV, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______, - _______, _______, _______, _______, RM_TOGG, _______, KC_BRID, KC_BRIU, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, - KC_CAPS, _______, _______, RM_HUED, RM_HUEU, _______, RM_PREV, RM_NEXT, _______, KC_P4, KC_P5, KC_P6, KC_PCMM, _______, - _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PEQL, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_PENT, _______, KC_P0, KC_PDOT, _______, _______ - ), - - /* Raise: Functions and Mouse - * ,------------------------------------------------. .------------------------------------------------. - * | ` | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | |WheelL|WheelR| | | | | | | Pause|ScrolL| PrnSc| F12 | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | CAPS | |Mouse3|Mouse2|Mouse1|WheelU| | | | ← | ↓ | ↑ | → | | | - * |------+------+------+------+------+------+------. .------+------+------+------+------+------+------| - * | |Accel0|Accel1|Accel2| |WheelD| |MouseL|MouseD|MouseU|MouseR| | | - * |------+------+------+------+------+--+---+--+------. .------+--+---+--+------+------+------+------+------| - * | | | | | | | | | | | | | | | | - * .---------------------------. .------| |------| |------| |------. .---------------------------. - * | | | | | | | | - * .--------------------. .--------------------. - */ - [_RAISE] = LAYOUT( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, _______, _______, MS_WHLL, MS_WHLR, _______, _______, _______, _______, _______, KC_PAUS, KC_SCRL, KC_PSCR, KC_F12, - KC_CAPS, _______, MS_BTN3, MS_BTN2, MS_BTN1, MS_WHLU, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, - _______, MS_ACL0, MS_ACL1, MS_ACL2, _______, MS_WHLD, _______, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - diff --git a/keyboards/nacly/sodium42/keyboard.json b/keyboards/nacly/sodium42/keyboard.json index a1d7b65ab3..2db83408ac 100644 --- a/keyboards/nacly/sodium42/keyboard.json +++ b/keyboards/nacly/sodium42/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nacly/sodium50/keyboard.json b/keyboards/nacly/sodium50/keyboard.json index e41495755f..b9448c8217 100644 --- a/keyboards/nacly/sodium50/keyboard.json +++ b/keyboards/nacly/sodium50/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nacly/sodium62/keyboard.json b/keyboards/nacly/sodium62/keyboard.json index ab16bf45fa..904fa9568a 100644 --- a/keyboards/nacly/sodium62/keyboard.json +++ b/keyboards/nacly/sodium62/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/nacly/splitreus62/keyboard.json b/keyboards/nacly/splitreus62/keyboard.json index d356578690..a3b1544b9a 100644 --- a/keyboards/nacly/splitreus62/keyboard.json +++ b/keyboards/nacly/splitreus62/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Splitreus62", "manufacturer": "NaCly", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xBEEF", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/nacly/ua62/keyboard.json b/keyboards/nacly/ua62/keyboard.json index 0bf01308f5..43f2e9e662 100644 --- a/keyboards/nacly/ua62/keyboard.json +++ b/keyboards/nacly/ua62/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "UA62", "manufacturer": "NaCly", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xBEEF", diff --git a/keyboards/navi60/keyboard.json b/keyboards/navi60/keyboard.json index 47983e3d19..42c3e5da1d 100644 --- a/keyboards/navi60/keyboard.json +++ b/keyboards/navi60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Navi60", "manufacturer": "Navi60", + "url": "", "maintainer": "DeskDaily", "usb": { "vid": "0x5001", @@ -18,6 +19,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "layouts": { diff --git a/keyboards/ncc1701kb/keyboard.json b/keyboards/ncc1701kb/keyboard.json index f939b1ac35..f30b85f47a 100644 --- a/keyboards/ncc1701kb/keyboard.json +++ b/keyboards/ncc1701kb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NCC-1701-KB", "manufacturer": "J2L Designs", + "url": "", "maintainer": "jessel92", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/neito/keyboard.json b/keyboards/neito/keyboard.json index 2a5f3cecd2..d79ab68508 100644 --- a/keyboards/neito/keyboard.json +++ b/keyboards/neito/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/nek_type_a/keyboard.json b/keyboards/nek_type_a/keyboard.json index a99a6b0301..39bad11a18 100644 --- a/keyboards/nek_type_a/keyboard.json +++ b/keyboards/nek_type_a/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NEK Type A", "manufacturer": "miker", + "url": "", "maintainer": "ecopoesis", "usb": { "vid": "0xFEED", diff --git a/keyboards/nemui/keyboard.json b/keyboards/nemui/keyboard.json index 5d607ee61e..fb2adb6ae4 100644 --- a/keyboards/nemui/keyboard.json +++ b/keyboards/nemui/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Nemui", "manufacturer": "Bachoo", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x6400", diff --git a/keyboards/neokeys/g67/element_hs/keyboard.json b/keyboards/neokeys/g67/element_hs/keyboard.json index 0fadcc283a..f477c33d6a 100644 --- a/keyboards/neokeys/g67/element_hs/keyboard.json +++ b/keyboards/neokeys/g67/element_hs/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Element G67 Hotswap", "manufacturer": "NEO Keys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E4B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "key_lock": true, "mousekey": true, diff --git a/keyboards/neokeys/g67/hotswap/keyboard.json b/keyboards/neokeys/g67/hotswap/keyboard.json index dc9a6748ce..937e802fa0 100644 --- a/keyboards/neokeys/g67/hotswap/keyboard.json +++ b/keyboards/neokeys/g67/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Palette G67 Hotswap", "manufacturer": "NEO Keys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E4B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "key_lock": true, "mousekey": true, diff --git a/keyboards/neokeys/g67/soldered/keyboard.json b/keyboards/neokeys/g67/soldered/keyboard.json index e3242caa57..541f07ee09 100644 --- a/keyboards/neokeys/g67/soldered/keyboard.json +++ b/keyboards/neokeys/g67/soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Palette G67 Soldered", "manufacturer": "NEO Keys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E4B", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/neson_design/700e/keyboard.json b/keyboards/neson_design/700e/keyboard.json index 4cd7de0d81..64a18f436b 100644 --- a/keyboards/neson_design/700e/keyboard.json +++ b/keyboards/neson_design/700e/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "700E", "manufacturer": "Neson Design", + "url": "", "maintainer": "yulei", "usb": { "vid": "0x4E65", diff --git a/keyboards/neson_design/810e/board.h b/keyboards/neson_design/810e/board.h deleted file mode 100644 index 681350a0ea..0000000000 --- a/keyboards/neson_design/810e/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2024 astro -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/trnthsn/e8ghtyneo/halconf.h b/keyboards/neson_design/810e/config.h similarity index 88% rename from keyboards/trnthsn/e8ghtyneo/halconf.h rename to keyboards/neson_design/810e/config.h index 75fea51332..c6409b1ece 100644 --- a/keyboards/trnthsn/e8ghtyneo/halconf.h +++ b/keyboards/neson_design/810e/config.h @@ -1,4 +1,5 @@ -/* Copyright 2025 Tyson.Keebs +/** + * Copyright 2024 astro * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,6 +17,5 @@ #pragma once -#define HAL_USE_SPI TRUE - -#include_next +#define BOARD_OTG_NOVBUSSENS 1 +#define STM32_HSECLK 16000000U diff --git a/keyboards/neson_design/810e/keyboard.json b/keyboards/neson_design/810e/keyboard.json index ab52c1539e..2c62eb1f88 100644 --- a/keyboards/neson_design/810e/keyboard.json +++ b/keyboards/neson_design/810e/keyboard.json @@ -19,6 +19,7 @@ "rows": ["C13", "C14", "A6", "A7", "A5"] }, "processor": "STM32F411", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x810E", diff --git a/keyboards/neson_design/n6/keyboard.json b/keyboards/neson_design/n6/keyboard.json index 9f7d3fb1c0..66e6fb740c 100644 --- a/keyboards/neson_design/n6/keyboard.json +++ b/keyboards/neson_design/n6/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "N6", "manufacturer": "Neson Design", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E65", diff --git a/keyboards/neson_design/nico/keyboard.json b/keyboards/neson_design/nico/keyboard.json index a16e5e7d62..477ac3ba7c 100644 --- a/keyboards/neson_design/nico/keyboard.json +++ b/keyboards/neson_design/nico/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -25,6 +27,7 @@ "rgblight": { "led_count": 5 }, + "url": "", "usb": { "device_version": "0.0.1", "no_startup_check": true, diff --git a/keyboards/newgame40/keyboard.json b/keyboards/newgame40/keyboard.json index ad59f2bcd0..063260b99f 100644 --- a/keyboards/newgame40/keyboard.json +++ b/keyboards/newgame40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NEWGAME40", "manufacturer": "GoTakigawa", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/nibell/micropad4x4/keyboard.json b/keyboards/nibell/micropad4x4/keyboard.json index 0305412f8c..b992f501cf 100644 --- a/keyboards/nibell/micropad4x4/keyboard.json +++ b/keyboards/nibell/micropad4x4/keyboard.json @@ -15,6 +15,7 @@ "rows": ["GP10", "GP11", "GP12", "GP13"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xFEED", diff --git a/keyboards/nibiria/stream15/keyboard.json b/keyboards/nibiria/stream15/keyboard.json index 704ddda490..9daeef7cf9 100644 --- a/keyboards/nibiria/stream15/keyboard.json +++ b/keyboards/nibiria/stream15/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Stream15", "manufacturer": "Nibiria", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E49", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nightingale_studios/hailey/keyboard.json b/keyboards/nightingale_studios/hailey/keyboard.json index fbd2cf2a2f..f8c2455958 100644 --- a/keyboards/nightingale_studios/hailey/keyboard.json +++ b/keyboards/nightingale_studios/hailey/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/nightly_boards/adellein/keyboard.json b/keyboards/nightly_boards/adellein/keyboard.json index 7e75e0474a..3f873ba5f5 100644 --- a/keyboards/nightly_boards/adellein/keyboard.json +++ b/keyboards/nightly_boards/adellein/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Adellein", "manufacturer": "Neil Brian Ramirez", + "url": "", "maintainer": "Neil Brian Ramirez", "usb": { "vid": "0xD812", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/nightly_boards/alter/rev1/keyboard.json b/keyboards/nightly_boards/alter/rev1/keyboard.json index ed6b2224a2..e02e7e5b1b 100644 --- a/keyboards/nightly_boards/alter/rev1/keyboard.json +++ b/keyboards/nightly_boards/alter/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Alter", "manufacturer": "Neil Brian Ramirez", + "url": "", "maintainer": "Neil Brian Ramirez", "usb": { "vid": "0x0717", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/nightly_boards/alter_lite/keyboard.json b/keyboards/nightly_boards/alter_lite/keyboard.json index df8dfca7f7..d06dd3aacd 100644 --- a/keyboards/nightly_boards/alter_lite/keyboard.json +++ b/keyboards/nightly_boards/alter_lite/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Alter Lite", "manufacturer": "DeskDaily", + "url": "", "maintainer": "DeskDaily", "usb": { "vid": "0xD812", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nightly_boards/conde60/keyboard.json b/keyboards/nightly_boards/conde60/keyboard.json index e74dff445c..38e7b8383a 100644 --- a/keyboards/nightly_boards/conde60/keyboard.json +++ b/keyboards/nightly_boards/conde60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Conde60", "manufacturer": "DeskDaily", + "url": "", "maintainer": "DeskDaily", "usb": { "vid": "0xD812", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/nightly_boards/daily60/keyboard.json b/keyboards/nightly_boards/daily60/keyboard.json index dc8382a6f0..d3614d1b44 100644 --- a/keyboards/nightly_boards/daily60/keyboard.json +++ b/keyboards/nightly_boards/daily60/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nightly_boards/jisoo/keyboard.json b/keyboards/nightly_boards/jisoo/keyboard.json index 3ac607ec62..21b8122497 100644 --- a/keyboards/nightly_boards/jisoo/keyboard.json +++ b/keyboards/nightly_boards/jisoo/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nightly_boards/n2/keyboard.json b/keyboards/nightly_boards/n2/keyboard.json index 7f8d0e5e48..4aa554716f 100644 --- a/keyboards/nightly_boards/n2/keyboard.json +++ b/keyboards/nightly_boards/n2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "[n]2", "manufacturer": "Neil Brian Ramirez", + "url": "", "maintainer": "Neil Brian Ramirez", "usb": { "vid": "0x0717", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/nightly_boards/n40_o/keyboard.json b/keyboards/nightly_boards/n40_o/keyboard.json index c1b8381669..f749c143eb 100644 --- a/keyboards/nightly_boards/n40_o/keyboard.json +++ b/keyboards/nightly_boards/n40_o/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "[n]40-o", "manufacturer": "Neil Brian Ramirez", + "url": "", "maintainer": "Neil Brian Ramirez", "features": { "bootmagic": true, diff --git a/keyboards/nightly_boards/n60_s/keyboard.json b/keyboards/nightly_boards/n60_s/keyboard.json index 4d6a53dd48..f6e235fec5 100644 --- a/keyboards/nightly_boards/n60_s/keyboard.json +++ b/keyboards/nightly_boards/n60_s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "[n]60-S", "manufacturer": "Neil Brian Ramirez", + "url": "", "maintainer": "Neil Brian Ramirez", "usb": { "vid": "0xD812", @@ -13,6 +14,8 @@ "features": { "audio": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/nightly_boards/n87/keyboard.json b/keyboards/nightly_boards/n87/keyboard.json index f8c75b893d..ddfd27125c 100644 --- a/keyboards/nightly_boards/n87/keyboard.json +++ b/keyboards/nightly_boards/n87/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "[n]87", "manufacturer": "Neil Brian Ramirez", + "url": "", "maintainer": "Neil Brian Ramirez", "usb": { "vid": "0x0717", @@ -10,6 +11,8 @@ "features": { "audio": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/nightly_boards/n9/keyboard.json b/keyboards/nightly_boards/n9/keyboard.json index e3d8a3be84..83f9495445 100644 --- a/keyboards/nightly_boards/n9/keyboard.json +++ b/keyboards/nightly_boards/n9/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "[n]9", "manufacturer": "Neil Brian Ramirez", + "url": "", "maintainer": "Neil Brian Ramirez", "usb": { "vid": "0xD812", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/nightly_boards/octopad/keyboard.json b/keyboards/nightly_boards/octopad/keyboard.json index af1015ea95..797f26a2c2 100644 --- a/keyboards/nightly_boards/octopad/keyboard.json +++ b/keyboards/nightly_boards/octopad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Octopad", "manufacturer": "Neil Brian Ramirez", + "url": "", "maintainer": "Neil Brian Ramirez", "usb": { "vid": "0xD812", @@ -13,6 +14,8 @@ "features": { "audio": true, "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/nightly_boards/octopadplus/keyboard.json b/keyboards/nightly_boards/octopadplus/keyboard.json index 8c802ab646..ca5a7cdad1 100644 --- a/keyboards/nightly_boards/octopadplus/keyboard.json +++ b/keyboards/nightly_boards/octopadplus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Octopad+", "manufacturer": "DeskDaily", + "url": "", "maintainer": "DeskDaily", "usb": { "vid": "0xD812", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -49,7 +52,9 @@ "twinkle": true }, "brightness_steps": 8, + "hue_steps": 8, "led_count": 8, + "max_brightness": 255, "saturation_steps": 8, "sleep": true }, diff --git a/keyboards/nightly_boards/paraluman/keyboard.json b/keyboards/nightly_boards/paraluman/keyboard.json index 6ce7d0f111..f18cefe601 100644 --- a/keyboards/nightly_boards/paraluman/keyboard.json +++ b/keyboards/nightly_boards/paraluman/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Paraluman", "manufacturer": "DeskDaily", + "url": "", "maintainer": "DeskDaily", "usb": { "vid": "0xD812", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nightly_boards/ph_arisu/keyboard.json b/keyboards/nightly_boards/ph_arisu/keyboard.json index afcbdd905a..55f9e6e90c 100644 --- a/keyboards/nightly_boards/ph_arisu/keyboard.json +++ b/keyboards/nightly_boards/ph_arisu/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nimrod/keyboard.json b/keyboards/nimrod/keyboard.json index 4b82ba3617..08351efb20 100644 --- a/keyboards/nimrod/keyboard.json +++ b/keyboards/nimrod/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/ning/tiny_board/tb16_rgb/keyboard.json b/keyboards/ning/tiny_board/tb16_rgb/keyboard.json index 4501c4daeb..57a2438c3d 100644 --- a/keyboards/ning/tiny_board/tb16_rgb/keyboard.json +++ b/keyboards/ning/tiny_board/tb16_rgb/keyboard.json @@ -5,6 +5,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -27,6 +29,7 @@ "pin": "B5" }, "development_board": "promicro", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/nix_studio/lilith/board.h b/keyboards/nix_studio/lilith/board.h deleted file mode 100644 index 2a370fe2e0..0000000000 --- a/keyboards/nix_studio/lilith/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2022 Martin Arnstad (@arnstadm) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/akb/vero/board.h b/keyboards/nix_studio/lilith/config.h similarity index 55% rename from keyboards/akb/vero/board.h rename to keyboards/nix_studio/lilith/config.h index 2a370fe2e0..225e6ac51b 100644 --- a/keyboards/akb/vero/board.h +++ b/keyboards/nix_studio/lilith/config.h @@ -1,8 +1,7 @@ // Copyright 2022 Martin Arnstad (@arnstadm) // SPDX-License-Identifier: GPL-2.0-or-later + #pragma once -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U +/* Set HSE clock since it differs from F411 default */ +#define STM32_HSECLK 16000000 diff --git a/keyboards/nix_studio/lilith/keyboard.json b/keyboards/nix_studio/lilith/keyboard.json index 569740d7e5..7fe03ef806 100644 --- a/keyboards/nix_studio/lilith/keyboard.json +++ b/keyboards/nix_studio/lilith/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nix_studio/n60_a/keyboard.json b/keyboards/nix_studio/n60_a/keyboard.json index de5507c692..3f9b4dd086 100644 --- a/keyboards/nix_studio/n60_a/keyboard.json +++ b/keyboards/nix_studio/n60_a/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "N60A", "manufacturer": "Nix Studio", + "url": "", "maintainer": "Nix Studio", "usb": { "vid": "0x6E78", diff --git a/keyboards/nix_studio/oxalys80/keyboard.json b/keyboards/nix_studio/oxalys80/keyboard.json index 07e7419c56..470c43ea2f 100644 --- a/keyboards/nix_studio/oxalys80/keyboard.json +++ b/keyboards/nix_studio/oxalys80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "OXALYS80", "manufacturer": "Nix Studio", + "url": "", "maintainer": "Nix Studio", "usb": { "vid": "0x6E78", @@ -13,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/nixkeyboards/day_off/keyboard.json b/keyboards/nixkeyboards/day_off/keyboard.json index a1108ec098..2edbcdf883 100644 --- a/keyboards/nixkeyboards/day_off/keyboard.json +++ b/keyboards/nixkeyboards/day_off/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/nopunin10did/jabberwocky/v1/keyboard.json b/keyboards/nopunin10did/jabberwocky/v1/keyboard.json index 25f7f7a533..6c8b71460e 100644 --- a/keyboards/nopunin10did/jabberwocky/v1/keyboard.json +++ b/keyboards/nopunin10did/jabberwocky/v1/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json index 784732a54a..7c688039a3 100644 --- a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json +++ b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nopunin10did/kastenwagen1840/keyboard.json b/keyboards/nopunin10did/kastenwagen1840/keyboard.json index 7dea20455c..771df3d82c 100644 --- a/keyboards/nopunin10did/kastenwagen1840/keyboard.json +++ b/keyboards/nopunin10did/kastenwagen1840/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/nopunin10did/kastenwagen48/keyboard.json b/keyboards/nopunin10did/kastenwagen48/keyboard.json index 0132d0fa61..58a9d7c2a8 100644 --- a/keyboards/nopunin10did/kastenwagen48/keyboard.json +++ b/keyboards/nopunin10did/kastenwagen48/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/nopunin10did/railroad/rev0/keyboard.json b/keyboards/nopunin10did/railroad/rev0/keyboard.json index 92c878c571..7dcc17f762 100644 --- a/keyboards/nopunin10did/railroad/rev0/keyboard.json +++ b/keyboards/nopunin10did/railroad/rev0/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nopunin10did/styrkatmel/keyboard.json b/keyboards/nopunin10did/styrkatmel/keyboard.json index 033357d8f2..98a9597b34 100644 --- a/keyboards/nopunin10did/styrkatmel/keyboard.json +++ b/keyboards/nopunin10did/styrkatmel/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": false, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/novelkeys/nk1/keyboard.json b/keyboards/novelkeys/nk1/keyboard.json index cb055b71ca..0fa15cf9f2 100755 --- a/keyboards/novelkeys/nk1/keyboard.json +++ b/keyboards/novelkeys/nk1/keyboard.json @@ -33,6 +33,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/novelkeys/nk65/info.json b/keyboards/novelkeys/nk65/info.json index ae02d3ac05..e3bff19346 100755 --- a/keyboards/novelkeys/nk65/info.json +++ b/keyboards/novelkeys/nk65/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "NK65", "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "yiancar", "usb": { "vid": "0x8968", diff --git a/keyboards/novelkeys/nk87/keyboard.json b/keyboards/novelkeys/nk87/keyboard.json index 8b7f8fed4d..9573ff4c9c 100755 --- a/keyboards/novelkeys/nk87/keyboard.json +++ b/keyboards/novelkeys/nk87/keyboard.json @@ -22,7 +22,6 @@ "processor": "STM32F303", "bootloader": "stm32-dfu", "board": "QMK_PROTON_C", - "community_layouts": ["tkl_f13_ansi_tsangan"], "layout_aliases": { "LAYOUT_all": "LAYOUT_tkl_f13_ansi_tsangan" }, diff --git a/keyboards/novelkeys/nk87b/keyboard.json b/keyboards/novelkeys/nk87b/keyboard.json index 563f502aae..f81793acee 100755 --- a/keyboards/novelkeys/nk87b/keyboard.json +++ b/keyboards/novelkeys/nk87b/keyboard.json @@ -80,7 +80,6 @@ }, "processor": "STM32F072", "bootloader": "stm32-dfu", - "community_layouts": ["tkl_f13_ansi_tsangan"], "layout_aliases": { "LAYOUT_all": "LAYOUT_tkl_f13_ansi_tsangan" }, diff --git a/keyboards/novelkeys/nk_classic_tkl/keyboard.json b/keyboards/novelkeys/nk_classic_tkl/keyboard.json index 2df8322ed8..53d10ce32a 100755 --- a/keyboards/novelkeys/nk_classic_tkl/keyboard.json +++ b/keyboards/novelkeys/nk_classic_tkl/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json b/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json index 9944708955..12085cbacc 100755 --- a/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json +++ b/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/novelkeys/nk_plus/keyboard.json b/keyboards/novelkeys/nk_plus/keyboard.json index c4d1dc4df7..b823d2808b 100755 --- a/keyboards/novelkeys/nk_plus/keyboard.json +++ b/keyboards/novelkeys/nk_plus/keyboard.json @@ -15,6 +15,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/novelkeys/novelpad/keyboard.json b/keyboards/novelkeys/novelpad/keyboard.json index 340c30c0d9..bb190dd284 100644 --- a/keyboards/novelkeys/novelpad/keyboard.json +++ b/keyboards/novelkeys/novelpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NovelPad", "manufacturer": "NovelKeys.xyz", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,7 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/noxary/220/keyboard.json b/keyboards/noxary/220/keyboard.json index 60e68305d3..3565316999 100644 --- a/keyboards/noxary/220/keyboard.json +++ b/keyboards/noxary/220/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "220", "manufacturer": "Noxary", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E58", diff --git a/keyboards/noxary/260/keyboard.json b/keyboards/noxary/260/keyboard.json index e5af9b3095..d5353d4244 100644 --- a/keyboards/noxary/260/keyboard.json +++ b/keyboards/noxary/260/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "260", "manufacturer": "Noxary", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E58", diff --git a/keyboards/noxary/268_2/keyboard.json b/keyboards/noxary/268_2/keyboard.json index 256a6fd458..08daee6d63 100644 --- a/keyboards/noxary/268_2/keyboard.json +++ b/keyboards/noxary/268_2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "268.2", "manufacturer": "Noxary", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E58", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/noxary/268_2_rgb/keyboard.json b/keyboards/noxary/268_2_rgb/keyboard.json index f4e1894078..380a772767 100644 --- a/keyboards/noxary/268_2_rgb/keyboard.json +++ b/keyboards/noxary/268_2_rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "268.2 RGB", "manufacturer": "Noxary", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E58", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/noxary/280/keyboard.json b/keyboards/noxary/280/keyboard.json index 88bf9e2123..4bd9257152 100644 --- a/keyboards/noxary/280/keyboard.json +++ b/keyboards/noxary/280/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "280", "manufacturer": "Noxary", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E58", diff --git a/keyboards/noxary/378/keyboard.json b/keyboards/noxary/378/keyboard.json index 39e6ceeb8e..3502604d6c 100644 --- a/keyboards/noxary/378/keyboard.json +++ b/keyboards/noxary/378/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "378", "manufacturer": "Noxary", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x4E58", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/noxary/valhalla/keyboard.json b/keyboards/noxary/valhalla/keyboard.json index 087e762752..3bc3d80a34 100644 --- a/keyboards/noxary/valhalla/keyboard.json +++ b/keyboards/noxary/valhalla/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Valhalla", "manufacturer": "Noxary", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x4E58", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/noxary/valhalla_v2/keyboard.json b/keyboards/noxary/valhalla_v2/keyboard.json index cf187e5ba0..671bd0b775 100644 --- a/keyboards/noxary/valhalla_v2/keyboard.json +++ b/keyboards/noxary/valhalla_v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Valhalla V2", "manufacturer": "Noxary", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x4E58", @@ -15,6 +16,7 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, "backlight": true, "nkro": true }, diff --git a/keyboards/noxary/vulcan/keyboard.json b/keyboards/noxary/vulcan/keyboard.json index 18dab7063d..821cb000b5 100644 --- a/keyboards/noxary/vulcan/keyboard.json +++ b/keyboards/noxary/vulcan/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/noxary/x268/keyboard.json b/keyboards/noxary/x268/keyboard.json index 024201c886..7ca5799de2 100644 --- a/keyboards/noxary/x268/keyboard.json +++ b/keyboards/noxary/x268/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "x268", "manufacturer": "Noxary", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4E58", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/np12/keyboard.json b/keyboards/np12/keyboard.json index 435f2db3b7..d7f6f8cfb7 100644 --- a/keyboards/np12/keyboard.json +++ b/keyboards/np12/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/null/st110r2/keyboard.json b/keyboards/null/st110r2/keyboard.json index 09d5cefd8d..b83e9746e1 100644 --- a/keyboards/null/st110r2/keyboard.json +++ b/keyboards/null/st110r2/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/nullbitsco/scramble/rules.mk b/keyboards/nullbitsco/scramble/rules.mk new file mode 100644 index 0000000000..5753f7786d --- /dev/null +++ b/keyboards/nullbitsco/scramble/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = nullbitsco/scramble/v2 diff --git a/keyboards/numatreus/keyboard.json b/keyboards/numatreus/keyboard.json index 3441a769e1..3120b48f55 100644 --- a/keyboards/numatreus/keyboard.json +++ b/keyboards/numatreus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NumAtreus", "manufacturer": "yohewi", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/nyhxis/nfr_70/keyboard.json b/keyboards/nyhxis/nfr_70/keyboard.json index b614d9b745..0fbb4681d8 100644 --- a/keyboards/nyhxis/nfr_70/keyboard.json +++ b/keyboards/nyhxis/nfr_70/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/obosob/arch_36/keyboard.json b/keyboards/obosob/arch_36/keyboard.json index 791c08d3f1..290446dd22 100644 --- a/keyboards/obosob/arch_36/keyboard.json +++ b/keyboards/obosob/arch_36/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Arch-36", "manufacturer": "obosob", + "url": "", "maintainer": "obosob", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/obosob/steal_this_keyboard/keyboard.json b/keyboards/obosob/steal_this_keyboard/keyboard.json index 4865f54283..cc99431b5a 100644 --- a/keyboards/obosob/steal_this_keyboard/keyboard.json +++ b/keyboards/obosob/steal_this_keyboard/keyboard.json @@ -12,6 +12,8 @@ "bootloader": "caterina", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/ocean/addon/keyboard.json b/keyboards/ocean/addon/keyboard.json index 0793a7082a..b7502a28b6 100644 --- a/keyboards/ocean/addon/keyboard.json +++ b/keyboards/ocean/addon/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ocean/gin_v2/keyboard.json b/keyboards/ocean/gin_v2/keyboard.json index d20aa5916f..b6f22b813b 100644 --- a/keyboards/ocean/gin_v2/keyboard.json +++ b/keyboards/ocean/gin_v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Gin V2", "manufacturer": "Ocean", + "url": "", "maintainer": "Ocean", "usb": { "vid": "0x9624", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ocean/slamz/keyboard.json b/keyboards/ocean/slamz/keyboard.json index cf3ed54426..6712077763 100644 --- a/keyboards/ocean/slamz/keyboard.json +++ b/keyboards/ocean/slamz/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Slamz", "manufacturer": "Ocean", + "url": "", "maintainer": "Ocean", "usb": { "vid": "0x9624", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ocean/stealth/keyboard.json b/keyboards/ocean/stealth/keyboard.json index a15d2fffac..b094a5f4bf 100644 --- a/keyboards/ocean/stealth/keyboard.json +++ b/keyboards/ocean/stealth/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Stealth", "manufacturer": "Ocean", + "url": "", "maintainer": "Ocean", "usb": { "vid": "0x9624", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ocean/sus/keyboard.json b/keyboards/ocean/sus/keyboard.json index 3ac426f6aa..ea2b1e326a 100644 --- a/keyboards/ocean/sus/keyboard.json +++ b/keyboards/ocean/sus/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ocean/wang_ergo/keyboard.json b/keyboards/ocean/wang_ergo/keyboard.json index d552028bc6..5debc4396d 100644 --- a/keyboards/ocean/wang_ergo/keyboard.json +++ b/keyboards/ocean/wang_ergo/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Wang Ergo", "manufacturer": "Ocean", + "url": "", "maintainer": "oceeean", "usb": { "vid": "0x9624", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ocean/wang_v2/keyboard.json b/keyboards/ocean/wang_v2/keyboard.json index 79ef6b3697..6e80932ce2 100644 --- a/keyboards/ocean/wang_v2/keyboard.json +++ b/keyboards/ocean/wang_v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Wang V2", "manufacturer": "Ocean", + "url": "", "maintainer": "Ocean", "usb": { "vid": "0x9624", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ocean/yuri/keyboard.json b/keyboards/ocean/yuri/keyboard.json index aeb4cd895d..6542de2cda 100644 --- a/keyboards/ocean/yuri/keyboard.json +++ b/keyboards/ocean/yuri/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/oddball/v1/rules.mk b/keyboards/oddball/rules.mk similarity index 53% rename from keyboards/oddball/v1/rules.mk rename to keyboards/oddball/rules.mk index 84de35aeb1..2fc8995acb 100644 --- a/keyboards/oddball/v1/rules.mk +++ b/keyboards/oddball/rules.mk @@ -1 +1,3 @@ POINTING_DEVICE_DRIVER = adns9800 + +DEFAULT_FOLDER = oddball/v1 diff --git a/keyboards/oddball/v2/rules.mk b/keyboards/oddball/v2/rules.mk deleted file mode 100644 index 84de35aeb1..0000000000 --- a/keyboards/oddball/v2/rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = adns9800 diff --git a/keyboards/oddball/v2_1/rules.mk b/keyboards/oddball/v2_1/rules.mk deleted file mode 100644 index 84de35aeb1..0000000000 --- a/keyboards/oddball/v2_1/rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = adns9800 diff --git a/keyboards/odelia/keyboard.json b/keyboards/odelia/keyboard.json index 425240d507..3c187b5c18 100644 --- a/keyboards/odelia/keyboard.json +++ b/keyboards/odelia/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Odelia", "manufacturer": "InterpolKeeb", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0x6BE3", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/ogre/ergo_single/keyboard.json b/keyboards/ogre/ergo_single/keyboard.json index 1abaf26400..3ebd88b0d2 100644 --- a/keyboards/ogre/ergo_single/keyboard.json +++ b/keyboards/ogre/ergo_single/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ogre Ergo Single", "manufacturer": "ctrlshiftba", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/ogre/ergo_split/keyboard.json b/keyboards/ogre/ergo_split/keyboard.json index ea8a28ba4a..4dc3caa530 100644 --- a/keyboards/ogre/ergo_split/keyboard.json +++ b/keyboards/ogre/ergo_split/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ogre Ergo Split", "manufacturer": "ctrlshiftba", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/ok60/keyboard.json b/keyboards/ok60/keyboard.json index 52ddebc011..5cf55b666d 100644 --- a/keyboards/ok60/keyboard.json +++ b/keyboards/ok60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "OK60", "manufacturer": "OK60", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4B36", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/omkbd/ergodash/mini/keyboard.json b/keyboards/omkbd/ergodash/mini/keyboard.json index ea12ea5a9e..7c15c4f6f7 100644 --- a/keyboards/omkbd/ergodash/mini/keyboard.json +++ b/keyboards/omkbd/ergodash/mini/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ErgoDash Mini", "manufacturer": "Omkbd", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/omkbd/ergodash/rev1/keyboard.json b/keyboards/omkbd/ergodash/rev1/keyboard.json index a25610be9c..6a61950ba6 100644 --- a/keyboards/omkbd/ergodash/rev1/keyboard.json +++ b/keyboards/omkbd/ergodash/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ErgoDash rev1.2", "manufacturer": "Omkbd", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/omkbd/ergodash/rules.mk b/keyboards/omkbd/ergodash/rules.mk new file mode 100644 index 0000000000..492cdde65d --- /dev/null +++ b/keyboards/omkbd/ergodash/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = omkbd/ergodash/rev1 diff --git a/keyboards/omkbd/runner3680/3x6/keyboard.json b/keyboards/omkbd/runner3680/3x6/keyboard.json index 4b8c71a156..44c5ce35a0 100644 --- a/keyboards/omkbd/runner3680/3x6/keyboard.json +++ b/keyboards/omkbd/runner3680/3x6/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "runner3680 3x6", "manufacturer": "Omkbd", + "url": "", "maintainer": "omkbd", "usb": { "vid": "0xFEED", diff --git a/keyboards/omkbd/runner3680/3x7/keyboard.json b/keyboards/omkbd/runner3680/3x7/keyboard.json index 974147f732..8a4c55ca71 100644 --- a/keyboards/omkbd/runner3680/3x7/keyboard.json +++ b/keyboards/omkbd/runner3680/3x7/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "runner3680 3x7", "manufacturer": "Omkbd", + "url": "", "maintainer": "omkbd", "usb": { "vid": "0xFEED", diff --git a/keyboards/omkbd/runner3680/3x8/keyboard.json b/keyboards/omkbd/runner3680/3x8/keyboard.json index 04fadf854b..11fe738a8a 100644 --- a/keyboards/omkbd/runner3680/3x8/keyboard.json +++ b/keyboards/omkbd/runner3680/3x8/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "runner3680 3x8", "manufacturer": "Omkbd", + "url": "", "maintainer": "omkbd", "usb": { "vid": "0xFEED", diff --git a/keyboards/omkbd/runner3680/4x6/keyboard.json b/keyboards/omkbd/runner3680/4x6/keyboard.json index 7f8ecd0239..2449f3431e 100644 --- a/keyboards/omkbd/runner3680/4x6/keyboard.json +++ b/keyboards/omkbd/runner3680/4x6/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "runner3680 4x6", "manufacturer": "Omkbd", + "url": "", "maintainer": "omkbd", "usb": { "vid": "0xFEED", diff --git a/keyboards/omkbd/runner3680/4x7/keyboard.json b/keyboards/omkbd/runner3680/4x7/keyboard.json index 5bee706192..01acfad1e7 100644 --- a/keyboards/omkbd/runner3680/4x7/keyboard.json +++ b/keyboards/omkbd/runner3680/4x7/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "runner3680 4x7", "manufacturer": "Omkbd", + "url": "", "maintainer": "omkbd", "usb": { "vid": "0xFEED", diff --git a/keyboards/omkbd/runner3680/4x8/keyboard.json b/keyboards/omkbd/runner3680/4x8/keyboard.json index e9142eec3d..748fc05508 100644 --- a/keyboards/omkbd/runner3680/4x8/keyboard.json +++ b/keyboards/omkbd/runner3680/4x8/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "runner3680 4x8", "manufacturer": "Omkbd", + "url": "", "maintainer": "omkbd", "usb": { "vid": "0xFEED", diff --git a/keyboards/omkbd/runner3680/5x6/keyboard.json b/keyboards/omkbd/runner3680/5x6/keyboard.json index 5d2d22d7fa..9b043c7e19 100644 --- a/keyboards/omkbd/runner3680/5x6/keyboard.json +++ b/keyboards/omkbd/runner3680/5x6/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "runner3680 5x6", "manufacturer": "Omkbd", + "url": "", "maintainer": "omkbd", "usb": { "vid": "0xFEED", diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json b/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json index 2d912a1445..b8a361f1b2 100644 --- a/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json +++ b/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "runner3680 5x6+5x8", "manufacturer": "Omkbd", + "url": "", "maintainer": "omkbd", "usb": { "vid": "0x3680", diff --git a/keyboards/omkbd/runner3680/5x7/keyboard.json b/keyboards/omkbd/runner3680/5x7/keyboard.json index 41de1f80f5..41df797770 100644 --- a/keyboards/omkbd/runner3680/5x7/keyboard.json +++ b/keyboards/omkbd/runner3680/5x7/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "runner3680 5x7", "manufacturer": "Omkbd", + "url": "", "maintainer": "omkbd", "usb": { "vid": "0xFEED", diff --git a/keyboards/omkbd/runner3680/5x8/keyboard.json b/keyboards/omkbd/runner3680/5x8/keyboard.json index 11857942b8..04294371d7 100644 --- a/keyboards/omkbd/runner3680/5x8/keyboard.json +++ b/keyboards/omkbd/runner3680/5x8/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "runner3680 5x8", "manufacturer": "Omkbd", + "url": "", "maintainer": "omkbd", "usb": { "vid": "0xFEED", diff --git a/keyboards/omkbd/runner3680/rules.mk b/keyboards/omkbd/runner3680/rules.mk new file mode 100644 index 0000000000..3460ad8964 --- /dev/null +++ b/keyboards/omkbd/runner3680/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = omkbd/runner3680/5x8 diff --git a/keyboards/omnikeyish/dynamic_macro.c b/keyboards/omnikeyish/dynamic_macro.c index 99b6d173b8..b990a09a13 100644 --- a/keyboards/omnikeyish/dynamic_macro.c +++ b/keyboards/omnikeyish/dynamic_macro.c @@ -1,6 +1,5 @@ #include "omnikeyish.h" #include -#include "eeprom.h" dynamic_macro_t dynamic_macros[DYNAMIC_MACRO_COUNT]; diff --git a/keyboards/onekeyco/dango40/keyboard.json b/keyboards/onekeyco/dango40/keyboard.json index 25baf9e2bc..8a41f25325 100644 --- a/keyboards/onekeyco/dango40/keyboard.json +++ b/keyboards/onekeyco/dango40/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/orange75/keyboard.json b/keyboards/orange75/keyboard.json index cd6108581c..a0ef819651 100644 --- a/keyboards/orange75/keyboard.json +++ b/keyboards/orange75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Orange75", "manufacturer": "Fox-Lab", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEEB", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/org60/keyboard.json b/keyboards/org60/keyboard.json index e59dc27e63..2586d16b08 100644 --- a/keyboards/org60/keyboard.json +++ b/keyboards/org60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Org60", "manufacturer": "\u5927\u6a58\u5b50\u5916\u8bbe (Large orange peripherals)", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/ortho5by12/keyboard.json b/keyboards/ortho5by12/keyboard.json index a360e9d3d7..5bcd1e00fc 100644 --- a/keyboards/ortho5by12/keyboard.json +++ b/keyboards/ortho5by12/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/orthodox/rules.mk b/keyboards/orthodox/rules.mk new file mode 100644 index 0000000000..fd71b6c8fb --- /dev/null +++ b/keyboards/orthodox/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = orthodox/rev3 diff --git a/keyboards/orthograph/keyboard.json b/keyboards/orthograph/keyboard.json index cb259a620b..a3fbf634e5 100644 --- a/keyboards/orthograph/keyboard.json +++ b/keyboards/orthograph/keyboard.json @@ -16,6 +16,8 @@ "features": { "rgb_matrix": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -32,9 +34,7 @@ "pin": "E6" }, "transport": { - "sync": { - "matrix_state": true - } + "sync_matrix_state": true }, "usb_detect":{ "enabled": true diff --git a/keyboards/owlab/jelly_epoch/hotswap/keyboard.json b/keyboards/owlab/jelly_epoch/hotswap/keyboard.json index 8fcea8034d..38db4c965b 100644 --- a/keyboards/owlab/jelly_epoch/hotswap/keyboard.json +++ b/keyboards/owlab/jelly_epoch/hotswap/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/owlab/jelly_epoch/soldered/keyboard.json b/keyboards/owlab/jelly_epoch/soldered/keyboard.json index 2d807c58a9..5a12cdf0e9 100644 --- a/keyboards/owlab/jelly_epoch/soldered/keyboard.json +++ b/keyboards/owlab/jelly_epoch/soldered/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/owlab/jelly_evolv/info.json b/keyboards/owlab/jelly_evolv/info.json index cd67a95a8d..999bcca477 100644 --- a/keyboards/owlab/jelly_evolv/info.json +++ b/keyboards/owlab/jelly_evolv/info.json @@ -1,5 +1,6 @@ { "manufacturer": "OwLab", + "url": "", "maintainer": "Owlab", "usb": { "vid": "0x4F53" diff --git a/keyboards/owlab/spring/keyboard.json b/keyboards/owlab/spring/keyboard.json index 1789f4ebb1..7dcb6ec717 100644 --- a/keyboards/owlab/spring/keyboard.json +++ b/keyboards/owlab/spring/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Spring", "manufacturer": "OwLab", + "url": "", "maintainer": "OwLab", "usb": { "vid": "0x4F53", @@ -10,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/owlab/suit80/ansi/keyboard.json b/keyboards/owlab/suit80/ansi/keyboard.json index fe0f1b6e4b..22bf9f78cd 100644 --- a/keyboards/owlab/suit80/ansi/keyboard.json +++ b/keyboards/owlab/suit80/ansi/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Suit80 ANSI", "manufacturer": "OwLab", + "url": "", "maintainer": "Owlab", "usb": { "vid": "0x4F53", @@ -10,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/owlab/suit80/iso/keyboard.json b/keyboards/owlab/suit80/iso/keyboard.json index 2d9fcde472..87e95e9bee 100644 --- a/keyboards/owlab/suit80/iso/keyboard.json +++ b/keyboards/owlab/suit80/iso/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Suit80 ISO", "manufacturer": "OwLab", + "url": "", "maintainer": "Owlab", "usb": { "vid": "0x4F53", @@ -10,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/owlab/voice65/hotswap/keyboard.json b/keyboards/owlab/voice65/hotswap/keyboard.json index f153efbde2..088cde4001 100644 --- a/keyboards/owlab/voice65/hotswap/keyboard.json +++ b/keyboards/owlab/voice65/hotswap/keyboard.json @@ -66,6 +66,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/owlab/voice65/soldered/keyboard.json b/keyboards/owlab/voice65/soldered/keyboard.json index 932c32d2fd..7aab520f76 100644 --- a/keyboards/owlab/voice65/soldered/keyboard.json +++ b/keyboards/owlab/voice65/soldered/keyboard.json @@ -66,6 +66,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/p3d/eu_isolation/keyboard.json b/keyboards/p3d/eu_isolation/keyboard.json index 99a3548bb8..715515c42d 100644 --- a/keyboards/p3d/eu_isolation/keyboard.json +++ b/keyboards/p3d/eu_isolation/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "EU ISOlation", "manufacturer": "TuckTuckFloof", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/p3d/glitch/keyboard.json b/keyboards/p3d/glitch/keyboard.json index d860877b75..5de1405f4f 100644 --- a/keyboards/p3d/glitch/keyboard.json +++ b/keyboards/p3d/glitch/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/p3d/q4z/keyboard.json b/keyboards/p3d/q4z/keyboard.json index 0c293b92bd..9dfa123c6c 100644 --- a/keyboards/p3d/q4z/keyboard.json +++ b/keyboards/p3d/q4z/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "q4z", "manufacturer": "drmmr", + "url": "", "maintainer": "rjboone", "usb": { "vid": "0x0001", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/p3d/spacey/keyboard.json b/keyboards/p3d/spacey/keyboard.json index fdf19d0a72..ed23c327ad 100644 --- a/keyboards/p3d/spacey/keyboard.json +++ b/keyboards/p3d/spacey/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "spacey", "manufacturer": "vanilla", + "url": "", "maintainer": "vanilla", "usb": { "vid": "0x5641", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/p3d/synapse/keyboard.json b/keyboards/p3d/synapse/keyboard.json index 0c28e5b495..accd9ad47e 100644 --- a/keyboards/p3d/synapse/keyboard.json +++ b/keyboards/p3d/synapse/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "synapse", "manufacturer": "drmmr", + "url": "", "maintainer": "qpockets", "usb": { "vid": "0x7170", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/p3d/tw40/keyboard.json b/keyboards/p3d/tw40/keyboard.json index 488474f21e..459e187533 100644 --- a/keyboards/p3d/tw40/keyboard.json +++ b/keyboards/p3d/tw40/keyboard.json @@ -28,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/pabile/p18/keyboard.json b/keyboards/pabile/p18/keyboard.json index bf3380038a..4bc6047ec0 100644 --- a/keyboards/pabile/p18/keyboard.json +++ b/keyboards/pabile/p18/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/pabile/p20/info.json b/keyboards/pabile/p20/info.json index 0bac40f010..2584130637 100644 --- a/keyboards/pabile/p20/info.json +++ b/keyboards/pabile/p20/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Pabile", + "url": "", "maintainer": "pabile", "usb": { "vid": "0x6666", diff --git a/keyboards/pabile/p20/ver1/keyboard.json b/keyboards/pabile/p20/ver1/keyboard.json index 3e3a16a6d9..e909617faa 100644 --- a/keyboards/pabile/p20/ver1/keyboard.json +++ b/keyboards/pabile/p20/ver1/keyboard.json @@ -5,6 +5,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/pabile/p20/ver2/keyboard.json b/keyboards/pabile/p20/ver2/keyboard.json index cdacbf3aec..b6688d870e 100644 --- a/keyboards/pabile/p20/ver2/keyboard.json +++ b/keyboards/pabile/p20/ver2/keyboard.json @@ -5,6 +5,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/pabile/p40/keyboard.json b/keyboards/pabile/p40/keyboard.json index fbe4896687..980da54a06 100644 --- a/keyboards/pabile/p40/keyboard.json +++ b/keyboards/pabile/p40/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/pabile/p40_ortho/keyboard.json b/keyboards/pabile/p40_ortho/keyboard.json index 3e5d9ea504..305c0ad331 100644 --- a/keyboards/pabile/p40_ortho/keyboard.json +++ b/keyboards/pabile/p40_ortho/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/pabile/p42/keyboard.json b/keyboards/pabile/p42/keyboard.json index 42c8964332..70dcb09744 100644 --- a/keyboards/pabile/p42/keyboard.json +++ b/keyboards/pabile/p42/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/panc40/keyboard.json b/keyboards/panc40/keyboard.json index 7bc19fab06..fe98da7f2e 100644 --- a/keyboards/panc40/keyboard.json +++ b/keyboards/panc40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Panc40", "manufacturer": "Panc Interactive", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/panc60/keyboard.json b/keyboards/panc60/keyboard.json index 98410497d5..e0f3a491c8 100644 --- a/keyboards/panc60/keyboard.json +++ b/keyboards/panc60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Panc60", "manufacturer": "Panc Interactive", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/pangorin/tan67/keyboard.json b/keyboards/pangorin/tan67/keyboard.json index 3c593d846b..5b36fd7a40 100644 --- a/keyboards/pangorin/tan67/keyboard.json +++ b/keyboards/pangorin/tan67/keyboard.json @@ -18,6 +18,8 @@ "bootmagic": true, "mousekey": false, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/papercranekeyboards/gerald65/keyboard.json b/keyboards/papercranekeyboards/gerald65/keyboard.json index 48ccbf1b5a..255727d508 100644 --- a/keyboards/papercranekeyboards/gerald65/keyboard.json +++ b/keyboards/papercranekeyboards/gerald65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "gerald65", "manufacturer": "PaperCraneKeyboards", + "url": "", "maintainer": "PaperCraneKeyboards", "usb": { "vid": "0x5012", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/paprikman/albacore/keyboard.json b/keyboards/paprikman/albacore/keyboard.json index 8706c67bcd..1ee4b998f7 100644 --- a/keyboards/paprikman/albacore/keyboard.json +++ b/keyboards/paprikman/albacore/keyboard.json @@ -18,6 +18,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/parallel/parallel_65/hotswap/keyboard.json b/keyboards/parallel/parallel_65/hotswap/keyboard.json index 228d9dcb7e..8b1e31191f 100644 --- a/keyboards/parallel/parallel_65/hotswap/keyboard.json +++ b/keyboards/parallel/parallel_65/hotswap/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/parallel/parallel_65/soldered/keyboard.json b/keyboards/parallel/parallel_65/soldered/keyboard.json index 6acf08d808..2e8d049dbf 100644 --- a/keyboards/parallel/parallel_65/soldered/keyboard.json +++ b/keyboards/parallel/parallel_65/soldered/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/pauperboards/brick/keyboard.json b/keyboards/pauperboards/brick/keyboard.json index f1775b4be5..8ebe32ded4 100644 --- a/keyboards/pauperboards/brick/keyboard.json +++ b/keyboards/pauperboards/brick/keyboard.json @@ -17,6 +17,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -33,6 +35,7 @@ }, "rgblight": { "led_count": 8, + "hue_steps": 8, "brightness_steps": 8, "saturation_steps": 8, "animations": { diff --git a/keyboards/pdxkbc/keyboard.json b/keyboards/pdxkbc/keyboard.json index 7921c67190..642adc0878 100644 --- a/keyboards/pdxkbc/keyboard.json +++ b/keyboards/pdxkbc/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "pdxkbc", "manufacturer": "Franklin Harding", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5044", diff --git a/keyboards/pearl/keyboard.json b/keyboards/pearl/keyboard.json index c839c54e19..60c5bb3a37 100644 --- a/keyboards/pearl/keyboard.json +++ b/keyboards/pearl/keyboard.json @@ -11,6 +11,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/pearlboards/atlas/keyboard.json b/keyboards/pearlboards/atlas/keyboard.json index ea9f86ec51..6886885e03 100644 --- a/keyboards/pearlboards/atlas/keyboard.json +++ b/keyboards/pearlboards/atlas/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Atlas", "manufacturer": "Koobaczech", + "url": "", "maintainer": "Koobaczech", "usb": { "vid": "0x6963", diff --git a/keyboards/pearlboards/pandora/keyboard.json b/keyboards/pearlboards/pandora/keyboard.json index c17de8de35..670aa6f75a 100644 --- a/keyboards/pearlboards/pandora/keyboard.json +++ b/keyboards/pearlboards/pandora/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pandora", "manufacturer": "Koobaczech", + "url": "", "maintainer": "Koobaczech", "usb": { "vid": "0x6963", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "dip_switch": true, "encoder": true, "extrakey": true, diff --git a/keyboards/pearlboards/pearl/keyboard.json b/keyboards/pearlboards/pearl/keyboard.json index 3f35aec006..e91192475f 100644 --- a/keyboards/pearlboards/pearl/keyboard.json +++ b/keyboards/pearlboards/pearl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pearl", "manufacturer": "Koobaczech", + "url": "", "maintainer": "Koobaczech", "usb": { "vid": "0x6963", diff --git a/keyboards/pearlboards/zeus/keyboard.json b/keyboards/pearlboards/zeus/keyboard.json index 72751a5fec..9a3e7ead5f 100644 --- a/keyboards/pearlboards/zeus/keyboard.json +++ b/keyboards/pearlboards/zeus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Zeus", "manufacturer": "Koobaczech", + "url": "", "maintainer": "Koobaczech", "usb": { "vid": "0x6963", diff --git a/keyboards/pearlboards/zeuspad/keyboard.json b/keyboards/pearlboards/zeuspad/keyboard.json index 865e9c4e79..93e1e64433 100644 --- a/keyboards/pearlboards/zeuspad/keyboard.json +++ b/keyboards/pearlboards/zeuspad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Zeuspad", "manufacturer": "Koobaczech", + "url": "", "maintainer": "Koobaczech", "usb": { "vid": "0x6963", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/peej/lumberjack/keyboard.json b/keyboards/peej/lumberjack/keyboard.json index 9893ba7227..c94cb008be 100644 --- a/keyboards/peej/lumberjack/keyboard.json +++ b/keyboards/peej/lumberjack/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/peej/rosaline/rules.mk b/keyboards/peej/rosaline/rules.mk new file mode 100644 index 0000000000..928164362a --- /dev/null +++ b/keyboards/peej/rosaline/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = peej/rosaline/staggered diff --git a/keyboards/peej/tripel/info.json b/keyboards/peej/tripel/info.json index 7a5c12461a..8e357205f9 100644 --- a/keyboards/peej/tripel/info.json +++ b/keyboards/peej/tripel/info.json @@ -11,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/peej/tripel/rules.mk b/keyboards/peej/tripel/rules.mk new file mode 100644 index 0000000000..8d89700456 --- /dev/null +++ b/keyboards/peej/tripel/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = peej/tripel/left diff --git a/keyboards/pegasus/keyboard.json b/keyboards/pegasus/keyboard.json index 865833d189..4de1631379 100644 --- a/keyboards/pegasus/keyboard.json +++ b/keyboards/pegasus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pegasus", "manufacturer": "melonbred", + "url": "", "maintainer": "melonbred", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/pegasus/readme.md b/keyboards/pegasus/readme.md index 9c6d575e92..c523c03540 100644 --- a/keyboards/pegasus/readme.md +++ b/keyboards/pegasus/readme.md @@ -5,6 +5,8 @@ Pegasus is a 40% keyboard with a 12.75u "WKL" layout with 0.75u blockers. * Keyboard Maintainer: [melonbred](https://github.com/melonbred) +* Hardware Supported: The PCBs, controllers supported +* Hardware Availability: Links to where you can find this hardware Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/peranekofactory/tone/rules.mk b/keyboards/peranekofactory/tone/rules.mk new file mode 100644 index 0000000000..e87862a9f6 --- /dev/null +++ b/keyboards/peranekofactory/tone/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = peranekofactory/tone/rev2 diff --git a/keyboards/percent/booster/keyboard.json b/keyboards/percent/booster/keyboard.json index 82701646ff..edd9afd18d 100644 --- a/keyboards/percent/booster/keyboard.json +++ b/keyboards/percent/booster/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Booster", "manufacturer": "Percent Studio", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5053", diff --git a/keyboards/percent/canoe/keyboard.json b/keyboards/percent/canoe/keyboard.json index 354b1164d9..656f73f904 100644 --- a/keyboards/percent/canoe/keyboard.json +++ b/keyboards/percent/canoe/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CANOE", "manufacturer": "Percent Studios", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5053", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/percent/canoe_gen2/keyboard.json b/keyboards/percent/canoe_gen2/keyboard.json index b6a8a47a5f..85fbfd28b9 100644 --- a/keyboards/percent/canoe_gen2/keyboard.json +++ b/keyboards/percent/canoe_gen2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Canoe Gen2", "manufacturer": "Percent Studio", + "url": "", "maintainer": "evyd13", "usb": { "vid": "0x9C12", diff --git a/keyboards/percent/skog/keyboard.json b/keyboards/percent/skog/keyboard.json index da210410ef..823c1638ac 100644 --- a/keyboards/percent/skog/keyboard.json +++ b/keyboards/percent/skog/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Skog TKL", "manufacturer": "Percent Studios", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5053", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/percent/skog_lite/keyboard.json b/keyboards/percent/skog_lite/keyboard.json index f1e925d2ea..e52d910845 100644 --- a/keyboards/percent/skog_lite/keyboard.json +++ b/keyboards/percent/skog_lite/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Skog Lite", "manufacturer": "Percent Studios", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5053", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/phantom/keyboard.json b/keyboards/phantom/keyboard.json index 79d94cce6e..6f2b99b2b1 100644 --- a/keyboards/phantom/keyboard.json +++ b/keyboards/phantom/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/phase_studio/titan65/hotswap/keyboard.json b/keyboards/phase_studio/titan65/hotswap/keyboard.json index c9d1b0f726..956f508701 100644 --- a/keyboards/phase_studio/titan65/hotswap/keyboard.json +++ b/keyboards/phase_studio/titan65/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Titan 65 (hotswap)", "manufacturer": "Phase Studio", + "url": "", "maintainer": "drashna", "usb": { "vid": "0x5054", diff --git a/keyboards/phase_studio/titan65/rules.mk b/keyboards/phase_studio/titan65/rules.mk new file mode 100644 index 0000000000..d55ca35d7a --- /dev/null +++ b/keyboards/phase_studio/titan65/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = phase_studio/titan65/hotswap diff --git a/keyboards/phase_studio/titan65/soldered/keyboard.json b/keyboards/phase_studio/titan65/soldered/keyboard.json index 8bb0f6f19c..c60c689932 100644 --- a/keyboards/phase_studio/titan65/soldered/keyboard.json +++ b/keyboards/phase_studio/titan65/soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Titan 65 (soldered)", "manufacturer": "Phase Studio", + "url": "", "maintainer": "drashna", "usb": { "vid": "0x5054", diff --git a/keyboards/phdesign/ph60/multi/keyboard.json b/keyboards/phdesign/ph60/multi/keyboard.json deleted file mode 100644 index 7240974f70..0000000000 --- a/keyboards/phdesign/ph60/multi/keyboard.json +++ /dev/null @@ -1,298 +0,0 @@ -{ - "manufacturer": "phdesign.cc", - "keyboard_name": "ph60_multi", - "maintainer": "phdesign", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13"], - "rows": ["GP14", "GP15", "GP18", "GP19", "GP20"] - }, - "processor": "RP2040", - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "url": "phdesign.cc", - "usb": { - "device_version": "2.0.1", - "pid": "0x0002", - "vid": "0x5048" - }, - "community_layouts": ["60_ansi", "60_ansi_tsangan_split_bs_rshift", "60_iso"] - "layouts": { - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 12], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - } - } -} diff --git a/keyboards/phdesign/ph60/multi/keymaps/default/keymap.c b/keyboards/phdesign/ph60/multi/keymaps/default/keymap.c deleted file mode 100644 index 74d7a97299..0000000000 --- a/keyboards/phdesign/ph60/multi/keymaps/default/keymap.c +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum custom_layers { - _BASE, - _FN1, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// Base Layer (61 keys) - [_BASE] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, _______, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL - ), - // Fn1 Layer (Windows Lock Shifting Layer) - [_FN1] = LAYOUT_all( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, - _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, - _______, GU_TOGG, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/phdesign/ph60/multi/readme.md b/keyboards/phdesign/ph60/multi/readme.md deleted file mode 100644 index 320e8ec926..0000000000 --- a/keyboards/phdesign/ph60/multi/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# phdesign/ph60/multi - -![PromoImage](https://i.imgur.com/sUwC9mk.jpg) - -A 60% multi-layout supported keyboard PCB with open source keyboard case. - -* Keyboard Maintainer: [Team PHDesign](https://github.com/ph-design) -* Hardware Supported: PH60/Multi PCB -* Hardware Availability: - - Store: https://e.tb.cn/h.6VMjUgWZkUGwq26?tk=oVyAeD6uPS2 - - GitHub Repo: https://github.com/ph-design/PH60/tree/Rev.2/PCB_Rev2/Multi - -Make example for this keyboard (after setting up your build environment): - - make phdesign/ph60/multi:default - -Flashing example for this keyboard: - - make phdesign/ph60/multi:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead diff --git a/keyboards/phdesign/phac/keyboard.json b/keyboards/phdesign/phac/keyboard.json index 3034aaa3a0..660cf6c2ad 100644 --- a/keyboards/phdesign/phac/keyboard.json +++ b/keyboards/phdesign/phac/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -22,6 +24,7 @@ ] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "2.2.0", "pid": "0x0001", diff --git a/keyboards/phdesign/readme.md b/keyboards/phdesign/readme.md deleted file mode 100644 index 4605afc13f..0000000000 --- a/keyboards/phdesign/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -![PHDesign Logo](https://i.imgur.com/zkiyChR.png) - -PHDesign is a team focused on making variety kinds of tech stuff,including keyboards and keyboard-like controllers. This directory includes QMK config files for our keyboard products. - -* Maintainer: [Team PHDesign](https://github.com/ph-design) -* Supported Hardware: - * [`PH60/Multi`](ph60/multi/): PH60 multi-layout PCB - * [`PH-AC`](phac/): PH-AC rhythm game controller -* Product Availability: [phdesing.cc](https://phdesign.cc/) diff --git a/keyboards/phentech/rpk_001/halconf.h b/keyboards/phentech/rpk_001/halconf.h index 872e0217df..8760386e81 100644 --- a/keyboards/phentech/rpk_001/halconf.h +++ b/keyboards/phentech/rpk_001/halconf.h @@ -4,5 +4,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/phentech/rpk_001/keyboard.json b/keyboards/phentech/rpk_001/keyboard.json index ce822295b2..0ce2993897 100644 --- a/keyboards/phentech/rpk_001/keyboard.json +++ b/keyboards/phentech/rpk_001/keyboard.json @@ -2,6 +2,7 @@ "manufacturer": "HENGCANG ELECTRONIC", "keyboard_name": "RPK-001", "maintainer": "JoyLee", + "url": "", "processor": "WB32FQ95", "bootloader": "wb32-dfu", "usb": { diff --git a/keyboards/phrygian/ph100/keyboard.json b/keyboards/phrygian/ph100/keyboard.json index 28ad88c98e..3d0c611862 100644 --- a/keyboards/phrygian/ph100/keyboard.json +++ b/keyboards/phrygian/ph100/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/piantoruv44/keyboard.json b/keyboards/piantoruv44/keyboard.json index 771644cb5d..e2374dca6d 100644 --- a/keyboards/piantoruv44/keyboard.json +++ b/keyboards/piantoruv44/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/pica40/rev1/keyboard.json b/keyboards/pica40/rev1/keyboard.json index 85c2221a13..fdb4cb09b3 100644 --- a/keyboards/pica40/rev1/keyboard.json +++ b/keyboards/pica40/rev1/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "mousekey": true, "extrakey": true, "encoder": true, diff --git a/keyboards/pica40/rev2/keyboard.json b/keyboards/pica40/rev2/keyboard.json index 7fd2094706..64b043f274 100644 --- a/keyboards/pica40/rev2/keyboard.json +++ b/keyboards/pica40/rev2/keyboard.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "mousekey": true, "extrakey": true, "encoder": true, diff --git a/keyboards/pica40/rules.mk b/keyboards/pica40/rules.mk new file mode 100644 index 0000000000..9670889712 --- /dev/null +++ b/keyboards/pica40/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = pica40/rev2 diff --git a/keyboards/picolab/frusta_fundamental/keyboard.json b/keyboards/picolab/frusta_fundamental/keyboard.json index 55a049060d..56c145e03c 100644 --- a/keyboards/picolab/frusta_fundamental/keyboard.json +++ b/keyboards/picolab/frusta_fundamental/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/pimentoso/paddino02/rev1/keyboard.json b/keyboards/pimentoso/paddino02/rev1/keyboard.json index b0fddff9d3..74f11ab7ad 100644 --- a/keyboards/pimentoso/paddino02/rev1/keyboard.json +++ b/keyboards/pimentoso/paddino02/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Paddino02 rev1", "manufacturer": "Pimentoso", + "url": "", "maintainer": "Pimentoso", "usb": { "vid": "0xD00D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/pimentoso/paddino02/rev2/left/keyboard.json b/keyboards/pimentoso/paddino02/rev2/left/keyboard.json index f89552220d..8ba456e29e 100644 --- a/keyboards/pimentoso/paddino02/rev2/left/keyboard.json +++ b/keyboards/pimentoso/paddino02/rev2/left/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Paddino02 rev2 (left)", "manufacturer": "Pimentoso", + "url": "", "maintainer": "Pimentoso", "usb": { "vid": "0xD00D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/pimentoso/paddino02/rev2/right/keyboard.json b/keyboards/pimentoso/paddino02/rev2/right/keyboard.json index 1148564a05..4da270119b 100644 --- a/keyboards/pimentoso/paddino02/rev2/right/keyboard.json +++ b/keyboards/pimentoso/paddino02/rev2/right/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Paddino02 rev2 (right)", "manufacturer": "Pimentoso", + "url": "", "maintainer": "Pimentoso", "usb": { "vid": "0xD00D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/pimentoso/touhoupad/keyboard.json b/keyboards/pimentoso/touhoupad/keyboard.json index fed01eb5a6..3e4655abfb 100644 --- a/keyboards/pimentoso/touhoupad/keyboard.json +++ b/keyboards/pimentoso/touhoupad/keyboard.json @@ -25,6 +25,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/pinky/3/keyboard.json b/keyboards/pinky/3/keyboard.json index f02b6c72d0..32e1f893e5 100644 --- a/keyboards/pinky/3/keyboard.json +++ b/keyboards/pinky/3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pinky3", "manufacturer": "tamanishi", + "url": "", "maintainer": "tamanishi", "usb": { "vid": "0x544E", diff --git a/keyboards/pinky/4/keyboard.json b/keyboards/pinky/4/keyboard.json index 68b1dcb14c..20f86e3f38 100644 --- a/keyboards/pinky/4/keyboard.json +++ b/keyboards/pinky/4/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pinky4", "manufacturer": "tamanishi", + "url": "", "maintainer": "tamanishi", "usb": { "vid": "0x544E", diff --git a/keyboards/pinky/rules.mk b/keyboards/pinky/rules.mk new file mode 100644 index 0000000000..89b708f68f --- /dev/null +++ b/keyboards/pinky/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = pinky/3 diff --git a/keyboards/pisces/keyboard.json b/keyboards/pisces/keyboard.json index bf98cefd16..1601cbc3a9 100644 --- a/keyboards/pisces/keyboard.json +++ b/keyboards/pisces/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/pixelspace/capsule65i/keyboard.json b/keyboards/pixelspace/capsule65i/keyboard.json index c12e889135..f8c9dc9c1d 100644 --- a/keyboards/pixelspace/capsule65i/keyboard.json +++ b/keyboards/pixelspace/capsule65i/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Capsule65i", "manufacturer": "PixelSpace", + "url": "", "maintainer": "PixelSpace", "usb": { "vid": "0xE061", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/pixelspace/shadow80/keyboard.json b/keyboards/pixelspace/shadow80/keyboard.json index 7644c9d6ac..c7c4901745 100644 --- a/keyboards/pixelspace/shadow80/keyboard.json +++ b/keyboards/pixelspace/shadow80/keyboard.json @@ -3,6 +3,7 @@ "processor": "STM32F103", "bootloader": "stm32duino", "manufacturer": "Here VoLand", + "url": "", "maintainer": "Here VoLand @Vem", "usb": { "vid": "0x0011", diff --git a/keyboards/pizzakeyboards/pizza65/keyboard.json b/keyboards/pizzakeyboards/pizza65/keyboard.json index cddeb687a2..ee0a68dea5 100644 --- a/keyboards/pizzakeyboards/pizza65/keyboard.json +++ b/keyboards/pizzakeyboards/pizza65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/pjb/eros/keyboard.json b/keyboards/pjb/eros/keyboard.json index 4cca23be94..888a6aa02c 100644 --- a/keyboards/pjb/eros/keyboard.json +++ b/keyboards/pjb/eros/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/pkb65/keyboard.json b/keyboards/pkb65/keyboard.json index 3e590bcba6..d645d278b7 100644 --- a/keyboards/pkb65/keyboard.json +++ b/keyboards/pkb65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "PKB65", "manufacturer": "MCKeebs", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D43", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/planck/config.h b/keyboards/planck/config.h index d7d071ad82..469d237b86 100644 --- a/keyboards/planck/config.h +++ b/keyboards/planck/config.h @@ -20,8 +20,6 @@ along with this program. If not, see . #define AUDIO_VOICES #define AUDIO_PIN C6 -#define AUDIO_INIT_DELAY - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c index c08e58653a..cc8a69ceca 100644 --- a/keyboards/planck/keymaps/default/keymap.c +++ b/keyboards/planck/keymaps/default/keymap.c @@ -215,9 +215,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!eeconfig_is_enabled()) { eeconfig_init(); } - eeconfig_read_keymap(&keymap_config); + keymap_config.raw = eeconfig_read_keymap(); keymap_config.nkro = 1; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } return false; break; diff --git a/keyboards/planck/light/keyboard.json b/keyboards/planck/light/keyboard.json index 413c753f92..dd1d69bf3c 100644 --- a/keyboards/planck/light/keyboard.json +++ b/keyboards/planck/light/keyboard.json @@ -60,6 +60,7 @@ "features": { "audio": true, "bootmagic": true, + "command": false, "console": true, "extrakey": true, "midi": true, diff --git a/keyboards/planck/rev1/keyboard.json b/keyboards/planck/rev1/keyboard.json index 1be09d866e..f737781a1c 100644 --- a/keyboards/planck/rev1/keyboard.json +++ b/keyboards/planck/rev1/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/planck/rev2/keyboard.json b/keyboards/planck/rev2/keyboard.json index d87b05a974..d10982f357 100644 --- a/keyboards/planck/rev2/keyboard.json +++ b/keyboards/planck/rev2/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/planck/rev3/keyboard.json b/keyboards/planck/rev3/keyboard.json index b7e95c765f..16d2b59a2e 100644 --- a/keyboards/planck/rev3/keyboard.json +++ b/keyboards/planck/rev3/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/planck/rev4/keyboard.json b/keyboards/planck/rev4/keyboard.json index 492112fa68..655c48e7dd 100644 --- a/keyboards/planck/rev4/keyboard.json +++ b/keyboards/planck/rev4/keyboard.json @@ -14,6 +14,7 @@ "features": { "audio": true, "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/planck/rev5/keyboard.json b/keyboards/planck/rev5/keyboard.json index a251080156..debf8dcdfc 100644 --- a/keyboards/planck/rev5/keyboard.json +++ b/keyboards/planck/rev5/keyboard.json @@ -14,6 +14,7 @@ "features": { "audio": true, "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/planck/rev7/keymaps/default/keymap.c b/keyboards/planck/rev7/keymaps/default/keymap.c index 6880e2fa94..47ded8aba5 100644 --- a/keyboards/planck/rev7/keymaps/default/keymap.c +++ b/keyboards/planck/rev7/keymaps/default/keymap.c @@ -255,9 +255,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!eeconfig_is_enabled()) { eeconfig_init(); } - eeconfig_read_keymap(&keymap_config); + keymap_config.raw = eeconfig_read_keymap(); keymap_config.nkro = 1; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } return false; break; diff --git a/keyboards/playkbtw/ca66/keyboard.json b/keyboards/playkbtw/ca66/keyboard.json index 781c39ea4b..d94a8d6b4d 100644 --- a/keyboards/playkbtw/ca66/keyboard.json +++ b/keyboards/playkbtw/ca66/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "CA66", "manufacturer": "Barry", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5457", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/playkbtw/helen80/keyboard.json b/keyboards/playkbtw/helen80/keyboard.json index 038a3ee562..47f7e48ef6 100644 --- a/keyboards/playkbtw/helen80/keyboard.json +++ b/keyboards/playkbtw/helen80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Helen 80", "manufacturer": "Play Keyboard", + "url": "", "maintainer": "yj7272098", "usb": { "vid": "0x706B", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/playkbtw/pk60/keyboard.json b/keyboards/playkbtw/pk60/keyboard.json index 363a835d54..15de711ad1 100644 --- a/keyboards/playkbtw/pk60/keyboard.json +++ b/keyboards/playkbtw/pk60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "pk60", "manufacturer": "Play Keyboard", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/playkbtw/pk64rgb/keyboard.json b/keyboards/playkbtw/pk64rgb/keyboard.json index 2fa3e3cb92..81ac5be596 100644 --- a/keyboards/playkbtw/pk64rgb/keyboard.json +++ b/keyboards/playkbtw/pk64rgb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "PK64RGB", "manufacturer": "Play Keyboard", + "url": "", "maintainer": "yj7272098", "usb": { "vid": "0x706B", @@ -88,6 +89,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/ploopyco/madromys/post_rules.mk b/keyboards/ploopyco/madromys/post_rules.mk deleted file mode 100644 index fab9162dc6..0000000000 --- a/keyboards/ploopyco/madromys/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = pmw3360 diff --git a/keyboards/ploopyco/madromys/rules.mk b/keyboards/ploopyco/madromys/rules.mk new file mode 100644 index 0000000000..b7e33d92f9 --- /dev/null +++ b/keyboards/ploopyco/madromys/rules.mk @@ -0,0 +1,3 @@ +POINTING_DEVICE_DRIVER = pmw3360 + +DEFAULT_FOLDER = ploopyco/madromys/rev1_001 diff --git a/keyboards/ploopyco/mouse/config.h b/keyboards/ploopyco/mouse/config.h index 0645283880..0f8774dcd7 100644 --- a/keyboards/ploopyco/mouse/config.h +++ b/keyboards/ploopyco/mouse/config.h @@ -18,6 +18,11 @@ #pragma once +// These pins are not broken out, and cannot be used normally. +// They are set as output and pulled high, by default +#define UNUSABLE_PINS \ + { B4, D6, F1, F5, F6, F7 } + /* disable action features */ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING @@ -25,7 +30,13 @@ // #define DEBUG_LED_PIN F7 +/* PMW33XX Settings */ +#define PMW33XX_CS_PIN B0 + #define ENCODER_BUTTON_COL 1 #define ENCODER_BUTTON_ROW 0 /* Custom encoder needs to specify just how many encoders we have */ #define NUM_ENCODERS 1 + +#define ENCODER_A_PINS { F0 } +#define ENCODER_B_PINS { F4 } diff --git a/keyboards/ploopyco/mouse/info.json b/keyboards/ploopyco/mouse/keyboard.json similarity index 69% rename from keyboards/ploopyco/mouse/info.json rename to keyboards/ploopyco/mouse/keyboard.json index 1a70989f25..4c81ee7338 100644 --- a/keyboards/ploopyco/mouse/info.json +++ b/keyboards/ploopyco/mouse/keyboard.json @@ -1,6 +1,6 @@ { "keyboard_name": "Mouse", - "manufacturer": "Ploopy", + "manufacturer": "PloopyCo", "url": "www.ploopy.co", "maintainer": "drashna", "usb": { @@ -9,9 +9,6 @@ "device_version": "0.0.1", "max_power": 100 }, - "bootmagic": { - "matrix": [0, 3] - }, "features": { "bootmagic": true, "extrakey": true, @@ -20,6 +17,28 @@ "pointing_device": true, "encoder": true }, + "bootmagic": { + "matrix": [0, 3] + }, + "ws2812": { + "pin": "B5" + }, + "rgblight": { + "led_count": 4, + "max_brightness": 40, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true + } + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "matrix_pins": { + "direct": [ + ["D4", "D2", "E6", "B6", "D7", "C6", "C7", "B7"] + ] + }, "encoder": { "driver": "custom" }, diff --git a/keyboards/ploopyco/mouse/post_rules.mk b/keyboards/ploopyco/mouse/post_rules.mk deleted file mode 100644 index 0d1a00b89e..0000000000 --- a/keyboards/ploopyco/mouse/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = pmw3360 \ No newline at end of file diff --git a/keyboards/ploopyco/mouse/readme.md b/keyboards/ploopyco/mouse/readme.md index c5c6bb7dce..060448c2bf 100644 --- a/keyboards/ploopyco/mouse/readme.md +++ b/keyboards/ploopyco/mouse/readme.md @@ -6,14 +6,14 @@ It's a DIY, QMK Powered Mouse!!!! * Keyboard Maintainer: [PloopyCo](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/) -* Hardware Supported: ATMega32u4 8MHz(3.3v), Raspberry RP2040 +* Hardware Supported: ATMega32u4 8MHz(3.3v) * Hardware Availability: [Store](https://ploopy.co), [GitHub](https://github.com/ploopyco) Make example for this keyboard (after setting up your build environment): make ploopyco/mouse:default:flash - -To jump to the bootloader, hold down "Button 4" (the "forward" button on the left side) + +To jump to the bootloader, hold down "Button 4" (the "forward" button on the left side) See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/ploopyco/mouse/rev1_002/config.h b/keyboards/ploopyco/mouse/rev1_002/config.h deleted file mode 100644 index 49b53bc8dd..0000000000 --- a/keyboards/ploopyco/mouse/rev1_002/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * Copyright 2019 Sunjun Kim - * Copyright 2020 Ploopy Corporation - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// These pins are not broken out, and cannot be used normally. -// They are set as output and pulled high, by default -#define UNUSABLE_PINS \ - { B4, D6, F1, F5, F6, F7 } - -// If board has a debug LED, you can enable it by defining this -// #define DEBUG_LED_PIN F7 - -/* PMW33XX Settings */ -#define PMW33XX_CS_PIN B0 - -#define ENCODER_A_PINS { F0 } -#define ENCODER_B_PINS { F4 } diff --git a/keyboards/ploopyco/mouse/rev1_002/keyboard.json b/keyboards/ploopyco/mouse/rev1_002/keyboard.json deleted file mode 100644 index bfed3232f0..0000000000 --- a/keyboards/ploopyco/mouse/rev1_002/keyboard.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "matrix_pins": { - "direct": [ - ["D4", "D2", "E6", "B6", "D7", "C6", "C7", "B7"] - ] - }, - "ws2812": { - "pin": "B5" - }, - "rgblight": { - "led_count": 3, - "max_brightness": 40, - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true - } - } -} diff --git a/keyboards/ploopyco/mouse/rev1_002/readme.md b/keyboards/ploopyco/mouse/rev1_002/readme.md deleted file mode 100644 index a9400ea100..0000000000 --- a/keyboards/ploopyco/mouse/rev1_002/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -See the [main readme](../readme.md) for more details. - -This is for the R1.002 version of the Mouse. It's easily distinguishable from the R1.003+ versions of the Mouse because it has an ATmega32u4 on the board. diff --git a/keyboards/ploopyco/mouse/rev1_003/config.h b/keyboards/ploopyco/mouse/rev1_003/config.h deleted file mode 100644 index b4291e307b..0000000000 --- a/keyboards/ploopyco/mouse/rev1_003/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2024 Colin Lam (Ploopy Corporation) - * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * Copyright 2019 Sunjun Kim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define UNUSABLE_PINS \ - { GP1, GP3, GP4, GP6, GP8, GP10, GP11, GP16, GP18, GP20, GP25, GP27, GP29 } - -/* PMW3360 Settings */ -#define PMW33XX_LIFTOFF_DISTANCE 0x00 -#define PMW33XX_CS_PIN GP5 -#define SPI_SCK_PIN GP2 -#define SPI_MISO_PIN GP0 -#define SPI_MOSI_PIN GP7 - -#define ENCODER_A_PINS { GP26 } -#define ENCODER_B_PINS { GP28 } diff --git a/keyboards/ploopyco/mouse/rev1_003/keyboard.json b/keyboards/ploopyco/mouse/rev1_003/keyboard.json deleted file mode 100644 index 46eca8012f..0000000000 --- a/keyboards/ploopyco/mouse/rev1_003/keyboard.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "processor": "RP2040", - "bootloader": "rp2040", - "usb": { - "device_version": "1.0.0" - }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "direct": [ - ["GP15", "GP21", "GP23", "GP17", "GP19", "GP22", "GP14", "GP24"] - ] - }, - "rgblight": { - "led_count": 1, - "max_brightness": 40, - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true - } - }, - "ws2812": { - "pin": "GP12" - } -} diff --git a/keyboards/ploopyco/mouse/rev1_003/readme.md b/keyboards/ploopyco/mouse/rev1_003/readme.md deleted file mode 100644 index 3e402f4280..0000000000 --- a/keyboards/ploopyco/mouse/rev1_003/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -See the [main readme](../readme.md) for more details. - -This is for the R1.003+ version of the Mouse. It's easily distinguishable from the previous versions of the Mouse because it has an RP2040 on the board. diff --git a/keyboards/ploopyco/mouse/rev1_002/rules.mk b/keyboards/ploopyco/mouse/rules.mk similarity index 52% rename from keyboards/ploopyco/mouse/rev1_002/rules.mk rename to keyboards/ploopyco/mouse/rules.mk index 3437a35bdf..3d1d3fc961 100644 --- a/keyboards/ploopyco/mouse/rev1_002/rules.mk +++ b/keyboards/ploopyco/mouse/rules.mk @@ -1,2 +1,4 @@ # Processor frequency F_CPU = 8000000 + +POINTING_DEVICE_DRIVER = pmw3360 diff --git a/keyboards/ploopyco/trackball/config.h b/keyboards/ploopyco/trackball/config.h index 1a9b4ad225..2aac27437a 100644 --- a/keyboards/ploopyco/trackball/config.h +++ b/keyboards/ploopyco/trackball/config.h @@ -23,11 +23,20 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* PMW3360 settings */ #define ROTATIONAL_TRANSFORM_ANGLE 20 + +// If board has a debug LED, you can enable it by defining this +// #define DEBUG_LED_PIN F7 + +/* PMW33XX Settings */ +#define PMW33XX_CS_PIN B0 #define POINTING_DEVICE_INVERT_Y + #define ENCODER_BUTTON_COL 1 #define ENCODER_BUTTON_ROW 0 /* Custom encoder needs to specify just how many encoders we have */ #define NUM_ENCODERS 1 + +#define ENCODER_A_PINS { F0 } +#define ENCODER_B_PINS { F4 } diff --git a/keyboards/ploopyco/trackball/info.json b/keyboards/ploopyco/trackball/info.json index 9e3312d4bc..8014db1d63 100644 --- a/keyboards/ploopyco/trackball/info.json +++ b/keyboards/ploopyco/trackball/info.json @@ -1,6 +1,6 @@ { - "keyboard_name": "Classic Trackball", - "manufacturer": "Ploopy", + "keyboard_name": "Trackball", + "manufacturer": "PloopyCo", "url": "www.ploopy.co", "maintainer": "drashna", "usb": { @@ -12,6 +12,7 @@ "bootmagic": { "matrix": [0, 3] }, + "features": { "bootmagic": true, "extrakey": true, diff --git a/keyboards/ploopyco/trackball/post_rules.mk b/keyboards/ploopyco/trackball/post_rules.mk deleted file mode 100644 index 0d1a00b89e..0000000000 --- a/keyboards/ploopyco/trackball/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = pmw3360 \ No newline at end of file diff --git a/keyboards/ploopyco/trackball/readme.md b/keyboards/ploopyco/trackball/readme.md index cca2c15114..c668c5dd03 100644 --- a/keyboards/ploopyco/trackball/readme.md +++ b/keyboards/ploopyco/trackball/readme.md @@ -1,34 +1,27 @@ -# Ploopy Classic Trackball +# Ploopyco Trackball -![Ploopy Trackball](https://i.redd.it/j7z0y83txps31.jpg) +![Ploopyco Trackball](https://i.redd.it/j7z0y83txps31.jpg) It's a DIY, QMK Powered Trackball!!!! -* Keyboard Maintainer: [Ploopy](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/) -* Hardware Supported: ATMega32u4 8MHz(3.3v), Raspberry RP2040 +* Keyboard Maintainer: [PloopyCo](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/) +* Hardware Supported: ATMega32u4 8MHz(3.3v) * Hardware Availability: [Store](https://ploopy.co), [GitHub](https://github.com/ploopyco) Make example for this keyboard (after setting up your build environment): - make ploopyco/trackball/rev1_004:default:flash + make ploopyco/trackball/rev1:default:flash make ploopyco/trackball/rev1_005:default:flash - make ploopyco/trackball/rev1_007:default:flash - -To jump to the bootloader, hold down "Button 4" (immediate right of the trackball) + +To jump to the bootloader, hold down "Button 4" (immediate right of the trackball) See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). ## Revisions -There are three main revisions for the Ploopy Classic Trackball: +There are two main revisions for the PloopyCo Trackball, everything up to 1.004, and 1.005-1.006. -- Everything up to 1.004 (very rare) -- Revision 1.005 and 1.006 (commonly sold between 2020 and 2024) -- Revision 1.007 (first available in 2025) - -In the 1.005 revision, button four was changed from pin B5 to B6, and the debug LED pin was changed from F7 to B5. - -In the 1.007 revision, the board was switched from an ATMega32u4 architecture to the Raspberry RP2040 architecture. +In the 1.005 revision, button for was changed from pin B5 to B6, and the debug LED pin was changed from F7 to B5. The PCB should indicate which revision this is. diff --git a/keyboards/ploopyco/trackball/rev1_004/config.h b/keyboards/ploopyco/trackball/rev1/config.h similarity index 90% rename from keyboards/ploopyco/trackball/rev1_004/config.h rename to keyboards/ploopyco/trackball/rev1/config.h index 25bcf86391..35ab215341 100644 --- a/keyboards/ploopyco/trackball/rev1_004/config.h +++ b/keyboards/ploopyco/trackball/rev1/config.h @@ -25,9 +25,3 @@ // If board has a debug LED, you can enable it by defining this #define DEBUG_LED_PIN F7 - -/* PMW33XX Settings */ -#define PMW33XX_CS_PIN B0 - -#define ENCODER_A_PINS { F0 } -#define ENCODER_B_PINS { F4 } diff --git a/keyboards/ploopyco/trackball/rev1_004/keyboard.json b/keyboards/ploopyco/trackball/rev1/keyboard.json similarity index 100% rename from keyboards/ploopyco/trackball/rev1_004/keyboard.json rename to keyboards/ploopyco/trackball/rev1/keyboard.json diff --git a/keyboards/ploopyco/trackball/rev1_004/readme.md b/keyboards/ploopyco/trackball/rev1/readme.md similarity index 100% rename from keyboards/ploopyco/trackball/rev1_004/readme.md rename to keyboards/ploopyco/trackball/rev1/readme.md diff --git a/keyboards/ploopyco/trackball/rev1_004/rules.mk b/keyboards/ploopyco/trackball/rev1_004/rules.mk deleted file mode 100644 index 3437a35bdf..0000000000 --- a/keyboards/ploopyco/trackball/rev1_004/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Processor frequency -F_CPU = 8000000 diff --git a/keyboards/ploopyco/trackball/rev1_005/config.h b/keyboards/ploopyco/trackball/rev1_005/config.h index 404caca093..014d67f9c1 100644 --- a/keyboards/ploopyco/trackball/rev1_005/config.h +++ b/keyboards/ploopyco/trackball/rev1_005/config.h @@ -22,12 +22,3 @@ // They are set as output and pulled high, by default #define UNUSABLE_PINS \ { D1, D3, B4, B7, D6, C7, F6, F5, F3, F7 } - -// If board has a debug LED, you can enable it by defining this -// #define DEBUG_LED_PIN F7 - -/* PMW33XX Settings */ -#define PMW33XX_CS_PIN B0 - -#define ENCODER_A_PINS { F0 } -#define ENCODER_B_PINS { F4 } diff --git a/keyboards/ploopyco/trackball/rev1_005/readme.md b/keyboards/ploopyco/trackball/rev1_005/readme.md index 980f118a10..a923d16591 100644 --- a/keyboards/ploopyco/trackball/rev1_005/readme.md +++ b/keyboards/ploopyco/trackball/rev1_005/readme.md @@ -1,3 +1,3 @@ -See the [main readme](../readme.md) for more details. +See the [main readme](../readme.md) for more details. -This is for the R1.005-R1.006 version of the Classic. It's easily distinguishable from the R1.007+ versions of the Classic because it has an ATmega32u4 on the board. \ No newline at end of file +This is just the rev 1.005+ trackball diff --git a/keyboards/ploopyco/trackball/rev1_005/rules.mk b/keyboards/ploopyco/trackball/rev1_005/rules.mk deleted file mode 100644 index 3437a35bdf..0000000000 --- a/keyboards/ploopyco/trackball/rev1_005/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Processor frequency -F_CPU = 8000000 diff --git a/keyboards/ploopyco/trackball/rev1_007/config.h b/keyboards/ploopyco/trackball/rev1_007/config.h deleted file mode 100644 index 97f2e46b5c..0000000000 --- a/keyboards/ploopyco/trackball/rev1_007/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2024 Colin Lam (Ploopy Corporation) - * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * Copyright 2019 Sunjun Kim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define UNUSABLE_PINS \ - { GP1, GP3, GP4, GP6, GP8, GP10, GP11, GP14, GP16, GP18, GP20, GP22, GP24, GP25, GP27, GP29 } - -/* PMW3360 Settings */ -#define PMW33XX_LIFTOFF_DISTANCE 0x00 -#define PMW33XX_CS_PIN GP5 -#define SPI_SCK_PIN GP2 -#define SPI_MISO_PIN GP0 -#define SPI_MOSI_PIN GP7 - -#define ENCODER_A_PINS { GP26 } -#define ENCODER_B_PINS { GP28 } diff --git a/keyboards/ploopyco/trackball/rev1_007/keyboard.json b/keyboards/ploopyco/trackball/rev1_007/keyboard.json deleted file mode 100644 index 4098c86fda..0000000000 --- a/keyboards/ploopyco/trackball/rev1_007/keyboard.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "processor": "RP2040", - "bootloader": "rp2040", - "usb": { - "device_version": "1.0.0" - }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "direct": [ - ["GP15", "GP21", "GP23", "GP17", "GP19"] - ] - }, - "rgblight": { - "led_count": 1, - "max_brightness": 40, - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true - } - }, - "ws2812": { - "pin": "GP12" - } -} diff --git a/keyboards/ploopyco/trackball/rev1_007/readme.md b/keyboards/ploopyco/trackball/rev1_007/readme.md deleted file mode 100644 index 6b8da3a959..0000000000 --- a/keyboards/ploopyco/trackball/rev1_007/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -See the [main readme](../readme.md) for more details. - -This is for the R1.007+ version of the Classic. It's easily distinguishable from the previous versions of the Classic because it has an RP2040 on the board. diff --git a/keyboards/ploopyco/trackball/rules.mk b/keyboards/ploopyco/trackball/rules.mk new file mode 100644 index 0000000000..9ea10ba6e8 --- /dev/null +++ b/keyboards/ploopyco/trackball/rules.mk @@ -0,0 +1,6 @@ +# Processor frequency +F_CPU = 8000000 + +POINTING_DEVICE_DRIVER = pmw3360 + +DEFAULT_FOLDER = ploopyco/trackball/rev1_005 diff --git a/keyboards/ploopyco/trackball_mini/post_rules.mk b/keyboards/ploopyco/trackball_mini/post_rules.mk deleted file mode 100644 index 99fca15fc1..0000000000 --- a/keyboards/ploopyco/trackball_mini/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = adns5050 diff --git a/keyboards/ploopyco/trackball_mini/rules.mk b/keyboards/ploopyco/trackball_mini/rules.mk new file mode 100644 index 0000000000..2705ac6855 --- /dev/null +++ b/keyboards/ploopyco/trackball_mini/rules.mk @@ -0,0 +1,3 @@ +POINTING_DEVICE_DRIVER = adns5050 + +DEFAULT_FOLDER = ploopyco/trackball_mini/rev1_001 diff --git a/keyboards/ploopyco/trackball_nano/post_rules.mk b/keyboards/ploopyco/trackball_nano/post_rules.mk deleted file mode 100644 index 99fca15fc1..0000000000 --- a/keyboards/ploopyco/trackball_nano/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = adns5050 diff --git a/keyboards/ploopyco/trackball_nano/rules.mk b/keyboards/ploopyco/trackball_nano/rules.mk new file mode 100644 index 0000000000..df29dfbc07 --- /dev/null +++ b/keyboards/ploopyco/trackball_nano/rules.mk @@ -0,0 +1,3 @@ +POINTING_DEVICE_DRIVER = adns5050 + +DEFAULT_FOLDER = ploopyco/trackball_nano/rev1_001 diff --git a/keyboards/ploopyco/trackball_thumb/config.h b/keyboards/ploopyco/trackball_thumb/config.h index 0f269bd21a..f03ffc7699 100644 --- a/keyboards/ploopyco/trackball_thumb/config.h +++ b/keyboards/ploopyco/trackball_thumb/config.h @@ -29,6 +29,9 @@ // If board has a debug LED, you can enable it by defining this // #define DEBUG_LED_PIN F7 +/* PMW3360 Settings */ +#define POINTING_DEVICE_CS_PIN B0 + #define ENCODER_BUTTON_COL 1 #define ENCODER_BUTTON_ROW 0 @@ -38,3 +41,6 @@ #define ENCODER_HIGH_THRES_B 90 /* Custom encoder needs to specify just how many encoders we have */ #define NUM_ENCODERS 1 + +#define ENCODER_A_PINS { F4 } +#define ENCODER_B_PINS { F0 } diff --git a/keyboards/ploopyco/trackball_thumb/info.json b/keyboards/ploopyco/trackball_thumb/info.json index 7e93296d24..e27bf47252 100644 --- a/keyboards/ploopyco/trackball_thumb/info.json +++ b/keyboards/ploopyco/trackball_thumb/info.json @@ -1,22 +1,22 @@ { - "keyboard_name": "Thumb Trackball", - "manufacturer": "Ploopy", + "keyboard_name": "PloopyCo Thumb Trackball", "url": "www.ploopy.co", "maintainer": "ploopyco", + "manufacturer": "Ploopy Corporation", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", "usb": { "vid": "0x5043", "pid": "0x5C46", - "device_version": "0.0.1", "max_power": 100 }, - "bootmagic": { - "matrix": [0, 3] - }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, - "nkro": false, + "nkro": true, "pointing_device": true, "encoder": true }, diff --git a/keyboards/ploopyco/trackball_thumb/post_rules.mk b/keyboards/ploopyco/trackball_thumb/post_rules.mk deleted file mode 100644 index 0d1a00b89e..0000000000 --- a/keyboards/ploopyco/trackball_thumb/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = pmw3360 \ No newline at end of file diff --git a/keyboards/ploopyco/trackball_thumb/readme.md b/keyboards/ploopyco/trackball_thumb/readme.md index bb870d2003..8299c08809 100644 --- a/keyboards/ploopyco/trackball_thumb/readme.md +++ b/keyboards/ploopyco/trackball_thumb/readme.md @@ -3,13 +3,13 @@ It's a DIY, QMK Powered Trackball...for thumb ballers! * Keyboard Maintainer: [PloopyCo](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/) -* Hardware Supported: ATMega32u4 8MHz(3.3v), Raspberry RP2040 +* Hardware Supported: ATMega32u4 8MHz(3.3v) * Hardware Availability: [Store](https://ploopy.co), [GitHub](https://github.com/ploopyco) Make example for this keyboard (after setting up your build environment): make ploopyco/trackball_thumb/rev1_001:default:flash - + To jump to the bootloader, hold down "Button 4" (button closest to the USB port). See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/ploopyco/trackball_thumb/rev1_001/config.h b/keyboards/ploopyco/trackball_thumb/rev1_001/config.h index fb2f9431cc..a648e8e8e4 100644 --- a/keyboards/ploopyco/trackball_thumb/rev1_001/config.h +++ b/keyboards/ploopyco/trackball_thumb/rev1_001/config.h @@ -22,9 +22,3 @@ // They are set as output and pulled high, by default #define UNUSABLE_PINS \ { D1, D3, B4, B7, D6, C7, F6, F5, F3, F7 } - -/* PMW33XX Settings */ -#define PMW33XX_CS_PIN B0 - -#define ENCODER_A_PINS { F4 } -#define ENCODER_B_PINS { F0 } diff --git a/keyboards/ploopyco/trackball_thumb/rev1_001/keyboard.json b/keyboards/ploopyco/trackball_thumb/rev1_001/keyboard.json index 04457f19b9..db12ee6217 100644 --- a/keyboards/ploopyco/trackball_thumb/rev1_001/keyboard.json +++ b/keyboards/ploopyco/trackball_thumb/rev1_001/keyboard.json @@ -1,14 +1,13 @@ { - "processor": "atmega32u4", - "bootloader": "atmel-dfu", + "usb": { + "device_version": "1.0.0" + }, + "diode_direction": "COL2ROW", "matrix_pins": { "direct": [ ["D5", "B6", "D4", "D2", "E6", "D7"] ] }, - "ws2812": { - "pin": "B5" - }, "rgblight": { "led_count": 3, "max_brightness": 40, @@ -17,5 +16,8 @@ "rainbow_mood": true, "rainbow_swirl": true } + }, + "ws2812": { + "pin": "B5" } } diff --git a/keyboards/ploopyco/trackball_thumb/rev1_001/readme.md b/keyboards/ploopyco/trackball_thumb/rev1_001/readme.md index 658a71df0a..5a5f0563e7 100644 --- a/keyboards/ploopyco/trackball_thumb/rev1_001/readme.md +++ b/keyboards/ploopyco/trackball_thumb/rev1_001/readme.md @@ -1,3 +1,3 @@ -See the [main readme](../readme.md) for more details. +This is the R1.001+ version of the Thumb. Future versions may have other features. -This is for the R1.001 version of the Thumb. It's easily distinguishable from the R1.002+ versions of the Thumb because it has an ATmega32u4 on the board. \ No newline at end of file +See the [main readme](../readme.md) for more details. diff --git a/keyboards/ploopyco/trackball_thumb/rev1_001/rules.mk b/keyboards/ploopyco/trackball_thumb/rev1_001/rules.mk deleted file mode 100644 index 3437a35bdf..0000000000 --- a/keyboards/ploopyco/trackball_thumb/rev1_001/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Processor frequency -F_CPU = 8000000 diff --git a/keyboards/ploopyco/trackball_thumb/rev1_002/config.h b/keyboards/ploopyco/trackball_thumb/rev1_002/config.h deleted file mode 100644 index e25f50604e..0000000000 --- a/keyboards/ploopyco/trackball_thumb/rev1_002/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2024 Colin Lam (Ploopy Corporation) - * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * Copyright 2019 Sunjun Kim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define UNUSABLE_PINS \ - { GP1, GP3, GP4, GP6, GP8, GP10, GP11, GP14, GP18, GP20, GP22, GP24, GP25, GP27, GP29 } - -/* PMW3360 Settings */ -#define PMW33XX_LIFTOFF_DISTANCE 0x00 -#define PMW33XX_CS_PIN GP5 -#define SPI_SCK_PIN GP2 -#define SPI_MISO_PIN GP0 -#define SPI_MOSI_PIN GP7 - -#define ENCODER_A_PINS { GP28 } -#define ENCODER_B_PINS { GP26 } diff --git a/keyboards/ploopyco/trackball_thumb/rev1_002/keyboard.json b/keyboards/ploopyco/trackball_thumb/rev1_002/keyboard.json deleted file mode 100644 index a3a50a536e..0000000000 --- a/keyboards/ploopyco/trackball_thumb/rev1_002/keyboard.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "processor": "RP2040", - "bootloader": "rp2040", - "usb": { - "device_version": "1.0.0" - }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "direct": [ - ["GP17", "GP16", "GP15", "GP21", "GP23", "GP19"] - ] - }, - "rgblight": { - "led_count": 1, - "max_brightness": 40, - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true - } - }, - "ws2812": { - "pin": "GP12" - } -} diff --git a/keyboards/ploopyco/trackball_thumb/rev1_002/readme.md b/keyboards/ploopyco/trackball_thumb/rev1_002/readme.md deleted file mode 100644 index c1e95d9a8e..0000000000 --- a/keyboards/ploopyco/trackball_thumb/rev1_002/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -See the [main readme](../readme.md) for more details. - -This is for the R1.002+ version of the Thumb. It's easily distinguishable from the previous versions of the Thumb because it has an RP2040 on the board. diff --git a/keyboards/ploopyco/trackball_thumb/rules.mk b/keyboards/ploopyco/trackball_thumb/rules.mk new file mode 100644 index 0000000000..0bd44d316a --- /dev/null +++ b/keyboards/ploopyco/trackball_thumb/rules.mk @@ -0,0 +1,6 @@ +# Processor frequency +F_CPU = 8000000 + +POINTING_DEVICE_DRIVER = pmw3360 + +DEFAULT_FOLDER = ploopyco/trackball_thumb/rev1_001 diff --git a/keyboards/pluckey/keyboard.json b/keyboards/pluckey/keyboard.json index 36705f795d..57f6b2467f 100644 --- a/keyboards/pluckey/keyboard.json +++ b/keyboards/pluckey/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/plum47/keyboard.json b/keyboards/plum47/keyboard.json index 2c6e009300..81b87e92db 100644 --- a/keyboards/plum47/keyboard.json +++ b/keyboards/plum47/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/plume/plume65/keyboard.json b/keyboards/plume/plume65/keyboard.json index 21deb5a76f..46f264e43e 100644 --- a/keyboards/plume/plume65/keyboard.json +++ b/keyboards/plume/plume65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Plume65", "manufacturer": "Plume Keyboards LLC", + "url": "", "maintainer": "evyd13", "usb": { "vid": "0x5D66", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/plut0nium/0x3e/keyboard.json b/keyboards/plut0nium/0x3e/keyboard.json index 9c8fa386fb..eb0a4fbe55 100644 --- a/keyboards/plut0nium/0x3e/keyboard.json +++ b/keyboards/plut0nium/0x3e/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "0x3E", "manufacturer": "plut0nium", + "url": "", "maintainer": "plut0nium", "usb": { "vid": "0xFEED", @@ -13,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/plx/keyboard.json b/keyboards/plx/keyboard.json index b22ee87b2a..dd47ce7037 100644 --- a/keyboards/plx/keyboard.json +++ b/keyboards/plx/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false diff --git a/keyboards/plywrks/ahgase/keyboard.json b/keyboards/plywrks/ahgase/keyboard.json index 7d50de8d77..9c1da6d579 100644 --- a/keyboards/plywrks/ahgase/keyboard.json +++ b/keyboards/plywrks/ahgase/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ahgase", "manufacturer": "plywrks", + "url": "", "maintainer": "Ramon Imbao (ramonimbao)", "usb": { "vid": "0x706C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/plywrks/allaro/keyboard.json b/keyboards/plywrks/allaro/keyboard.json index f3f5ae892b..fecc15f73b 100644 --- a/keyboards/plywrks/allaro/keyboard.json +++ b/keyboards/plywrks/allaro/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -15,6 +17,7 @@ "cols": ["F0", "F7", "F6", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1"], "rows": ["F1", "B7", "B0", "D0", "F5"] }, + "url": "", "usb": { "vid": "0x706C", "pid": "0x7903", @@ -23,6 +26,8 @@ "rgblight": { "led_count": 16, "hue_steps": 10, + "saturation_steps": 17, + "brightness_steps": 17, "animations": { "alternating": true, "breathing": true, diff --git a/keyboards/plywrks/ji_eun/keyboard.json b/keyboards/plywrks/ji_eun/keyboard.json index 8bfd610f9b..b470e29ebd 100644 --- a/keyboards/plywrks/ji_eun/keyboard.json +++ b/keyboards/plywrks/ji_eun/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["D7", "B4", "B0", "D4", "D3"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "vid": "0x706C", diff --git a/keyboards/plywrks/lune/keyboard.json b/keyboards/plywrks/lune/keyboard.json index af78e2cfa2..5ec1d97c6b 100644 --- a/keyboards/plywrks/lune/keyboard.json +++ b/keyboards/plywrks/lune/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lune", "manufacturer": "plywrks", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0x706C", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/plywrks/ply8x/hotswap/config.h b/keyboards/plywrks/ply8x/config.h similarity index 100% rename from keyboards/plywrks/ply8x/hotswap/config.h rename to keyboards/plywrks/ply8x/config.h diff --git a/keyboards/plywrks/ply8x/hotswap/halconf.h b/keyboards/plywrks/ply8x/halconf.h similarity index 100% rename from keyboards/plywrks/ply8x/hotswap/halconf.h rename to keyboards/plywrks/ply8x/halconf.h diff --git a/keyboards/plywrks/ply8x/hotswap/keyboard.json b/keyboards/plywrks/ply8x/hotswap/keyboard.json deleted file mode 100644 index c4d3e9424e..0000000000 --- a/keyboards/plywrks/ply8x/hotswap/keyboard.json +++ /dev/null @@ -1,559 +0,0 @@ -{ - "manufacturer": "plywrks", - "keyboard_name": "ply8x", - "maintainer": "ramonimbao", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "rows": ["B2", "B1", "B0", "A7", "A10", "A2"], - "cols": ["A9", "A8", "B12", "B11", "B10", "A6", "A5", "A4", "A15", "C14", "C13", "B9", "B6", "B7", "B5", "B4", "B3"] - }, - "processor": "STM32F072", - "usb": { - "device_version": "1.0.0", - "vid": "0x706C", - "pid": "0x7915" - }, - "ws2812": { - "pin": "B15", - "driver": "spi" - }, - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "gradient_up_down": true, - "gradient_left_right": true, - "breathing": true, - "band_sat": true, - "band_val": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_up_down": true, - "rainbow_moving_chevron": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "dual_beacon": true, - "rainbow_beacon": true, - "rainbow_pinwheels": true, - "raindrops": true, - "jellybean_raindrops": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "pixel_rain": true, - "pixel_flow": true, - "pixel_fractal": true, - "typing_heatmap": true, - "digital_rain": true, - "solid_reactive_simple": true, - "solid_reactive": true, - "solid_reactive_wide": true, - "solid_reactive_multiwide": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_nexus": true, - "solid_reactive_multinexus": true, - "splash": true, - "multisplash": true, - "solid_splash": true, - "solid_multisplash": true - }, - "driver": "ws2812", - "layout": [ - {"flags": 2, "x":224, "y":37}, - {"flags": 2, "x":224, "y":43}, - {"flags": 2, "x":218, "y":43}, - {"flags": 2, "x":218, "y":37}, - - {"flags": 2, "matrix": [0, 0], "x":0, "y": 0}, - {"flags": 2, "matrix": [0, 2], "x":26, "y": 0}, - {"flags": 2, "matrix": [0, 3], "x":38, "y": 0}, - {"flags": 2, "matrix": [0, 4], "x":51, "y": 0}, - {"flags": 2, "matrix": [0, 5], "x":64, "y": 0}, - {"flags": 2, "matrix": [0, 6], "x":83, "y": 0}, - {"flags": 2, "matrix": [0, 7], "x":96, "y": 0}, - {"flags": 2, "matrix": [0, 8], "x":109, "y": 0}, - {"flags": 2, "matrix": [0, 9], "x":122, "y": 0}, - {"flags": 2, "matrix": [0,10], "x":141, "y": 0}, - {"flags": 2, "matrix": [0,11], "x":154, "y": 0}, - {"flags": 2, "matrix": [0,12], "x":166, "y": 0}, - {"flags": 2, "matrix": [0,13], "x":179, "y": 0}, - {"flags": 2, "matrix": [0,14], "x":195, "y": 0}, - {"flags": 2, "matrix": [0,15], "x":208, "y": 0}, - {"flags": 2, "matrix": [0,16], "x":221, "y": 0}, - - {"flags": 2, "matrix": [1, 0], "x":0, "y": 15}, - {"flags": 2, "matrix": [1, 1], "x":13, "y": 15}, - {"flags": 2, "matrix": [1, 2], "x":26, "y": 15}, - {"flags": 2, "matrix": [1, 3], "x":38, "y": 15}, - {"flags": 2, "matrix": [1, 4], "x":51, "y": 15}, - {"flags": 2, "matrix": [1, 5], "x":64, "y": 15}, - {"flags": 2, "matrix": [1, 6], "x":77, "y": 15}, - {"flags": 2, "matrix": [1, 7], "x":90, "y": 15}, - {"flags": 2, "matrix": [1, 8], "x":102, "y": 15}, - {"flags": 2, "matrix": [1, 9], "x":115, "y": 15}, - {"flags": 2, "matrix": [1,10], "x":128, "y": 15}, - {"flags": 2, "matrix": [1,11], "x":141, "y": 15}, - {"flags": 2, "matrix": [1,12], "x":154, "y": 15}, - {"flags": 2, "matrix": [1,13], "x":166, "y": 15}, - {"flags": 2, "matrix": [3,13], "x":179, "y": 15}, - {"flags": 2, "matrix": [1,14], "x":195, "y": 15}, - {"flags": 2, "matrix": [1,15], "x":208, "y": 15}, - {"flags": 2, "matrix": [1,16], "x":221, "y": 15}, - - {"flags": 2, "matrix": [2, 0], "x":3, "y": 27}, - {"flags": 2, "matrix": [2, 1], "x":19, "y": 27}, - {"flags": 2, "matrix": [2, 2], "x":32, "y": 27}, - {"flags": 2, "matrix": [2, 3], "x":45, "y": 27}, - {"flags": 2, "matrix": [2, 4], "x":58, "y": 27}, - {"flags": 2, "matrix": [2, 5], "x":70, "y": 27}, - {"flags": 2, "matrix": [2, 6], "x":83, "y": 27}, - {"flags": 2, "matrix": [2, 7], "x":96, "y": 27}, - {"flags": 2, "matrix": [2, 8], "x":109, "y": 27}, - {"flags": 2, "matrix": [2, 9], "x":122, "y": 27}, - {"flags": 2, "matrix": [2,10], "x":134, "y": 27}, - {"flags": 2, "matrix": [2,11], "x":147, "y": 27}, - {"flags": 2, "matrix": [2,12], "x":160, "y": 27}, - {"flags": 2, "matrix": [2,13], "x":176, "y": 27}, - {"flags": 2, "matrix": [2,14], "x":195, "y": 27}, - {"flags": 2, "matrix": [2,15], "x":208, "y": 27}, - {"flags": 2, "matrix": [2,16], "x":221, "y": 27}, - - {"flags": 2, "matrix": [3, 0], "x":5, "y":40}, - {"flags": 2, "matrix": [3, 1], "x":23, "y": 40}, - {"flags": 2, "matrix": [3, 2], "x":36, "y": 40}, - {"flags": 2, "matrix": [3, 3], "x":49, "y": 40}, - {"flags": 2, "matrix": [3, 4], "x":62, "y": 40}, - {"flags": 2, "matrix": [3, 5], "x":75, "y": 40}, - {"flags": 2, "matrix": [3, 6], "x":88, "y": 40}, - {"flags": 2, "matrix": [3, 7], "x":101, "y": 40}, - {"flags": 2, "matrix": [3, 8], "x":114, "y": 40}, - {"flags": 2, "matrix": [3, 9], "x":127, "y": 40}, - {"flags": 2, "matrix": [3,10], "x":140, "y": 40}, - {"flags": 2, "matrix": [3,11], "x":153, "y": 40}, - {"flags": 2, "matrix": [3,12], "x":166, "y": 40}, - - {"flags": 2, "matrix": [4, 0], "x":8, "y": 52}, - {"flags": 2, "matrix": [4, 2], "x":29, "y": 52}, - {"flags": 2, "matrix": [4, 3], "x":42, "y": 52}, - {"flags": 2, "matrix": [4, 4], "x":54, "y": 52}, - {"flags": 2, "matrix": [4, 5], "x":67, "y": 52}, - {"flags": 2, "matrix": [4, 6], "x":80, "y": 52}, - {"flags": 2, "matrix": [4, 7], "x":93, "y": 52}, - {"flags": 2, "matrix": [4, 8], "x":106, "y": 52}, - {"flags": 2, "matrix": [4, 9], "x":118, "y": 52}, - {"flags": 2, "matrix": [4,10], "x":131, "y": 52}, - {"flags": 2, "matrix": [4,11], "x":144, "y": 52}, - {"flags": 2, "matrix": [4,12], "x":162, "y": 52}, - {"flags": 2, "matrix": [4,13], "x":179, "y": 52}, - {"flags": 2, "matrix": [4,15], "x":208, "y": 52}, - - {"flags": 2, "matrix": [5, 0], "x":2, "y": 64}, - {"flags": 2, "matrix": [5, 1], "x":18, "y": 64}, - {"flags": 2, "matrix": [5, 2], "x":34, "y": 64}, - {"flags": 2, "matrix": [5, 7], "x":82, "y": 64}, - {"flags": 2, "matrix": [5,11], "x":146, "y": 64}, - {"flags": 2, "matrix": [5,12], "x":162, "y": 64}, - {"flags": 2, "matrix": [5,13], "x":178, "y": 64}, - {"flags": 2, "matrix": [5,14], "x":195, "y": 64}, - {"flags": 2, "matrix": [5,15], "x":208, "y": 64}, - {"flags": 2, "matrix": [5,16], "x":221, "y": 64} - ] - }, - "community_layouts": ["tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift", "tkl_ansi_wkl", "tkl_ansi_wkl_split_bs_rshift"], - "layouts": { - "LAYOUT_tkl_ansi_tsangan": { - "layout": [ - {"matrix": [0, 0], "x":0, "y":0}, - {"matrix": [0, 2], "x":2, "y":0}, - {"matrix": [0, 3], "x":3, "y":0}, - {"matrix": [0, 4], "x":4, "y":0}, - {"matrix": [0, 5], "x":5, "y":0}, - {"matrix": [0, 6], "x":6.5, "y":0}, - {"matrix": [0, 7], "x":7.5, "y":0}, - {"matrix": [0, 8], "x":8.5, "y":0}, - {"matrix": [0, 9], "x":9.5, "y":0}, - {"matrix": [0,10], "x":11, "y":0}, - {"matrix": [0,11], "x":12, "y":0}, - {"matrix": [0,12], "x":13, "y":0}, - {"matrix": [0,13], "x":14, "y":0}, - {"matrix": [0,14], "x":15.25, "y":0}, - {"matrix": [0,15], "x":16.25, "y":0}, - {"matrix": [0,16], "x":17.25, "y":0}, - - {"matrix": [1, 0], "x":0, "y":1.25}, - {"matrix": [1, 1], "x":1, "y":1.25}, - {"matrix": [1, 2], "x":2, "y":1.25}, - {"matrix": [1, 3], "x":3, "y":1.25}, - {"matrix": [1, 4], "x":4, "y":1.25}, - {"matrix": [1, 5], "x":5, "y":1.25}, - {"matrix": [1, 6], "x":6, "y":1.25}, - {"matrix": [1, 7], "x":7, "y":1.25}, - {"matrix": [1, 8], "x":8, "y":1.25}, - {"matrix": [1, 9], "x":9, "y":1.25}, - {"matrix": [1,10], "x":10, "y":1.25}, - {"matrix": [1,11], "x":11, "y":1.25}, - {"matrix": [1,12], "x":12, "y":1.25}, - {"matrix": [1,13], "x":13, "y":1.25, "w":2}, - {"matrix": [1,14], "x":15.25, "y":1.25}, - {"matrix": [1,15], "x":16.25, "y":1.25}, - {"matrix": [1,16], "x":17.25, "y":1.25}, - - {"matrix": [2, 0], "x":0, "y":2.25, "w":1.5}, - {"matrix": [2, 1], "x":1.5, "y":2.25}, - {"matrix": [2, 2], "x":2.5, "y":2.25}, - {"matrix": [2, 3], "x":3.5, "y":2.25}, - {"matrix": [2, 4], "x":4.5, "y":2.25}, - {"matrix": [2, 5], "x":5.5, "y":2.25}, - {"matrix": [2, 6], "x":6.5, "y":2.25}, - {"matrix": [2, 7], "x":7.5, "y":2.25}, - {"matrix": [2, 8], "x":8.5, "y":2.25}, - {"matrix": [2, 9], "x":9.5, "y":2.25}, - {"matrix": [2,10], "x":10.5, "y":2.25}, - {"matrix": [2,11], "x":11.5, "y":2.25}, - {"matrix": [2,12], "x":12.5, "y":2.25}, - {"matrix": [2,13], "x":13.5, "y":2.25, "w":1.5}, - {"matrix": [2,14], "x":15.25, "y":2.25}, - {"matrix": [2,15], "x":16.25, "y":2.25}, - {"matrix": [2,16], "x":17.25, "y":2.25}, - - {"matrix": [3, 0], "x":0, "y":3.25, "w":1.75}, - {"matrix": [3, 1], "x":1.75, "y":3.25}, - {"matrix": [3, 2], "x":2.75, "y":3.25}, - {"matrix": [3, 3], "x":3.75, "y":3.25}, - {"matrix": [3, 4], "x":4.75, "y":3.25}, - {"matrix": [3, 5], "x":5.75, "y":3.25}, - {"matrix": [3, 6], "x":6.75, "y":3.25}, - {"matrix": [3, 7], "x":7.75, "y":3.25}, - {"matrix": [3, 8], "x":8.75, "y":3.25}, - {"matrix": [3, 9], "x":9.75, "y":3.25}, - {"matrix": [3,10], "x":10.75, "y":3.25}, - {"matrix": [3,11], "x":11.75, "y":3.25}, - {"matrix": [3,12], "x":12.75, "y":3.25, "w":2.25}, - - {"matrix": [4, 0], "x":0, "y":4.25, "w":2.25}, - {"matrix": [4, 2], "x":2.25, "y":4.25}, - {"matrix": [4, 3], "x":3.25, "y":4.25}, - {"matrix": [4, 4], "x":4.25, "y":4.25}, - {"matrix": [4, 5], "x":5.25, "y":4.25}, - {"matrix": [4, 6], "x":6.25, "y":4.25}, - {"matrix": [4, 7], "x":7.25, "y":4.25}, - {"matrix": [4, 8], "x":8.25, "y":4.25}, - {"matrix": [4, 9], "x":9.25, "y":4.25}, - {"matrix": [4,10], "x":10.25, "y":4.25}, - {"matrix": [4,11], "x":11.25, "y":4.25}, - {"matrix": [4,12], "x":12.25, "y":4.25, "w":2.75}, - {"matrix": [4,15], "x":16.25, "y":4.25}, - - {"matrix": [5, 0], "x":0, "y":5.25, "w":1.5}, - {"matrix": [5, 1], "x":1.5, "y":5.25}, - {"matrix": [5, 2], "x":2.5, "y":5.25, "w":1.5}, - {"matrix": [5, 7], "x":4, "y":5.25, "w":7}, - {"matrix": [5,11], "x":11, "y":5.25, "w":1.5}, - {"matrix": [5,12], "x":12.5, "y":5.25}, - {"matrix": [5,13], "x":13.5, "y":5.25, "w":1.5}, - {"matrix": [5,14], "x":15.25, "y":5.25}, - {"matrix": [5,15], "x":16.25, "y":5.25}, - {"matrix": [5,16], "x":17.25, "y":5.25} - ] - }, - "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x":0, "y":0}, - {"matrix": [0, 2], "x":2, "y":0}, - {"matrix": [0, 3], "x":3, "y":0}, - {"matrix": [0, 4], "x":4, "y":0}, - {"matrix": [0, 5], "x":5, "y":0}, - {"matrix": [0, 6], "x":6.5, "y":0}, - {"matrix": [0, 7], "x":7.5, "y":0}, - {"matrix": [0, 8], "x":8.5, "y":0}, - {"matrix": [0, 9], "x":9.5, "y":0}, - {"matrix": [0,10], "x":11, "y":0}, - {"matrix": [0,11], "x":12, "y":0}, - {"matrix": [0,12], "x":13, "y":0}, - {"matrix": [0,13], "x":14, "y":0}, - {"matrix": [0,14], "x":15.25, "y":0}, - {"matrix": [0,15], "x":16.25, "y":0}, - {"matrix": [0,16], "x":17.25, "y":0}, - - {"matrix": [1, 0], "x":0, "y":1.25}, - {"matrix": [1, 1], "x":1, "y":1.25}, - {"matrix": [1, 2], "x":2, "y":1.25}, - {"matrix": [1, 3], "x":3, "y":1.25}, - {"matrix": [1, 4], "x":4, "y":1.25}, - {"matrix": [1, 5], "x":5, "y":1.25}, - {"matrix": [1, 6], "x":6, "y":1.25}, - {"matrix": [1, 7], "x":7, "y":1.25}, - {"matrix": [1, 8], "x":8, "y":1.25}, - {"matrix": [1, 9], "x":9, "y":1.25}, - {"matrix": [1,10], "x":10, "y":1.25}, - {"matrix": [1,11], "x":11, "y":1.25}, - {"matrix": [1,12], "x":12, "y":1.25}, - {"matrix": [1,13], "x":13, "y":1.25}, - {"matrix": [3,13], "x":14, "y":1.25}, - {"matrix": [1,14], "x":15.25, "y":1.25}, - {"matrix": [1,15], "x":16.25, "y":1.25}, - {"matrix": [1,16], "x":17.25, "y":1.25}, - - {"matrix": [2, 0], "x":0, "y":2.25, "w":1.5}, - {"matrix": [2, 1], "x":1.5, "y":2.25}, - {"matrix": [2, 2], "x":2.5, "y":2.25}, - {"matrix": [2, 3], "x":3.5, "y":2.25}, - {"matrix": [2, 4], "x":4.5, "y":2.25}, - {"matrix": [2, 5], "x":5.5, "y":2.25}, - {"matrix": [2, 6], "x":6.5, "y":2.25}, - {"matrix": [2, 7], "x":7.5, "y":2.25}, - {"matrix": [2, 8], "x":8.5, "y":2.25}, - {"matrix": [2, 9], "x":9.5, "y":2.25}, - {"matrix": [2,10], "x":10.5, "y":2.25}, - {"matrix": [2,11], "x":11.5, "y":2.25}, - {"matrix": [2,12], "x":12.5, "y":2.25}, - {"matrix": [2,13], "x":13.5, "y":2.25, "w":1.5}, - {"matrix": [2,14], "x":15.25, "y":2.25}, - {"matrix": [2,15], "x":16.25, "y":2.25}, - {"matrix": [2,16], "x":17.25, "y":2.25}, - - {"matrix": [3, 0], "x":0, "y":3.25, "w":1.75}, - {"matrix": [3, 1], "x":1.75, "y":3.25}, - {"matrix": [3, 2], "x":2.75, "y":3.25}, - {"matrix": [3, 3], "x":3.75, "y":3.25}, - {"matrix": [3, 4], "x":4.75, "y":3.25}, - {"matrix": [3, 5], "x":5.75, "y":3.25}, - {"matrix": [3, 6], "x":6.75, "y":3.25}, - {"matrix": [3, 7], "x":7.75, "y":3.25}, - {"matrix": [3, 8], "x":8.75, "y":3.25}, - {"matrix": [3, 9], "x":9.75, "y":3.25}, - {"matrix": [3,10], "x":10.75, "y":3.25}, - {"matrix": [3,11], "x":11.75, "y":3.25}, - {"matrix": [3,12], "x":12.75, "y":3.25, "w":2.25}, - - {"matrix": [4, 0], "x":0, "y":4.25, "w":2.25}, - {"matrix": [4, 2], "x":2.25, "y":4.25}, - {"matrix": [4, 3], "x":3.25, "y":4.25}, - {"matrix": [4, 4], "x":4.25, "y":4.25}, - {"matrix": [4, 5], "x":5.25, "y":4.25}, - {"matrix": [4, 6], "x":6.25, "y":4.25}, - {"matrix": [4, 7], "x":7.25, "y":4.25}, - {"matrix": [4, 8], "x":8.25, "y":4.25}, - {"matrix": [4, 9], "x":9.25, "y":4.25}, - {"matrix": [4,10], "x":10.25, "y":4.25}, - {"matrix": [4,11], "x":11.25, "y":4.25}, - {"matrix": [4,12], "x":12.25, "y":4.25, "w":1.75}, - {"matrix": [4,13], "x":14, "y":4.25}, - {"matrix": [4,15], "x":16.25, "y":4.25}, - - {"matrix": [5, 0], "x":0, "y":5.25, "w":1.5}, - {"matrix": [5, 1], "x":1.5, "y":5.25}, - {"matrix": [5, 2], "x":2.5, "y":5.25, "w":1.5}, - {"matrix": [5, 7], "x":4, "y":5.25, "w":7}, - {"matrix": [5,11], "x":11, "y":5.25, "w":1.5}, - {"matrix": [5,12], "x":12.5, "y":5.25}, - {"matrix": [5,13], "x":13.5, "y":5.25, "w":1.5}, - {"matrix": [5,14], "x":15.25, "y":5.25}, - {"matrix": [5,15], "x":16.25, "y":5.25}, - {"matrix": [5,16], "x":17.25, "y":5.25} - ] - }, - "LAYOUT_tkl_ansi_wkl": { - "layout": [ - {"matrix": [0, 0], "x":0, "y":0}, - {"matrix": [0, 2], "x":2, "y":0}, - {"matrix": [0, 3], "x":3, "y":0}, - {"matrix": [0, 4], "x":4, "y":0}, - {"matrix": [0, 5], "x":5, "y":0}, - {"matrix": [0, 6], "x":6.5, "y":0}, - {"matrix": [0, 7], "x":7.5, "y":0}, - {"matrix": [0, 8], "x":8.5, "y":0}, - {"matrix": [0, 9], "x":9.5, "y":0}, - {"matrix": [0,10], "x":11, "y":0}, - {"matrix": [0,11], "x":12, "y":0}, - {"matrix": [0,12], "x":13, "y":0}, - {"matrix": [0,13], "x":14, "y":0}, - {"matrix": [0,14], "x":15.25, "y":0}, - {"matrix": [0,15], "x":16.25, "y":0}, - {"matrix": [0,16], "x":17.25, "y":0}, - - {"matrix": [1, 0], "x":0, "y":1.25}, - {"matrix": [1, 1], "x":1, "y":1.25}, - {"matrix": [1, 2], "x":2, "y":1.25}, - {"matrix": [1, 3], "x":3, "y":1.25}, - {"matrix": [1, 4], "x":4, "y":1.25}, - {"matrix": [1, 5], "x":5, "y":1.25}, - {"matrix": [1, 6], "x":6, "y":1.25}, - {"matrix": [1, 7], "x":7, "y":1.25}, - {"matrix": [1, 8], "x":8, "y":1.25}, - {"matrix": [1, 9], "x":9, "y":1.25}, - {"matrix": [1,10], "x":10, "y":1.25}, - {"matrix": [1,11], "x":11, "y":1.25}, - {"matrix": [1,12], "x":12, "y":1.25}, - {"matrix": [1,13], "x":13, "y":1.25, "w":2}, - {"matrix": [1,14], "x":15.25, "y":1.25}, - {"matrix": [1,15], "x":16.25, "y":1.25}, - {"matrix": [1,16], "x":17.25, "y":1.25}, - - {"matrix": [2, 0], "x":0, "y":2.25, "w":1.5}, - {"matrix": [2, 1], "x":1.5, "y":2.25}, - {"matrix": [2, 2], "x":2.5, "y":2.25}, - {"matrix": [2, 3], "x":3.5, "y":2.25}, - {"matrix": [2, 4], "x":4.5, "y":2.25}, - {"matrix": [2, 5], "x":5.5, "y":2.25}, - {"matrix": [2, 6], "x":6.5, "y":2.25}, - {"matrix": [2, 7], "x":7.5, "y":2.25}, - {"matrix": [2, 8], "x":8.5, "y":2.25}, - {"matrix": [2, 9], "x":9.5, "y":2.25}, - {"matrix": [2,10], "x":10.5, "y":2.25}, - {"matrix": [2,11], "x":11.5, "y":2.25}, - {"matrix": [2,12], "x":12.5, "y":2.25}, - {"matrix": [2,13], "x":13.5, "y":2.25, "w":1.5}, - {"matrix": [2,14], "x":15.25, "y":2.25}, - {"matrix": [2,15], "x":16.25, "y":2.25}, - {"matrix": [2,16], "x":17.25, "y":2.25}, - - {"matrix": [3, 0], "x":0, "y":3.25, "w":1.75}, - {"matrix": [3, 1], "x":1.75, "y":3.25}, - {"matrix": [3, 2], "x":2.75, "y":3.25}, - {"matrix": [3, 3], "x":3.75, "y":3.25}, - {"matrix": [3, 4], "x":4.75, "y":3.25}, - {"matrix": [3, 5], "x":5.75, "y":3.25}, - {"matrix": [3, 6], "x":6.75, "y":3.25}, - {"matrix": [3, 7], "x":7.75, "y":3.25}, - {"matrix": [3, 8], "x":8.75, "y":3.25}, - {"matrix": [3, 9], "x":9.75, "y":3.25}, - {"matrix": [3,10], "x":10.75, "y":3.25}, - {"matrix": [3,11], "x":11.75, "y":3.25}, - {"matrix": [3,12], "x":12.75, "y":3.25, "w":2.25}, - - {"matrix": [4, 0], "x":0, "y":4.25, "w":2.25}, - {"matrix": [4, 2], "x":2.25, "y":4.25}, - {"matrix": [4, 3], "x":3.25, "y":4.25}, - {"matrix": [4, 4], "x":4.25, "y":4.25}, - {"matrix": [4, 5], "x":5.25, "y":4.25}, - {"matrix": [4, 6], "x":6.25, "y":4.25}, - {"matrix": [4, 7], "x":7.25, "y":4.25}, - {"matrix": [4, 8], "x":8.25, "y":4.25}, - {"matrix": [4, 9], "x":9.25, "y":4.25}, - {"matrix": [4,10], "x":10.25, "y":4.25}, - {"matrix": [4,11], "x":11.25, "y":4.25}, - {"matrix": [4,12], "x":12.25, "y":4.25, "w":2.75}, - {"matrix": [4,15], "x":16.25, "y":4.25}, - - {"matrix": [5, 0], "x":0, "y":5.25, "w":1.5}, - {"matrix": [5, 2], "x":2.5, "y":5.25, "w":1.5}, - {"matrix": [5, 7], "x":4, "y":5.25, "w":7}, - {"matrix": [5,11], "x":11, "y":5.25, "w":1.5}, - {"matrix": [5,13], "x":13.5, "y":5.25, "w":1.5}, - {"matrix": [5,14], "x":15.25, "y":5.25}, - {"matrix": [5,15], "x":16.25, "y":5.25}, - {"matrix": [5,16], "x":17.25, "y":5.25} - ] - }, - "LAYOUT_tkl_ansi_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x":0, "y":0}, - {"matrix": [0, 2], "x":2, "y":0}, - {"matrix": [0, 3], "x":3, "y":0}, - {"matrix": [0, 4], "x":4, "y":0}, - {"matrix": [0, 5], "x":5, "y":0}, - {"matrix": [0, 6], "x":6.5, "y":0}, - {"matrix": [0, 7], "x":7.5, "y":0}, - {"matrix": [0, 8], "x":8.5, "y":0}, - {"matrix": [0, 9], "x":9.5, "y":0}, - {"matrix": [0,10], "x":11, "y":0}, - {"matrix": [0,11], "x":12, "y":0}, - {"matrix": [0,12], "x":13, "y":0}, - {"matrix": [0,13], "x":14, "y":0}, - {"matrix": [0,14], "x":15.25, "y":0}, - {"matrix": [0,15], "x":16.25, "y":0}, - {"matrix": [0,16], "x":17.25, "y":0}, - - {"matrix": [1, 0], "x":0, "y":1.25}, - {"matrix": [1, 1], "x":1, "y":1.25}, - {"matrix": [1, 2], "x":2, "y":1.25}, - {"matrix": [1, 3], "x":3, "y":1.25}, - {"matrix": [1, 4], "x":4, "y":1.25}, - {"matrix": [1, 5], "x":5, "y":1.25}, - {"matrix": [1, 6], "x":6, "y":1.25}, - {"matrix": [1, 7], "x":7, "y":1.25}, - {"matrix": [1, 8], "x":8, "y":1.25}, - {"matrix": [1, 9], "x":9, "y":1.25}, - {"matrix": [1,10], "x":10, "y":1.25}, - {"matrix": [1,11], "x":11, "y":1.25}, - {"matrix": [1,12], "x":12, "y":1.25}, - {"matrix": [1,13], "x":13, "y":1.25}, - {"matrix": [3,13], "x":14, "y":1.25}, - {"matrix": [1,14], "x":15.25, "y":1.25}, - {"matrix": [1,15], "x":16.25, "y":1.25}, - {"matrix": [1,16], "x":17.25, "y":1.25}, - - {"matrix": [2, 0], "x":0, "y":2.25, "w":1.5}, - {"matrix": [2, 1], "x":1.5, "y":2.25}, - {"matrix": [2, 2], "x":2.5, "y":2.25}, - {"matrix": [2, 3], "x":3.5, "y":2.25}, - {"matrix": [2, 4], "x":4.5, "y":2.25}, - {"matrix": [2, 5], "x":5.5, "y":2.25}, - {"matrix": [2, 6], "x":6.5, "y":2.25}, - {"matrix": [2, 7], "x":7.5, "y":2.25}, - {"matrix": [2, 8], "x":8.5, "y":2.25}, - {"matrix": [2, 9], "x":9.5, "y":2.25}, - {"matrix": [2,10], "x":10.5, "y":2.25}, - {"matrix": [2,11], "x":11.5, "y":2.25}, - {"matrix": [2,12], "x":12.5, "y":2.25}, - {"matrix": [2,13], "x":13.5, "y":2.25, "w":1.5}, - {"matrix": [2,14], "x":15.25, "y":2.25}, - {"matrix": [2,15], "x":16.25, "y":2.25}, - {"matrix": [2,16], "x":17.25, "y":2.25}, - - {"matrix": [3, 0], "x":0, "y":3.25, "w":1.75}, - {"matrix": [3, 1], "x":1.75, "y":3.25}, - {"matrix": [3, 2], "x":2.75, "y":3.25}, - {"matrix": [3, 3], "x":3.75, "y":3.25}, - {"matrix": [3, 4], "x":4.75, "y":3.25}, - {"matrix": [3, 5], "x":5.75, "y":3.25}, - {"matrix": [3, 6], "x":6.75, "y":3.25}, - {"matrix": [3, 7], "x":7.75, "y":3.25}, - {"matrix": [3, 8], "x":8.75, "y":3.25}, - {"matrix": [3, 9], "x":9.75, "y":3.25}, - {"matrix": [3,10], "x":10.75, "y":3.25}, - {"matrix": [3,11], "x":11.75, "y":3.25}, - {"matrix": [3,12], "x":12.75, "y":3.25, "w":2.25}, - - {"matrix": [4, 0], "x":0, "y":4.25, "w":2.25}, - {"matrix": [4, 2], "x":2.25, "y":4.25}, - {"matrix": [4, 3], "x":3.25, "y":4.25}, - {"matrix": [4, 4], "x":4.25, "y":4.25}, - {"matrix": [4, 5], "x":5.25, "y":4.25}, - {"matrix": [4, 6], "x":6.25, "y":4.25}, - {"matrix": [4, 7], "x":7.25, "y":4.25}, - {"matrix": [4, 8], "x":8.25, "y":4.25}, - {"matrix": [4, 9], "x":9.25, "y":4.25}, - {"matrix": [4,10], "x":10.25, "y":4.25}, - {"matrix": [4,11], "x":11.25, "y":4.25}, - {"matrix": [4,12], "x":12.25, "y":4.25, "w":1.75}, - {"matrix": [4,13], "x":14, "y":4.25}, - {"matrix": [4,15], "x":16.25, "y":4.25}, - - {"matrix": [5, 0], "x":0, "y":5.25, "w":1.5}, - {"matrix": [5, 2], "x":2.5, "y":5.25, "w":1.5}, - {"matrix": [5, 7], "x":4, "y":5.25, "w":7}, - {"matrix": [5,11], "x":11, "y":5.25, "w":1.5}, - {"matrix": [5,13], "x":13.5, "y":5.25, "w":1.5}, - {"matrix": [5,14], "x":15.25, "y":5.25}, - {"matrix": [5,15], "x":16.25, "y":5.25}, - {"matrix": [5,16], "x":17.25, "y":5.25} - ] - } - } -} diff --git a/keyboards/plywrks/ply8x/hotswap/keymaps/default/keymap.c b/keyboards/plywrks/ply8x/hotswap/keymaps/default/keymap.c deleted file mode 100644 index 0da2588ea7..0000000000 --- a/keyboards/plywrks/ply8x/hotswap/keymaps/default/keymap.c +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ - * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ - * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ - * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴───┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ - * │Ctrl│GUI │Alt │ │ Alt│ GUI│Ctrl│ │ ← │ ↓ │ → │ - * └────┴────┴────┴─────────────────────────────┴────┴────┴────┘ └───┴───┴───┘ - */ - [0] = LAYOUT_tkl_ansi_tsangan( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ) -}; diff --git a/keyboards/plywrks/ply8x/solder/keyboard.json b/keyboards/plywrks/ply8x/keyboard.json similarity index 65% rename from keyboards/plywrks/ply8x/solder/keyboard.json rename to keyboards/plywrks/ply8x/keyboard.json index 18cf17808a..7c0717ade0 100644 --- a/keyboards/plywrks/ply8x/solder/keyboard.json +++ b/keyboards/plywrks/ply8x/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -16,10 +18,11 @@ "cols": ["A9", "A8", "B12", "B11", "B10", "A6", "A5", "A4", "A15", "C13", "C14", "B9", "B7", "B6", "B5", "B4", "B3"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", - "vid": "0x706C", - "pid": "0x7905" + "pid": "0x7905", + "vid": "0x706C" }, "ws2812": { "pin": "B15", @@ -73,106 +76,12 @@ }, "driver": "ws2812", "layout": [ - {"flags": 8, "matrix": [3, 0], "x":5, "y":40}, - {"flags": 8, "matrix": [0,15], "x":208, "y":0}, - {"flags": 2, "x":224, "y":37}, - {"flags": 2, "x":224, "y":43}, - {"flags": 2, "x":218, "y":43}, - {"flags": 2, "x":218, "y":37}, - - {"flags": 2, "matrix": [0, 0], "x":0, "y": 0}, - {"flags": 2, "matrix": [0, 2], "x":26, "y": 0}, - {"flags": 2, "matrix": [0, 3], "x":38, "y": 0}, - {"flags": 2, "matrix": [0, 4], "x":51, "y": 0}, - {"flags": 2, "matrix": [0, 5], "x":64, "y": 0}, - {"flags": 2, "matrix": [0, 6], "x":83, "y": 0}, - {"flags": 2, "matrix": [0, 7], "x":96, "y": 0}, - {"flags": 2, "matrix": [0, 8], "x":109, "y": 0}, - {"flags": 2, "matrix": [0, 9], "x":122, "y": 0}, - {"flags": 2, "matrix": [0,10], "x":141, "y": 0}, - {"flags": 2, "matrix": [0,11], "x":154, "y": 0}, - {"flags": 2, "matrix": [0,12], "x":166, "y": 0}, - {"flags": 2, "matrix": [0,13], "x":179, "y": 0}, - {"flags": 2, "matrix": [0,14], "x":195, "y": 0}, - {"flags": 2, "matrix": [0,16], "x":221, "y": 0}, - - {"flags": 2, "matrix": [1, 0], "x":0, "y": 15}, - {"flags": 2, "matrix": [1, 1], "x":13, "y": 15}, - {"flags": 2, "matrix": [1, 2], "x":26, "y": 15}, - {"flags": 2, "matrix": [1, 3], "x":38, "y": 15}, - {"flags": 2, "matrix": [1, 4], "x":51, "y": 15}, - {"flags": 2, "matrix": [1, 5], "x":64, "y": 15}, - {"flags": 2, "matrix": [1, 6], "x":77, "y": 15}, - {"flags": 2, "matrix": [1, 7], "x":90, "y": 15}, - {"flags": 2, "matrix": [1, 8], "x":102, "y": 15}, - {"flags": 2, "matrix": [1, 9], "x":115, "y": 15}, - {"flags": 2, "matrix": [1,10], "x":128, "y": 15}, - {"flags": 2, "matrix": [1,11], "x":141, "y": 15}, - {"flags": 2, "matrix": [1,12], "x":154, "y": 15}, - {"flags": 2, "matrix": [1,13], "x":166, "y": 15}, - {"flags": 2, "matrix": [3,13], "x":179, "y": 15}, - {"flags": 2, "matrix": [1,14], "x":195, "y": 15}, - {"flags": 2, "matrix": [1,15], "x":208, "y": 15}, - {"flags": 2, "matrix": [1,16], "x":221, "y": 15}, - - {"flags": 2, "matrix": [2, 0], "x":3, "y": 27}, - {"flags": 2, "matrix": [2, 1], "x":19, "y": 27}, - {"flags": 2, "matrix": [2, 2], "x":32, "y": 27}, - {"flags": 2, "matrix": [2, 3], "x":45, "y": 27}, - {"flags": 2, "matrix": [2, 4], "x":58, "y": 27}, - {"flags": 2, "matrix": [2, 5], "x":70, "y": 27}, - {"flags": 2, "matrix": [2, 6], "x":83, "y": 27}, - {"flags": 2, "matrix": [2, 7], "x":96, "y": 27}, - {"flags": 2, "matrix": [2, 8], "x":109, "y": 27}, - {"flags": 2, "matrix": [2, 9], "x":122, "y": 27}, - {"flags": 2, "matrix": [2,10], "x":134, "y": 27}, - {"flags": 2, "matrix": [2,11], "x":147, "y": 27}, - {"flags": 2, "matrix": [2,12], "x":160, "y": 27}, - {"flags": 2, "matrix": [2,13], "x":176, "y": 27}, - {"flags": 2, "matrix": [2,14], "x":195, "y": 27}, - {"flags": 2, "matrix": [2,15], "x":208, "y": 27}, - {"flags": 2, "matrix": [2,16], "x":221, "y": 27}, - - {"flags": 2, "matrix": [3, 1], "x":23, "y": 40}, - {"flags": 2, "matrix": [3, 2], "x":36, "y": 40}, - {"flags": 2, "matrix": [3, 3], "x":49, "y": 40}, - {"flags": 2, "matrix": [3, 4], "x":62, "y": 40}, - {"flags": 2, "matrix": [3, 5], "x":75, "y": 40}, - {"flags": 2, "matrix": [3, 6], "x":88, "y": 40}, - {"flags": 2, "matrix": [3, 7], "x":101, "y": 40}, - {"flags": 2, "matrix": [3, 8], "x":114, "y": 40}, - {"flags": 2, "matrix": [3, 9], "x":127, "y": 40}, - {"flags": 2, "matrix": [3,10], "x":140, "y": 40}, - {"flags": 2, "matrix": [3,11], "x":153, "y": 40}, - {"flags": 2, "matrix": [3,12], "x":166, "y": 40}, - - {"flags": 2, "matrix": [4, 0], "x":2, "y": 52}, - {"flags": 2, "matrix": [4, 1], "x":16, "y": 52}, - {"flags": 2, "matrix": [4, 2], "x":29, "y": 52}, - {"flags": 2, "matrix": [4, 3], "x":42, "y": 52}, - {"flags": 2, "matrix": [4, 4], "x":54, "y": 52}, - {"flags": 2, "matrix": [4, 5], "x":67, "y": 52}, - {"flags": 2, "matrix": [4, 6], "x":80, "y": 52}, - {"flags": 2, "matrix": [4, 7], "x":93, "y": 52}, - {"flags": 2, "matrix": [4, 8], "x":106, "y": 52}, - {"flags": 2, "matrix": [4, 9], "x":118, "y": 52}, - {"flags": 2, "matrix": [4,10], "x":131, "y": 52}, - {"flags": 2, "matrix": [4,11], "x":144, "y": 52}, - {"flags": 2, "matrix": [4,12], "x":162, "y": 52}, - {"flags": 2, "matrix": [4,13], "x":179, "y": 52}, - {"flags": 2, "matrix": [4,15], "x":208, "y": 52}, - - {"flags": 2, "matrix": [5, 0], "x":2, "y": 64}, - {"flags": 2, "matrix": [5, 1], "x":18, "y": 64}, - {"flags": 2, "matrix": [5, 2], "x":34, "y": 64}, - {"flags": 2, "matrix": [5, 6], "x":82, "y": 64}, - {"flags": 2, "matrix": [5,10], "x":130, "y": 64}, - {"flags": 2, "matrix": [5,11], "x":146, "y": 64}, - {"flags": 2, "matrix": [5,12], "x":162, "y": 64}, - {"flags": 2, "matrix": [5,13], "x":178, "y": 64}, - {"flags": 2, "matrix": [5,14], "x":195, "y": 64}, - {"flags": 2, "matrix": [5,15], "x":208, "y": 64}, - {"flags": 2, "matrix": [5,16], "x":221, "y": 64} + {"flags": 8, "matrix": [3, 0], "x":2, "y":27}, + {"flags": 8, "matrix": [0,15], "x":211, "y":0}, + {"flags": 2, "x":0, "y":0}, + {"flags": 2, "x":10, "y":0}, + {"flags": 2, "x":20, "y":0}, + {"flags": 2, "x":30, "y":0} ] }, "layout_aliases": { @@ -183,15 +92,11 @@ "tkl_ansi", "tkl_ansi_split_bs_rshift", "tkl_ansi_tsangan", - "tkl_ansi_wkl", "tkl_ansi_tsangan_split_bs_rshift", - "tkl_ansi_wkl_split_bs_rshift", "tkl_iso", "tkl_iso_split_bs_rshift", "tkl_iso_tsangan", - "tkl_iso_wkl", - "tkl_iso_tsangan_split_bs_rshift", - "tkl_iso_wkl_split_bs_rshift" + "tkl_iso_tsangan_split_bs_rshift" ], "layouts": { "LAYOUT_tkl_ansi": { @@ -483,99 +388,6 @@ {"matrix": [5,16], "x":17.25, "y":5.25} ] }, - "LAYOUT_tkl_ansi_wkl": { - "layout": [ - {"matrix": [0, 0], "x":0, "y":0}, - {"matrix": [0, 2], "x":2, "y":0}, - {"matrix": [0, 3], "x":3, "y":0}, - {"matrix": [0, 4], "x":4, "y":0}, - {"matrix": [0, 5], "x":5, "y":0}, - {"matrix": [0, 6], "x":6.5, "y":0}, - {"matrix": [0, 7], "x":7.5, "y":0}, - {"matrix": [0, 8], "x":8.5, "y":0}, - {"matrix": [0, 9], "x":9.5, "y":0}, - {"matrix": [0,10], "x":11, "y":0}, - {"matrix": [0,11], "x":12, "y":0}, - {"matrix": [0,12], "x":13, "y":0}, - {"matrix": [0,13], "x":14, "y":0}, - {"matrix": [0,14], "x":15.25, "y":0}, - {"matrix": [0,15], "x":16.25, "y":0}, - {"matrix": [0,16], "x":17.25, "y":0}, - - {"matrix": [1, 0], "x":0, "y":1.25}, - {"matrix": [1, 1], "x":1, "y":1.25}, - {"matrix": [1, 2], "x":2, "y":1.25}, - {"matrix": [1, 3], "x":3, "y":1.25}, - {"matrix": [1, 4], "x":4, "y":1.25}, - {"matrix": [1, 5], "x":5, "y":1.25}, - {"matrix": [1, 6], "x":6, "y":1.25}, - {"matrix": [1, 7], "x":7, "y":1.25}, - {"matrix": [1, 8], "x":8, "y":1.25}, - {"matrix": [1, 9], "x":9, "y":1.25}, - {"matrix": [1,10], "x":10, "y":1.25}, - {"matrix": [1,11], "x":11, "y":1.25}, - {"matrix": [1,12], "x":12, "y":1.25}, - {"matrix": [1,13], "x":13, "y":1.25, "w":2}, - {"matrix": [1,14], "x":15.25, "y":1.25}, - {"matrix": [1,15], "x":16.25, "y":1.25}, - {"matrix": [1,16], "x":17.25, "y":1.25}, - - {"matrix": [2, 0], "x":0, "y":2.25, "w":1.5}, - {"matrix": [2, 1], "x":1.5, "y":2.25}, - {"matrix": [2, 2], "x":2.5, "y":2.25}, - {"matrix": [2, 3], "x":3.5, "y":2.25}, - {"matrix": [2, 4], "x":4.5, "y":2.25}, - {"matrix": [2, 5], "x":5.5, "y":2.25}, - {"matrix": [2, 6], "x":6.5, "y":2.25}, - {"matrix": [2, 7], "x":7.5, "y":2.25}, - {"matrix": [2, 8], "x":8.5, "y":2.25}, - {"matrix": [2, 9], "x":9.5, "y":2.25}, - {"matrix": [2,10], "x":10.5, "y":2.25}, - {"matrix": [2,11], "x":11.5, "y":2.25}, - {"matrix": [2,12], "x":12.5, "y":2.25}, - {"matrix": [2,13], "x":13.5, "y":2.25, "w":1.5}, - {"matrix": [2,14], "x":15.25, "y":2.25}, - {"matrix": [2,15], "x":16.25, "y":2.25}, - {"matrix": [2,16], "x":17.25, "y":2.25}, - - {"matrix": [3, 0], "x":0, "y":3.25, "w":1.75}, - {"matrix": [3, 1], "x":1.75, "y":3.25}, - {"matrix": [3, 2], "x":2.75, "y":3.25}, - {"matrix": [3, 3], "x":3.75, "y":3.25}, - {"matrix": [3, 4], "x":4.75, "y":3.25}, - {"matrix": [3, 5], "x":5.75, "y":3.25}, - {"matrix": [3, 6], "x":6.75, "y":3.25}, - {"matrix": [3, 7], "x":7.75, "y":3.25}, - {"matrix": [3, 8], "x":8.75, "y":3.25}, - {"matrix": [3, 9], "x":9.75, "y":3.25}, - {"matrix": [3,10], "x":10.75, "y":3.25}, - {"matrix": [3,11], "x":11.75, "y":3.25}, - {"matrix": [3,12], "x":12.75, "y":3.25, "w":2.25}, - - {"matrix": [4, 0], "x":0, "y":4.25, "w":2.25}, - {"matrix": [4, 2], "x":2.25, "y":4.25}, - {"matrix": [4, 3], "x":3.25, "y":4.25}, - {"matrix": [4, 4], "x":4.25, "y":4.25}, - {"matrix": [4, 5], "x":5.25, "y":4.25}, - {"matrix": [4, 6], "x":6.25, "y":4.25}, - {"matrix": [4, 7], "x":7.25, "y":4.25}, - {"matrix": [4, 8], "x":8.25, "y":4.25}, - {"matrix": [4, 9], "x":9.25, "y":4.25}, - {"matrix": [4,10], "x":10.25, "y":4.25}, - {"matrix": [4,11], "x":11.25, "y":4.25}, - {"matrix": [4,12], "x":12.25, "y":4.25, "w":2.75}, - {"matrix": [4,15], "x":16.25, "y":4.25}, - - {"matrix": [5, 0], "x":0, "y":5.25, "w":1.5}, - {"matrix": [5, 2], "x":2.5, "y":5.25, "w":1.5}, - {"matrix": [5, 6], "x":4, "y":5.25, "w":7}, - {"matrix": [5,11], "x":11, "y":5.25, "w":1.5}, - {"matrix": [5,13], "x":13.5, "y":5.25, "w":1.5}, - {"matrix": [5,14], "x":15.25, "y":5.25}, - {"matrix": [5,15], "x":16.25, "y":5.25}, - {"matrix": [5,16], "x":17.25, "y":5.25} - ] - }, "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x":0, "y":0}, @@ -673,101 +485,6 @@ {"matrix": [5,16], "x":17.25, "y":5.25} ] }, - "LAYOUT_tkl_ansi_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x":0, "y":0}, - {"matrix": [0, 2], "x":2, "y":0}, - {"matrix": [0, 3], "x":3, "y":0}, - {"matrix": [0, 4], "x":4, "y":0}, - {"matrix": [0, 5], "x":5, "y":0}, - {"matrix": [0, 6], "x":6.5, "y":0}, - {"matrix": [0, 7], "x":7.5, "y":0}, - {"matrix": [0, 8], "x":8.5, "y":0}, - {"matrix": [0, 9], "x":9.5, "y":0}, - {"matrix": [0,10], "x":11, "y":0}, - {"matrix": [0,11], "x":12, "y":0}, - {"matrix": [0,12], "x":13, "y":0}, - {"matrix": [0,13], "x":14, "y":0}, - {"matrix": [0,14], "x":15.25, "y":0}, - {"matrix": [0,15], "x":16.25, "y":0}, - {"matrix": [0,16], "x":17.25, "y":0}, - - {"matrix": [1, 0], "x":0, "y":1.25}, - {"matrix": [1, 1], "x":1, "y":1.25}, - {"matrix": [1, 2], "x":2, "y":1.25}, - {"matrix": [1, 3], "x":3, "y":1.25}, - {"matrix": [1, 4], "x":4, "y":1.25}, - {"matrix": [1, 5], "x":5, "y":1.25}, - {"matrix": [1, 6], "x":6, "y":1.25}, - {"matrix": [1, 7], "x":7, "y":1.25}, - {"matrix": [1, 8], "x":8, "y":1.25}, - {"matrix": [1, 9], "x":9, "y":1.25}, - {"matrix": [1,10], "x":10, "y":1.25}, - {"matrix": [1,11], "x":11, "y":1.25}, - {"matrix": [1,12], "x":12, "y":1.25}, - {"matrix": [1,13], "x":13, "y":1.25}, - {"matrix": [3,13], "x":14, "y":1.25}, - {"matrix": [1,14], "x":15.25, "y":1.25}, - {"matrix": [1,15], "x":16.25, "y":1.25}, - {"matrix": [1,16], "x":17.25, "y":1.25}, - - {"matrix": [2, 0], "x":0, "y":2.25, "w":1.5}, - {"matrix": [2, 1], "x":1.5, "y":2.25}, - {"matrix": [2, 2], "x":2.5, "y":2.25}, - {"matrix": [2, 3], "x":3.5, "y":2.25}, - {"matrix": [2, 4], "x":4.5, "y":2.25}, - {"matrix": [2, 5], "x":5.5, "y":2.25}, - {"matrix": [2, 6], "x":6.5, "y":2.25}, - {"matrix": [2, 7], "x":7.5, "y":2.25}, - {"matrix": [2, 8], "x":8.5, "y":2.25}, - {"matrix": [2, 9], "x":9.5, "y":2.25}, - {"matrix": [2,10], "x":10.5, "y":2.25}, - {"matrix": [2,11], "x":11.5, "y":2.25}, - {"matrix": [2,12], "x":12.5, "y":2.25}, - {"matrix": [2,13], "x":13.5, "y":2.25, "w":1.5}, - {"matrix": [2,14], "x":15.25, "y":2.25}, - {"matrix": [2,15], "x":16.25, "y":2.25}, - {"matrix": [2,16], "x":17.25, "y":2.25}, - - {"matrix": [3, 0], "x":0, "y":3.25, "w":1.75}, - {"matrix": [3, 1], "x":1.75, "y":3.25}, - {"matrix": [3, 2], "x":2.75, "y":3.25}, - {"matrix": [3, 3], "x":3.75, "y":3.25}, - {"matrix": [3, 4], "x":4.75, "y":3.25}, - {"matrix": [3, 5], "x":5.75, "y":3.25}, - {"matrix": [3, 6], "x":6.75, "y":3.25}, - {"matrix": [3, 7], "x":7.75, "y":3.25}, - {"matrix": [3, 8], "x":8.75, "y":3.25}, - {"matrix": [3, 9], "x":9.75, "y":3.25}, - {"matrix": [3,10], "x":10.75, "y":3.25}, - {"matrix": [3,11], "x":11.75, "y":3.25}, - {"matrix": [3,12], "x":12.75, "y":3.25, "w":2.25}, - - {"matrix": [4, 0], "x":0, "y":4.25, "w":2.25}, - {"matrix": [4, 2], "x":2.25, "y":4.25}, - {"matrix": [4, 3], "x":3.25, "y":4.25}, - {"matrix": [4, 4], "x":4.25, "y":4.25}, - {"matrix": [4, 5], "x":5.25, "y":4.25}, - {"matrix": [4, 6], "x":6.25, "y":4.25}, - {"matrix": [4, 7], "x":7.25, "y":4.25}, - {"matrix": [4, 8], "x":8.25, "y":4.25}, - {"matrix": [4, 9], "x":9.25, "y":4.25}, - {"matrix": [4,10], "x":10.25, "y":4.25}, - {"matrix": [4,11], "x":11.25, "y":4.25}, - {"matrix": [4,12], "x":12.25, "y":4.25, "w":1.75}, - {"matrix": [4,13], "x":14, "y":4.25}, - {"matrix": [4,15], "x":16.25, "y":4.25}, - - {"matrix": [5, 0], "x":0, "y":5.25, "w":1.5}, - {"matrix": [5, 2], "x":2.5, "y":5.25, "w":1.5}, - {"matrix": [5, 6], "x":4, "y":5.25, "w":7}, - {"matrix": [5,11], "x":11, "y":5.25, "w":1.5}, - {"matrix": [5,13], "x":13.5, "y":5.25, "w":1.5}, - {"matrix": [5,14], "x":15.25, "y":5.25}, - {"matrix": [5,15], "x":16.25, "y":5.25}, - {"matrix": [5,16], "x":17.25, "y":5.25} - ] - }, "LAYOUT_tkl_iso": { "layout": [ {"matrix": [0, 0], "x":0, "y":0}, @@ -1060,100 +777,6 @@ {"matrix": [5,16], "x":17.25, "y":5.25} ] }, - "LAYOUT_tkl_iso_wkl": { - "layout": [ - {"matrix": [0, 0], "x":0, "y":0}, - {"matrix": [0, 2], "x":2, "y":0}, - {"matrix": [0, 3], "x":3, "y":0}, - {"matrix": [0, 4], "x":4, "y":0}, - {"matrix": [0, 5], "x":5, "y":0}, - {"matrix": [0, 6], "x":6.5, "y":0}, - {"matrix": [0, 7], "x":7.5, "y":0}, - {"matrix": [0, 8], "x":8.5, "y":0}, - {"matrix": [0, 9], "x":9.5, "y":0}, - {"matrix": [0,10], "x":11, "y":0}, - {"matrix": [0,11], "x":12, "y":0}, - {"matrix": [0,12], "x":13, "y":0}, - {"matrix": [0,13], "x":14, "y":0}, - {"matrix": [0,14], "x":15.25, "y":0}, - {"matrix": [0,15], "x":16.25, "y":0}, - {"matrix": [0,16], "x":17.25, "y":0}, - - {"matrix": [1, 0], "x":0, "y":1.25}, - {"matrix": [1, 1], "x":1, "y":1.25}, - {"matrix": [1, 2], "x":2, "y":1.25}, - {"matrix": [1, 3], "x":3, "y":1.25}, - {"matrix": [1, 4], "x":4, "y":1.25}, - {"matrix": [1, 5], "x":5, "y":1.25}, - {"matrix": [1, 6], "x":6, "y":1.25}, - {"matrix": [1, 7], "x":7, "y":1.25}, - {"matrix": [1, 8], "x":8, "y":1.25}, - {"matrix": [1, 9], "x":9, "y":1.25}, - {"matrix": [1,10], "x":10, "y":1.25}, - {"matrix": [1,11], "x":11, "y":1.25}, - {"matrix": [1,12], "x":12, "y":1.25}, - {"matrix": [1,13], "x":13, "y":1.25, "w":2}, - {"matrix": [1,14], "x":15.25, "y":1.25}, - {"matrix": [1,15], "x":16.25, "y":1.25}, - {"matrix": [1,16], "x":17.25, "y":1.25}, - - {"matrix": [2, 0], "x":0, "y":2.25, "w":1.5}, - {"matrix": [2, 1], "x":1.5, "y":2.25}, - {"matrix": [2, 2], "x":2.5, "y":2.25}, - {"matrix": [2, 3], "x":3.5, "y":2.25}, - {"matrix": [2, 4], "x":4.5, "y":2.25}, - {"matrix": [2, 5], "x":5.5, "y":2.25}, - {"matrix": [2, 6], "x":6.5, "y":2.25}, - {"matrix": [2, 7], "x":7.5, "y":2.25}, - {"matrix": [2, 8], "x":8.5, "y":2.25}, - {"matrix": [2, 9], "x":9.5, "y":2.25}, - {"matrix": [2,10], "x":10.5, "y":2.25}, - {"matrix": [2,11], "x":11.5, "y":2.25}, - {"matrix": [2,12], "x":12.5, "y":2.25}, - {"matrix": [2,14], "x":15.25, "y":2.25}, - {"matrix": [2,15], "x":16.25, "y":2.25}, - {"matrix": [2,16], "x":17.25, "y":2.25}, - - {"matrix": [3, 0], "x":0, "y":3.25, "w":1.75}, - {"matrix": [3, 1], "x":1.75, "y":3.25}, - {"matrix": [3, 2], "x":2.75, "y":3.25}, - {"matrix": [3, 3], "x":3.75, "y":3.25}, - {"matrix": [3, 4], "x":4.75, "y":3.25}, - {"matrix": [3, 5], "x":5.75, "y":3.25}, - {"matrix": [3, 6], "x":6.75, "y":3.25}, - {"matrix": [3, 7], "x":7.75, "y":3.25}, - {"matrix": [3, 8], "x":8.75, "y":3.25}, - {"matrix": [3, 9], "x":9.75, "y":3.25}, - {"matrix": [3,10], "x":10.75, "y":3.25}, - {"matrix": [3,11], "x":11.75, "y":3.25}, - {"matrix": [3,12], "x":12.75, "y":3.25}, - {"matrix": [2,13], "x":13.75, "y":2.25, "w":1.25, "h":2}, - - {"matrix": [4, 0], "x":0, "y":4.25, "w":1.25}, - {"matrix": [4, 1], "x":1.25, "y":4.25}, - {"matrix": [4, 2], "x":2.25, "y":4.25}, - {"matrix": [4, 3], "x":3.25, "y":4.25}, - {"matrix": [4, 4], "x":4.25, "y":4.25}, - {"matrix": [4, 5], "x":5.25, "y":4.25}, - {"matrix": [4, 6], "x":6.25, "y":4.25}, - {"matrix": [4, 7], "x":7.25, "y":4.25}, - {"matrix": [4, 8], "x":8.25, "y":4.25}, - {"matrix": [4, 9], "x":9.25, "y":4.25}, - {"matrix": [4,10], "x":10.25, "y":4.25}, - {"matrix": [4,11], "x":11.25, "y":4.25}, - {"matrix": [4,12], "x":12.25, "y":4.25, "w":2.75}, - {"matrix": [4,15], "x":16.25, "y":4.25}, - - {"matrix": [5, 0], "x":0, "y":5.25, "w":1.5}, - {"matrix": [5, 2], "x":2.5, "y":5.25, "w":1.5}, - {"matrix": [5, 6], "x":4, "y":5.25, "w":7}, - {"matrix": [5,11], "x":11, "y":5.25, "w":1.5}, - {"matrix": [5,13], "x":13.5, "y":5.25, "w":1.5}, - {"matrix": [5,14], "x":15.25, "y":5.25}, - {"matrix": [5,15], "x":16.25, "y":5.25}, - {"matrix": [5,16], "x":17.25, "y":5.25} - ] - }, "LAYOUT_tkl_iso_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x":0, "y":0}, @@ -1252,102 +875,6 @@ {"matrix": [5,16], "x":17.25, "y":5.25} ] }, - "LAYOUT_tkl_iso_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x":0, "y":0}, - {"matrix": [0, 2], "x":2, "y":0}, - {"matrix": [0, 3], "x":3, "y":0}, - {"matrix": [0, 4], "x":4, "y":0}, - {"matrix": [0, 5], "x":5, "y":0}, - {"matrix": [0, 6], "x":6.5, "y":0}, - {"matrix": [0, 7], "x":7.5, "y":0}, - {"matrix": [0, 8], "x":8.5, "y":0}, - {"matrix": [0, 9], "x":9.5, "y":0}, - {"matrix": [0,10], "x":11, "y":0}, - {"matrix": [0,11], "x":12, "y":0}, - {"matrix": [0,12], "x":13, "y":0}, - {"matrix": [0,13], "x":14, "y":0}, - {"matrix": [0,14], "x":15.25, "y":0}, - {"matrix": [0,15], "x":16.25, "y":0}, - {"matrix": [0,16], "x":17.25, "y":0}, - - {"matrix": [1, 0], "x":0, "y":1.25}, - {"matrix": [1, 1], "x":1, "y":1.25}, - {"matrix": [1, 2], "x":2, "y":1.25}, - {"matrix": [1, 3], "x":3, "y":1.25}, - {"matrix": [1, 4], "x":4, "y":1.25}, - {"matrix": [1, 5], "x":5, "y":1.25}, - {"matrix": [1, 6], "x":6, "y":1.25}, - {"matrix": [1, 7], "x":7, "y":1.25}, - {"matrix": [1, 8], "x":8, "y":1.25}, - {"matrix": [1, 9], "x":9, "y":1.25}, - {"matrix": [1,10], "x":10, "y":1.25}, - {"matrix": [1,11], "x":11, "y":1.25}, - {"matrix": [1,12], "x":12, "y":1.25}, - {"matrix": [1,13], "x":13, "y":1.25}, - {"matrix": [3,13], "x":14, "y":1.25}, - {"matrix": [1,14], "x":15.25, "y":1.25}, - {"matrix": [1,15], "x":16.25, "y":1.25}, - {"matrix": [1,16], "x":17.25, "y":1.25}, - - {"matrix": [2, 0], "x":0, "y":2.25, "w":1.5}, - {"matrix": [2, 1], "x":1.5, "y":2.25}, - {"matrix": [2, 2], "x":2.5, "y":2.25}, - {"matrix": [2, 3], "x":3.5, "y":2.25}, - {"matrix": [2, 4], "x":4.5, "y":2.25}, - {"matrix": [2, 5], "x":5.5, "y":2.25}, - {"matrix": [2, 6], "x":6.5, "y":2.25}, - {"matrix": [2, 7], "x":7.5, "y":2.25}, - {"matrix": [2, 8], "x":8.5, "y":2.25}, - {"matrix": [2, 9], "x":9.5, "y":2.25}, - {"matrix": [2,10], "x":10.5, "y":2.25}, - {"matrix": [2,11], "x":11.5, "y":2.25}, - {"matrix": [2,12], "x":12.5, "y":2.25}, - {"matrix": [2,14], "x":15.25, "y":2.25}, - {"matrix": [2,15], "x":16.25, "y":2.25}, - {"matrix": [2,16], "x":17.25, "y":2.25}, - - {"matrix": [3, 0], "x":0, "y":3.25, "w":1.75}, - {"matrix": [3, 1], "x":1.75, "y":3.25}, - {"matrix": [3, 2], "x":2.75, "y":3.25}, - {"matrix": [3, 3], "x":3.75, "y":3.25}, - {"matrix": [3, 4], "x":4.75, "y":3.25}, - {"matrix": [3, 5], "x":5.75, "y":3.25}, - {"matrix": [3, 6], "x":6.75, "y":3.25}, - {"matrix": [3, 7], "x":7.75, "y":3.25}, - {"matrix": [3, 8], "x":8.75, "y":3.25}, - {"matrix": [3, 9], "x":9.75, "y":3.25}, - {"matrix": [3,10], "x":10.75, "y":3.25}, - {"matrix": [3,11], "x":11.75, "y":3.25}, - {"matrix": [3,12], "x":12.75, "y":3.25}, - {"matrix": [2,13], "x":13.75, "y":2.25, "w":1.25, "h":2}, - - {"matrix": [4, 0], "x":0, "y":4.25, "w":1.25}, - {"matrix": [4, 1], "x":1.25, "y":4.25}, - {"matrix": [4, 2], "x":2.25, "y":4.25}, - {"matrix": [4, 3], "x":3.25, "y":4.25}, - {"matrix": [4, 4], "x":4.25, "y":4.25}, - {"matrix": [4, 5], "x":5.25, "y":4.25}, - {"matrix": [4, 6], "x":6.25, "y":4.25}, - {"matrix": [4, 7], "x":7.25, "y":4.25}, - {"matrix": [4, 8], "x":8.25, "y":4.25}, - {"matrix": [4, 9], "x":9.25, "y":4.25}, - {"matrix": [4,10], "x":10.25, "y":4.25}, - {"matrix": [4,11], "x":11.25, "y":4.25}, - {"matrix": [4,12], "x":12.25, "y":4.25, "w":1.75}, - {"matrix": [4,13], "x":14, "y":4.25}, - {"matrix": [4,15], "x":16.25, "y":4.25}, - - {"matrix": [5, 0], "x":0, "y":5.25, "w":1.5}, - {"matrix": [5, 2], "x":2.5, "y":5.25, "w":1.5}, - {"matrix": [5, 6], "x":4, "y":5.25, "w":7}, - {"matrix": [5,11], "x":11, "y":5.25, "w":1.5}, - {"matrix": [5,13], "x":13.5, "y":5.25, "w":1.5}, - {"matrix": [5,14], "x":15.25, "y":5.25}, - {"matrix": [5,15], "x":16.25, "y":5.25}, - {"matrix": [5,16], "x":17.25, "y":5.25} - ] - }, "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x":0, "y":0}, diff --git a/keyboards/plywrks/ply8x/solder/keymaps/default/keymap.c b/keyboards/plywrks/ply8x/keymaps/default/keymap.c similarity index 100% rename from keyboards/plywrks/ply8x/solder/keymaps/default/keymap.c rename to keyboards/plywrks/ply8x/keymaps/default/keymap.c diff --git a/keyboards/plywrks/ply8x/hotswap/mcuconf.h b/keyboards/plywrks/ply8x/mcuconf.h similarity index 100% rename from keyboards/plywrks/ply8x/hotswap/mcuconf.h rename to keyboards/plywrks/ply8x/mcuconf.h diff --git a/keyboards/plywrks/ply8x/solder/config.h b/keyboards/plywrks/ply8x/solder/config.h deleted file mode 100644 index 3fc4de978d..0000000000 --- a/keyboards/plywrks/ply8x/solder/config.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2023 Ramon Imbao (@ramonimbao) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define WS2812_SPI_DRIVER SPID2 -#define WS2812_SPI_MOSI_PAL_MODE 0 -#define WS2812_SPI_SCK_PIN B13 -#define WS2812_SPI_SCK_PAL_MODE 0 -#define WS2812_EXTERNAL_PULLUP diff --git a/keyboards/plywrks/ply8x/solder/halconf.h b/keyboards/plywrks/ply8x/solder/halconf.h deleted file mode 100644 index e215e323c5..0000000000 --- a/keyboards/plywrks/ply8x/solder/halconf.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2023 Ramon Imbao (@ramonimbao) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/plywrks/ply8x/solder/mcuconf.h b/keyboards/plywrks/ply8x/solder/mcuconf.h deleted file mode 100644 index aceb2e3dfc..0000000000 --- a/keyboards/plywrks/ply8x/solder/mcuconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2023 Ramon Imbao (@ramonimbao) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/pmk/posey_split/v4/keyboard.json b/keyboards/pmk/posey_split/v4/keyboard.json index d9f165286a..e27991783d 100644 --- a/keyboards/pmk/posey_split/v4/keyboard.json +++ b/keyboards/pmk/posey_split/v4/keyboard.json @@ -10,6 +10,8 @@ "features": { "bootmagic": true, "rgblight": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/pmk/posey_split/v5/keyboard.json b/keyboards/pmk/posey_split/v5/keyboard.json index cc2c8f2461..02c04dbba2 100644 --- a/keyboards/pmk/posey_split/v5/keyboard.json +++ b/keyboards/pmk/posey_split/v5/keyboard.json @@ -10,6 +10,8 @@ "features": { "bootmagic": true, "rgblight": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/pohjolaworks/louhi/keyboard.json b/keyboards/pohjolaworks/louhi/keyboard.json index be00368632..90d7a96433 100644 --- a/keyboards/pohjolaworks/louhi/keyboard.json +++ b/keyboards/pohjolaworks/louhi/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/poker87c/keyboard.json b/keyboards/poker87c/keyboard.json index ac682d926c..ab626c8be9 100644 --- a/keyboards/poker87c/keyboard.json +++ b/keyboards/poker87c/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "POKER-87C Hotswap", "manufacturer": "mfkiiyd", + "url": "", "maintainer": "mfkiiyd", "usb": { "vid": "0x6D66", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/poker87d/keyboard.json b/keyboards/poker87d/keyboard.json index 42c89ef1fd..61710aac2c 100644 --- a/keyboards/poker87d/keyboard.json +++ b/keyboards/poker87d/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "POKER-87D Hotswap", "manufacturer": "mfkiiyd", + "url": "", "maintainer": "mfkiiyd", "usb": { "vid": "0x6D66", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/polilla/rev1/keyboard.json b/keyboards/polilla/rev1/keyboard.json index 049b21a178..746f47963e 100644 --- a/keyboards/polilla/rev1/keyboard.json +++ b/keyboards/polilla/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Polilla", "manufacturer": "elagil", + "url": "", "maintainer": "elagil", "usb": { "vid": "0x6166", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/polilla/rules.mk b/keyboards/polilla/rules.mk new file mode 100644 index 0000000000..0d72c40bb6 --- /dev/null +++ b/keyboards/polilla/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = polilla/rev1 \ No newline at end of file diff --git a/keyboards/polycarbdiet/s20/keyboard.json b/keyboards/polycarbdiet/s20/keyboard.json index e8b180b860..f87429b4a7 100644 --- a/keyboards/polycarbdiet/s20/keyboard.json +++ b/keyboards/polycarbdiet/s20/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "S20 revA", "manufacturer": "polycarbdiet", + "url": "", "maintainer": "polycarbdiet", "usb": { "vid": "0x5040", @@ -11,6 +12,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/pom_keyboards/tnln95/keyboard.json b/keyboards/pom_keyboards/tnln95/keyboard.json index 61ec5f956e..09b3f71f7c 100644 --- a/keyboards/pom_keyboards/tnln95/keyboard.json +++ b/keyboards/pom_keyboards/tnln95/keyboard.json @@ -14,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/portal_66/hotswap/keyboard.json b/keyboards/portal_66/hotswap/keyboard.json index 8bbee2d56a..266ca516ec 100644 --- a/keyboards/portal_66/hotswap/keyboard.json +++ b/keyboards/portal_66/hotswap/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/portal_66/soldered/keyboard.json b/keyboards/portal_66/soldered/keyboard.json index 063176c735..369a6efa13 100644 --- a/keyboards/portal_66/soldered/keyboard.json +++ b/keyboards/portal_66/soldered/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/pos78/keyboard.json b/keyboards/pos78/keyboard.json index a4cad0124e..0a6a814155 100644 --- a/keyboards/pos78/keyboard.json +++ b/keyboards/pos78/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/preonic/config.h b/keyboards/preonic/config.h index 67ff77912c..c47b9e7ed4 100644 --- a/keyboards/preonic/config.h +++ b/keyboards/preonic/config.h @@ -20,8 +20,6 @@ along with this program. If not, see . #define AUDIO_VOICES #define AUDIO_PIN C6 -#define AUDIO_INIT_DELAY - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/preonic/rev1/keyboard.json b/keyboards/preonic/rev1/keyboard.json index 705ccbfc22..648dafe576 100644 --- a/keyboards/preonic/rev1/keyboard.json +++ b/keyboards/preonic/rev1/keyboard.json @@ -13,6 +13,8 @@ "audio": true, "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/preonic/rev2/keyboard.json b/keyboards/preonic/rev2/keyboard.json index 112785f360..d24c3db42f 100644 --- a/keyboards/preonic/rev2/keyboard.json +++ b/keyboards/preonic/rev2/keyboard.json @@ -13,6 +13,7 @@ "audio": true, "backlight": true, "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/primekb/meridian/rules.mk b/keyboards/primekb/meridian/rules.mk new file mode 100644 index 0000000000..585a04ad28 --- /dev/null +++ b/keyboards/primekb/meridian/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = primekb/meridian/ktr1010 diff --git a/keyboards/primekb/meridian_rgb/keyboard.json b/keyboards/primekb/meridian_rgb/keyboard.json index f1ca86dfea..145d4eeb8b 100644 --- a/keyboards/primekb/meridian_rgb/keyboard.json +++ b/keyboards/primekb/meridian_rgb/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/primekb/prime_e/info.json b/keyboards/primekb/prime_e/info.json index 4aaef804af..e7ed77e403 100644 --- a/keyboards/primekb/prime_e/info.json +++ b/keyboards/primekb/prime_e/info.json @@ -7,6 +7,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/primekb/prime_e/rules.mk b/keyboards/primekb/prime_e/rules.mk new file mode 100644 index 0000000000..debb966e0d --- /dev/null +++ b/keyboards/primekb/prime_e/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = primekb/prime_e/std diff --git a/keyboards/primekb/prime_l/info.json b/keyboards/primekb/prime_l/info.json index 1f526e9587..ed905f2b0b 100644 --- a/keyboards/primekb/prime_l/info.json +++ b/keyboards/primekb/prime_l/info.json @@ -4,6 +4,8 @@ "maintainer": "MxBlu", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/primekb/prime_l/rules.mk b/keyboards/primekb/prime_l/rules.mk new file mode 100644 index 0000000000..235bfea925 --- /dev/null +++ b/keyboards/primekb/prime_l/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = primekb/prime_l/v1 diff --git a/keyboards/primekb/prime_m/keyboard.json b/keyboards/primekb/prime_m/keyboard.json index 1f43a8b1dc..eb06dcdb7e 100644 --- a/keyboards/primekb/prime_m/keyboard.json +++ b/keyboards/primekb/prime_m/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/primekb/prime_o/keyboard.json b/keyboards/primekb/prime_o/keyboard.json index e440075537..04da8ab134 100644 --- a/keyboards/primekb/prime_o/keyboard.json +++ b/keyboards/primekb/prime_o/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/primekb/prime_r/keyboard.json b/keyboards/primekb/prime_r/keyboard.json index e6738a6dde..b2a7ecec7a 100644 --- a/keyboards/primekb/prime_r/keyboard.json +++ b/keyboards/primekb/prime_r/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Prime_R", "manufacturer": "PrimeKB", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/printedpad/keyboard.json b/keyboards/printedpad/keyboard.json index 0dca5da74d..90a42c7313 100644 --- a/keyboards/printedpad/keyboard.json +++ b/keyboards/printedpad/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -16,6 +18,7 @@ "rows": ["A10", "C9", "A8", "A9"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/program_yoink/ortho/keyboard.json b/keyboards/program_yoink/ortho/keyboard.json index 2d50640a41..e9d5fd3e80 100644 --- a/keyboards/program_yoink/ortho/keyboard.json +++ b/keyboards/program_yoink/ortho/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Program Yoink! Ortho", "manufacturer": "melonbred", + "url": "", "maintainer": "melonbred", "usb": { "vid": "0x7079", diff --git a/keyboards/program_yoink/rules.mk b/keyboards/program_yoink/rules.mk new file mode 100644 index 0000000000..a7cc1a2dbf --- /dev/null +++ b/keyboards/program_yoink/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = program_yoink/staggered diff --git a/keyboards/program_yoink/staggered/keyboard.json b/keyboards/program_yoink/staggered/keyboard.json index 82f41d8e27..c20e2c9fc7 100644 --- a/keyboards/program_yoink/staggered/keyboard.json +++ b/keyboards/program_yoink/staggered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Program Yoink! Staggered", "manufacturer": "melonbred", + "url": "", "maintainer": "melonbred", "usb": { "vid": "0x7079", diff --git a/keyboards/projectcain/relic/keyboard.json b/keyboards/projectcain/relic/keyboard.json index 428240f923..f9df6770d1 100644 --- a/keyboards/projectcain/relic/keyboard.json +++ b/keyboards/projectcain/relic/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Relic", "manufacturer": "projectcain", + "url": "", "maintainer": "projectcain", "usb": { "vid": "0xFEED", diff --git a/keyboards/projectcain/vault35/rules.mk b/keyboards/projectcain/vault35/rules.mk new file mode 100644 index 0000000000..3cf3a331d8 --- /dev/null +++ b/keyboards/projectcain/vault35/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = projectcain/vault35/atmega32u4 diff --git a/keyboards/projectcain/vault45/keyboard.json b/keyboards/projectcain/vault45/keyboard.json index 6131ae0305..2ab3e010e7 100644 --- a/keyboards/projectcain/vault45/keyboard.json +++ b/keyboards/projectcain/vault45/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Vault45", "manufacturer": "projectcain", + "url": "", "maintainer": "projectcain", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/projectd/65/projectd_65_ansi/config.h b/keyboards/projectd/65/projectd_65_ansi/config.h index 6e23afc902..c8da5c42a7 100644 --- a/keyboards/projectd/65/projectd_65_ansi/config.h +++ b/keyboards/projectd/65/projectd_65_ansi/config.h @@ -22,11 +22,8 @@ /* SPI Config for LED Driver */ #define SPI_DRIVER SPIDQ #define SPI_SCK_PIN A5 -#define SPI_SCK_PAL_MODE 5 #define SPI_MOSI_PIN A7 -#define SPI_MOSI_PAL_MODE 5 #define SPI_MISO_PIN A6 -#define SPI_MISO_PAL_MODE 5 #define AW20216S_CS_PIN_1 A15 #define AW20216S_EN_PIN C13 diff --git a/keyboards/projectd/65/projectd_65_ansi/halconf.h b/keyboards/projectd/65/projectd_65_ansi/halconf.h index e17fed3886..64a184eb92 100644 --- a/keyboards/projectd/65/projectd_65_ansi/halconf.h +++ b/keyboards/projectd/65/projectd_65_ansi/halconf.h @@ -17,5 +17,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/projectd/65/projectd_65_ansi/keyboard.json b/keyboards/projectd/65/projectd_65_ansi/keyboard.json index d3deca8c29..32a95f965e 100644 --- a/keyboards/projectd/65/projectd_65_ansi/keyboard.json +++ b/keyboards/projectd/65/projectd_65_ansi/keyboard.json @@ -19,6 +19,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -159,6 +161,7 @@ ], "sleep": true }, + "url": "", "usb": { "device_version": "0.0.4", "pid": "0x5319", diff --git a/keyboards/projectd/75/ansi/config.h b/keyboards/projectd/75/ansi/config.h index acbe853949..282e20a8e2 100644 --- a/keyboards/projectd/75/ansi/config.h +++ b/keyboards/projectd/75/ansi/config.h @@ -22,11 +22,8 @@ /* SPI Config for LED Driver */ #define SPI_DRIVER SPIDQ #define SPI_SCK_PIN A5 -#define SPI_SCK_PAL_MODE 5 #define SPI_MOSI_PIN A7 -#define SPI_MOSI_PAL_MODE 5 #define SPI_MISO_PIN A6 -#define SPI_MISO_PAL_MODE 5 #define AW20216S_CS_PIN_1 A15 #define AW20216S_CS_PIN_2 B15 diff --git a/keyboards/projectd/75/ansi/halconf.h b/keyboards/projectd/75/ansi/halconf.h index e17fed3886..64a184eb92 100644 --- a/keyboards/projectd/75/ansi/halconf.h +++ b/keyboards/projectd/75/ansi/halconf.h @@ -17,5 +17,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/projectd/75/ansi/keyboard.json b/keyboards/projectd/75/ansi/keyboard.json index 9ebc5f3868..d94db22bfc 100644 --- a/keyboards/projectd/75/ansi/keyboard.json +++ b/keyboards/projectd/75/ansi/keyboard.json @@ -19,6 +19,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -180,6 +182,7 @@ ], "sleep": true }, + "url": "", "usb": { "device_version": "0.0.2", "pid": "0x000F", diff --git a/keyboards/projectd/75/iso/config.h b/keyboards/projectd/75/iso/config.h index acbe853949..282e20a8e2 100644 --- a/keyboards/projectd/75/iso/config.h +++ b/keyboards/projectd/75/iso/config.h @@ -22,11 +22,8 @@ /* SPI Config for LED Driver */ #define SPI_DRIVER SPIDQ #define SPI_SCK_PIN A5 -#define SPI_SCK_PAL_MODE 5 #define SPI_MOSI_PIN A7 -#define SPI_MOSI_PAL_MODE 5 #define SPI_MISO_PIN A6 -#define SPI_MISO_PAL_MODE 5 #define AW20216S_CS_PIN_1 A15 #define AW20216S_CS_PIN_2 B15 diff --git a/keyboards/projectd/75/iso/halconf.h b/keyboards/projectd/75/iso/halconf.h index e17fed3886..64a184eb92 100644 --- a/keyboards/projectd/75/iso/halconf.h +++ b/keyboards/projectd/75/iso/halconf.h @@ -17,5 +17,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/projectd/75/iso/keyboard.json b/keyboards/projectd/75/iso/keyboard.json index 15ff587adb..d42e8c4b33 100644 --- a/keyboards/projectd/75/iso/keyboard.json +++ b/keyboards/projectd/75/iso/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -174,6 +176,7 @@ { "flags": 4, "matrix": [0, 5], "x": 152, "y": 52 } ] }, + "url": "", "usb": { "device_version": "0.0.2", "pid": "0x0011", diff --git a/keyboards/projectkb/alice/rules.mk b/keyboards/projectkb/alice/rules.mk new file mode 100644 index 0000000000..d672576992 --- /dev/null +++ b/keyboards/projectkb/alice/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = projectkb/alice/rev1 diff --git a/keyboards/projectkb/signature65/keyboard.json b/keyboards/projectkb/signature65/keyboard.json index e771c63e81..b72ff9926c 100644 --- a/keyboards/projectkb/signature65/keyboard.json +++ b/keyboards/projectkb/signature65/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/projectkb/signature87/keyboard.json b/keyboards/projectkb/signature87/keyboard.json index adb3fd5fd7..2b18bf4572 100644 --- a/keyboards/projectkb/signature87/keyboard.json +++ b/keyboards/projectkb/signature87/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Signature87", "manufacturer": "Project Keyboard", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x0159", diff --git a/keyboards/prototypist/allison/keyboard.json b/keyboards/prototypist/allison/keyboard.json index 33bd904195..ea80e853bf 100644 --- a/keyboards/prototypist/allison/keyboard.json +++ b/keyboards/prototypist/allison/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/prototypist/allison_numpad/keyboard.json b/keyboards/prototypist/allison_numpad/keyboard.json index e2360c99d4..a995cd6bbf 100644 --- a/keyboards/prototypist/allison_numpad/keyboard.json +++ b/keyboards/prototypist/allison_numpad/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/prototypist/j01/keyboard.json b/keyboards/prototypist/j01/keyboard.json index bafbba0bc8..68296e1b77 100644 --- a/keyboards/prototypist/j01/keyboard.json +++ b/keyboards/prototypist/j01/keyboard.json @@ -14,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/prototypist/oceanographer/keyboard.json b/keyboards/prototypist/oceanographer/keyboard.json index f76980499e..8b0209d451 100644 --- a/keyboards/prototypist/oceanographer/keyboard.json +++ b/keyboards/prototypist/oceanographer/keyboard.json @@ -29,6 +29,8 @@ "led_count": 3, "sleep": true, "hue_steps": 10, + "saturation_steps": 17, + "brightness_steps": 17, "max_brightness": 155, "animations": { "alternating": true, @@ -47,6 +49,7 @@ "rows": ["B0", "D5", "D3", "D2"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0002", diff --git a/keyboards/prototypist/pt60/keyboard.json b/keyboards/prototypist/pt60/keyboard.json index 4768a28d90..8018350e6f 100644 --- a/keyboards/prototypist/pt60/keyboard.json +++ b/keyboards/prototypist/pt60/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["B0", "B1", "B2", "B10", "B11"] }, "processor": "STM32F303", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/prototypist/pt80/keyboard.json b/keyboards/prototypist/pt80/keyboard.json index 311bfd2670..cb58643e3f 100644 --- a/keyboards/prototypist/pt80/keyboard.json +++ b/keyboards/prototypist/pt80/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["B14", "A8", "A9", "B13", "B11", "B12"] }, "processor": "STM32F303", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/protozoa/event_horizon/keyboard.json b/keyboards/protozoa/event_horizon/keyboard.json index 29c7c94fb9..42482c09ba 100644 --- a/keyboards/protozoa/event_horizon/keyboard.json +++ b/keyboards/protozoa/event_horizon/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/psuieee/pluto12/keyboard.json b/keyboards/psuieee/pluto12/keyboard.json index 02db5bc0a1..382d9fe030 100644 --- a/keyboards/psuieee/pluto12/keyboard.json +++ b/keyboards/psuieee/pluto12/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/pteron36/keyboard.json b/keyboards/pteron36/keyboard.json index 783e1e8db0..2000593e62 100644 --- a/keyboards/pteron36/keyboard.json +++ b/keyboards/pteron36/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pteron36", "manufacturer": "Harshit Goel", + "url": "", "maintainer": "harshitgoel96", "usb": { "vid": "0x4847", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/pteropus/keyboard.json b/keyboards/pteropus/keyboard.json index 12bb0e9667..76cbe67eee 100644 --- a/keyboards/pteropus/keyboard.json +++ b/keyboards/pteropus/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["B10", "B2", "B1", "B0"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/puck/keyboard.json b/keyboards/puck/keyboard.json index 35493d4a64..4ec04d72be 100644 --- a/keyboards/puck/keyboard.json +++ b/keyboards/puck/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Puck", "manufacturer": "OkKeebs LLC", + "url": "", "maintainer": "john-pettigrew", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/punk75/keyboard.json b/keyboards/punk75/keyboard.json index 62501a885c..c7082e564f 100644 --- a/keyboards/punk75/keyboard.json +++ b/keyboards/punk75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "punk75", "manufacturer": "dsanchezseco", + "url": "", "maintainer": "dsanchezseco", "usb": { "vid": "0xDEED", diff --git a/keyboards/purin/keyboard.json b/keyboards/purin/keyboard.json index 7e06f2ede9..08a8b06e34 100644 --- a/keyboards/purin/keyboard.json +++ b/keyboards/purin/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["F6", "F7", "D4", "D5", "D3"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/qck75/v1/keyboard.json b/keyboards/qck75/v1/keyboard.json index d97a719a52..a8ae853ab3 100644 --- a/keyboards/qck75/v1/keyboard.json +++ b/keyboards/qck75/v1/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -23,6 +25,7 @@ "rows": ["C3", "A0", "A1", "A2", "B10", "A15"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0001", diff --git a/keyboards/qpockets/eggman/keyboard.json b/keyboards/qpockets/eggman/keyboard.json index 14f8a79b0a..32cb76fc88 100644 --- a/keyboards/qpockets/eggman/keyboard.json +++ b/keyboards/qpockets/eggman/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "eggman", "manufacturer": "qpockets", + "url": "", "maintainer": "qpockets", "usb": { "vid": "0x7170", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/qpockets/space_space/rev1/keyboard.json b/keyboards/qpockets/space_space/rev1/keyboard.json index 5284230e61..cc8cda49a8 100644 --- a/keyboards/qpockets/space_space/rev1/keyboard.json +++ b/keyboards/qpockets/space_space/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "space_space", "manufacturer": "qpockets", + "url": "", "maintainer": "qpockets", "usb": { "vid": "0x7170", diff --git a/keyboards/qpockets/space_space/rev2/keyboard.json b/keyboards/qpockets/space_space/rev2/keyboard.json index 7374ed4728..e2f24032a3 100644 --- a/keyboards/qpockets/space_space/rev2/keyboard.json +++ b/keyboards/qpockets/space_space/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "space_space", "manufacturer": "qpockets", + "url": "", "maintainer": "qpockets", "usb": { "vid": "0x7170", diff --git a/keyboards/qpockets/space_space/rules.mk b/keyboards/qpockets/space_space/rules.mk new file mode 100644 index 0000000000..0ffe2efbf2 --- /dev/null +++ b/keyboards/qpockets/space_space/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = qpockets/space_space/rev2 diff --git a/keyboards/qpockets/wanten/keyboard.json b/keyboards/qpockets/wanten/keyboard.json index d1b6d8b6a6..86bfe02300 100644 --- a/keyboards/qpockets/wanten/keyboard.json +++ b/keyboards/qpockets/wanten/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "wanten", "manufacturer": "qpockets", + "url": "", "maintainer": "qpockets", "usb": { "vid": "0x7170", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/quad_h/lb75/keyboard.json b/keyboards/quad_h/lb75/keyboard.json index d205ecbc27..e88ba4b3a4 100644 --- a/keyboards/quad_h/lb75/keyboard.json +++ b/keyboards/quad_h/lb75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "LB75", "manufacturer": "QUADH", + "url": "", "maintainer": "ai03", "usb": { "vid": "0xA103", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/quadrum/delta/keyboard.json b/keyboards/quadrum/delta/keyboard.json index 0c218b2d8a..bfdc0afd62 100644 --- a/keyboards/quadrum/delta/keyboard.json +++ b/keyboards/quadrum/delta/keyboard.json @@ -9,6 +9,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -20,6 +21,7 @@ "rows": ["F5", "F4", "F1", "F0", "D2"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0002", diff --git a/keyboards/quantrik/kyuu/keyboard.json b/keyboards/quantrik/kyuu/keyboard.json index b7a2a01807..5827f08d21 100644 --- a/keyboards/quantrik/kyuu/keyboard.json +++ b/keyboards/quantrik/kyuu/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kyuu", "manufacturer": "Quantrik", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5154", diff --git a/keyboards/quarkeys/z40/keyboard.json b/keyboards/quarkeys/z40/keyboard.json index 05d81e5b6f..fb945dba5a 100644 --- a/keyboards/quarkeys/z40/keyboard.json +++ b/keyboards/quarkeys/z40/keyboard.json @@ -54,6 +54,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/quarkeys/z60/hotswap/keyboard.json b/keyboards/quarkeys/z60/hotswap/keyboard.json index 6034f3b909..c586d62ef4 100644 --- a/keyboards/quarkeys/z60/hotswap/keyboard.json +++ b/keyboards/quarkeys/z60/hotswap/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/quarkeys/z60/solder/keyboard.json b/keyboards/quarkeys/z60/solder/keyboard.json index d0801e40ca..e85f7e6dc8 100644 --- a/keyboards/quarkeys/z60/solder/keyboard.json +++ b/keyboards/quarkeys/z60/solder/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/quarkeys/z67/hotswap/keyboard.json b/keyboards/quarkeys/z67/hotswap/keyboard.json index 7bee5ee3de..266a9a879e 100644 --- a/keyboards/quarkeys/z67/hotswap/keyboard.json +++ b/keyboards/quarkeys/z67/hotswap/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/quarkeys/z67/solder/keyboard.json b/keyboards/quarkeys/z67/solder/keyboard.json index 10d216e54c..c1e1412d21 100644 --- a/keyboards/quarkeys/z67/solder/keyboard.json +++ b/keyboards/quarkeys/z67/solder/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/qvex/lynepad/keyboard.json b/keyboards/qvex/lynepad/keyboard.json index a408e81f86..65afceb26a 100644 --- a/keyboards/qvex/lynepad/keyboard.json +++ b/keyboards/qvex/lynepad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/qwertlekeys/calice/keyboard.json b/keyboards/qwertlekeys/calice/keyboard.json index c2c22b8317..676ca7a433 100644 --- a/keyboards/qwertlekeys/calice/keyboard.json +++ b/keyboards/qwertlekeys/calice/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Calice", "manufacturer": "QwertleKeys", + "url": "", "maintainer": "Jels02", "usb": { "vid": "0x716B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/qwertykeys/qk65/hotswap/keyboard.json b/keyboards/qwertykeys/qk65/hotswap/keyboard.json index 3aa8597626..7c786a7038 100644 --- a/keyboards/qwertykeys/qk65/hotswap/keyboard.json +++ b/keyboards/qwertykeys/qk65/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "QK65 Hotswap", "manufacturer": "qwertykeys", + "url": "", "maintainer": "qwertykeys", "usb": { "vid": "0x4F53", @@ -10,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/qwertykeys/qk65/solder/keyboard.json b/keyboards/qwertykeys/qk65/solder/keyboard.json index 0d02ba7a91..b1795474d3 100644 --- a/keyboards/qwertykeys/qk65/solder/keyboard.json +++ b/keyboards/qwertykeys/qk65/solder/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "QK65 Solder", "manufacturer": "qwertykeys", + "url": "", "maintainer": "qwertykeys", "usb": { "vid": "0x4F53", @@ -10,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/qwertyydox/rev1/keyboard.json b/keyboards/qwertyydox/rev1/keyboard.json index 0010f9f7e8..24284ff8c0 100644 --- a/keyboards/qwertyydox/rev1/keyboard.json +++ b/keyboards/qwertyydox/rev1/keyboard.json @@ -2,6 +2,7 @@ "keyboard_name": "QWERTYYdox", "manufacturer": "AYDENandDAD Youtube", "identifier": "0x1256", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xCEEB", diff --git a/keyboards/qwertyydox/rules.mk b/keyboards/qwertyydox/rules.mk new file mode 100644 index 0000000000..688444b566 --- /dev/null +++ b/keyboards/qwertyydox/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = qwertyydox/rev1 diff --git a/keyboards/rabbit/rabbit68/keyboard.json b/keyboards/rabbit/rabbit68/keyboard.json index 016e453199..ce35a7d3c2 100644 --- a/keyboards/rabbit/rabbit68/keyboard.json +++ b/keyboards/rabbit/rabbit68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Rabbit68", "manufacturer": "Kai Eckert", + "url": "", "maintainer": "kaiec", "usb": { "vid": "0xFEED", diff --git a/keyboards/rad/keyboard.json b/keyboards/rad/keyboard.json index 848035b785..0d86f25275 100644 --- a/keyboards/rad/keyboard.json +++ b/keyboards/rad/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/rainkeebs/delilah/keyboard.json b/keyboards/rainkeebs/delilah/keyboard.json index a0f4bb9124..bd3d142741 100644 --- a/keyboards/rainkeebs/delilah/keyboard.json +++ b/keyboards/rainkeebs/delilah/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/rainkeebs/rainkeeb/keyboard.json b/keyboards/rainkeebs/rainkeeb/keyboard.json index 2d4a2ac5b9..a291d61d3b 100644 --- a/keyboards/rainkeebs/rainkeeb/keyboard.json +++ b/keyboards/rainkeebs/rainkeeb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "rainkeeb", "manufacturer": "rainkeebs", + "url": "", "maintainer": "rain", "usb": { "vid": "0x726B", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/rainkeebs/yasui/keyboard.json b/keyboards/rainkeebs/yasui/keyboard.json index 1f5caa636f..43bbc46fae 100644 --- a/keyboards/rainkeebs/yasui/keyboard.json +++ b/keyboards/rainkeebs/yasui/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/ramlord/witf/keyboard.json b/keyboards/ramlord/witf/keyboard.json index 5e9f3e8a13..55049a3ffa 100644 --- a/keyboards/ramlord/witf/keyboard.json +++ b/keyboards/ramlord/witf/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -20,6 +22,7 @@ "scroll_lock": "A4" }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x343F", diff --git a/keyboards/rart/rart45/keyboard.json b/keyboards/rart/rart45/keyboard.json index eed7a15dcf..42a5d054d7 100644 --- a/keyboards/rart/rart45/keyboard.json +++ b/keyboards/rart/rart45/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Rart45", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/rart/rart4x4/keyboard.json b/keyboards/rart/rart4x4/keyboard.json index a18e4a4606..c38e2103de 100644 --- a/keyboards/rart/rart4x4/keyboard.json +++ b/keyboards/rart/rart4x4/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RART4X4", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", @@ -31,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/rart/rart60/keyboard.json b/keyboards/rart/rart60/keyboard.json index 474c3512af..d5cc7bf0b4 100644 --- a/keyboards/rart/rart60/keyboard.json +++ b/keyboards/rart/rart60/keyboard.json @@ -23,6 +23,7 @@ "rows": ["GP23", "GP25", "GP15", "GP16", "GP17"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0060", diff --git a/keyboards/rart/rart67/keyboard.json b/keyboards/rart/rart67/keyboard.json index a58955a778..6651561743 100644 --- a/keyboards/rart/rart67/keyboard.json +++ b/keyboards/rart/rart67/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RART67", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", @@ -31,6 +32,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/rart/rart67m/keyboard.json b/keyboards/rart/rart67m/keyboard.json index bade7834fd..0d6cfdeed1 100644 --- a/keyboards/rart/rart67m/keyboard.json +++ b/keyboards/rart/rart67m/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RART67M", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/rart/rart75/keyboard.json b/keyboards/rart/rart75/keyboard.json index 61ffa222ef..beb8a7cc39 100644 --- a/keyboards/rart/rart75/keyboard.json +++ b/keyboards/rart/rart75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RART75", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/rart/rart75hs/keyboard.json b/keyboards/rart/rart75hs/keyboard.json index 9371daacf2..f8763bfbee 100644 --- a/keyboards/rart/rart75hs/keyboard.json +++ b/keyboards/rart/rart75hs/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RART75 Hotswap", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", diff --git a/keyboards/rart/rart75m/keyboard.json b/keyboards/rart/rart75m/keyboard.json index d380adf10a..925e8dff5e 100644 --- a/keyboards/rart/rart75m/keyboard.json +++ b/keyboards/rart/rart75m/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RART75M", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/rart/rart80/keyboard.json b/keyboards/rart/rart80/keyboard.json index a2d4a7f3eb..06fbd1add6 100644 --- a/keyboards/rart/rart80/keyboard.json +++ b/keyboards/rart/rart80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RART80 Hotswap", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", diff --git a/keyboards/rart/rartand/keyboard.json b/keyboards/rart/rartand/keyboard.json index f6728274ed..330beca3e1 100644 --- a/keyboards/rart/rartand/keyboard.json +++ b/keyboards/rart/rartand/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Rartand", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/rart/rartlice/keyboard.json b/keyboards/rart/rartlice/keyboard.json index f568fbba47..c55919e6a6 100644 --- a/keyboards/rart/rartlice/keyboard.json +++ b/keyboards/rart/rartlice/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Rartlice", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", diff --git a/keyboards/rart/rartlite/keyboard.json b/keyboards/rart/rartlite/keyboard.json index df9180d622..f542654db7 100644 --- a/keyboards/rart/rartlite/keyboard.json +++ b/keyboards/rart/rartlite/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RARTLITE", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/rart/rartpad/keyboard.json b/keyboards/rart/rartpad/keyboard.json index cc3f7120d2..ac9b2a38f1 100644 --- a/keyboards/rart/rartpad/keyboard.json +++ b/keyboards/rart/rartpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RARTPAD", "manufacturer": "Alabahuy", + "url": "", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/rastersoft/minitkl/keyboard.json b/keyboards/rastersoft/minitkl/keyboard.json index 6b0869bc63..e8d0691959 100644 --- a/keyboards/rastersoft/minitkl/keyboard.json +++ b/keyboards/rastersoft/minitkl/keyboard.json @@ -24,6 +24,7 @@ "rgblight": { "led_count": 3, "pin": "B2", + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, "animations": { diff --git a/keyboards/rate/pistachio/info.json b/keyboards/rate/pistachio/info.json index 7136860260..0eaea7885d 100644 --- a/keyboards/rate/pistachio/info.json +++ b/keyboards/rate/pistachio/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "pistachio", "manufacturer": "rate", + "url": "", "maintainer": "rate", "usb": { "vid": "0x5255", diff --git a/keyboards/rate/pistachio/rules.mk b/keyboards/rate/pistachio/rules.mk new file mode 100644 index 0000000000..a5f4485316 --- /dev/null +++ b/keyboards/rate/pistachio/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rate/pistachio/rev2 diff --git a/keyboards/rate/pistachio_mp/keyboard.json b/keyboards/rate/pistachio_mp/keyboard.json index 71e3244523..dadb936942 100644 --- a/keyboards/rate/pistachio_mp/keyboard.json +++ b/keyboards/rate/pistachio_mp/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "pistachio_mp", "manufacturer": "rate", + "url": "", "maintainer": "rate", "usb": { "vid": "0x5255", @@ -17,6 +18,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/rationalist/ratio65_hotswap/rev_a/keyboard.json b/keyboards/rationalist/ratio65_hotswap/rev_a/keyboard.json index 608a7e8705..fe40f12f46 100644 --- a/keyboards/rationalist/ratio65_hotswap/rev_a/keyboard.json +++ b/keyboards/rationalist/ratio65_hotswap/rev_a/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ratio65 Hotswap Rev A", "manufacturer": "4pplet", + "url": "", "maintainer": "4pplet", "usb": { "vid": "0x4446", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/rationalist/ratio65_solder/rev_a/keyboard.json b/keyboards/rationalist/ratio65_solder/rev_a/keyboard.json index 59efe9c38f..6953636dee 100644 --- a/keyboards/rationalist/ratio65_solder/rev_a/keyboard.json +++ b/keyboards/rationalist/ratio65_solder/rev_a/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ratio65 Solder Rev A", "manufacturer": "4pplet", + "url": "", "maintainer": "4pplet", "usb": { "vid": "0x4446", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/recompile_keys/choco60/rules.mk b/keyboards/recompile_keys/choco60/rules.mk new file mode 100644 index 0000000000..6abfd34d47 --- /dev/null +++ b/keyboards/recompile_keys/choco60/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = recompile_keys/choco60/rev1 diff --git a/keyboards/recompile_keys/cocoa40/keyboard.json b/keyboards/recompile_keys/cocoa40/keyboard.json index 9fad026ea7..45f0cba2ff 100644 --- a/keyboards/recompile_keys/cocoa40/keyboard.json +++ b/keyboards/recompile_keys/cocoa40/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/recompile_keys/mio/keyboard.json b/keyboards/recompile_keys/mio/keyboard.json index a2c34be5bc..700bb09c07 100644 --- a/keyboards/recompile_keys/mio/keyboard.json +++ b/keyboards/recompile_keys/mio/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/recompile_keys/nomu30/rules.mk b/keyboards/recompile_keys/nomu30/rules.mk new file mode 100644 index 0000000000..431b619249 --- /dev/null +++ b/keyboards/recompile_keys/nomu30/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = recompile_keys/nomu30/rev1 diff --git a/keyboards/rect44/keyboard.json b/keyboards/rect44/keyboard.json index c863bec9a3..d331e48bd9 100644 --- a/keyboards/rect44/keyboard.json +++ b/keyboards/rect44/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Rect44", "manufacturer": "koshinoya", + "url": "", "maintainer": "koshinoya", "usb": { "vid": "0xFEED", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/redox/rev1/info.json b/keyboards/redox/rev1/info.json index c205548e21..ee9786d838 100644 --- a/keyboards/redox/rev1/info.json +++ b/keyboards/redox/rev1/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Redox", "manufacturer": "Falbatech", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D44", @@ -10,6 +11,7 @@ "features":{ "bootmagic": true, "command": true, + "console": false, "mousekey": true, "extrakey": true, "nkro": true, diff --git a/keyboards/redox/rev1/rules.mk b/keyboards/redox/rev1/rules.mk new file mode 100644 index 0000000000..c971da1680 --- /dev/null +++ b/keyboards/redox/rev1/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = redox/rev1/base diff --git a/keyboards/redox/wireless/keyboard.json b/keyboards/redox/wireless/keyboard.json index 7f167240b6..86977f4602 100644 --- a/keyboards/redox/wireless/keyboard.json +++ b/keyboards/redox/wireless/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Redox Wireless", "manufacturer": "Mattia Dal Ben", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D44", diff --git a/keyboards/redox_media/keyboard.json b/keyboards/redox_media/keyboard.json index dba5657ea2..83057da79f 100644 --- a/keyboards/redox_media/keyboard.json +++ b/keyboards/redox_media/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Redox Media", "manufacturer": "shiftux", + "url": "", "maintainer": "shiftux", "usb": { "vid": "0xFEED", diff --git a/keyboards/redscarf_i/keyboard.json b/keyboards/redscarf_i/keyboard.json index 20ee5ce3bd..6a186dff0b 100644 --- a/keyboards/redscarf_i/keyboard.json +++ b/keyboards/redscarf_i/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Red Scarf I", "manufacturer": "Red Scarf", + "url": "", "maintainer": "qmk, defying", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/redscarf_iiplus/verb/keyboard.json b/keyboards/redscarf_iiplus/verb/keyboard.json index 2bb3910fb5..99d763e39a 100644 --- a/keyboards/redscarf_iiplus/verb/keyboard.json +++ b/keyboards/redscarf_iiplus/verb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RedScarfII+ Ver.B (RS78)", "manufacturer": "RedScarf", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/redscarf_iiplus/verc/keyboard.json b/keyboards/redscarf_iiplus/verc/keyboard.json index c9b960e7ba..a6defe4851 100644 --- a/keyboards/redscarf_iiplus/verc/keyboard.json +++ b/keyboards/redscarf_iiplus/verc/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RedScarfII+ Ver.C (RS68)", "manufacturer": "RedScarf", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/redscarf_iiplus/verd/keyboard.json b/keyboards/redscarf_iiplus/verd/keyboard.json index fbb0b14402..d0ba57553a 100644 --- a/keyboards/redscarf_iiplus/verd/keyboard.json +++ b/keyboards/redscarf_iiplus/verd/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RedScarfII+ Ver.D", "manufacturer": "RedScarf", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/reedskeebs/alish40/keyboard.json b/keyboards/reedskeebs/alish40/keyboard.json index 564d4eeeda..1a4b9f4afe 100644 --- a/keyboards/reedskeebs/alish40/keyboard.json +++ b/keyboards/reedskeebs/alish40/keyboard.json @@ -34,8 +34,10 @@ "static_gradient": true, "twinkle": true }, + "brightness_steps": 17, "hue_steps": 10, - "led_count": 10 + "led_count": 10, + "saturation_steps": 17 }, "ws2812": { "pin": "F5" diff --git a/keyboards/relapsekb/or87/keyboard.json b/keyboards/relapsekb/or87/keyboard.json index 67ff9cd19b..0ac5022aca 100644 --- a/keyboards/relapsekb/or87/keyboard.json +++ b/keyboards/relapsekb/or87/keyboard.json @@ -15,6 +15,7 @@ "cols": ["F7", "C7", "C6", "B6", "B5", "B4", "D7", "D0", "B7"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "vid": "0x722D", diff --git a/keyboards/retro_75/keyboard.json b/keyboards/retro_75/keyboard.json index 29b26ab5c1..e077be2ee9 100644 --- a/keyboards/retro_75/keyboard.json +++ b/keyboards/retro_75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Retro75", "manufacturer": "PheonixStarr", + "url": "", "maintainer": "zvecr", "usb": { "vid": "0xFEED", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/reversestudio/decadepad/keyboard.json b/keyboards/reversestudio/decadepad/keyboard.json index 9958c63250..601122aa37 100644 --- a/keyboards/reversestudio/decadepad/keyboard.json +++ b/keyboards/reversestudio/decadepad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DecadePad", "manufacturer": "ReverseStudio", + "url": "", "maintainer": "huajijam", "usb": { "vid": "0x5253", @@ -29,6 +30,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/reviung/reviung33/keyboard.json b/keyboards/reviung/reviung33/keyboard.json index b258f26cab..0b5ceb4e54 100644 --- a/keyboards/reviung/reviung33/keyboard.json +++ b/keyboards/reviung/reviung33/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "reviung33", "manufacturer": "gtips", + "url": "", "maintainer": "gtips", "usb": { "vid": "0xFEED", @@ -31,6 +32,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, diff --git a/keyboards/reviung/reviung34/keyboard.json b/keyboards/reviung/reviung34/keyboard.json index 7495b7cc9d..8b354c00df 100755 --- a/keyboards/reviung/reviung34/keyboard.json +++ b/keyboards/reviung/reviung34/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "reviung34", "manufacturer": "gtips", + "url": "", "maintainer": "gtips", "usb": { "vid": "0x6774", diff --git a/keyboards/reviung/reviung39/keyboard.json b/keyboards/reviung/reviung39/keyboard.json index e18c1c163e..04cbe909c3 100644 --- a/keyboards/reviung/reviung39/keyboard.json +++ b/keyboards/reviung/reviung39/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "reviung39", "manufacturer": "gtips", + "url": "", "maintainer": "gtips", "usb": { "vid": "0xFEED", diff --git a/keyboards/reviung/reviung41/keyboard.json b/keyboards/reviung/reviung41/keyboard.json index b44827c3d2..8e72ff5762 100644 --- a/keyboards/reviung/reviung41/keyboard.json +++ b/keyboards/reviung/reviung41/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "reviung41", "manufacturer": "gtips", + "url": "", "maintainer": "gtips", "usb": { "vid": "0x7807", diff --git a/keyboards/reviung/reviung46/keyboard.json b/keyboards/reviung/reviung46/keyboard.json index b44aa0dce4..cdf9a24e17 100644 --- a/keyboards/reviung/reviung46/keyboard.json +++ b/keyboards/reviung/reviung46/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/reviung/reviung5/keyboard.json b/keyboards/reviung/reviung5/keyboard.json index 7e7101c0ab..5c932020a2 100644 --- a/keyboards/reviung/reviung5/keyboard.json +++ b/keyboards/reviung/reviung5/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "reviung5", "manufacturer": "gtips", + "url": "", "maintainer": "gtips", "usb": { "vid": "0x5C06", @@ -31,6 +32,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/reviung/reviung53/keyboard.json b/keyboards/reviung/reviung53/keyboard.json index 15f896e7d4..33eec7d828 100644 --- a/keyboards/reviung/reviung53/keyboard.json +++ b/keyboards/reviung/reviung53/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "reviung53", "manufacturer": "gtips", + "url": "", "maintainer": "gtips", "usb": { "vid": "0x4E94", @@ -31,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/reviung/reviung61/keyboard.json b/keyboards/reviung/reviung61/keyboard.json index 09497b203e..99a297bde4 100644 --- a/keyboards/reviung/reviung61/keyboard.json +++ b/keyboards/reviung/reviung61/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "reviung61", "manufacturer": "gtips", + "url": "", "maintainer": "gtips", "usb": { "vid": "0xFEED", diff --git a/keyboards/rgbkb/mun/rules.mk b/keyboards/rgbkb/mun/rules.mk new file mode 100644 index 0000000000..317c4d5a87 --- /dev/null +++ b/keyboards/rgbkb/mun/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rgbkb/mun/rev1 diff --git a/keyboards/rgbkb/pan/rev1/32a/rules.mk b/keyboards/rgbkb/pan/rev1/32a/rules.mk index f54ef3e987..c2ee0bc86f 100644 --- a/keyboards/rgbkb/pan/rev1/32a/rules.mk +++ b/keyboards/rgbkb/pan/rev1/32a/rules.mk @@ -1,4 +1,2 @@ # Processor frequency F_CPU = 16000000 - -WS2812_DRIVER_REQUIRED = yes diff --git a/keyboards/rgbkb/pan/rev1/proton_c/rules.mk b/keyboards/rgbkb/pan/rev1/proton_c/rules.mk deleted file mode 100644 index 9a69649289..0000000000 --- a/keyboards/rgbkb/pan/rev1/proton_c/rules.mk +++ /dev/null @@ -1 +0,0 @@ -WS2812_DRIVER_REQUIRED = yes diff --git a/keyboards/rgbkb/pan/rev1/rules.mk b/keyboards/rgbkb/pan/rev1/rules.mk new file mode 100644 index 0000000000..4d3c0f6679 --- /dev/null +++ b/keyboards/rgbkb/pan/rev1/rules.mk @@ -0,0 +1,2 @@ +# The default configuration is a atmega32a +DEFAULT_FOLDER = rgbkb/pan/rev1/32a diff --git a/keyboards/rgbkb/pan/rules.mk b/keyboards/rgbkb/pan/rules.mk new file mode 100644 index 0000000000..b6f1d46a65 --- /dev/null +++ b/keyboards/rgbkb/pan/rules.mk @@ -0,0 +1,3 @@ +WS2812_DRIVER_REQUIRED = yes + +DEFAULT_FOLDER = rgbkb/pan/rev1 diff --git a/keyboards/rgbkb/sol/rev1/keyboard.json b/keyboards/rgbkb/sol/rev1/keyboard.json index 9a4c538e55..38932a78e1 100644 --- a/keyboards/rgbkb/sol/rev1/keyboard.json +++ b/keyboards/rgbkb/sol/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Sol", "manufacturer": "RGBKB", + "url": "", "maintainer": "Legonut", "usb": { "vid": "0xFEED", diff --git a/keyboards/rgbkb/sol/rev2/keyboard.json b/keyboards/rgbkb/sol/rev2/keyboard.json index 140ea1cd69..b6bad358e3 100644 --- a/keyboards/rgbkb/sol/rev2/keyboard.json +++ b/keyboards/rgbkb/sol/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Sol", "manufacturer": "RGBKB", + "url": "", "maintainer": "Legonut", "usb": { "vid": "0xFEED", diff --git a/keyboards/rgbkb/sol/rules.mk b/keyboards/rgbkb/sol/rules.mk new file mode 100644 index 0000000000..f8325017f9 --- /dev/null +++ b/keyboards/rgbkb/sol/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rgbkb/sol/rev2 diff --git a/keyboards/rgbkb/sol3/rev1/keyboard.json b/keyboards/rgbkb/sol3/rev1/keyboard.json index dc9e6d4035..a81ea7bc21 100644 --- a/keyboards/rgbkb/sol3/rev1/keyboard.json +++ b/keyboards/rgbkb/sol3/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Sol 3", "manufacturer": "RGBKB", + "url": "", "maintainer": "XScorpion2, rgbkb", "usb": { "vid": "0x3535", @@ -152,8 +153,6 @@ "pin": "A9" }, "transport": { - "watchdog": true, - "watchdog_timeout": 20000, "sync": { "indicators": true, "layer_state": true, diff --git a/keyboards/rgbkb/sol3/rules.mk b/keyboards/rgbkb/sol3/rules.mk new file mode 100644 index 0000000000..74804682a2 --- /dev/null +++ b/keyboards/rgbkb/sol3/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rgbkb/sol3/rev1 diff --git a/keyboards/rgbkb/zen/rev1/keyboard.json b/keyboards/rgbkb/zen/rev1/keyboard.json index b35381f607..91d127de58 100644 --- a/keyboards/rgbkb/zen/rev1/keyboard.json +++ b/keyboards/rgbkb/zen/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Project Zen", "manufacturer": "Legonut", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/rgbkb/zen/rev2/keyboard.json b/keyboards/rgbkb/zen/rev2/keyboard.json index 917274f186..b59af6dfdd 100644 --- a/keyboards/rgbkb/zen/rev2/keyboard.json +++ b/keyboards/rgbkb/zen/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Project Zen", "manufacturer": "Legonut", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/rgbkb/zen/rules.mk b/keyboards/rgbkb/zen/rules.mk new file mode 100644 index 0000000000..ee94832d4d --- /dev/null +++ b/keyboards/rgbkb/zen/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rgbkb/zen/rev2 diff --git a/keyboards/rgbkb/zygomorph/rules.mk b/keyboards/rgbkb/zygomorph/rules.mk new file mode 100644 index 0000000000..8544e8767d --- /dev/null +++ b/keyboards/rgbkb/zygomorph/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rgbkb/zygomorph/rev1 diff --git a/keyboards/rico/phoenix_project_no1/keyboard.json b/keyboards/rico/phoenix_project_no1/keyboard.json index ab2b207212..4d354ce0af 100644 --- a/keyboards/rico/phoenix_project_no1/keyboard.json +++ b/keyboards/rico/phoenix_project_no1/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/rmi_kb/aelith/keyboard.json b/keyboards/rmi_kb/aelith/keyboard.json index b3f688913e..de16e5ac31 100644 --- a/keyboards/rmi_kb/aelith/keyboard.json +++ b/keyboards/rmi_kb/aelith/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "AELITH", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", diff --git a/keyboards/rmi_kb/chevron/keyboard.json b/keyboards/rmi_kb/chevron/keyboard.json index 8ae5c12ae1..8eda552902 100644 --- a/keyboards/rmi_kb/chevron/keyboard.json +++ b/keyboards/rmi_kb/chevron/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Chevron", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", diff --git a/keyboards/rmi_kb/equator/keyboard.json b/keyboards/rmi_kb/equator/keyboard.json index 18054abc35..9e1ccab0fb 100644 --- a/keyboards/rmi_kb/equator/keyboard.json +++ b/keyboards/rmi_kb/equator/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -16,6 +18,7 @@ "rows": ["B12", "B10", "A15", "A10", "B1"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xE0A1", diff --git a/keyboards/rmi_kb/herringbone/pro/keyboard.json b/keyboards/rmi_kb/herringbone/pro/keyboard.json index a49983db07..5303185692 100644 --- a/keyboards/rmi_kb/herringbone/pro/keyboard.json +++ b/keyboards/rmi_kb/herringbone/pro/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Herringbone Pro", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", diff --git a/keyboards/rmi_kb/herringbone/rules.mk b/keyboards/rmi_kb/herringbone/rules.mk new file mode 100644 index 0000000000..1efe9fa4f5 --- /dev/null +++ b/keyboards/rmi_kb/herringbone/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rmi_kb/herringbone/v1 diff --git a/keyboards/rmi_kb/herringbone/v1/keyboard.json b/keyboards/rmi_kb/herringbone/v1/keyboard.json index 0f624dbc99..2883f341ab 100644 --- a/keyboards/rmi_kb/herringbone/v1/keyboard.json +++ b/keyboards/rmi_kb/herringbone/v1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Herringbone", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", diff --git a/keyboards/rmi_kb/mona/rules.mk b/keyboards/rmi_kb/mona/rules.mk new file mode 100644 index 0000000000..54aa705d96 --- /dev/null +++ b/keyboards/rmi_kb/mona/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rmi_kb/mona/v1_1 diff --git a/keyboards/rmi_kb/mona/v1/keyboard.json b/keyboards/rmi_kb/mona/v1/keyboard.json index f56986df1a..9d8f66af2f 100644 --- a/keyboards/rmi_kb/mona/v1/keyboard.json +++ b/keyboards/rmi_kb/mona/v1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mona", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", diff --git a/keyboards/rmi_kb/mona/v1_1/keyboard.json b/keyboards/rmi_kb/mona/v1_1/keyboard.json index 95f7b9706e..b1e1f27fc0 100644 --- a/keyboards/rmi_kb/mona/v1_1/keyboard.json +++ b/keyboards/rmi_kb/mona/v1_1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mona", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", diff --git a/keyboards/rmi_kb/mona/v32a/keyboard.json b/keyboards/rmi_kb/mona/v32a/keyboard.json index 84a301d173..e4b7760813 100644 --- a/keyboards/rmi_kb/mona/v32a/keyboard.json +++ b/keyboards/rmi_kb/mona/v32a/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mona", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", diff --git a/keyboards/rmi_kb/squishy65/keyboard.json b/keyboards/rmi_kb/squishy65/keyboard.json index aecaaf9c04..adc83200d3 100644 --- a/keyboards/rmi_kb/squishy65/keyboard.json +++ b/keyboards/rmi_kb/squishy65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Squishy65", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", diff --git a/keyboards/rmi_kb/squishyfrl/keyboard.json b/keyboards/rmi_kb/squishyfrl/keyboard.json index 1341a9e264..8a14a2a4ed 100644 --- a/keyboards/rmi_kb/squishyfrl/keyboard.json +++ b/keyboards/rmi_kb/squishyfrl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SquishyFRL", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/rmi_kb/squishytkl/keyboard.json b/keyboards/rmi_kb/squishytkl/keyboard.json index 1c8b75750e..ae63d83c5d 100644 --- a/keyboards/rmi_kb/squishytkl/keyboard.json +++ b/keyboards/rmi_kb/squishytkl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SquishyTKL", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/rmi_kb/tkl_ff/info.json b/keyboards/rmi_kb/tkl_ff/info.json index 88fe409928..a4fe24cab7 100644 --- a/keyboards/rmi_kb/tkl_ff/info.json +++ b/keyboards/rmi_kb/tkl_ff/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "TKL FF", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", @@ -8,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/rmi_kb/tkl_ff/rules.mk b/keyboards/rmi_kb/tkl_ff/rules.mk new file mode 100644 index 0000000000..c8847cc266 --- /dev/null +++ b/keyboards/rmi_kb/tkl_ff/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rmi_kb/tkl_ff/v1 diff --git a/keyboards/rmi_kb/wete/rules.mk b/keyboards/rmi_kb/wete/rules.mk new file mode 100644 index 0000000000..cda6fbfbe4 --- /dev/null +++ b/keyboards/rmi_kb/wete/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rmi_kb/wete/v2 diff --git a/keyboards/rmi_kb/wete/v1/keyboard.json b/keyboards/rmi_kb/wete/v1/keyboard.json index ff18fac5b5..c9a54f76c2 100644 --- a/keyboards/rmi_kb/wete/v1/keyboard.json +++ b/keyboards/rmi_kb/wete/v1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Wete", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", diff --git a/keyboards/rmi_kb/wete/v2/keyboard.json b/keyboards/rmi_kb/wete/v2/keyboard.json index 3ad1fc9a73..2c925ee919 100644 --- a/keyboards/rmi_kb/wete/v2/keyboard.json +++ b/keyboards/rmi_kb/wete/v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Wete R2", "manufacturer": "RMI-KB", + "url": "", "maintainer": "ramonimbao", "usb": { "vid": "0xB16B", diff --git a/keyboards/rmkeebs/rm_fullsize/keyboard.json b/keyboards/rmkeebs/rm_fullsize/keyboard.json index 40ee2b4c9d..f9ff4dd5b8 100644 --- a/keyboards/rmkeebs/rm_fullsize/keyboard.json +++ b/keyboards/rmkeebs/rm_fullsize/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -16,6 +18,7 @@ "rows": ["GP8", "GP7", "GP9", "GP20", "GP18", "GP19"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/rmkeebs/rm_numpad/keyboard.json b/keyboards/rmkeebs/rm_numpad/keyboard.json index 434c10923d..eb3d11ca86 100644 --- a/keyboards/rmkeebs/rm_numpad/keyboard.json +++ b/keyboards/rmkeebs/rm_numpad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/rocketboard_16/keyboard.json b/keyboards/rocketboard_16/keyboard.json index cacd37d1c3..4831911f4f 100644 --- a/keyboards/rocketboard_16/keyboard.json +++ b/keyboards/rocketboard_16/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Rocketboard-16", "manufacturer": "Rocketboard", + "url": "", "maintainer": "fl3tching101", "usb": { "vid": "0xB034", diff --git a/keyboards/rocketboard_16/keycode_lookup.c b/keyboards/rocketboard_16/keycode_lookup.c index a29808d04d..41fd5c8537 100644 --- a/keyboards/rocketboard_16/keycode_lookup.c +++ b/keyboards/rocketboard_16/keycode_lookup.c @@ -14,7 +14,6 @@ * along with this program. If not, see . */ -#include #include "keycode_lookup.h" #include "quantum_keycodes.h" #include "keymap_us.h" diff --git a/keyboards/rominronin/katana60/rev1/keyboard.json b/keyboards/rominronin/katana60/rev1/keyboard.json index b8d9df35a7..0a9bb4ea49 100644 --- a/keyboards/rominronin/katana60/rev1/keyboard.json +++ b/keyboards/rominronin/katana60/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Katana60 rev1", "manufacturer": "RominRonin CandyKeys", + "url": "", "maintainer": "rominronin", "usb": { "vid": "0x7272", diff --git a/keyboards/ivndbt/late9/readme.md b/keyboards/rookiebwoy/late9/readme.md similarity index 85% rename from keyboards/ivndbt/late9/readme.md rename to keyboards/rookiebwoy/late9/readme.md index 8f1ae628fe..bc6dfab57e 100644 --- a/keyboards/ivndbt/late9/readme.md +++ b/keyboards/rookiebwoy/late9/readme.md @@ -5,17 +5,17 @@ The LATE-9 is a multi-tap input keyboard based on mobile phones from the late '9 ![LATE-9](https://i.imgur.com/QXycTC3h.jpg "LATE-9 first proto") -* Keyboard maintainer: [ivndbt](https://github.com/ivndbt) +* Keyboard maintainer: [rookiebwoy](https://github.com/rookiebwoy) * Hardware supported: ProMicro, _Elite-C (not tested)_ -* Hardware Availability: LATE-9 is open source, check the [project repository](https://github.com/ivndbt/late-9) for gerbers. +* Hardware Availability: LATE-9 is open source, check the [project repository](https://github.com/rookiebwoy/late-9) for gerbers. Make example for this keyboard (after setting up your build environment): - make ivndbt/late9/rev1:default + make rookiebwoy/late9/rev1:default Flashing example for this keyboard: - make ivndbt/late9/rev1:default:flash + make rookiebwoy/late9/rev1:default:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/ivndbt/late9/rev1/config.h b/keyboards/rookiebwoy/late9/rev1/config.h similarity index 96% rename from keyboards/ivndbt/late9/rev1/config.h rename to keyboards/rookiebwoy/late9/rev1/config.h index b6c0ba55b9..8c9a5702f2 100644 --- a/keyboards/ivndbt/late9/rev1/config.h +++ b/keyboards/rookiebwoy/late9/rev1/config.h @@ -1,5 +1,5 @@ /* -Copyright 2021 ivndbt +Copyright 2021 rookiebwoy This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/keyboards/ivndbt/late9/rev1/keyboard.json b/keyboards/rookiebwoy/late9/rev1/keyboard.json similarity index 93% rename from keyboards/ivndbt/late9/rev1/keyboard.json rename to keyboards/rookiebwoy/late9/rev1/keyboard.json index a9bc229588..48f3cff840 100644 --- a/keyboards/ivndbt/late9/rev1/keyboard.json +++ b/keyboards/rookiebwoy/late9/rev1/keyboard.json @@ -1,8 +1,8 @@ { "keyboard_name": "LATE-9", - "manufacturer": "ivndbt", - "url": "https://github.com/ivndbt/late-9)", - "maintainer": "ivndbt", + "manufacturer": "rookiebwoy", + "url": "https://github.com/rookiebwoy/late-9)", + "maintainer": "rookiebwoy", "usb": { "vid": "0x6961", "pid": "0x3032", diff --git a/keyboards/ivndbt/late9/rev1/keymaps/default/keymap.c b/keyboards/rookiebwoy/late9/rev1/keymaps/default/keymap.c similarity index 98% rename from keyboards/ivndbt/late9/rev1/keymaps/default/keymap.c rename to keyboards/rookiebwoy/late9/rev1/keymaps/default/keymap.c index cf38757100..f93958fe8f 100644 --- a/keyboards/ivndbt/late9/rev1/keymaps/default/keymap.c +++ b/keyboards/rookiebwoy/late9/rev1/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2021 ivndbt +/* Copyright 2021 rookiebwoy * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/ivndbt/late9/rev1/readme.md b/keyboards/rookiebwoy/late9/rev1/readme.md similarity index 50% rename from keyboards/ivndbt/late9/rev1/readme.md rename to keyboards/rookiebwoy/late9/rev1/readme.md index 5641e32127..d9683222a9 100644 --- a/keyboards/ivndbt/late9/rev1/readme.md +++ b/keyboards/rookiebwoy/late9/rev1/readme.md @@ -1,5 +1,5 @@ # LATE-9 rev1 -First (and final untill now) revision of the LATE-9. For in depth look please go to [project repository](https://github.com/ivndbt/late-9). +First (and final untill now) revision of the LATE-9. For in depth look please go to [project repository](https://github.com/rookiebwoy/late-9). diff --git a/keyboards/ivndbt/late9/rev1/rev1.c b/keyboards/rookiebwoy/late9/rev1/rev1.c similarity index 53% rename from keyboards/ivndbt/late9/rev1/rev1.c rename to keyboards/rookiebwoy/late9/rev1/rev1.c index f472de2ff5..aa45141b06 100644 --- a/keyboards/ivndbt/late9/rev1/rev1.c +++ b/keyboards/rookiebwoy/late9/rev1/rev1.c @@ -1,4 +1,4 @@ -/* Copyright 2021 ivndbt +/* Copyright 2021 rookiebwoy * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,39 +20,39 @@ bool oled_task_kb(void) { if (!oled_task_user()) { return false; } static const char PROGMEM rb_logo[] = { - // ivndbt 128x32px - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0x78, 0x78, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // rookiebwoy 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, + 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xe3, 0xe3, 0xe3, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x1c, + 0x1c, 0x1c, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, + 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, + 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x07, 0x07, 0x07, + 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x3f, + 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, + 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, + 0x00, 0x00, 0x07, 0x07, 0x07, 0x38, 0x38, 0x38, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe1, 0xe1, 0xf8, 0xf8, - 0x00, 0x00, 0x80, 0x80, 0x06, 0x06, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0xcc, 0x00, 0x80, 0xc0, 0xe0, - 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x00, 0x80, 0xc0, 0xe0, 0x80, 0x40, 0x20, 0xe0, 0xe0, 0x00, 0x00, - 0xc0, 0xe0, 0x20, 0x60, 0xc8, 0xfc, 0xfc, 0x00, 0x10, 0xf8, 0xfc, 0x80, 0x40, 0x60, 0xe0, 0xc0, - 0x00, 0x50, 0xf8, 0xfc, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x20, 0x20, 0x60, 0xc0, - 0xe0, 0x00, 0x80, 0xc0, 0x20, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x80, 0xc0, 0xe0, 0x80, 0x40, 0xe0, - 0xe0, 0x80, 0x40, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, - 0x60, 0x60, 0x01, 0x01, 0x00, 0x00, 0x1f, 0x1f, 0x87, 0x87, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, 0x1f, 0x08, 0x00, 0x07, 0x0f, - 0x1c, 0x18, 0x08, 0x07, 0x03, 0x00, 0x00, 0x1f, 0x1f, 0x08, 0x00, 0x00, 0x1f, 0x1f, 0x08, 0x00, - 0x07, 0x0f, 0x1c, 0x18, 0x08, 0x1f, 0x1f, 0x08, 0x00, 0x1f, 0x1f, 0x10, 0x10, 0x10, 0x0f, 0x07, - 0x00, 0x00, 0x1f, 0x1f, 0x08, 0x04, 0x00, 0x18, 0x18, 0x00, 0x07, 0x0f, 0x1c, 0x18, 0x10, 0x10, - 0x08, 0x00, 0x07, 0x0f, 0x1c, 0x18, 0x10, 0x0f, 0x07, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x1f, - 0x1f, 0x00, 0x00, 0x1f, 0x1f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x1e, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x0e, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 }; oled_write_raw_P(rb_logo, sizeof(rb_logo)); return false; diff --git a/keyboards/rookiebwoy/late9/rules.mk b/keyboards/rookiebwoy/late9/rules.mk new file mode 100755 index 0000000000..358facb3ca --- /dev/null +++ b/keyboards/rookiebwoy/late9/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rookiebwoy/late9/rev1 diff --git a/keyboards/ivndbt/neopad/readme.md b/keyboards/rookiebwoy/neopad/readme.md similarity index 80% rename from keyboards/ivndbt/neopad/readme.md rename to keyboards/rookiebwoy/neopad/readme.md index 4b99835449..5b0ae7abc7 100644 --- a/keyboards/ivndbt/neopad/readme.md +++ b/keyboards/rookiebwoy/neopad/readme.md @@ -7,17 +7,17 @@ _Actually the number of switches is six, because even the encoder are allowed to The Neopad in the photo above is the first prototype. See the project repository for revision 1 update and KiCad files. -* Keyboard maintainer: [ivndbt](https://github.com/ivndbt) +* Keyboard maintainer: [rookiebwoy](https://github.com/rookiebwoy) * Hardware supported: ProMicro, _Elite-C (not tested)_ -* Project repository: [Neopad on github](https://github.com/ivndbt/neopad) +* Project repository: [Neopad on github](https://github.com/rookiebwoy/neopad) Make example for this keyboard (after setting up your build environment): - make ivndbt/neopad/rev1:default + make rookiebwoy/neopad/rev1:default Flashing example for this keyboard: - make ivndbt/neopad/rev1:default:flash + make rookiebwoy/neopad/rev1:default:flash When asked by the terminal, press the dedicated `RESET` button (the one above the 2 LEDs) to enter the bootloader and let the OS detects the device. diff --git a/keyboards/ivndbt/neopad/rev1/config.h b/keyboards/rookiebwoy/neopad/rev1/config.h similarity index 96% rename from keyboards/ivndbt/neopad/rev1/config.h rename to keyboards/rookiebwoy/neopad/rev1/config.h index 7475224d1a..fd1724caf1 100755 --- a/keyboards/ivndbt/neopad/rev1/config.h +++ b/keyboards/rookiebwoy/neopad/rev1/config.h @@ -1,5 +1,5 @@ /* -Copyright 2021 ivndbt +Copyright 2021 rookiebwoy This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/keyboards/ivndbt/neopad/rev1/keyboard.json b/keyboards/rookiebwoy/neopad/rev1/keyboard.json similarity index 86% rename from keyboards/ivndbt/neopad/rev1/keyboard.json rename to keyboards/rookiebwoy/neopad/rev1/keyboard.json index a07852acf0..426d8af7ec 100755 --- a/keyboards/ivndbt/neopad/rev1/keyboard.json +++ b/keyboards/rookiebwoy/neopad/rev1/keyboard.json @@ -1,11 +1,11 @@ { "keyboard_name": "neopad", - "manufacturer": "ivndbt", - "url": "https://github.com/ivndbt/neopad)", - "maintainer": "ivndbt", + "manufacturer": "rookiebwoy", + "url": "https://github.com/rookiebwoy/neopad)", + "maintainer": "rookiebwoy", "usb": { - "vid": "0x6961", - "pid": "0x3031", + "vid": "0xFEED", + "pid": "0x0913", "device_version": "0.1.0" }, "features": { diff --git a/keyboards/ivndbt/neopad/rev1/keymaps/default/keymap.c b/keyboards/rookiebwoy/neopad/rev1/keymaps/default/keymap.c similarity index 99% rename from keyboards/ivndbt/neopad/rev1/keymaps/default/keymap.c rename to keyboards/rookiebwoy/neopad/rev1/keymaps/default/keymap.c index 721c21ef3c..08227c84f9 100755 --- a/keyboards/ivndbt/neopad/rev1/keymaps/default/keymap.c +++ b/keyboards/rookiebwoy/neopad/rev1/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2021 ivndbt +/* Copyright 2021 rookiebwoy * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/ivndbt/neopad/rev1/readme.md b/keyboards/rookiebwoy/neopad/rev1/readme.md similarity index 55% rename from keyboards/ivndbt/neopad/rev1/readme.md rename to keyboards/rookiebwoy/neopad/rev1/readme.md index 6f8c6f1f25..1265922722 100644 --- a/keyboards/ivndbt/neopad/rev1/readme.md +++ b/keyboards/rookiebwoy/neopad/rev1/readme.md @@ -1,5 +1,5 @@ # Neopad rev1 -Final revision of the Neopad macropad. For in depth look please go to [project repository](https://github.com/ivndbt/neopad). +Final revision of the Neopad macropad. For in depth look please go to [project repository](https://github.com/rookiebwoy/neopad). diff --git a/keyboards/ivndbt/neopad/rev1/rev1.c b/keyboards/rookiebwoy/neopad/rev1/rev1.c similarity index 98% rename from keyboards/ivndbt/neopad/rev1/rev1.c rename to keyboards/rookiebwoy/neopad/rev1/rev1.c index c093c37e20..3b527794c0 100755 --- a/keyboards/ivndbt/neopad/rev1/rev1.c +++ b/keyboards/rookiebwoy/neopad/rev1/rev1.c @@ -1,4 +1,4 @@ -/* Copyright 2021 ivndbt +/* Copyright 2021 rookiebwoy * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/rookiebwoy/neopad/rules.mk b/keyboards/rookiebwoy/neopad/rules.mk new file mode 100755 index 0000000000..c34c04435e --- /dev/null +++ b/keyboards/rookiebwoy/neopad/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rookiebwoy/neopad/rev1 diff --git a/keyboards/rose75/keyboard.json b/keyboards/rose75/keyboard.json index 1c756d3fdd..9306cb211b 100644 --- a/keyboards/rose75/keyboard.json +++ b/keyboards/rose75/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/roseslite/keyboard.json b/keyboards/roseslite/keyboard.json index 267a57a5c2..88b8c7a205 100644 --- a/keyboards/roseslite/keyboard.json +++ b/keyboards/roseslite/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/rot13labs/h4ckb0ard/keyboard.json b/keyboards/rot13labs/h4ckb0ard/keyboard.json index 8d1ce7ab43..4ac783774d 100644 --- a/keyboards/rot13labs/h4ckb0ard/keyboard.json +++ b/keyboards/rot13labs/h4ckb0ard/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/rot13labs/rotc0n/keyboard.json b/keyboards/rot13labs/rotc0n/keyboard.json index fa5ac19edb..a9dc27a471 100644 --- a/keyboards/rot13labs/rotc0n/keyboard.json +++ b/keyboards/rot13labs/rotc0n/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["B1", "B0"] }, "processor": "atmega328p", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xBEEF", diff --git a/keyboards/rot13labs/veilid_sao/keyboard.json b/keyboards/rot13labs/veilid_sao/keyboard.json index c7567a839a..751345d264 100644 --- a/keyboards/rot13labs/veilid_sao/keyboard.json +++ b/keyboards/rot13labs/veilid_sao/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, @@ -29,6 +31,9 @@ "cycle_left_right": true }, "driver": "ws2812", + "default": { + "animation": "cycle_left_right" + }, "layout": [ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0} ], diff --git a/keyboards/rotr/keyboard.json b/keyboards/rotr/keyboard.json index e484e26ddc..cb1a7e923d 100644 --- a/keyboards/rotr/keyboard.json +++ b/keyboards/rotr/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/rpiguy9907/southpaw66/keyboard.json b/keyboards/rpiguy9907/southpaw66/keyboard.json index c751ee6d8e..f2fdf4f5ff 100644 --- a/keyboards/rpiguy9907/southpaw66/keyboard.json +++ b/keyboards/rpiguy9907/southpaw66/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Southpaw66", "manufacturer": "rpiguy9907", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x9907", diff --git a/keyboards/rubi/lib/calc.c b/keyboards/rubi/lib/calc.c index b289fdb54b..7796a9be45 100644 --- a/keyboards/rubi/lib/calc.c +++ b/keyboards/rubi/lib/calc.c @@ -13,7 +13,6 @@ This is the modified version of [calculator by MWWorks](https://github.com/MWWor Feel free to fix it! I think it needs to detect the precision of the two operands and then figure out what the precision of the result should be */ -#include #include "rubi.h" static uint8_t calc_current_operand = 0; diff --git a/keyboards/runes/skjoldr/keyboard.json b/keyboards/runes/skjoldr/keyboard.json index ff3476697e..a6040dedd6 100644 --- a/keyboards/runes/skjoldr/keyboard.json +++ b/keyboards/runes/skjoldr/keyboard.json @@ -11,6 +11,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/runes/vaengr/keyboard.json b/keyboards/runes/vaengr/keyboard.json index dce2c7a228..42389043d4 100644 --- a/keyboards/runes/vaengr/keyboard.json +++ b/keyboards/runes/vaengr/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/rura66/rules.mk b/keyboards/rura66/rules.mk new file mode 100644 index 0000000000..556ec17655 --- /dev/null +++ b/keyboards/rura66/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rura66/rev1 diff --git a/keyboards/ryanbaekr/rb1/keyboard.json b/keyboards/ryanbaekr/rb1/keyboard.json index a7222869e0..31f2fa20c4 100644 --- a/keyboards/ryanbaekr/rb1/keyboard.json +++ b/keyboards/ryanbaekr/rb1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "rb1", "manufacturer": "ryanbaekr", + "url": "", "maintainer": "ryanbaekr", "usb": { "vid": "0x7262", @@ -11,6 +12,8 @@ "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/ryanbaekr/rb18/keyboard.json b/keyboards/ryanbaekr/rb18/keyboard.json index 0febe5a1d5..03a1335c7b 100644 --- a/keyboards/ryanbaekr/rb18/keyboard.json +++ b/keyboards/ryanbaekr/rb18/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "rb18", "manufacturer": "ryanbaekr", + "url": "", "maintainer": "ryanbaekr", "usb": { "vid": "0x7262", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/ryanbaekr/rb69/keyboard.json b/keyboards/ryanbaekr/rb69/keyboard.json index 3becf7f588..c1cce7508e 100644 --- a/keyboards/ryanbaekr/rb69/keyboard.json +++ b/keyboards/ryanbaekr/rb69/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "rb69", "manufacturer": "ryanbaekr", + "url": "", "maintainer": "ryanbaekr", "usb": { "vid": "0x7262", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/ryanbaekr/rb86/keyboard.json b/keyboards/ryanbaekr/rb86/keyboard.json index 6cc5f0f9b0..5813a2fa7b 100644 --- a/keyboards/ryanbaekr/rb86/keyboard.json +++ b/keyboards/ryanbaekr/rb86/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "rb86", "manufacturer": "ryanbaekr", + "url": "", "maintainer": "ryanbaekr", "usb": { "vid": "0x7262", diff --git a/keyboards/ryanbaekr/rb87/keyboard.json b/keyboards/ryanbaekr/rb87/keyboard.json index 5b9500f973..6d19c3c29d 100644 --- a/keyboards/ryanbaekr/rb87/keyboard.json +++ b/keyboards/ryanbaekr/rb87/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "rb87", "manufacturer": "ryanbaekr", + "url": "", "maintainer": "ryanbaekr", "development_board": "elite_c", "pin_compatible": "elite_c", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/ryanskidmore/rskeys100/keyboard.json b/keyboards/ryanskidmore/rskeys100/keyboard.json index 27eae84a6e..c77d3f4c90 100644 --- a/keyboards/ryanskidmore/rskeys100/keyboard.json +++ b/keyboards/ryanskidmore/rskeys100/keyboard.json @@ -158,6 +158,7 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "url": "", "maintainer": "ryanskidmore", "community_layouts": ["fullsize_iso"], "layouts": { diff --git a/keyboards/ryloo_studio/m0110/keyboard.json b/keyboards/ryloo_studio/m0110/keyboard.json index 3377eee155..9eb4662e36 100644 --- a/keyboards/ryloo_studio/m0110/keyboard.json +++ b/keyboards/ryloo_studio/m0110/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/s_ol/0xc_pad/keyboard.json b/keyboards/s_ol/0xc_pad/keyboard.json index 1df5a5131e..4eb4bd9055 100644 --- a/keyboards/s_ol/0xc_pad/keyboard.json +++ b/keyboards/s_ol/0xc_pad/keyboard.json @@ -7,6 +7,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/sakura_workshop/fuji75/info.json b/keyboards/sakura_workshop/fuji75/info.json index 604c504641..7b56fd4d72 100644 --- a/keyboards/sakura_workshop/fuji75/info.json +++ b/keyboards/sakura_workshop/fuji75/info.json @@ -1,5 +1,6 @@ { "manufacturer": "SakuraWorkshop", + "url": "", "maintainer": "Freather", "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/salane/ncr80alpsskfl/keyboard.json b/keyboards/salane/ncr80alpsskfl/keyboard.json index 5f7bae802a..512593d351 100644 --- a/keyboards/salane/ncr80alpsskfl/keyboard.json +++ b/keyboards/salane/ncr80alpsskfl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NCR80 ALPS SKFL", "manufacturer": "Salane", + "url": "", "maintainer": "Mai The San", "processor": "RP2040", "bootloader": "rp2040", @@ -24,24 +25,18 @@ "caps_lock": "GP1", "scroll_lock": "GP2" }, - "layout_aliases": { - "LAYOUT_all": "LAYOUT_ansi_tsangan_split_bs_rshift" - }, "layouts": { - "LAYOUT_ansi_tsangan": { + "LAYOUT_all": { "layout": [ {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "K01", "matrix": [0, 1], "x": 2, "y": 0}, {"label": "K02", "matrix": [0, 2], "x": 3, "y": 0}, {"label": "K03", "matrix": [0, 3], "x": 4, "y": 0}, {"label": "K04", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "K05", "matrix": [0, 5], "x": 6.5, "y": 0}, {"label": "K06", "matrix": [0, 6], "x": 7.5, "y": 0}, {"label": "K07", "matrix": [0, 7], "x": 8.5, "y": 0}, {"label": "K08", "matrix": [0, 8], "x": 9.5, "y": 0}, - {"label": "K09", "matrix": [0, 9], "x": 11, "y": 0}, {"label": "K0A", "matrix": [0, 10], "x": 12, "y": 0}, {"label": "K0B", "matrix": [0, 11], "x": 13, "y": 0}, @@ -60,8 +55,8 @@ {"label": "K1A", "matrix": [1, 10], "x": 10, "y": 2}, {"label": "K1B", "matrix": [1, 11], "x": 11, "y": 2}, {"label": "K1C", "matrix": [1, 12], "x": 12, "y": 2}, - {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 2, "w": 2}, - + {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 2}, + {"label": "K1D", "matrix": [1, 13], "x": 14, "y": 2}, {"label": "K1E", "matrix": [1, 14], "x": 15.25, "y": 2}, {"label": "K1F", "matrix": [1, 15], "x": 16.25, "y": 2}, {"label": "K1G", "matrix": [1, 16], "x": 17.25, "y": 2}, @@ -80,106 +75,6 @@ {"label": "K2B", "matrix": [2, 11], "x": 11.5, "y": 3}, {"label": "K2C", "matrix": [2, 12], "x": 12.5, "y": 3}, {"label": "K2D", "matrix": [2, 13], "x": 13.5, "y": 3, "w": 1.5}, - - {"label": "K2E", "matrix": [2, 14], "x": 15.25, "y": 3}, - {"label": "K2F", "matrix": [2, 15], "x": 16.25, "y": 3}, - {"label": "K2G", "matrix": [2, 16], "x": 17.25, "y": 3}, - - {"label": "K30", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, - {"label": "K31", "matrix": [3, 1], "x": 1.75, "y": 4}, - {"label": "K32", "matrix": [3, 2], "x": 2.75, "y": 4}, - {"label": "K33", "matrix": [3, 3], "x": 3.75, "y": 4}, - {"label": "K34", "matrix": [3, 4], "x": 4.75, "y": 4}, - {"label": "K35", "matrix": [3, 5], "x": 5.75, "y": 4}, - {"label": "K36", "matrix": [3, 6], "x": 6.75, "y": 4}, - {"label": "K37", "matrix": [3, 7], "x": 7.75, "y": 4}, - {"label": "K38", "matrix": [3, 8], "x": 8.75, "y": 4}, - {"label": "K39", "matrix": [3, 9], "x": 9.75, "y": 4}, - {"label": "K3A", "matrix": [3, 10], "x": 10.75, "y": 4}, - {"label": "K3B", "matrix": [3, 11], "x": 11.75, "y": 4}, - {"label": "K3D", "matrix": [3, 13], "x": 12.75, "y": 4, "w": 2.25}, - - {"label": "K40", "matrix": [4, 0], "x": 0, "y": 5, "w": 2.25}, - {"label": "K42", "matrix": [4, 2], "x": 2.25, "y": 5}, - {"label": "K43", "matrix": [4, 3], "x": 3.25, "y": 5}, - {"label": "K44", "matrix": [4, 4], "x": 4.25, "y": 5}, - {"label": "K45", "matrix": [4, 5], "x": 5.25, "y": 5}, - {"label": "K46", "matrix": [4, 6], "x": 6.25, "y": 5}, - {"label": "K47", "matrix": [4, 7], "x": 7.25, "y": 5}, - {"label": "K48", "matrix": [4, 8], "x": 8.25, "y": 5}, - {"label": "K49", "matrix": [4, 9], "x": 9.25, "y": 5}, - {"label": "K4A", "matrix": [4, 10], "x": 10.25, "y": 5}, - {"label": "K4B", "matrix": [4, 11], "x": 11.25, "y": 5}, - {"label": "K4C", "matrix": [4, 12], "x": 12.25, "y": 5, "w": 2.75}, - - {"label": "K4F", "matrix": [4, 15], "x": 16.25, "y": 5}, - - {"label": "K50", "matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, - {"label": "K51", "matrix": [5, 1], "x": 1.5, "y": 6}, - {"label": "K52", "matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.5}, - {"label": "K57", "matrix": [5, 7], "x": 4, "y": 6, "w": 7}, - {"label": "K5B", "matrix": [5, 11], "x": 11, "y": 6, "w": 1.5}, - {"label": "K5C", "matrix": [5, 12], "x": 12.5, "y": 6}, - {"label": "K5D", "matrix": [5, 13], "x": 13.5, "y": 6, "w": 1.5}, - - {"label": "K5E", "matrix": [5, 14], "x": 15.25, "y": 6}, - {"label": "K5F", "matrix": [5, 15], "x": 16.25, "y": 6}, - {"label": "K5G", "matrix": [5, 16], "x": 17.25, "y": 6} - ] - }, - "LAYOUT_ansi_tsangan_split_rshift": { - "layout": [ - {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "K01", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "K02", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "K03", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "K04", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "K05", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "K06", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "K07", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "K08", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "K09", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "K0A", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "K0B", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "K0C", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "K10", "matrix": [1, 0], "x": 0, "y": 2}, - {"label": "K11", "matrix": [1, 1], "x": 1, "y": 2}, - {"label": "K12", "matrix": [1, 2], "x": 2, "y": 2}, - {"label": "K13", "matrix": [1, 3], "x": 3, "y": 2}, - {"label": "K14", "matrix": [1, 4], "x": 4, "y": 2}, - {"label": "K15", "matrix": [1, 5], "x": 5, "y": 2}, - {"label": "K16", "matrix": [1, 6], "x": 6, "y": 2}, - {"label": "K17", "matrix": [1, 7], "x": 7, "y": 2}, - {"label": "K18", "matrix": [1, 8], "x": 8, "y": 2}, - {"label": "K19", "matrix": [1, 9], "x": 9, "y": 2}, - {"label": "K1A", "matrix": [1, 10], "x": 10, "y": 2}, - {"label": "K1B", "matrix": [1, 11], "x": 11, "y": 2}, - {"label": "K1C", "matrix": [1, 12], "x": 12, "y": 2}, - {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 2, "w": 2}, - - {"label": "K1E", "matrix": [1, 14], "x": 15.25, "y": 2}, - {"label": "K1F", "matrix": [1, 15], "x": 16.25, "y": 2}, - {"label": "K1G", "matrix": [1, 16], "x": 17.25, "y": 2}, - - {"label": "K20", "matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, - {"label": "K21", "matrix": [2, 1], "x": 1.5, "y": 3}, - {"label": "K22", "matrix": [2, 2], "x": 2.5, "y": 3}, - {"label": "K23", "matrix": [2, 3], "x": 3.5, "y": 3}, - {"label": "K24", "matrix": [2, 4], "x": 4.5, "y": 3}, - {"label": "K25", "matrix": [2, 5], "x": 5.5, "y": 3}, - {"label": "K26", "matrix": [2, 6], "x": 6.5, "y": 3}, - {"label": "K27", "matrix": [2, 7], "x": 7.5, "y": 3}, - {"label": "K28", "matrix": [2, 8], "x": 8.5, "y": 3}, - {"label": "K29", "matrix": [2, 9], "x": 9.5, "y": 3}, - {"label": "K2A", "matrix": [2, 10], "x": 10.5, "y": 3}, - {"label": "K2B", "matrix": [2, 11], "x": 11.5, "y": 3}, - {"label": "K2C", "matrix": [2, 12], "x": 12.5, "y": 3}, - {"label": "K2D", "matrix": [2, 13], "x": 13.5, "y": 3, "w": 1.5}, - {"label": "K2E", "matrix": [2, 14], "x": 15.25, "y": 3}, {"label": "K2F", "matrix": [2, 15], "x": 16.25, "y": 3}, {"label": "K2G", "matrix": [2, 16], "x": 17.25, "y": 3}, @@ -211,7 +106,6 @@ {"label": "K4B", "matrix": [4, 11], "x": 11.25, "y": 5}, {"label": "K4C", "matrix": [4, 12], "x": 12.25, "y": 5, "w": 1.75}, {"label": "K4D", "matrix": [4, 13], "x": 14, "y": 5}, - {"label": "K4F", "matrix": [4, 15], "x": 16.25, "y": 5}, {"label": "K50", "matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, @@ -221,208 +115,6 @@ {"label": "K5B", "matrix": [5, 11], "x": 11, "y": 6, "w": 1.5}, {"label": "K5C", "matrix": [5, 12], "x": 12.5, "y": 6}, {"label": "K5D", "matrix": [5, 13], "x": 13.5, "y": 6, "w": 1.5}, - - {"label": "K5E", "matrix": [5, 14], "x": 15.25, "y": 6}, - {"label": "K5F", "matrix": [5, 15], "x": 16.25, "y": 6}, - {"label": "K5G", "matrix": [5, 16], "x": 17.25, "y": 6} - ] - }, - "LAYOUT_ansi_tsangan_split_bs": { - "layout": [ - {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "K01", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "K02", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "K03", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "K04", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "K05", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "K06", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "K07", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "K08", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "K09", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "K0A", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "K0B", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "K0C", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "K10", "matrix": [1, 0], "x": 0, "y": 2}, - {"label": "K11", "matrix": [1, 1], "x": 1, "y": 2}, - {"label": "K12", "matrix": [1, 2], "x": 2, "y": 2}, - {"label": "K13", "matrix": [1, 3], "x": 3, "y": 2}, - {"label": "K14", "matrix": [1, 4], "x": 4, "y": 2}, - {"label": "K15", "matrix": [1, 5], "x": 5, "y": 2}, - {"label": "K16", "matrix": [1, 6], "x": 6, "y": 2}, - {"label": "K17", "matrix": [1, 7], "x": 7, "y": 2}, - {"label": "K18", "matrix": [1, 8], "x": 8, "y": 2}, - {"label": "K19", "matrix": [1, 9], "x": 9, "y": 2}, - {"label": "K1A", "matrix": [1, 10], "x": 10, "y": 2}, - {"label": "K1B", "matrix": [1, 11], "x": 11, "y": 2}, - {"label": "K1C", "matrix": [1, 12], "x": 12, "y": 2}, - {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 2}, - {"label": "K1D", "matrix": [1, 13], "x": 14, "y": 2}, - - {"label": "K1E", "matrix": [1, 14], "x": 15.25, "y": 2}, - {"label": "K1F", "matrix": [1, 15], "x": 16.25, "y": 2}, - {"label": "K1G", "matrix": [1, 16], "x": 17.25, "y": 2}, - - {"label": "K20", "matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, - {"label": "K21", "matrix": [2, 1], "x": 1.5, "y": 3}, - {"label": "K22", "matrix": [2, 2], "x": 2.5, "y": 3}, - {"label": "K23", "matrix": [2, 3], "x": 3.5, "y": 3}, - {"label": "K24", "matrix": [2, 4], "x": 4.5, "y": 3}, - {"label": "K25", "matrix": [2, 5], "x": 5.5, "y": 3}, - {"label": "K26", "matrix": [2, 6], "x": 6.5, "y": 3}, - {"label": "K27", "matrix": [2, 7], "x": 7.5, "y": 3}, - {"label": "K28", "matrix": [2, 8], "x": 8.5, "y": 3}, - {"label": "K29", "matrix": [2, 9], "x": 9.5, "y": 3}, - {"label": "K2A", "matrix": [2, 10], "x": 10.5, "y": 3}, - {"label": "K2B", "matrix": [2, 11], "x": 11.5, "y": 3}, - {"label": "K2C", "matrix": [2, 12], "x": 12.5, "y": 3}, - {"label": "K2D", "matrix": [2, 13], "x": 13.5, "y": 3, "w": 1.5}, - - {"label": "K2E", "matrix": [2, 14], "x": 15.25, "y": 3}, - {"label": "K2F", "matrix": [2, 15], "x": 16.25, "y": 3}, - {"label": "K2G", "matrix": [2, 16], "x": 17.25, "y": 3}, - - {"label": "K30", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, - {"label": "K31", "matrix": [3, 1], "x": 1.75, "y": 4}, - {"label": "K32", "matrix": [3, 2], "x": 2.75, "y": 4}, - {"label": "K33", "matrix": [3, 3], "x": 3.75, "y": 4}, - {"label": "K34", "matrix": [3, 4], "x": 4.75, "y": 4}, - {"label": "K35", "matrix": [3, 5], "x": 5.75, "y": 4}, - {"label": "K36", "matrix": [3, 6], "x": 6.75, "y": 4}, - {"label": "K37", "matrix": [3, 7], "x": 7.75, "y": 4}, - {"label": "K38", "matrix": [3, 8], "x": 8.75, "y": 4}, - {"label": "K39", "matrix": [3, 9], "x": 9.75, "y": 4}, - {"label": "K3A", "matrix": [3, 10], "x": 10.75, "y": 4}, - {"label": "K3B", "matrix": [3, 11], "x": 11.75, "y": 4}, - {"label": "K3D", "matrix": [3, 13], "x": 12.75, "y": 4, "w": 2.25}, - - {"label": "K40", "matrix": [4, 0], "x": 0, "y": 5, "w": 2.25}, - {"label": "K42", "matrix": [4, 2], "x": 2.25, "y": 5}, - {"label": "K43", "matrix": [4, 3], "x": 3.25, "y": 5}, - {"label": "K44", "matrix": [4, 4], "x": 4.25, "y": 5}, - {"label": "K45", "matrix": [4, 5], "x": 5.25, "y": 5}, - {"label": "K46", "matrix": [4, 6], "x": 6.25, "y": 5}, - {"label": "K47", "matrix": [4, 7], "x": 7.25, "y": 5}, - {"label": "K48", "matrix": [4, 8], "x": 8.25, "y": 5}, - {"label": "K49", "matrix": [4, 9], "x": 9.25, "y": 5}, - {"label": "K4A", "matrix": [4, 10], "x": 10.25, "y": 5}, - {"label": "K4B", "matrix": [4, 11], "x": 11.25, "y": 5}, - {"label": "K4C", "matrix": [4, 12], "x": 12.25, "y": 5, "w": 2.75}, - - {"label": "K4F", "matrix": [4, 15], "x": 16.25, "y": 5}, - - {"label": "K50", "matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, - {"label": "K51", "matrix": [5, 1], "x": 1.5, "y": 6}, - {"label": "K52", "matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.5}, - {"label": "K57", "matrix": [5, 7], "x": 4, "y": 6, "w": 7}, - {"label": "K5B", "matrix": [5, 11], "x": 11, "y": 6, "w": 1.5}, - {"label": "K5C", "matrix": [5, 12], "x": 12.5, "y": 6}, - {"label": "K5D", "matrix": [5, 13], "x": 13.5, "y": 6, "w": 1.5}, - - {"label": "K5E", "matrix": [5, 14], "x": 15.25, "y": 6}, - {"label": "K5F", "matrix": [5, 15], "x": 16.25, "y": 6}, - {"label": "K5G", "matrix": [5, 16], "x": 17.25, "y": 6} - ] - }, - "LAYOUT_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "K01", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "K02", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "K03", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "K04", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "K05", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "K06", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "K07", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "K08", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "K09", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "K0A", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "K0B", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "K0C", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "K10", "matrix": [1, 0], "x": 0, "y": 2}, - {"label": "K11", "matrix": [1, 1], "x": 1, "y": 2}, - {"label": "K12", "matrix": [1, 2], "x": 2, "y": 2}, - {"label": "K13", "matrix": [1, 3], "x": 3, "y": 2}, - {"label": "K14", "matrix": [1, 4], "x": 4, "y": 2}, - {"label": "K15", "matrix": [1, 5], "x": 5, "y": 2}, - {"label": "K16", "matrix": [1, 6], "x": 6, "y": 2}, - {"label": "K17", "matrix": [1, 7], "x": 7, "y": 2}, - {"label": "K18", "matrix": [1, 8], "x": 8, "y": 2}, - {"label": "K19", "matrix": [1, 9], "x": 9, "y": 2}, - {"label": "K1A", "matrix": [1, 10], "x": 10, "y": 2}, - {"label": "K1B", "matrix": [1, 11], "x": 11, "y": 2}, - {"label": "K1C", "matrix": [1, 12], "x": 12, "y": 2}, - {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 2}, - {"label": "K1D", "matrix": [1, 13], "x": 14, "y": 2}, - - {"label": "K1E", "matrix": [1, 14], "x": 15.25, "y": 2}, - {"label": "K1F", "matrix": [1, 15], "x": 16.25, "y": 2}, - {"label": "K1G", "matrix": [1, 16], "x": 17.25, "y": 2}, - - {"label": "K20", "matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, - {"label": "K21", "matrix": [2, 1], "x": 1.5, "y": 3}, - {"label": "K22", "matrix": [2, 2], "x": 2.5, "y": 3}, - {"label": "K23", "matrix": [2, 3], "x": 3.5, "y": 3}, - {"label": "K24", "matrix": [2, 4], "x": 4.5, "y": 3}, - {"label": "K25", "matrix": [2, 5], "x": 5.5, "y": 3}, - {"label": "K26", "matrix": [2, 6], "x": 6.5, "y": 3}, - {"label": "K27", "matrix": [2, 7], "x": 7.5, "y": 3}, - {"label": "K28", "matrix": [2, 8], "x": 8.5, "y": 3}, - {"label": "K29", "matrix": [2, 9], "x": 9.5, "y": 3}, - {"label": "K2A", "matrix": [2, 10], "x": 10.5, "y": 3}, - {"label": "K2B", "matrix": [2, 11], "x": 11.5, "y": 3}, - {"label": "K2C", "matrix": [2, 12], "x": 12.5, "y": 3}, - {"label": "K2D", "matrix": [2, 13], "x": 13.5, "y": 3, "w": 1.5}, - - {"label": "K2E", "matrix": [2, 14], "x": 15.25, "y": 3}, - {"label": "K2F", "matrix": [2, 15], "x": 16.25, "y": 3}, - {"label": "K2G", "matrix": [2, 16], "x": 17.25, "y": 3}, - - {"label": "K30", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, - {"label": "K31", "matrix": [3, 1], "x": 1.75, "y": 4}, - {"label": "K32", "matrix": [3, 2], "x": 2.75, "y": 4}, - {"label": "K33", "matrix": [3, 3], "x": 3.75, "y": 4}, - {"label": "K34", "matrix": [3, 4], "x": 4.75, "y": 4}, - {"label": "K35", "matrix": [3, 5], "x": 5.75, "y": 4}, - {"label": "K36", "matrix": [3, 6], "x": 6.75, "y": 4}, - {"label": "K37", "matrix": [3, 7], "x": 7.75, "y": 4}, - {"label": "K38", "matrix": [3, 8], "x": 8.75, "y": 4}, - {"label": "K39", "matrix": [3, 9], "x": 9.75, "y": 4}, - {"label": "K3A", "matrix": [3, 10], "x": 10.75, "y": 4}, - {"label": "K3B", "matrix": [3, 11], "x": 11.75, "y": 4}, - {"label": "K3D", "matrix": [3, 13], "x": 12.75, "y": 4, "w": 2.25}, - - {"label": "K40", "matrix": [4, 0], "x": 0, "y": 5, "w": 2.25}, - {"label": "K42", "matrix": [4, 2], "x": 2.25, "y": 5}, - {"label": "K43", "matrix": [4, 3], "x": 3.25, "y": 5}, - {"label": "K44", "matrix": [4, 4], "x": 4.25, "y": 5}, - {"label": "K45", "matrix": [4, 5], "x": 5.25, "y": 5}, - {"label": "K46", "matrix": [4, 6], "x": 6.25, "y": 5}, - {"label": "K47", "matrix": [4, 7], "x": 7.25, "y": 5}, - {"label": "K48", "matrix": [4, 8], "x": 8.25, "y": 5}, - {"label": "K49", "matrix": [4, 9], "x": 9.25, "y": 5}, - {"label": "K4A", "matrix": [4, 10], "x": 10.25, "y": 5}, - {"label": "K4B", "matrix": [4, 11], "x": 11.25, "y": 5}, - {"label": "K4C", "matrix": [4, 12], "x": 12.25, "y": 5, "w": 1.75}, - {"label": "K4D", "matrix": [4, 13], "x": 14, "y": 5}, - - {"label": "K4F", "matrix": [4, 15], "x": 16.25, "y": 5}, - - {"label": "K50", "matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, - {"label": "K51", "matrix": [5, 1], "x": 1.5, "y": 6}, - {"label": "K52", "matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.5}, - {"label": "K57", "matrix": [5, 7], "x": 4, "y": 6, "w": 7}, - {"label": "K5B", "matrix": [5, 11], "x": 11, "y": 6, "w": 1.5}, - {"label": "K5C", "matrix": [5, 12], "x": 12.5, "y": 6}, - {"label": "K5D", "matrix": [5, 13], "x": 13.5, "y": 6, "w": 1.5}, - {"label": "K5E", "matrix": [5, 14], "x": 15.25, "y": 6}, {"label": "K5F", "matrix": [5, 15], "x": 16.25, "y": 6}, {"label": "K5G", "matrix": [5, 16], "x": 17.25, "y": 6} diff --git a/keyboards/salane/ncr80alpsskfl/matrix_diagram.md b/keyboards/salane/ncr80alpsskfl/matrix_diagram.md deleted file mode 100644 index 5e0f9d7eb5..0000000000 --- a/keyboards/salane/ncr80alpsskfl/matrix_diagram.md +++ /dev/null @@ -1,25 +0,0 @@ -# Matrix Diagram for Salane NCR80 ALPS SKFL - -``` - ┌───────┐ - 2u Backspace │0D │ - └───────┘ -┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ -│00 │ │01 │02 │03 │04 │ │05 │06 │07 │08 │ │09 │0A │0B │0C │ -└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ - -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ -│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │0D │1D │ │1E │1F │1G │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ -│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2E │2F │2G │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ -│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ -├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ -│40 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │ -├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───┐ -│50 │51 │52 │57 │5B │5C │5D │ │5E │5F │5G │ -└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘ - ┌──────────┐ - 2.75u RShift│4C │ - └──────────┘ -``` diff --git a/keyboards/salane/starryfrl/keyboard.json b/keyboards/salane/starryfrl/keyboard.json deleted file mode 100644 index a63bdc83d1..0000000000 --- a/keyboards/salane/starryfrl/keyboard.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "keyboard_name": "Starry FRL", - "manufacturer": "Salane", - "maintainer": "Mai The San", - "processor": "RP2040", - "bootloader": "rp2040", - "usb": { - "vid": "0x534C", - "pid": "0x0A01", - "device_version": "0.0.1" - }, - "matrix_pins": { - "rows": ["GP25", "GP0", "GP18", "GP23", "GP24"], - "cols": ["GP27", "GP26", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP8", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP22", "GP21", "GP20"] - }, - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "nkro": false, - "rgblight": true, - "encoder": true - }, - "encoder": { - "rotary": [ - {"pin_a": "GP29", "pin_b": "GP28"} - ] - }, - "rgblight": { - "led_count": 2, - "saturation_steps": 8, - "brightness_steps": 8, - "sleep": true, - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - } - }, - "ws2812": { - "pin": "GP19", - "driver": "vendor" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "K01", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "K02", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "K03", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "K04", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "K05", "matrix": [0, 5], "x": 5.25, "y": 0}, - {"label": "K06", "matrix": [0, 6], "x": 6.25, "y": 0}, - {"label": "K07", "matrix": [0, 7], "x": 7.25, "y": 0}, - {"label": "K08", "matrix": [0, 8], "x": 8.25, "y": 0}, - {"label": "K09", "matrix": [0, 9], "x": 9.25, "y": 0}, - {"label": "K0A", "matrix": [0, 10], "x": 10.25, "y": 0}, - {"label": "K0B", "matrix": [0, 11], "x": 11.25, "y": 0}, - {"label": "K0C", "matrix": [0, 12], "x": 12.25, "y": 0}, - {"label": "K0D", "matrix": [0, 13], "x": 13.25, "y": 0}, - {"label": "K0E", "matrix": [0, 14], "x": 14.25, "y": 0}, - {"label": "K0F", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "K2F", "matrix": [2, 15], "x": 16.25, "y": 0}, - {"label": "K0G", "matrix": [0, 16], "x": 17.5, "y": 0}, - {"label": "K0H", "matrix": [0, 17], "x": 18.5, "y": 0}, - {"label": "K0I", "matrix": [0, 18], "x": 19.5, "y": 0}, - {"label": "K12", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, - {"label": "K13", "matrix": [1, 3], "x": 3.75, "y": 1}, - {"label": "K14", "matrix": [1, 4], "x": 4.75, "y": 1}, - {"label": "K15", "matrix": [1, 5], "x": 5.75, "y": 1}, - {"label": "K16", "matrix": [1, 6], "x": 6.75, "y": 1}, - {"label": "K17", "matrix": [1, 7], "x": 7.75, "y": 1}, - {"label": "K18", "matrix": [1, 8], "x": 8.75, "y": 1}, - {"label": "K19", "matrix": [1, 9], "x": 9.75, "y": 1}, - {"label": "K1A", "matrix": [1, 10], "x": 10.75, "y": 1}, - {"label": "K1B", "matrix": [1, 11], "x": 11.75, "y": 1}, - {"label": "K1C", "matrix": [1, 12], "x": 12.75, "y": 1}, - {"label": "K1D", "matrix": [1, 13], "x": 13.75, "y": 1}, - {"label": "K1E", "matrix": [1, 14], "x": 14.75, "y": 1}, - {"label": "K1F", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5}, - {"label": "K1G", "matrix": [1, 16], "x": 17.5, "y": 1}, - {"label": "K1H", "matrix": [1, 17], "x": 18.5, "y": 1}, - {"label": "K1I", "matrix": [1, 18], "x": 19.5, "y": 1}, - {"label": "K21", "matrix": [2, 1], "x": 0.25, "y": 1.25, "w": 1.5, "h": 1.5}, - {"label": "K22", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, - {"label": "K23", "matrix": [2, 3], "x": 4, "y": 2}, - {"label": "K24", "matrix": [2, 4], "x": 5, "y": 2}, - {"label": "K25", "matrix": [2, 5], "x": 6, "y": 2}, - {"label": "K26", "matrix": [2, 6], "x": 7, "y": 2}, - {"label": "K27", "matrix": [2, 7], "x": 8, "y": 2}, - {"label": "K28", "matrix": [2, 8], "x": 9, "y": 2}, - {"label": "K29", "matrix": [2, 9], "x": 10, "y": 2}, - {"label": "K2A", "matrix": [2, 10], "x": 11, "y": 2}, - {"label": "K2B", "matrix": [2, 11], "x": 12, "y": 2}, - {"label": "K2C", "matrix": [2, 12], "x": 13, "y": 2}, - {"label": "K2D", "matrix": [2, 13], "x": 14, "y": 2}, - {"label": "K2E", "matrix": [2, 14], "x": 15, "y": 2, "w": 2.25}, - {"label": "K30", "matrix": [3, 0], "x": 0, "y": 3}, - {"label": "K31", "matrix": [3, 1], "x": 1, "y": 3}, - {"label": "K32", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, - {"label": "K33", "matrix": [3, 3], "x": 3.5, "y": 3}, - {"label": "K34", "matrix": [3, 4], "x": 4.5, "y": 3}, - {"label": "K35", "matrix": [3, 5], "x": 5.5, "y": 3}, - {"label": "K36", "matrix": [3, 6], "x": 6.5, "y": 3}, - {"label": "K37", "matrix": [3, 7], "x": 7.5, "y": 3}, - {"label": "K38", "matrix": [3, 8], "x": 8.5, "y": 3}, - {"label": "K39", "matrix": [3, 9], "x": 9.5, "y": 3}, - {"label": "K3A", "matrix": [3, 10], "x": 10.5, "y": 3}, - {"label": "K3B", "matrix": [3, 11], "x": 11.5, "y": 3}, - {"label": "K3C", "matrix": [3, 12], "x": 12.5, "y": 3}, - {"label": "K3D", "matrix": [3, 13], "x": 13.5, "y": 3}, - {"label": "K3E", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, - {"label": "K3F", "matrix": [3, 15], "x": 16.25, "y": 3}, - {"label": "K3H", "matrix": [3, 17], "x": 18.5, "y": 3}, - {"label": "K40", "matrix": [4, 0], "x": 0, "y": 4}, - {"label": "K41", "matrix": [4, 1], "x": 1, "y": 4}, - {"label": "K42", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, - {"label": "K43", "matrix": [4, 3], "x": 3.75, "y": 4}, - {"label": "K44", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, - {"label": "K47", "matrix": [4, 7], "x": 6.25, "y": 4, "w": 3}, - {"label": "K49", "matrix": [4, 9], "x": 9.25, "y": 4}, - {"label": "K4B", "matrix": [4, 11], "x": 10.25, "y": 4, "w": 2}, - {"label": "K4C", "matrix": [4, 12], "x": 12.25, "y": 4}, - {"label": "K4D", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, - {"label": "K4E", "matrix": [4, 14], "x": 14.75, "y": 4}, - {"label": "K4F", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5}, - {"label": "K4G", "matrix": [4, 16], "x": 17.5, "y": 4}, - {"label": "K4H", "matrix": [4, 17], "x": 18.5, "y": 4}, - {"label": "K4I", "matrix": [4, 18], "x": 19.5, "y": 4} - ] - } - } -} diff --git a/keyboards/salane/starryfrl/keymaps/default/keymap.c b/keyboards/salane/starryfrl/keymaps/default/keymap.c deleted file mode 100644 index 5b3235afe5..0000000000 --- a/keyboards/salane/starryfrl/keymaps/default/keymap.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright 2023 SawnsProjects - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum { - _BASE, - _FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( - KC_F1, KC_F2, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_MUTE, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_F3, KC_F4, KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(_FN), KC_UP, - KC_F5, KC_F6, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [_FN] = LAYOUT( - KC_F7, KC_F8, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_PREV, UG_TOGG, UG_NEXT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_BASE] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) }, - [_FN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } -}; -#endif // ENCODER_MAP_ENABLE diff --git a/keyboards/salane/starryfrl/keymaps/default/rules.mk b/keyboards/salane/starryfrl/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/salane/starryfrl/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/salane/starryfrl/readme.md b/keyboards/salane/starryfrl/readme.md deleted file mode 100644 index da2920797d..0000000000 --- a/keyboards/salane/starryfrl/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# Starry FRL - -![Starry FRL](https://i.imgur.com/eRYlEe7.jpeg) - - This firmware support for both Solder and Hotswap PCB of Starry FRL - - **Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the other.** Please use the `uf2` appropriate for your board. - -* Keyboard Maintainer: [Mai The San](https://github.com/MaiTheSan) -* Hardware Supported: Starry FRL -* Hardware Availability: [Waifu.works Discord](https://discord.gg/waifuworks) - -Make examples for this keyboard (after setting up your build environment): - - make salane/starryfrl:default - -Flashing example for this keyboard: - - make salane/starryfrl:default:flash - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Press the key `BOOT` in the back of PCB and plug in keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/salicylic_acid3/7skb/rev1/keyboard.json b/keyboards/salicylic_acid3/7skb/rev1/keyboard.json index 342b81cbbd..4a338811ea 100644 --- a/keyboards/salicylic_acid3/7skb/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/7skb/rev1/keyboard.json @@ -59,7 +59,8 @@ "build": { "lto": true }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/7skb/rules.mk b/keyboards/salicylic_acid3/7skb/rules.mk new file mode 100644 index 0000000000..15364c29a5 --- /dev/null +++ b/keyboards/salicylic_acid3/7skb/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = salicylic_acid3/7skb/rev1 diff --git a/keyboards/salicylic_acid3/7splus/keyboard.json b/keyboards/salicylic_acid3/7splus/keyboard.json index 5d2cab5a98..d04b8ad45b 100644 --- a/keyboards/salicylic_acid3/7splus/keyboard.json +++ b/keyboards/salicylic_acid3/7splus/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, @@ -56,7 +57,8 @@ "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/ajisai74/keyboard.json b/keyboards/salicylic_acid3/ajisai74/keyboard.json index 34743952fb..62d475d9df 100644 --- a/keyboards/salicylic_acid3/ajisai74/keyboard.json +++ b/keyboards/salicylic_acid3/ajisai74/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -34,7 +36,8 @@ "pin": "D2" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/ergoarrows/keyboard.json b/keyboards/salicylic_acid3/ergoarrows/keyboard.json index ac9ea3179a..122d2e0ee6 100644 --- a/keyboards/salicylic_acid3/ergoarrows/keyboard.json +++ b/keyboards/salicylic_acid3/ergoarrows/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -55,7 +57,8 @@ "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/getta25/keymaps/oled/config.h b/keyboards/salicylic_acid3/getta25/keymaps/oled/config.h index 15c247f961..23f8b5343f 100644 --- a/keyboards/salicylic_acid3/getta25/keymaps/oled/config.h +++ b/keyboards/salicylic_acid3/getta25/keymaps/oled/config.h @@ -21,5 +21,5 @@ #define QUICK_TAP_TERM 0 #define TAPPING_TERM 180 -#define OLED_FONT_H "keyboards/salicylic_acid3/getta25/keymaps/oled/glcdfont.c" +#define OLED_FONT_H "keyboards/getta25/keymaps/oled/glcdfont.c" diff --git a/keyboards/salicylic_acid3/getta25/rev1/keyboard.json b/keyboards/salicylic_acid3/getta25/rev1/keyboard.json index d6e4f60c54..884ed684ea 100644 --- a/keyboards/salicylic_acid3/getta25/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/getta25/rev1/keyboard.json @@ -46,7 +46,8 @@ "rows": ["D4", "C6", "D7", "E6", "B2"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/getta25/rules.mk b/keyboards/salicylic_acid3/getta25/rules.mk new file mode 100644 index 0000000000..069fe74b14 --- /dev/null +++ b/keyboards/salicylic_acid3/getta25/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = salicylic_acid3/getta25/rev1 diff --git a/keyboards/salicylic_acid3/guide68/keyboard.json b/keyboards/salicylic_acid3/guide68/keyboard.json index 99235fdf6a..0714262858 100644 --- a/keyboards/salicylic_acid3/guide68/keyboard.json +++ b/keyboards/salicylic_acid3/guide68/keyboard.json @@ -2,10 +2,12 @@ "manufacturer": "Salicylic-acid3", "keyboard_name": "guide68", "maintainer": "Salicylic-acid3", - "development_board": "promicro", + "bootloader": "caterina", "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "rgblight": true, @@ -15,6 +17,8 @@ "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B5"], "rows": ["D4", "C6", "D7", "E6", "B4"] }, + "processor": "atmega32u4", + "url": "", "usb": { "vid": "0x04D8", "pid": "0xE6DD", @@ -35,6 +39,7 @@ "twinkle": true }, "sleep": true, + "max_brightness": 255, "split": true, "split_count": [6, 6] }, diff --git a/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json b/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json index 03e376adde..e4525ecf74 100644 --- a/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json @@ -56,7 +56,8 @@ "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/jisplit89/rules.mk b/keyboards/salicylic_acid3/jisplit89/rules.mk new file mode 100644 index 0000000000..d54d2ccef4 --- /dev/null +++ b/keyboards/salicylic_acid3/jisplit89/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = salicylic_acid3/jisplit89/rev1 diff --git a/keyboards/salicylic_acid3/nafuda/keyboard.json b/keyboards/salicylic_acid3/nafuda/keyboard.json index 0a33ad58c9..87dceed05f 100644 --- a/keyboards/salicylic_acid3/nafuda/keyboard.json +++ b/keyboards/salicylic_acid3/nafuda/keyboard.json @@ -30,6 +30,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -46,7 +47,8 @@ "rows": ["D1", "D0", "D4"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/naked48/rev1/keyboard.json b/keyboards/salicylic_acid3/naked48/rev1/keyboard.json index 2cf2dbc45b..3bac1d8864 100644 --- a/keyboards/salicylic_acid3/naked48/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/naked48/rev1/keyboard.json @@ -63,7 +63,8 @@ "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/naked48/rules.mk b/keyboards/salicylic_acid3/naked48/rules.mk new file mode 100644 index 0000000000..dadfa7a257 --- /dev/null +++ b/keyboards/salicylic_acid3/naked48/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = salicylic_acid3/naked48/rev1 diff --git a/keyboards/salicylic_acid3/naked60/rev1/keyboard.json b/keyboards/salicylic_acid3/naked60/rev1/keyboard.json index f41d2e1413..5037414c3d 100644 --- a/keyboards/salicylic_acid3/naked60/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/naked60/rev1/keyboard.json @@ -37,7 +37,8 @@ } } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/naked60/rules.mk b/keyboards/salicylic_acid3/naked60/rules.mk new file mode 100644 index 0000000000..904309ea35 --- /dev/null +++ b/keyboards/salicylic_acid3/naked60/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = salicylic_acid3/naked60/rev1 diff --git a/keyboards/salicylic_acid3/naked64/rev1/keyboard.json b/keyboards/salicylic_acid3/naked64/rev1/keyboard.json index be60079590..688edf53d3 100644 --- a/keyboards/salicylic_acid3/naked64/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/naked64/rev1/keyboard.json @@ -51,7 +51,8 @@ "ws2812": { "pin": "B6" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/naked64/rules.mk b/keyboards/salicylic_acid3/naked64/rules.mk new file mode 100644 index 0000000000..0ac8d83bfc --- /dev/null +++ b/keyboards/salicylic_acid3/naked64/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = salicylic_acid3/naked64/rev1 diff --git a/keyboards/salicylic_acid3/nknl7en/keyboard.json b/keyboards/salicylic_acid3/nknl7en/keyboard.json index 2f3b9609df..554430f6c4 100644 --- a/keyboards/salicylic_acid3/nknl7en/keyboard.json +++ b/keyboards/salicylic_acid3/nknl7en/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -55,7 +57,8 @@ "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/nknl7jp/keyboard.json b/keyboards/salicylic_acid3/nknl7jp/keyboard.json index 818644dd7d..b8a9196f88 100644 --- a/keyboards/salicylic_acid3/nknl7jp/keyboard.json +++ b/keyboards/salicylic_acid3/nknl7jp/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -55,7 +57,8 @@ "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/salicylic_acid3/setta21/rev1/keyboard.json b/keyboards/salicylic_acid3/setta21/rev1/keyboard.json index 545c6285e4..75517a7d40 100644 --- a/keyboards/salicylic_acid3/setta21/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/setta21/rev1/keyboard.json @@ -76,7 +76,8 @@ "rows": ["D4", "C6", "D7", "E6"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["numpad_6x4"], "layouts": { "LAYOUT_numpad_6x4": { diff --git a/keyboards/salicylic_acid3/setta21/rules.mk b/keyboards/salicylic_acid3/setta21/rules.mk new file mode 100644 index 0000000000..02e68b5748 --- /dev/null +++ b/keyboards/salicylic_acid3/setta21/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = salicylic_acid3/setta21/rev1 diff --git a/keyboards/sam/s80/keyboard.json b/keyboards/sam/s80/keyboard.json index 8e76198ebb..c721efdbd7 100644 --- a/keyboards/sam/s80/keyboard.json +++ b/keyboards/sam/s80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "s8", "manufacturer": "Sam", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x534D", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/sam/sg81m/keyboard.json b/keyboards/sam/sg81m/keyboard.json index a0133b2b86..66e0f1ab9c 100644 --- a/keyboards/sam/sg81m/keyboard.json +++ b/keyboards/sam/sg81m/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SG81M", "manufacturer": "Sam", + "url": "", "maintainer": "CMMS-Freather", "usb": { "vid": "0x534D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/sanctified/dystopia/keyboard.json b/keyboards/sanctified/dystopia/keyboard.json index fed0ff75df..1911081fc2 100644 --- a/keyboards/sanctified/dystopia/keyboard.json +++ b/keyboards/sanctified/dystopia/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dystopia", "manufacturer": "Sanctified.Works", + "url": "", "maintainer": "Sanctified", "usb": { "vid": "0x5357", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/sandwich/keeb68/keyboard.json b/keyboards/sandwich/keeb68/keyboard.json index b452665f54..ad3ced0da2 100644 --- a/keyboards/sandwich/keeb68/keyboard.json +++ b/keyboards/sandwich/keeb68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Keeb68 (Patron Saint Edition)", "manufacturer": "sandwich", + "url": "", "maintainer": "SandwichRising", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/sapuseven/macropad12/keyboard.json b/keyboards/sapuseven/macropad12/keyboard.json index 34f9b6a950..28e8c19bf8 100644 --- a/keyboards/sapuseven/macropad12/keyboard.json +++ b/keyboards/sapuseven/macropad12/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/satt/comet46/keyboard.json b/keyboards/satt/comet46/keyboard.json index cd96686d6c..0092f19c79 100644 --- a/keyboards/satt/comet46/keyboard.json +++ b/keyboards/satt/comet46/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Comet46", "manufacturer": "SatT", + "url": "", "maintainer": "SatT", "usb": { "vid": "0xFEED", diff --git a/keyboards/satt/vision/keyboard.json b/keyboards/satt/vision/keyboard.json index 15bbced9f5..88ec732cd6 100644 --- a/keyboards/satt/vision/keyboard.json +++ b/keyboards/satt/vision/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Vision", "manufacturer": "SatT", + "url": "", "maintainer": "SatT", "usb": { "vid": "0x5454", diff --git a/keyboards/sauce/mild/keyboard.json b/keyboards/sauce/mild/keyboard.json index 4546d40884..5f827ec4be 100644 --- a/keyboards/sauce/mild/keyboard.json +++ b/keyboards/sauce/mild/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mild", "manufacturer": "Sauce", + "url": "", "maintainer": "andyywz", "usb": { "vid": "0x8367", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/sawnsprojects/amber80/solder/keyboard.json b/keyboards/sawnsprojects/amber80/solder/keyboard.json index 37f8382f53..dc8e718fd6 100644 --- a/keyboards/sawnsprojects/amber80/solder/keyboard.json +++ b/keyboards/sawnsprojects/amber80/solder/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Amber80 Solder", "manufacturer": "SawnsProjects X Yuutsu X Zlane", + "url": "", "maintainer": "SawnsProjects", "usb": { "vid": "0x5350", diff --git a/keyboards/sawnsprojects/bunnygirl65/keyboard.json b/keyboards/sawnsprojects/bunnygirl65/keyboard.json index 3fab84c557..92dca8693d 100644 --- a/keyboards/sawnsprojects/bunnygirl65/keyboard.json +++ b/keyboards/sawnsprojects/bunnygirl65/keyboard.json @@ -15,6 +15,7 @@ "rows": ["B4", "A15", "A3", "A8", "B14"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "force_nkro": true, diff --git a/keyboards/sawnsprojects/eclipse/eclipse60/keyboard.json b/keyboards/sawnsprojects/eclipse/eclipse60/keyboard.json index acb0a914cc..7586ed5a34 100644 --- a/keyboards/sawnsprojects/eclipse/eclipse60/keyboard.json +++ b/keyboards/sawnsprojects/eclipse/eclipse60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Eclipse60", "manufacturer": "Salane", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x534C", @@ -18,13 +19,17 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": false, "rgblight": true }, "rgblight": { "led_count": 18, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, + "max_brightness": 255, "sleep": true, "animations": { "alternating": true, diff --git a/keyboards/sawnsprojects/eclipse/tinyneko/keyboard.json b/keyboards/sawnsprojects/eclipse/tinyneko/keyboard.json index cf65aca3b4..80ae2558f2 100644 --- a/keyboards/sawnsprojects/eclipse/tinyneko/keyboard.json +++ b/keyboards/sawnsprojects/eclipse/tinyneko/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "tinyneko", "manufacturer": "Salane", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x534C", @@ -18,13 +19,17 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": false, "rgblight": true }, "rgblight": { "led_count": 18, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, + "max_brightness": 255, "sleep": true, "animations": { "alternating": true, diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/keyboard.json b/keyboards/sawnsprojects/krush/krush65/hotswap/keyboard.json index 9e63cefc2c..ccb9165c5b 100644 --- a/keyboards/sawnsprojects/krush/krush65/hotswap/keyboard.json +++ b/keyboards/sawnsprojects/krush/krush65/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Krush65 - Hotswap", "manufacturer": "SawnsProjects", + "url": "", "maintainer": "MaiTheSan", "usb": { "vid": "0x5350", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/sawnsprojects/krush/krush65/solder/keyboard.json b/keyboards/sawnsprojects/krush/krush65/solder/keyboard.json index 7ea0dd63d2..a72c903d8c 100644 --- a/keyboards/sawnsprojects/krush/krush65/solder/keyboard.json +++ b/keyboards/sawnsprojects/krush/krush65/solder/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Krush65 - Solder", "manufacturer": "SawnsProjects", + "url": "", "maintainer": "MaiTheSan", "usb": { "vid": "0x5350", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/sawnsprojects/okayu/halconf.h b/keyboards/sawnsprojects/okayu/halconf.h index 08878e9558..eb4e81c9ac 100644 --- a/keyboards/sawnsprojects/okayu/halconf.h +++ b/keyboards/sawnsprojects/okayu/halconf.h @@ -4,5 +4,6 @@ #pragma once #define HAL_USE_SPI TRUE - +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/sawnsprojects/okayu/info.json b/keyboards/sawnsprojects/okayu/info.json index 14c8f20c35..08c5afe688 100644 --- a/keyboards/sawnsprojects/okayu/info.json +++ b/keyboards/sawnsprojects/okayu/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Okayu", "manufacturer": "Salane", + "url": "", "maintainer": "Mai The San", "usb": { "vid": "0x5350", @@ -13,6 +14,7 @@ "mousekey": true, "extrakey": true, "console": true, + "command": false, "nkro": true, "rgblight": true }, diff --git a/keyboards/sawnsprojects/okayu/rules.mk b/keyboards/sawnsprojects/okayu/rules.mk new file mode 100644 index 0000000000..59655554eb --- /dev/null +++ b/keyboards/sawnsprojects/okayu/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = sawnsprojects/okayu/stm32f072 \ No newline at end of file diff --git a/keyboards/sawnsprojects/plaque80/keyboard.json b/keyboards/sawnsprojects/plaque80/keyboard.json index d72186a249..dd18cc12ee 100644 --- a/keyboards/sawnsprojects/plaque80/keyboard.json +++ b/keyboards/sawnsprojects/plaque80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Plaque80", "manufacturer": "SawnsProjects", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5350", @@ -18,6 +19,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": false, "rgblight": true }, diff --git a/keyboards/sawnsprojects/re65/keyboard.json b/keyboards/sawnsprojects/re65/keyboard.json index 98f8e4ba25..45e874db6d 100644 --- a/keyboards/sawnsprojects/re65/keyboard.json +++ b/keyboards/sawnsprojects/re65/keyboard.json @@ -2,6 +2,7 @@ "keyboard_name": "RE65", "maintainer": "Salane", "manufacturer": "Mai The San", + "url": "", "processor": "RP2040", "bootloader": "rp2040", "usb": { @@ -13,6 +14,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgblight": true, "encoder": true diff --git a/keyboards/sawnsprojects/satxri6key/keyboard.json b/keyboards/sawnsprojects/satxri6key/keyboard.json index 92a798e4b2..7049be25cf 100644 --- a/keyboards/sawnsprojects/satxri6key/keyboard.json +++ b/keyboards/sawnsprojects/satxri6key/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Satxri6key", "manufacturer": "MaiTheSan", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5350", @@ -82,6 +83,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/sawnsprojects/vcl65/solder/keyboard.json b/keyboards/sawnsprojects/vcl65/solder/keyboard.json index 3e2e2a8750..4fc0f29766 100644 --- a/keyboards/sawnsprojects/vcl65/solder/keyboard.json +++ b/keyboards/sawnsprojects/vcl65/solder/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "VCL65", "manufacturer": "VCL x SawnsProjects", + "url": "", "maintainer": "MaiTheSan", "usb": { "vid": "0x5350", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/scatter42/keyboard.json b/keyboards/scatter42/keyboard.json index 5907a4d754..7bb7a63ffe 100644 --- a/keyboards/scatter42/keyboard.json +++ b/keyboards/scatter42/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/sck/gtm/keyboard.json b/keyboards/sck/gtm/keyboard.json index de82d93a16..7ed3915114 100644 --- a/keyboards/sck/gtm/keyboard.json +++ b/keyboards/sck/gtm/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GTM Pad", "manufacturer": "SpaceCityKeyboards", + "url": "", "maintainer": "jrfhoutx", "usb": { "vid": "0xFEED", @@ -27,6 +28,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": false, diff --git a/keyboards/sck/neiso/keyboard.json b/keyboards/sck/neiso/keyboard.json index 93d3e5a905..15cec58849 100644 --- a/keyboards/sck/neiso/keyboard.json +++ b/keyboards/sck/neiso/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NEISO", "manufacturer": "Space City Keyboards", + "url": "", "maintainer": "jrfhoutx", "usb": { "vid": "0xFEED", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": false, "mousekey": false, @@ -25,7 +27,8 @@ "rows": ["F4"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/sck/osa/keyboard.json b/keyboards/sck/osa/keyboard.json index caff86da75..1cdd59367b 100644 --- a/keyboards/sck/osa/keyboard.json +++ b/keyboards/sck/osa/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "OSA", "manufacturer": "Space City Keyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5343", diff --git a/keyboards/scottokeebs/scotto34/keyboard.json b/keyboards/scottokeebs/scotto34/keyboard.json index 573768914b..ecf3fed933 100644 --- a/keyboards/scottokeebs/scotto34/keyboard.json +++ b/keyboards/scottokeebs/scotto34/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/scottokeebs/scotto69/keyboard.json b/keyboards/scottokeebs/scotto69/keyboard.json index f229004a61..144e7b3a7e 100644 --- a/keyboards/scottokeebs/scotto69/keyboard.json +++ b/keyboards/scottokeebs/scotto69/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/scottokeebs/scottowing/keyboard.json b/keyboards/scottokeebs/scottowing/keyboard.json index 9fc5571646..770e2fd18e 100644 --- a/keyboards/scottokeebs/scottowing/keyboard.json +++ b/keyboards/scottokeebs/scottowing/keyboard.json @@ -9,6 +9,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/sendyyeah/75pixels/keyboard.json b/keyboards/sendyyeah/75pixels/keyboard.json index 0d23952052..a9300bb19a 100644 --- a/keyboards/sendyyeah/75pixels/keyboard.json +++ b/keyboards/sendyyeah/75pixels/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -19,7 +21,8 @@ "rows": ["B6", "F4", "F5", "F6", "F7", "B1", "B3", "B2", "B4", "B5"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["ortho_5x15"], "layouts": { "LAYOUT_ortho_5x15": { diff --git a/keyboards/sendyyeah/bevi/keyboard.json b/keyboards/sendyyeah/bevi/keyboard.json index e408ded1b4..e0c54f03db 100644 --- a/keyboards/sendyyeah/bevi/keyboard.json +++ b/keyboards/sendyyeah/bevi/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -19,7 +21,8 @@ "rows": ["B3", "B2", "D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/sendyyeah/pix/keyboard.json b/keyboards/sendyyeah/pix/keyboard.json index 6f81d20d01..6a9864cc35 100644 --- a/keyboards/sendyyeah/pix/keyboard.json +++ b/keyboards/sendyyeah/pix/keyboard.json @@ -34,9 +34,12 @@ {"pin_a": "B1", "pin_b": "B3"} ] }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/senselessclay/ck60/keyboard.json b/keyboards/senselessclay/ck60/keyboard.json index d4fa5336e6..0208ea24bc 100644 --- a/keyboards/senselessclay/ck60/keyboard.json +++ b/keyboards/senselessclay/ck60/keyboard.json @@ -41,6 +41,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/senselessclay/ck65/keyboard.json b/keyboards/senselessclay/ck65/keyboard.json index 294d002c5b..150479177d 100644 --- a/keyboards/senselessclay/ck65/keyboard.json +++ b/keyboards/senselessclay/ck65/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/senselessclay/gos65/keyboard.json b/keyboards/senselessclay/gos65/keyboard.json index 783f3a5c82..ee6bb5727a 100644 --- a/keyboards/senselessclay/gos65/keyboard.json +++ b/keyboards/senselessclay/gos65/keyboard.json @@ -33,6 +33,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/senselessclay/had60/keyboard.json b/keyboards/senselessclay/had60/keyboard.json index 6857ea4ab2..03ace8014b 100644 --- a/keyboards/senselessclay/had60/keyboard.json +++ b/keyboards/senselessclay/had60/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/sentraq/s60_x/default/keyboard.json b/keyboards/sentraq/s60_x/default/keyboard.json index f55df16eb4..1f65b90775 100644 --- a/keyboards/sentraq/s60_x/default/keyboard.json +++ b/keyboards/sentraq/s60_x/default/keyboard.json @@ -2,6 +2,8 @@ "keyboard_name": "S60-X", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/sentraq/s60_x/info.json b/keyboards/sentraq/s60_x/info.json index f8a28d9e85..11ebdcd7d1 100644 --- a/keyboards/sentraq/s60_x/info.json +++ b/keyboards/sentraq/s60_x/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Sentraq", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/sentraq/s60_x/rgb/keyboard.json b/keyboards/sentraq/s60_x/rgb/keyboard.json index 08bd224d8e..c2be7f4356 100644 --- a/keyboards/sentraq/s60_x/rgb/keyboard.json +++ b/keyboards/sentraq/s60_x/rgb/keyboard.json @@ -3,6 +3,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/sentraq/s65_plus/keyboard.json b/keyboards/sentraq/s65_plus/keyboard.json index 70c75928d7..01e2f0a275 100644 --- a/keyboards/sentraq/s65_plus/keyboard.json +++ b/keyboards/sentraq/s65_plus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "S65-Plus", "manufacturer": "Sentraq", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/sentraq/s65_x/keyboard.json b/keyboards/sentraq/s65_x/keyboard.json index a248e491e8..0d0b0fc5fd 100644 --- a/keyboards/sentraq/s65_x/keyboard.json +++ b/keyboards/sentraq/s65_x/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "S65-X PCB", "manufacturer": "Sentraq", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/sergiopoverony/creator_pro/keyboard.json b/keyboards/sergiopoverony/creator_pro/keyboard.json index f5d2fb0afb..9b3cafe183 100644 --- a/keyboards/sergiopoverony/creator_pro/keyboard.json +++ b/keyboards/sergiopoverony/creator_pro/keyboard.json @@ -13,7 +13,8 @@ {"pin_a": "D2", "pin_b": "D3", "resolution": 1} ] }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "bootmagic": false, "command": true, diff --git a/keyboards/sets3n/kk980/keyboard.json b/keyboards/sets3n/kk980/keyboard.json index 7fd2d56403..1589b0a7b4 100644 --- a/keyboards/sets3n/kk980/keyboard.json +++ b/keyboards/sets3n/kk980/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/sha/keyboard.json b/keyboards/sha/keyboard.json index e361334e00..8bb4091843 100644 --- a/keyboards/sha/keyboard.json +++ b/keyboards/sha/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/shambles/keyboard.json b/keyboards/shambles/keyboard.json index ee134b721b..34ec240cae 100644 --- a/keyboards/shambles/keyboard.json +++ b/keyboards/shambles/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Shambles TKL", "manufacturer": "OsciX", + "url": "", "maintainer": "OsciX", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/shandoncodes/flygone60/rev3/keyboard.json b/keyboards/shandoncodes/flygone60/rev3/keyboard.json index 4b83963648..6e2e62701f 100644 --- a/keyboards/shandoncodes/flygone60/rev3/keyboard.json +++ b/keyboards/shandoncodes/flygone60/rev3/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/shandoncodes/mino/hotswap/keyboard.json b/keyboards/shandoncodes/mino/hotswap/keyboard.json index d9f460b391..5bd0b933ce 100644 --- a/keyboards/shandoncodes/mino/hotswap/keyboard.json +++ b/keyboards/shandoncodes/mino/hotswap/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -27,7 +29,8 @@ "rows": ["D3", "C6", "D4", "D2"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT_default": { "layout": [ diff --git a/keyboards/shandoncodes/mino_plus/hotswap/keyboard.json b/keyboards/shandoncodes/mino_plus/hotswap/keyboard.json index 9103f08175..f181c610ed 100644 --- a/keyboards/shandoncodes/mino_plus/hotswap/keyboard.json +++ b/keyboards/shandoncodes/mino_plus/hotswap/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -17,6 +19,7 @@ "rows": ["B14", "B10", "F0", "C15", "C14"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0004", diff --git a/keyboards/shandoncodes/mino_plus/soldered/keyboard.json b/keyboards/shandoncodes/mino_plus/soldered/keyboard.json index f89fffa4c5..2b717c4c59 100644 --- a/keyboards/shandoncodes/mino_plus/soldered/keyboard.json +++ b/keyboards/shandoncodes/mino_plus/soldered/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -17,6 +19,7 @@ "rows": ["B9", "B8", "A2", "A1", "A0"] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0003", diff --git a/keyboards/shandoncodes/riot_pad/keyboard.json b/keyboards/shandoncodes/riot_pad/keyboard.json index 2c52ee5439..7ecb52d8e0 100644 --- a/keyboards/shandoncodes/riot_pad/keyboard.json +++ b/keyboards/shandoncodes/riot_pad/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "nkro": true, "rgblight": true, "extrakey": true @@ -30,6 +32,7 @@ }, "led_count": 12 }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x1000", diff --git a/keyboards/shapeshifter4060/keyboard.json b/keyboards/shapeshifter4060/keyboard.json index 5f7d7d3150..9274923088 100644 --- a/keyboards/shapeshifter4060/keyboard.json +++ b/keyboards/shapeshifter4060/keyboard.json @@ -27,7 +27,8 @@ "rows": ["F4", "F5", "F6", "F7"] }, "diode_direction": "ROW2COL", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/sharkoon/skiller_sgk50_s2/halconf.h b/keyboards/sharkoon/skiller_sgk50_s2/halconf.h index 50251bd9cb..9d456a5106 100644 --- a/keyboards/sharkoon/skiller_sgk50_s2/halconf.h +++ b/keyboards/sharkoon/skiller_sgk50_s2/halconf.h @@ -4,5 +4,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/sharkoon/skiller_sgk50_s2/keyboard.json b/keyboards/sharkoon/skiller_sgk50_s2/keyboard.json index ff4ad9a4f7..39d59ffa55 100644 --- a/keyboards/sharkoon/skiller_sgk50_s2/keyboard.json +++ b/keyboards/sharkoon/skiller_sgk50_s2/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -183,6 +185,7 @@ "val_steps": 28, "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x3662", diff --git a/keyboards/sharkoon/skiller_sgk50_s3/halconf.h b/keyboards/sharkoon/skiller_sgk50_s3/halconf.h index 872e0217df..8760386e81 100644 --- a/keyboards/sharkoon/skiller_sgk50_s3/halconf.h +++ b/keyboards/sharkoon/skiller_sgk50_s3/halconf.h @@ -4,5 +4,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/sharkoon/skiller_sgk50_s3/keyboard.json b/keyboards/sharkoon/skiller_sgk50_s3/keyboard.json index 9d02cc1326..6535ec63b7 100644 --- a/keyboards/sharkoon/skiller_sgk50_s3/keyboard.json +++ b/keyboards/sharkoon/skiller_sgk50_s3/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -167,6 +169,7 @@ "val_steps": 28, "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x3663", diff --git a/keyboards/sharkoon/skiller_sgk50_s4/halconf.h b/keyboards/sharkoon/skiller_sgk50_s4/halconf.h index 50251bd9cb..9d456a5106 100644 --- a/keyboards/sharkoon/skiller_sgk50_s4/halconf.h +++ b/keyboards/sharkoon/skiller_sgk50_s4/halconf.h @@ -4,5 +4,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/sharkoon/skiller_sgk50_s4/keyboard.json b/keyboards/sharkoon/skiller_sgk50_s4/keyboard.json index 4161e19d7c..7d36616e52 100644 --- a/keyboards/sharkoon/skiller_sgk50_s4/keyboard.json +++ b/keyboards/sharkoon/skiller_sgk50_s4/keyboard.json @@ -13,13 +13,15 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, "rgb_matrix": true }, "matrix_pins": { - "cols": ["C0", "C1", "C2", "C3", "A6", "B1", "B10", "B11", "B12", "B13", "B14", "C6", "C7", "C8", "C9", "A8"], + "cols": ["C0", "C1", "C2", "C3", "A6", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "C6", "C7"], "rows": ["A0", "A1", "A2", "A3", "C13"] }, "processor": "WB32FQ95", @@ -75,15 +77,11 @@ "driver": "ws2812", "layout": [ {"matrix": [4, 6], "x": 103, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 154, "y": 64, "flags": 4}, {"matrix": [4, 10], "x": 172, "y": 64, "flags": 4}, {"matrix": [4, 11], "x": 190, "y": 64, "flags": 4}, {"matrix": [4, 12], "x": 207, "y": 64, "flags": 4}, - {"matrix": [4, 15], "x": 224, "y": 64, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 48, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 200, "y": 48, "flags": 4}, + {"matrix": [4, 13], "x": 224, "y": 64, "flags": 4}, + {"matrix": [3, 13], "x": 224, "y": 48, "flags": 4}, {"matrix": [3, 11], "x": 190, "y": 48, "flags": 4}, {"matrix": [3, 10], "x": 172, "y": 48, "flags": 4}, {"matrix": [3, 9], "x": 155, "y": 48, "flags": 4}, @@ -95,7 +93,6 @@ {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4}, {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, {"matrix": [3, 1], "x": 17, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 52, "y": 64, "flags": 4}, {"matrix": [4, 2], "x": 34, "y": 64, "flags": 4}, {"matrix": [4, 1], "x": 17, "y": 64, "flags": 4}, {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, @@ -112,10 +109,8 @@ {"matrix": [2, 9], "x": 155, "y": 32, "flags": 4}, {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, {"matrix": [2, 11], "x": 190, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 200, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 224, "y": 32, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 224, "y": 16, "flags": 4}, + {"matrix": [2, 13], "x": 207, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 224, "y": 16, "flags": 4}, {"matrix": [1, 12], "x": 207, "y": 16, "flags": 4}, {"matrix": [1, 11], "x": 190, "y": 16, "flags": 4}, {"matrix": [1, 10], "x": 172, "y": 16, "flags": 4}, @@ -142,22 +137,21 @@ {"matrix": [0, 10], "x": 172, "y": 0, "flags": 4}, {"matrix": [0, 11], "x": 190, "y": 0, "flags": 4}, {"matrix": [0, 12], "x": 207, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 210, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 210, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 4} + {"matrix": [0, 13], "x": 224, "y": 0, "flags": 4} ], "max_brightness": 110, "sleep": true, "val_steps": 28 }, + "url": "", "usb": { - "device_version": "1.1.0", + "device_version": "1.0.0", "pid": "0x1020", "suspend_wakeup_delay": 1000, "vid": "0x6332" }, "ws2812": { - "pin": "B15" + "pin": "A8" }, "community_layouts": ["60_ansi", "60_iso"], "layouts": { @@ -176,9 +170,7 @@ {"matrix": [0, 10], "x": 10, "y": 0}, {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 0.5}, - {"matrix": [0, 14], "x": 13.5, "y": 0}, - {"matrix": [0, 15], "x": 14.5, "y": 0, "w": 0.5}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -192,8 +184,7 @@ {"matrix": [1, 10], "x": 10.5, "y": 1}, {"matrix": [1, 11], "x": 11.5, "y": 1}, {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1}, - {"matrix": [1, 14], "x": 14.5, "y": 1, "w": 0.5}, + {"matrix": [2, 12], "x": 13.5, "y": 1, "w": 1.5}, {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -206,34 +197,28 @@ {"matrix": [2, 9], "x": 9.75, "y": 2}, {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 0.75}, - {"matrix": [3, 1], "x": 0.75, "y": 3, "w": 0.5}, - {"matrix": [3, 2], "x": 1.25, "y": 3}, - {"matrix": [3, 3], "x": 2.25, "y": 3}, - {"matrix": [3, 4], "x": 3.25, "y": 3}, - {"matrix": [3, 5], "x": 4.25, "y": 3}, - {"matrix": [3, 6], "x": 5.25, "y": 3}, - {"matrix": [3, 7], "x": 6.25, "y": 3}, - {"matrix": [3, 8], "x": 7.25, "y": 3}, - {"matrix": [3, 9], "x": 8.25, "y": 3}, - {"matrix": [3, 10], "x": 9.25, "y": 3}, - {"matrix": [3, 11], "x": 10.25, "y": 3}, - {"matrix": [3, 12], "x": 11.25, "y": 3}, - {"matrix": [3, 13], "x": 12.25, "y": 3}, - {"matrix": [3, 14], "x": 13.25, "y": 3, "w": 0.75}, - {"matrix": [3, 15], "x": 14, "y": 3}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 3], "x": 3.75, "y": 4}, - {"matrix": [4, 6], "x": 4.75, "y": 4, "w": 4.25}, - {"matrix": [4, 9], "x": 9, "y": 4}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 15], "x": 13.75, "y": 4, "w": 1.25} + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, "LAYOUT_60_ansi": { @@ -251,7 +236,7 @@ {"matrix": [0, 10], "x": 10, "y": 0}, {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -265,7 +250,7 @@ {"matrix": [1, 10], "x": 10.5, "y": 1}, {"matrix": [1, 11], "x": 11.5, "y": 1}, {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 12], "x": 13.5, "y": 1, "w": 1.5}, {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -279,18 +264,18 @@ {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 1], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 3], "x": 2.25, "y": 3}, - {"matrix": [3, 4], "x": 3.25, "y": 3}, - {"matrix": [3, 5], "x": 4.25, "y": 3}, - {"matrix": [3, 6], "x": 5.25, "y": 3}, - {"matrix": [3, 7], "x": 6.25, "y": 3}, - {"matrix": [3, 8], "x": 7.25, "y": 3}, - {"matrix": [3, 9], "x": 8.25, "y": 3}, - {"matrix": [3, 10], "x": 9.25, "y": 3}, - {"matrix": [3, 11], "x": 10.25, "y": 3}, - {"matrix": [3, 12], "x": 11.25, "y": 3}, - {"matrix": [3, 14], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, @@ -298,7 +283,7 @@ {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 15], "x": 13.75, "y": 4, "w": 1.25} + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, "LAYOUT_60_iso": { @@ -316,7 +301,7 @@ {"matrix": [0, 10], "x": 10, "y": 0}, {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -343,20 +328,20 @@ {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 2], "x": 1.25, "y": 3}, - {"matrix": [3, 3], "x": 2.25, "y": 3}, - {"matrix": [3, 4], "x": 3.25, "y": 3}, - {"matrix": [3, 5], "x": 4.25, "y": 3}, - {"matrix": [3, 6], "x": 5.25, "y": 3}, - {"matrix": [3, 7], "x": 6.25, "y": 3}, - {"matrix": [3, 8], "x": 7.25, "y": 3}, - {"matrix": [3, 9], "x": 8.25, "y": 3}, - {"matrix": [3, 10], "x": 9.25, "y": 3}, - {"matrix": [3, 11], "x": 10.25, "y": 3}, - {"matrix": [3, 12], "x": 11.25, "y": 3}, - {"matrix": [3, 14], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, @@ -364,7 +349,7 @@ {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 15], "x": 13.75, "y": 4, "w": 1.25} + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] } } diff --git a/keyboards/sharkoon/skiller_sgk50_s4/keymaps/default/keymap.c b/keyboards/sharkoon/skiller_sgk50_s4/keymaps/default/keymap.c index 9a9e207113..a8a64d1f2d 100644 --- a/keyboards/sharkoon/skiller_sgk50_s4/keymaps/default/keymap.c +++ b/keyboards/sharkoon/skiller_sgk50_s4/keymaps/default/keymap.c @@ -4,18 +4,18 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_iso( + [0] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL ), - [1] = LAYOUT_60_iso( + [1] = LAYOUT_all( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, - _______, _______, _______, _______, _______, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, RM_VALU, _______, + _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, RM_VALU, + _______, _______, _______, _______, _______, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, RM_VALD, _______, _______, GU_TOGG, _______, _______, _______, _______, RM_HUEU, RM_NEXT ) diff --git a/keyboards/shiro/keyboard.json b/keyboards/shiro/keyboard.json index 141dd61847..c401126591 100644 --- a/keyboards/shiro/keyboard.json +++ b/keyboards/shiro/keyboard.json @@ -27,7 +27,8 @@ "rows": ["D4", "C6", "D7", "E6", "B4"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/shk9/keyboard.json b/keyboards/shk9/keyboard.json index fc769aaec4..968f2d91f7 100644 --- a/keyboards/shk9/keyboard.json +++ b/keyboards/shk9/keyboard.json @@ -11,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/shoc/keyboard.json b/keyboards/shoc/keyboard.json index 2fbf06c5e3..f044ab1b4e 100644 --- a/keyboards/shoc/keyboard.json +++ b/keyboards/shoc/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false, @@ -21,7 +23,8 @@ "rows": ["F4", "F5", "F6", "F7", "B1", "B3", "B6", "B2"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/shorty/keyboard.json b/keyboards/shorty/keyboard.json index 8310891c84..158648badd 100644 --- a/keyboards/shorty/keyboard.json +++ b/keyboards/shorty/keyboard.json @@ -22,6 +22,7 @@ "rows": ["GP11", "GP10", "GP9", "GP29", "GP2"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x5400", diff --git a/keyboards/shostudio/arc/keyboard.json b/keyboards/shostudio/arc/keyboard.json index c1dd12e3db..33f9deb866 100644 --- a/keyboards/shostudio/arc/keyboard.json +++ b/keyboards/shostudio/arc/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ARC", "manufacturer": "Mechlovin Studio", + "url": "", "maintainer": "Shostudio", "usb": { "vid": "0x5050", diff --git a/keyboards/shuguet/shu89/keyboard.json b/keyboards/shuguet/shu89/keyboard.json index c3e0d0e61a..072734b544 100644 --- a/keyboards/shuguet/shu89/keyboard.json +++ b/keyboards/shuguet/shu89/keyboard.json @@ -217,34 +217,34 @@ {"matrix": [0, 8], "x": 80, "y": 0, "flags": 4}, {"matrix": [0, 9], "x": 104, "y": 0, "flags": 4}, - {"matrix": [1, 4], "x": 0, "y": 13, "flags": 4}, - {"matrix": [2, 4], "x": 20, "y": 13, "flags": 4}, + {"matrix": [1, 4], "x": 16, "y": 13, "flags": 4}, {"matrix": [1, 5], "x": 32, "y": 13, "flags": 4}, {"matrix": [1, 6], "x": 48, "y": 13, "flags": 4}, {"matrix": [1, 7], "x": 64, "y": 13, "flags": 4}, {"matrix": [1, 8], "x": 80, "y": 13, "flags": 4}, {"matrix": [1, 9], "x": 96, "y": 13, "flags": 4}, - - {"matrix": [3, 4], "x": 0, "y": 26, "flags": 4}, + {"matrix": [2, 4], "x": 0, "y": 13, "flags": 4}, + {"matrix": [2, 5], "x": 20, "y": 26, "flags": 4}, {"matrix": [2, 6], "x": 36, "y": 26, "flags": 4}, {"matrix": [2, 7], "x": 52, "y": 26, "flags": 4}, {"matrix": [2, 8], "x": 68, "y": 26, "flags": 4}, {"matrix": [2, 9], "x": 84, "y": 26, "flags": 4}, + {"matrix": [3, 4], "x": 0, "y": 26, "flags": 4}, - {"matrix": [4, 4], "x": 0, "y": 39, "flags": 5}, {"matrix": [3, 5], "x": 24, "y": 39, "flags": 4}, {"matrix": [3, 6], "x": 40, "y": 39, "flags": 4}, {"matrix": [3, 7], "x": 56, "y": 39, "flags": 4}, {"matrix": [3, 8], "x": 72, "y": 39, "flags": 4}, {"matrix": [3, 9], "x": 88, "y": 39, "flags": 4}, + {"matrix": [4, 4], "x": 0, "y": 39, "flags": 5}, - {"matrix": [5, 4], "x": 0, "y": 51, "flags": 5}, {"matrix": [4, 5], "x": 28, "y": 51, "flags": 4}, {"matrix": [4, 6], "x": 44, "y": 51, "flags": 4}, {"matrix": [4, 7], "x": 60, "y": 51, "flags": 4}, {"matrix": [4, 8], "x": 76, "y": 51, "flags": 4}, {"matrix": [4, 9], "x": 92, "y": 51, "flags": 4}, + {"matrix": [5, 4], "x": 0, "y": 51, "flags": 5}, {"matrix": [5, 5], "x": 0, "y": 64, "flags": 5}, {"matrix": [5, 6], "x": 20, "y": 64, "flags": 5}, @@ -274,7 +274,6 @@ {"matrix": [7, 8], "x": 220, "y": 13, "flags": 4}, {"matrix": [7, 9], "x": 224, "y": 13, "flags": 4}, - {"matrix": [9, 0], "x": 100, "y": 26, "flags": 4}, {"matrix": [8, 0], "x": 116, "y": 26, "flags": 4}, {"matrix": [8, 1], "x": 132, "y": 26, "flags": 4}, {"matrix": [8, 2], "x": 148, "y": 26, "flags": 4}, @@ -285,22 +284,23 @@ {"matrix": [8, 7], "x": 216, "y": 26, "flags": 4}, {"matrix": [8, 8], "x": 220, "y": 26, "flags": 4}, {"matrix": [8, 9], "x": 224, "y": 26, "flags": 4}, - - {"matrix": [10, 0], "x": 104, "y": 39, "flags": 4}, + {"matrix": [9, 0], "x": 100, "y": 26, "flags": 4}, + {"matrix": [9, 1], "x": 120, "y": 39, "flags": 4}, {"matrix": [9, 2], "x": 136, "y": 39, "flags": 4}, {"matrix": [9, 3], "x": 152, "y": 39, "flags": 4}, {"matrix": [9, 4], "x": 168, "y": 39, "flags": 4}, {"matrix": [9, 5], "x": 184, "y": 39, "flags": 4}, {"matrix": [9, 6], "x": 200, "y": 39, "flags": 4}, - - {"matrix": [11, 0], "x": 108, "y": 51, "flags": 4}, + {"matrix": [10, 0], "x": 104, "y": 39, "flags": 4}, + {"matrix": [10, 1], "x": 124, "y": 51, "flags": 4}, {"matrix": [10, 2], "x": 140, "y": 51, "flags": 4}, {"matrix": [10, 3], "x": 156, "y": 51, "flags": 4}, {"matrix": [10, 4], "x": 172, "y": 51, "flags": 4}, {"matrix": [10, 6], "x": 188, "y": 51, "flags": 5}, {"matrix": [10, 8], "x": 216, "y": 51, "flags": 4}, + {"matrix": [11, 0], "x": 108, "y": 51, "flags": 4}, {"matrix": [11, 1], "x": 118, "y": 64, "flags": 4}, {"matrix": [11, 3], "x": 144, "y": 64, "flags": 5}, diff --git a/keyboards/sidderskb/majbritt/rev1/keyboard.json b/keyboards/sidderskb/majbritt/rev1/keyboard.json index bb18c1bb00..717b4e85a0 100644 --- a/keyboards/sidderskb/majbritt/rev1/keyboard.json +++ b/keyboards/sidderskb/majbritt/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Majbritt Rev1", "manufacturer": "SiddersKb", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x534B", diff --git a/keyboards/sidderskb/majbritt/rev2/keyboard.json b/keyboards/sidderskb/majbritt/rev2/keyboard.json index 900b3c3061..69c24b08ab 100644 --- a/keyboards/sidderskb/majbritt/rev2/keyboard.json +++ b/keyboards/sidderskb/majbritt/rev2/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/silakka54/config.h b/keyboards/silakka54/config.h deleted file mode 100644 index 220b85cd08..0000000000 --- a/keyboards/silakka54/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2024 Juho T. (@Squalius-cephalus) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define SERIAL_USART_FULL_DUPLEX -#define SERIAL_USART_TX_PIN GP0 -#define SERIAL_USART_RX_PIN GP1 - -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 diff --git a/keyboards/silakka54/keyboard.json b/keyboards/silakka54/keyboard.json deleted file mode 100644 index f04b67d3aa..0000000000 --- a/keyboards/silakka54/keyboard.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "manufacturer": "Squalius-cephalus", - "keyboard_name": "silakka54", - "maintainer": "Squalius-cephalus", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "split": { - "enabled": true, - "serial": { - "driver": "vendor" - }, - "transport": { - "watchdog": true - } - }, - "matrix_pins": { - "cols": ["GP7", "GP8", "GP9", "GP10", "GP11", "GP12"], - "rows": ["GP2", "GP3", "GP4", "GP5","GP6"] - }, - "processor": "RP2040", - "url": "https://github.com/Squalius-cephalus/silakka54", - "usb": { - "device_version": "1.0.0", - "pid": "0x1212", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - - {"matrix": [5, 5], "x": 0, "y": 5}, - {"matrix": [5, 4], "x": 1, "y": 5}, - {"matrix": [5, 3], "x": 2, "y": 5}, - {"matrix": [5, 2], "x": 3, "y": 5}, - {"matrix": [5, 1], "x": 4, "y": 5}, - {"matrix": [5, 0], "x": 5, "y": 5}, - - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - - {"matrix": [6, 5], "x": 0, "y": 6}, - {"matrix": [6, 4], "x": 1, "y": 6}, - {"matrix": [6, 3], "x": 2, "y": 6}, - {"matrix": [6, 2], "x": 3, "y": 6}, - {"matrix": [6, 1], "x": 4, "y": 6}, - {"matrix": [6, 0], "x": 5, "y": 6}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - - {"matrix": [7, 5], "x": 0, "y": 7}, - {"matrix": [7, 4], "x": 1, "y": 7}, - {"matrix": [7, 3], "x": 2, "y": 7}, - {"matrix": [7, 2], "x": 3, "y": 7}, - {"matrix": [7, 1], "x": 4, "y": 7}, - {"matrix": [7, 0], "x": 5, "y": 7}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - - {"matrix": [8, 5], "x": 0, "y": 9}, - {"matrix": [8, 4], "x": 1, "y": 9}, - {"matrix": [8, 3], "x": 2, "y": 9}, - {"matrix": [8, 2], "x": 3, "y": 9}, - {"matrix": [8, 1], "x": 4, "y": 9}, - {"matrix": [8, 0], "x": 5, "y": 9}, - - {"matrix": [4, 3], "x": 3, "y": 4}, - {"matrix": [4, 4], "x": 4, "y": 4}, - {"matrix": [4, 5], "x": 5, "y": 4}, - - {"matrix": [9, 5], "x": 3, "y": 9}, - {"matrix": [9, 4], "x": 4, "y": 9}, - {"matrix": [9, 3], "x": 5, "y": 9} - - - ] - } - } -} diff --git a/keyboards/silakka54/keymaps/default/keymap.c b/keyboards/silakka54/keymaps/default/keymap.c deleted file mode 100644 index aa5e64efa3..0000000000 --- a/keyboards/silakka54/keymaps/default/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LGUI, MO(1), KC_SPC, KC_ENT, KC_RCTL, KC_RALT - ), - [1] = LAYOUT( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_HOME, KC_END, KC_DEL, KC_F12, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LBRC, KC_RBRC, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/silakka54/readme.md b/keyboards/silakka54/readme.md deleted file mode 100644 index 08a38aa473..0000000000 --- a/keyboards/silakka54/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Silakka54 - -![Silakka54](https://i.imgur.com/JrsS0kY.png) - -Silakka54 is a RP2040 Zero based 54-key column staggered split keyboard. PCB uses hotswap sockets. Design is inspired from REVIUNG41 and Corne keyboards. - -* Keyboard Maintainer: [Squalius-cephalus](https://github.com/Squalius-cephalus) -* Hardware Supported: Silakka54 PCB -* Hardware Availability: https://github.com/Squalius-cephalus/silakka54 - -Make example for this keyboard (after setting up your build environment): - - make silakka54:default - -Flashing example for this keyboard: - - make silakka54:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 2 ways: - -* **Physical boot button**: Hold BOOT button down and connect MCU to the PC -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/silverbullet44/keyboard.json b/keyboards/silverbullet44/keyboard.json index 26e2bcce3a..69c291a1cc 100644 --- a/keyboards/silverbullet44/keyboard.json +++ b/keyboards/silverbullet44/keyboard.json @@ -60,7 +60,8 @@ "pin": "D2" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "debounce": 10, "layouts": { "LAYOUT": { diff --git a/keyboards/singa/keyboard.json b/keyboards/singa/keyboard.json index 12962eedfe..ef9176211b 100644 --- a/keyboards/singa/keyboard.json +++ b/keyboards/singa/keyboard.json @@ -12,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/sirius/uni660/rev1/keyboard.json b/keyboards/sirius/uni660/rev1/keyboard.json index c98c121bb8..793edcc685 100644 --- a/keyboards/sirius/uni660/rev1/keyboard.json +++ b/keyboards/sirius/uni660/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Uni660", "manufacturer": "SiRius", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5352", diff --git a/keyboards/sirius/uni660/rev2/ansi/keyboard.json b/keyboards/sirius/uni660/rev2/ansi/keyboard.json index df039af1dc..3db9fb966a 100644 --- a/keyboards/sirius/uni660/rev2/ansi/keyboard.json +++ b/keyboards/sirius/uni660/rev2/ansi/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Uni660 V2 ANSI", "manufacturer": "SiRius", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5352", diff --git a/keyboards/sirius/uni660/rev2/iso/keyboard.json b/keyboards/sirius/uni660/rev2/iso/keyboard.json index 062ca4f07e..0e5958c117 100644 --- a/keyboards/sirius/uni660/rev2/iso/keyboard.json +++ b/keyboards/sirius/uni660/rev2/iso/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Uni660 V2 ISO", "manufacturer": "SiRius", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5352", diff --git a/keyboards/sixkeyboard/keyboard.json b/keyboards/sixkeyboard/keyboard.json index 5c29dee16f..1c103e03b3 100644 --- a/keyboards/sixkeyboard/keyboard.json +++ b/keyboards/sixkeyboard/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SixKeyBoard", "manufacturer": "TechKeys", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x746B", diff --git a/keyboards/skeletn87/hotswap/keyboard.json b/keyboards/skeletn87/hotswap/keyboard.json index 70747ce801..b0af230668 100644 --- a/keyboards/skeletn87/hotswap/keyboard.json +++ b/keyboards/skeletn87/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Skeletn87 Hotswap", "manufacturer": "BredWorks", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0xF984", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/skeletn87/soldered/keyboard.json b/keyboards/skeletn87/soldered/keyboard.json index 81d93c42a7..292914d8b4 100644 --- a/keyboards/skeletn87/soldered/keyboard.json +++ b/keyboards/skeletn87/soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Skeletn87", "manufacturer": "BredWorks", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0xF984", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/skeletonkbd/frost68/keyboard.json b/keyboards/skeletonkbd/frost68/keyboard.json index 9d1173c860..28b819e0d0 100644 --- a/keyboards/skeletonkbd/frost68/keyboard.json +++ b/keyboards/skeletonkbd/frost68/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/skeletonkbd/skeletonnumpad/keyboard.json b/keyboards/skeletonkbd/skeletonnumpad/keyboard.json index d34d10de03..cd007f81b6 100644 --- a/keyboards/skeletonkbd/skeletonnumpad/keyboard.json +++ b/keyboards/skeletonkbd/skeletonnumpad/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/skippys_custom_pcs/roopad/keyboard.json b/keyboards/skippys_custom_pcs/roopad/keyboard.json index 92cb0d1979..0da722ff12 100644 --- a/keyboards/skippys_custom_pcs/roopad/keyboard.json +++ b/keyboards/skippys_custom_pcs/roopad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RooPad", "manufacturer": "ToastyStoemp", + "url": "", "maintainer": "ToastyStoemp", "usb": { "vid": "0x36B6", diff --git a/keyboards/skme/zeno/keyboard.json b/keyboards/skme/zeno/keyboard.json index d659227334..bbea513ed5 100644 --- a/keyboards/skme/zeno/keyboard.json +++ b/keyboards/skme/zeno/keyboard.json @@ -20,6 +20,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "qmk": { diff --git a/keyboards/skmt/15k/keyboard.json b/keyboards/skmt/15k/keyboard.json index d09f3fb989..9cf215f4d4 100644 --- a/keyboards/skmt/15k/keyboard.json +++ b/keyboards/skmt/15k/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/skyloong/dt40/keyboard.json b/keyboards/skyloong/dt40/keyboard.json index be0ccb2912..a79b48289a 100644 --- a/keyboards/skyloong/dt40/keyboard.json +++ b/keyboards/skyloong/dt40/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/skyloong/gk61/pro/config.h b/keyboards/skyloong/gk61/pro/config.h index aeea36e0bc..db02496f8b 100644 --- a/keyboards/skyloong/gk61/pro/config.h +++ b/keyboards/skyloong/gk61/pro/config.h @@ -7,3 +7,6 @@ #define IS31FL3743A_SDB_PIN C1 #define CAPS_LOCK_INDEX 28 +#define WIN_MOD_INDEX 16 +#define MAC_MOD_INDEX 17 +#define WIN_LOCK_INDEX 54 diff --git a/keyboards/skyloong/gk61/pro/keyboard.json b/keyboards/skyloong/gk61/pro/keyboard.json index 67fa3be066..5a2302a92c 100644 --- a/keyboards/skyloong/gk61/pro/keyboard.json +++ b/keyboards/skyloong/gk61/pro/keyboard.json @@ -13,6 +13,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/skyloong/gk61/pro/pro.c b/keyboards/skyloong/gk61/pro/pro.c index 11411ba2b1..2299977e0e 100644 --- a/keyboards/skyloong/gk61/pro/pro.c +++ b/keyboards/skyloong/gk61/pro/pro.c @@ -1,8 +1,11 @@ // Copyright 2023 linlin012 (@linlin012) // SPDX-License-Identifier: GPL-2.0-or-later #include "quantum.h" +int FN_WIN = 0; +int FN_MAC = 0; +int L_WIN = 0; +int L_MAC = 0; -#if defined(RGB_MATRIX_ENABLE) const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver @@ -80,32 +83,7 @@ const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = { {0, SW10_CS13, SW10_CS14, SW10_CS15} }; -bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { - if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { - return false; - } - - if (host_keyboard_led_state().caps_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_INDEX, 255, 255, 255); - } else { - if (!rgb_matrix_get_flags()) { - RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_INDEX, 0, 0, 0); - } - } - - return false; -} - -void suspend_power_down_kb(void) { - gpio_write_pin_low(IS31FL3743A_SDB_PIN); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - gpio_write_pin_high(IS31FL3743A_SDB_PIN); - suspend_wakeup_init_user(); -} -#endif +#if defined(RGB_MATRIX_ENABLE) /*&& defined(CAPS_LOCK_INDEX)*/ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { @@ -127,9 +105,124 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } return false; # endif + case TO(0): + if (record->event.pressed) { + L_WIN = 1; + set_single_persistent_default_layer(0); // Save default layer 0 to eeprom + } else { + L_WIN = 0; + } + return true; // continue all further processing of this key + + case MO(2): + if (record->event.pressed) { + FN_WIN = 1; + } else { + FN_WIN = 0; + } + return true; // continue all further processing of this key + + case TO(1): + if (record->event.pressed) { + L_MAC = 1; + set_single_persistent_default_layer(1); //Save default layer 1 to eeprom + } else { + L_MAC = 0; + } + return true; // continue all further processing of this key + + case MO(3): + if (record->event.pressed) { + FN_MAC = 1; + } else { + FN_MAC = 0; + } + return true; // continue all further processing of this key + default: + return true; + } + +} + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; } - return true; + if (host_keyboard_led_state().caps_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_INDEX, 255, 255, 255); + } else { + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_INDEX, 0, 0, 0); + } + } + + switch (get_highest_layer(layer_state)) { + case 0:{ + if (L_WIN) { + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 255, 255, 255); + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0); + } + }else{ + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0); + } + } + } break; + + case 1:{ + if (L_MAC) { + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 255, 255, 255); + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0); + } + }else{ + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0); + } + } + } break; + + + case 2:{ + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 255, 255, 255); + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0); + } + } break; + + case 3:{ + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 255, 255, 255); + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0); + } + } break; + + default:{ + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0); + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0); + } + } + } + return false; +} + +#endif + +void suspend_power_down_kb() { +# ifdef RGB_MATRIX_ENABLE + gpio_write_pin_low(IS31FL3743A_SDB_PIN); +# endif + suspend_power_down_user(); +} + +void suspend_wakeup_init_kb() { +# ifdef RGB_MATRIX_ENABLE + gpio_write_pin_high(IS31FL3743A_SDB_PIN); +# endif + suspend_wakeup_init_user(); } void board_init(void) { diff --git a/keyboards/skyloong/gk61/pro_48/config.h b/keyboards/skyloong/gk61/pro_48/config.h index 7e45ac8354..5b4976e2da 100644 --- a/keyboards/skyloong/gk61/pro_48/config.h +++ b/keyboards/skyloong/gk61/pro_48/config.h @@ -7,3 +7,7 @@ #define IS31FL3743A_SDB_PIN A4 #define CAPS_LOCK_INDEX 28 +#define WIN_MOD_INDEX 16 +#define MAC_MOD_INDEX 17 + +#define g_suspend_state rgb_matrix_get_suspend_state() diff --git a/keyboards/skyloong/gk61/pro_48/keyboard.json b/keyboards/skyloong/gk61/pro_48/keyboard.json index 399de2f5b0..0c7065ec48 100644 --- a/keyboards/skyloong/gk61/pro_48/keyboard.json +++ b/keyboards/skyloong/gk61/pro_48/keyboard.json @@ -13,6 +13,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/skyloong/gk61/pro_48/pro_48.c b/keyboards/skyloong/gk61/pro_48/pro_48.c index 11411ba2b1..6da76a1767 100644 --- a/keyboards/skyloong/gk61/pro_48/pro_48.c +++ b/keyboards/skyloong/gk61/pro_48/pro_48.c @@ -1,8 +1,12 @@ // Copyright 2023 linlin012 (@linlin012) // SPDX-License-Identifier: GPL-2.0-or-later #include "quantum.h" +_Bool FN_WIN = 0; +_Bool FN_MAC = 0; +_Bool L_WIN = 0; +_Bool L_MAC = 0; -#if defined(RGB_MATRIX_ENABLE) +#if defined(RGB_MATRIX_ENABLE) /*&& defined(CAPS_LOCK_INDEX)*/ const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver @@ -93,9 +97,57 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { } } + switch (get_highest_layer(layer_state)) { + case 2:{ + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 255, 255, 255); + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0); + } + } break; + case 3:{ + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 255, 255, 255); + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0); + } + } break; + + case 0:{ + if (L_WIN) { + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 255, 255, 255); + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0); + } + }else{ + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0); + } + } + } break; + + case 1:{ + if (L_MAC) { + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 255, 255, 255); + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0); + } + }else{ + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0); + } + } + } break; + + default:{ + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0); + RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0); + } + } + } return false; } + void suspend_power_down_kb(void) { gpio_write_pin_low(IS31FL3743A_SDB_PIN); suspend_power_down_user(); @@ -125,11 +177,44 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } break; } } - return false; + return false; # endif - } + case TO(0): + if (record->event.pressed) { + L_WIN = 1; + set_single_persistent_default_layer(0); // Save default layer 0 to eeprom + } else { + L_WIN = 0; + } + return true; // continue all further processing of this key - return true; + case MO(2): + if (record->event.pressed) { + FN_WIN = 1; + } else { + FN_WIN = 0; + } + return true; // continue all further processing of this key + + case TO(1): + if (record->event.pressed) { + L_MAC = 1; + set_single_persistent_default_layer(1); //Save default layer 1 to eeprom + } else { + L_MAC = 0; + } + return true; // continue all further processing of this key + + case MO(3): + if (record->event.pressed) { + FN_MAC = 1; + } else { + FN_MAC = 0; + } + return true; // continue all further processing of this key + default: + return true; + } } void board_init(void) { diff --git a/keyboards/skyloong/gk61/v1/keyboard.json b/keyboards/skyloong/gk61/v1/keyboard.json index 68fda1220f..0bafe1bd4e 100644 --- a/keyboards/skyloong/gk61/v1/keyboard.json +++ b/keyboards/skyloong/gk61/v1/keyboard.json @@ -9,6 +9,8 @@ "extrakey": true, "mousekey": true, "nkro": true, + "command": false, + "console": false, "rgb_matrix": true }, "processor": "STM32F103", diff --git a/keyboards/skyloong/qk21/v1/keyboard.json b/keyboards/skyloong/qk21/v1/keyboard.json index d3d4ce0a49..3f22fc0ccb 100644 --- a/keyboards/skyloong/qk21/v1/keyboard.json +++ b/keyboards/skyloong/qk21/v1/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/slz40/keyboard.json b/keyboards/slz40/keyboard.json index 3ca4c1d3fc..138c7d21cf 100644 --- a/keyboards/slz40/keyboard.json +++ b/keyboards/slz40/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/smallkeyboard/keyboard.json b/keyboards/smallkeyboard/keyboard.json index dfbdee1cdd..9963d83a47 100644 --- a/keyboards/smallkeyboard/keyboard.json +++ b/keyboards/smallkeyboard/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "smallkeyboard", "manufacturer": "zhouqiong19840119", + "url": "", "maintainer": "zhouqiong19840119", "usb": { "vid": "0x7A71", diff --git a/keyboards/smithrune/iron160/iron160_h/keyboard.json b/keyboards/smithrune/iron160/iron160_h/keyboard.json index c0c0eb1221..c1dd4c9f54 100644 --- a/keyboards/smithrune/iron160/iron160_h/keyboard.json +++ b/keyboards/smithrune/iron160/iron160_h/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "I160-H", "manufacturer": "SmithRune", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x8384", diff --git a/keyboards/smithrune/iron160/iron160_s/keyboard.json b/keyboards/smithrune/iron160/iron160_s/keyboard.json index d247ce3253..fc14114826 100644 --- a/keyboards/smithrune/iron160/iron160_s/keyboard.json +++ b/keyboards/smithrune/iron160/iron160_s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "I160-S", "manufacturer": "SmithRune", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x8384", diff --git a/keyboards/smithrune/iron165r2/info.json b/keyboards/smithrune/iron165r2/info.json index c0fb3634c3..cff9a97cb7 100644 --- a/keyboards/smithrune/iron165r2/info.json +++ b/keyboards/smithrune/iron165r2/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Iron165R2", "manufacturer": "SmithRune", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x8384", diff --git a/keyboards/smithrune/iron180/keyboard.json b/keyboards/smithrune/iron180/keyboard.json index 23ffa323af..b0c6e1a8ff 100644 --- a/keyboards/smithrune/iron180/keyboard.json +++ b/keyboards/smithrune/iron180/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Iron180 V1", "manufacturer": "SmithRune", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x8384", diff --git a/keyboards/smithrune/iron180v2/v2h/keyboard.json b/keyboards/smithrune/iron180v2/v2h/keyboard.json index f37454e33b..1580a12b8c 100644 --- a/keyboards/smithrune/iron180v2/v2h/keyboard.json +++ b/keyboards/smithrune/iron180v2/v2h/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Iron180H v2", "manufacturer": "SmithRune", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x8384", @@ -13,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/smithrune/iron180v2/v2s/keyboard.json b/keyboards/smithrune/iron180v2/v2s/keyboard.json index 455f4b3956..f8f27f4cc1 100644 --- a/keyboards/smithrune/iron180v2/v2s/keyboard.json +++ b/keyboards/smithrune/iron180v2/v2s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Iron180 Sv2", "manufacturer": "SmithRune", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x8384", @@ -14,6 +15,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/smithrune/magnus/m75h/keyboard.json b/keyboards/smithrune/magnus/m75h/keyboard.json index b3cc371387..325db7d1da 100644 --- a/keyboards/smithrune/magnus/m75h/keyboard.json +++ b/keyboards/smithrune/magnus/m75h/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Magnus M75H", "manufacturer": "SmithRune", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x8384", @@ -17,6 +18,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/smithrune/magnus/m75s/keyboard.json b/keyboards/smithrune/magnus/m75s/keyboard.json index 7c772a9d6f..352b529bb0 100644 --- a/keyboards/smithrune/magnus/m75s/keyboard.json +++ b/keyboards/smithrune/magnus/m75s/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Magnus M75S", "manufacturer": "SmithRune", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x8384", @@ -18,6 +19,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/smk60/keyboard.json b/keyboards/smk60/keyboard.json index 01fb309962..67265a667c 100644 --- a/keyboards/smk60/keyboard.json +++ b/keyboards/smk60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SMK60", "manufacturer": "astro", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xDEAD", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/smoll/lefty/info.json b/keyboards/smoll/lefty/info.json index c721095cee..c34e264176 100644 --- a/keyboards/smoll/lefty/info.json +++ b/keyboards/smoll/lefty/info.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/smoll/lefty/rules.mk b/keyboards/smoll/lefty/rules.mk new file mode 100644 index 0000000000..6bc5abbdc5 --- /dev/null +++ b/keyboards/smoll/lefty/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = smoll/lefty/rev2 diff --git a/keyboards/snampad/keyboard.json b/keyboards/snampad/keyboard.json index 66fa76b5e8..e2a269d5c7 100644 --- a/keyboards/snampad/keyboard.json +++ b/keyboards/snampad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "snampad", "manufacturer": "Snamellit", + "url": "", "maintainer": "ptillemans", "usb": { "vid": "0xFEED", @@ -26,7 +27,8 @@ "rows": ["F4", "F5", "F6", "F7", "B1", "B3"] }, "diode_direction": "ROW2COL", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["numpad_6x4"], "layouts": { "LAYOUT_numpad_6x4": { diff --git a/keyboards/sneakbox/aliceclone/keyboard.json b/keyboards/sneakbox/aliceclone/keyboard.json index ecf6aad57c..bb0cd8e4b8 100644 --- a/keyboards/sneakbox/aliceclone/keyboard.json +++ b/keyboards/sneakbox/aliceclone/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/sneakbox/aliceclonergb/keyboard.json b/keyboards/sneakbox/aliceclonergb/keyboard.json index b80ba95f91..be3d48fa87 100644 --- a/keyboards/sneakbox/aliceclonergb/keyboard.json +++ b/keyboards/sneakbox/aliceclonergb/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/sneakbox/ava/keyboard.json b/keyboards/sneakbox/ava/keyboard.json index b871f6b14e..41712f7e95 100644 --- a/keyboards/sneakbox/ava/keyboard.json +++ b/keyboards/sneakbox/ava/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/sneakbox/disarray/ortho/keyboard.json b/keyboards/sneakbox/disarray/ortho/keyboard.json index c9fc1e5012..31a201e0d2 100644 --- a/keyboards/sneakbox/disarray/ortho/keyboard.json +++ b/keyboards/sneakbox/disarray/ortho/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/sneakbox/disarray/staggered/keyboard.json b/keyboards/sneakbox/disarray/staggered/keyboard.json index df5b0983ce..4631795130 100644 --- a/keyboards/sneakbox/disarray/staggered/keyboard.json +++ b/keyboards/sneakbox/disarray/staggered/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/snes_macropad/keyboard.json b/keyboards/snes_macropad/keyboard.json index a7f00f3fd8..91ee332357 100644 --- a/keyboards/snes_macropad/keyboard.json +++ b/keyboards/snes_macropad/keyboard.json @@ -6,6 +6,7 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -18,6 +19,7 @@ "driver": "vendor" }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/soda/cherish/keyboard.json b/keyboards/soda/cherish/keyboard.json index 9235fe3b3e..b256e93965 100644 --- a/keyboards/soda/cherish/keyboard.json +++ b/keyboards/soda/cherish/keyboard.json @@ -1,5 +1,6 @@ { "keyboard_name": "Cherish-75", + "url": "", "maintainer": "gezhaoyou", "manufacturer": "gezhaoyou", "usb": { diff --git a/keyboards/handwired/franky36/config.h b/keyboards/sofle/keyhive/config.h similarity index 84% rename from keyboards/handwired/franky36/config.h rename to keyboards/sofle/keyhive/config.h index 3749ff5785..cda0be789e 100644 --- a/keyboards/handwired/franky36/config.h +++ b/keyboards/sofle/keyhive/config.h @@ -1,4 +1,6 @@ -/* Copyright 2024-2025 Grigory Avdyushin +/* Copyright + * 2021 solartempest + * 2021 QMK * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,6 +18,6 @@ #pragma once -#define I2C_DRIVER I2CD0 -#define I2C1_SDA_PIN GP0 -#define I2C1_SCL_PIN GP1 +// OLED settings +#define OLED_TIMEOUT 80000 +#define OLED_BRIGHTNESS 90 diff --git a/keyboards/sofle/keyhive/keyboard.json b/keyboards/sofle/keyhive/keyboard.json index 720327b75d..8c76e875b0 100644 --- a/keyboards/sofle/keyhive/keyboard.json +++ b/keyboards/sofle/keyhive/keyboard.json @@ -1,4 +1,5 @@ { + "keyboard_name": "Sofle", "manufacturer": "Keyhive", "development_board": "elite_c", "usb": { diff --git a/keyboards/sofle/keyhive/readme.md b/keyboards/sofle/keyhive/readme.md new file mode 100644 index 0000000000..3847dfe6bb --- /dev/null +++ b/keyboards/sofle/keyhive/readme.md @@ -0,0 +1,54 @@ +# Keyhive Sofle Keyboard + +![SofleKeyboard version 2.1 RGB Keyhive](https://i.imgur.com/WH9OoWuh.jpg) + +Sofle is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards. + +For details about the keyboard design, refer to Josef's blog: [Sofle Keyboard - a split keyboard based on Lily58 and Crkbd](https://josef-adamcik.cz/electronics/let-me-introduce-you-sofle-keyboard-split-keyboard-based-on-lily58.html) + +Build guide: [Keyhive Sofle RGB build guide](https://github.com/keyhive/build_guides/blob/master/docs/keyboards/sofle-rgb.md) + +* Keyboard Maintainer: [Winder](https://github.com/winder) +* Hardware Supported: Keyhive Sofle RGB, ProMicro / Elite-C +* Hardware Availability: [Keyhive](https://keyhive.xyz/shop/sofle) + +### Acknowledgements + +* Solartempest - the image on this page and most of the code is either copied directly or inspired by their fork. [Solartempest's fork.](https://github.com/solartempest/qmk_firmware/tree/master/keyboards/solartempest/sofle). +* [Keyhive fork](https://github.com/keyhive/qmk_firmware) defined all of the board settings. + +# Supported Keymaps + +The keyhive schematic has been slightly modified compared to the open source sofle and not all keymaps are compatible. + +* **default**: Basic functionality, no rgb, no VIA. +* [keyhive_via](../keymaps/keyhive_via/readme.md) - Includes rgblighting and special support for remapping encoders with VIA. +* **Other**: may work but backwards compatibility is not guaranteed or tested. + +# VIA Support +As of 1.3.1, the VIA tool does not support Keyhive/Sofle V2 out of the box. +See [keyhive_via](../keymaps/keyhive_via/readme.md) for details about configuring and using VIA. + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make sofle/keyhive:default + +## Flashing + +Flash using the correct command below (or use QMK Toolbox). These commands can be mixed if, for example, you have an Elite C on the left and a pro micro on the right. + +Press reset button on the keyboard when asked. + +Disconnect the first half, connect the second one and repeat the process. + + # for Pro Micro-based builds + make sofle/keyhive:default:avrdude-split-left + make sofle/keyhive:default:avrdude-split-right + + # for Elite C or DFU bootloader builds + make sofle/keyhive:default:dfu-split-left + make sofle/keyhive:default:dfu-split-right + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/sofle/keymaps/rgb_default/config.h b/keyboards/sofle/keymaps/rgb_default/config.h new file mode 100644 index 0000000000..564133ce7a --- /dev/null +++ b/keyboards/sofle/keymaps/rgb_default/config.h @@ -0,0 +1,124 @@ + /* Copyright 2021 Dane Evans + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + #pragma once + + +//#define USE_MATRIX_I2C + +/* Select hand configuration */ + +///https://thomasbaart.nl/2018/12/01/reducing-firmware-size-in-qmk/ + +#define CUSTOM_FONT + +#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding + + +#define QUICK_TAP_TERM 0 +#ifdef TAPPING_TERM + #undef TAPPING_TERM + #define TAPPING_TERM 200 +#endif +#define ENCODER_DIRECTION_FLIP + + +#define RGBLIGHT_SLEEP +// +#define RGBLIGHT_LAYERS + +/* ws2812 RGB LED */ +#define WS2812_DI_PIN D3 + + +#ifdef RGB_MATRIX_ENABLE +#define RGBLIGHT_LED_COUNT 35 // Number of LEDs +#define RGBLIGHT_LED_COUNT 35 // Number of LEDs +#define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT +#endif + +#ifdef RGBLIGHT_ENABLE + #undef RGBLIGHT_LED_COUNT + + //#define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL + //#define RGBLIGHT_EFFECT_SNAKE + //#define RGBLIGHT_EFFECT_KNIGHT + //#define RGBLIGHT_EFFECT_CHRISTMAS + //#define RGBLIGHT_EFFECT_STATIC_GRADIENT + //#define RGBLIGHT_EFFECT_RGB_TEST + //#define RGBLIGHT_EFFECT_ALTERNATING + //#define RGBLIGHT_EFFECT_TWINKLE + + #define RGBLIGHT_LED_COUNT 70 + #undef RGBLED_SPLIT + #define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet + + //#define RGBLIGHT_LED_COUNT 30 + #undef RGBLIGHT_LIMIT_VAL + #define RGBLIGHT_LIMIT_VAL 120 + #define RGBLIGHT_HUE_STEP 10 + #define RGBLIGHT_SAT_STEP 17 + #define RGBLIGHT_VAL_STEP 17 +#endif + +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_KEYPRESSES // reacts to keypresses +// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +# define RGB_MATRIX_SLEEP // turn off effects when suspended +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) +// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. + +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_GRADIENT_LEFT_RIGHT + +# define RGB_MATRIX_HUE_STEP 8 +# define RGB_MATRIX_SAT_STEP 8 +# define RGB_MATRIX_VAL_STEP 8 +# define RGB_MATRIX_SPD_STEP 10 + +/* Disable the animations you don't want/need. You will need to disable a good number of these * + * because they take up a lot of space. Disable until you can successfully compile your firmware. */ + // # undef ENABLE_RGB_MATRIX_ALPHAS_MODS + // # undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN + // # undef ENABLE_RGB_MATRIX_BREATHING + // # undef ENABLE_RGB_MATRIX_CYCLE_ALL + // # undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + // # undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN + // # undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN + // # undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL + // # undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + // # undef ENABLE_RGB_MATRIX_DUAL_BEACON + // # undef ENABLE_RGB_MATRIX_RAINBOW_BEACON + // # undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + // # undef ENABLE_RGB_MATRIX_RAINDROPS + // # undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + // # undef ENABLE_RGB_MATRIX_TYPING_HEATMAP + // # undef ENABLE_RGB_MATRIX_DIGITAL_RAIN + // # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE + // # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + // # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + // # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + // # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + // # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + // # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + // # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + // # undef ENABLE_RGB_MATRIX_SPLASH + // # undef ENABLE_RGB_MATRIX_MULTISPLASH + // # undef ENABLE_RGB_MATRIX_SOLID_SPLASH + // # undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif diff --git a/keyboards/sofle/keymaps/rgb_default/keymap.c b/keyboards/sofle/keymaps/rgb_default/keymap.c new file mode 100644 index 0000000000..e992cf9adb --- /dev/null +++ b/keyboards/sofle/keymaps/rgb_default/keymap.c @@ -0,0 +1,559 @@ + + /* Copyright 2021 Dane Evans + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + // SOFLE RGB +#include + +#include QMK_KEYBOARD_H + +#define INDICATOR_BRIGHTNESS 30 + +#define HSV_OVERRIDE_HELP(h, s, v, Override) h, s , Override +#define HSV_OVERRIDE(hsv, Override) HSV_OVERRIDE_HELP(hsv,Override) + +// Light combinations +#define SET_INDICATORS(hsv) \ + {0, 1, HSV_OVERRIDE_HELP(hsv, INDICATOR_BRIGHTNESS)}, \ + {35+0, 1, hsv} +#define SET_UNDERGLOW(hsv) \ + {1, 6, hsv}, \ + {35+1, 6,hsv} +#define SET_NUMPAD(hsv) \ + {35+15, 5, hsv},\ + {35+22, 3, hsv},\ + {35+27, 3, hsv} +#define SET_NUMROW(hsv) \ + {10, 2, hsv}, \ + {20, 2, hsv}, \ + {30, 2, hsv}, \ + {35+ 10, 2, hsv}, \ + {35+ 20, 2, hsv}, \ + {35+ 30, 2, hsv} +#define SET_INNER_COL(hsv) \ + {33, 4, hsv}, \ + {35+ 33, 4, hsv} + +#define SET_OUTER_COL(hsv) \ + {7, 4, hsv}, \ + {35+ 7, 4, hsv} +#define SET_THUMB_CLUSTER(hsv) \ + {25, 2, hsv}, \ + {35+ 25, 2, hsv} +#define SET_LAYER_ID(hsv) \ + {0, 1, HSV_OVERRIDE_HELP(hsv, INDICATOR_BRIGHTNESS)}, \ + {35+0, 1, HSV_OVERRIDE_HELP(hsv, INDICATOR_BRIGHTNESS)}, \ + {1, 6, hsv}, \ + {35+1, 6, hsv}, \ + {7, 4, hsv}, \ + {35+ 7, 4, hsv}, \ + {25, 2, hsv}, \ + {35+ 25, 2, hsv} + + +enum sofle_layers { + _DEFAULTS = 0, + _QWERTY = 0, + _COLEMAK, + _COLEMAKDH, + _LOWER, + _RAISE, + _ADJUST, + _NUMPAD, + _SWITCH +}; + +enum custom_keycodes { + KC_LOWER = SAFE_RANGE, + KC_RAISE, + KC_ADJUST, + KC_D_MUTE +}; + +#define KC_QWERTY PDF(_QWERTY) +#define KC_COLEMAK PDF(_COLEMAK) +#define KC_COLEMAKDH PDF(_COLEMAKDH) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * QWERTY + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | Q | W | E | R | T | | Y | U | I | O | P | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |LShift| A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | + * |------+------+------+------+------+------| MUTE | |DISCORD|------+------+------+------+------+------| + * | LCTR | Z | X | C | V | B |-------| |-------| N | M | , | . | / |LShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + [_QWERTY] = LAYOUT( + //,------------------------------------------------. ,---------------------------------------------------. + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LT(_SWITCH,KC_6), KC_7, KC_8, KC_9, KC_0, KC_GRV, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + LT(_NUMPAD,KC_TAB),KC_Q,KC_W,KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_D_MUTE,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + KC_BSPC, KC_LGUI, KC_LOWER, KC_SPC, KC_ENT , KC_SPC, KC_ENT , KC_RAISE, KC_RCTL, KC_RALT + // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/ +), + +/* + * COLEMAK + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | Q | W | F | P | G | | J | L | U | Y | ; | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |LShift| A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' | + * |------+------+------+------+------+------| MUTE | |DISCORD|------+------+------+------+------+------| + * | LCTR | Z | X | C | V | B |-------| |-------| K | M | , | . | / |LShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_COLEMAK] = LAYOUT( + //,------------------------------------------------. ,---------------------------------------------------. + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, LT(_SWITCH,KC_6), KC_7, KC_8, KC_9, KC_0, KC_TRNS, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + KC_TRNS, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TRNS, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + KC_TRNS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_TRNS, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TRNS, KC_TRNS,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/ +), + +/* + * COLEMAK-DH + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | Q | W | F | P | B | | J | L | U | Y | ; | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |LShift| A | R | S | T | G |-------. ,-------| M | N | E | I | O | ' | + * |------+------+------+------+------+------| MUTE | |DISCORD|------+------+------+------+------+------| + * | LCTR | Z | X | C | D | V |-------| |-------| K | H | , | . | / |LShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_COLEMAKDH] = LAYOUT( + //,------------------------------------------------. ,---------------------------------------------------. + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, LT(_SWITCH,KC_6), KC_7, KC_8, KC_9, KC_0, KC_TRNS, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + KC_TRNS, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TRNS, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + KC_TRNS, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_TRNS, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + KC_TRNS, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_TRNS, KC_TRNS,KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/ +), + +/* LOWER + * ,-----------------------------------------. ,-----------------------------------------. + * | trans| F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | trans| ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * | trans| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_LOWER] = LAYOUT( + //,------------------------------------------------. ,---------------------------------------------------. + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + _______, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_PGUP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_DEL, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + _______, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_PGDN,_______, _______,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/ +), +/* RAISE + * ,----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Esc | Ins | Pscr | Menu | | | | | PWrd | Up | NWrd | DLine| Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | LStr | | LEnd | | Shift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_RAISE] = LAYOUT( + //,------------------------------------------------. ,---------------------------------------------------. + _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_CIRC, KC_AMPR,KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + _______,KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX,_______, _______,KC_UNDS, KC_PLUS,KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/ +), +/* ADJUST + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | QK_BOOT| | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |UG_TOGG|hue^ |sat ^ | bri ^| |COLEMAK|-------. ,-------|desk <| | |desk >| | | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * | mode | hue dn|sat d|bri dn| |QWERTY|-------| |-------| | PREV | PLAY | NEXT | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + [_ADJUST] = LAYOUT( + //,------------------------------------------------. ,---------------------------------------------------. + EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + QK_BOOT, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + UG_TOGG, UG_HUEU,UG_SATU, UG_VALU, KC_COLEMAKDH,KC_COLEMAK, C(G(KC_LEFT)),KC_NO,KC_NO,C(G(KC_RGHT)),XXXXXXX, XXXXXXX, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + UG_NEXT, UG_HUED,UG_SATD, UG_VALD, XXXXXXX,KC_QWERTY,XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/ +), +/* NUMPAD + * ,-----------------------------------------. ,-----------------------------------------. + * | trans| | | | | | | |NumLck| | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ` | | | | | | | ^ | 7 | 8 | 9 | * | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | trans| | | | | |-------. ,-------| - | 4 | 5 | 6 | | | | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * | trans| | | | | |-------| |-------| + | 1 | 2 | 3 | \ | Shift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE | 0 | . | RAlt | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_NUMPAD] = LAYOUT( + //,------------------------------------------------. ,---------------------------------------------------. + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_NUM, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CIRC, KC_P7, KC_P8, KC_P9, KC_ASTR, XXXXXXX, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_P4, KC_P5, KC_P6, KC_EQL, KC_PIPE, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,_______, _______,KC_PLUS, KC_P1, KC_P2, KC_P3, KC_SLSH, _______, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + _______, OSM(MOD_MEH), _______, _______, _______, _______, _______, KC_P0, KC_PDOT, _______ + // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/ +), + +/* SWITCH + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | qwer | cole |col_dh| low | raise| adj | |numpad| | | | |QK_BOOT | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | |-------. ,-------| | | | | |EE_CLR| + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * | SLEEP| | | | | |-------| |-------| | | | | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE | 0 | . | RAlt | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + // layer switcher +[_SWITCH] = LAYOUT( + //,------------------------------------------------. ,---------------------------------------------------. + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), TO(6), KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, + //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------| + KC_NO, KC_NO, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EE_CLR, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + KC_SYSTEM_SLEEP,KC_NO,KC_NO,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------| + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/ + + ), +}; + +#ifdef RGBLIGHT_ENABLE +char layer_state_str[70]; +// Now define the array of layers. Later layers take precedence + +// QWERTY, +// Light on inner column and underglow +const rgblight_segment_t PROGMEM layer_qwerty_lights[] = RGBLIGHT_LAYER_SEGMENTS( + SET_LAYER_ID(HSV_RED) + +); +const rgblight_segment_t PROGMEM layer_colemakdh_lights[] = RGBLIGHT_LAYER_SEGMENTS( + SET_LAYER_ID(HSV_PINK) +); + +// _NUM, +// Light on outer column and underglow +const rgblight_segment_t PROGMEM layer_num_lights[] = RGBLIGHT_LAYER_SEGMENTS( + SET_LAYER_ID(HSV_TEAL) + +); +// _SYMBOL, +// Light on inner column and underglow +const rgblight_segment_t PROGMEM layer_symbol_lights[] = RGBLIGHT_LAYER_SEGMENTS( + SET_LAYER_ID(HSV_BLUE) + + ); +// _COMMAND, +// Light on inner column and underglow +const rgblight_segment_t PROGMEM layer_command_lights[] = RGBLIGHT_LAYER_SEGMENTS( + SET_LAYER_ID(HSV_PURPLE) +); + +//_NUMPAD +const rgblight_segment_t PROGMEM layer_numpad_lights[] = RGBLIGHT_LAYER_SEGMENTS( + SET_INDICATORS(HSV_ORANGE), + SET_UNDERGLOW(HSV_ORANGE), + SET_NUMPAD(HSV_BLUE), + {7, 4, HSV_ORANGE}, + {25, 2, HSV_ORANGE}, + {35+6, 4, HSV_ORANGE}, + {35+25, 2, HSV_ORANGE} + ); +// _SWITCHER // light up top row +const rgblight_segment_t PROGMEM layer_switcher_lights[] = RGBLIGHT_LAYER_SEGMENTS( + SET_LAYER_ID(HSV_GREEN), + SET_NUMROW(HSV_GREEN) +); + +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + + layer_qwerty_lights, + layer_num_lights,// overrides layer 1 + layer_symbol_lights, + layer_command_lights, + layer_numpad_lights, + layer_switcher_lights, // Overrides other layers + layer_colemakdh_lights +); + +layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(0, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_QWERTY)); + rgblight_set_layer_state(7, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_COLEMAKDH)); + + + rgblight_set_layer_state(1, layer_state_cmp(state, _LOWER)); + rgblight_set_layer_state(2, layer_state_cmp(state, _RAISE)); + rgblight_set_layer_state(3, layer_state_cmp(state, _ADJUST)); + rgblight_set_layer_state(4, layer_state_cmp(state, _NUMPAD)); + rgblight_set_layer_state(5, layer_state_cmp(state, _SWITCH)); + return state; +} +void keyboard_post_init_user(void) { + // Enable the LED layers + rgblight_layers = my_rgb_layers; + + rgblight_mode(10);// haven't found a way to set this in a more useful way + +} +#endif + +#ifdef OLED_ENABLE + +static void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + + oled_write_P(qmk_logo, false); +} + +static void print_status_narrow(void) { + // Print current mode + oled_write_P(PSTR("\n\n"), false); + oled_write_ln_P(PSTR("Dane\nEvans"), false); + + oled_write_ln_P(PSTR(""), false); + + //snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state) + + + switch (get_highest_layer(default_layer_state)) { + case _QWERTY: + oled_write_ln_P(PSTR("Qwrt"), false); + break; + case _COLEMAK: + oled_write_ln_P(PSTR("Clmk"), false); + break; + case _COLEMAKDH: + oled_write_ln_P(PSTR("CmkDH"), false); + break; + + default: + oled_write_ln_P(PSTR("Undef"), false); + } + oled_write_P(PSTR("\n\n"), false); + // Print current layer + oled_write_ln_P(PSTR("LAYER"), false); + switch (get_highest_layer(layer_state)) { + case _COLEMAK: + case _QWERTY: + case _COLEMAKDH: + oled_write_P(PSTR("Base\n"), false); + break; + case _RAISE: + oled_write_P(PSTR("Raise"), false); + break; + case _LOWER: + oled_write_P(PSTR("Lower"), false); + break; + case _ADJUST: + oled_write_P(PSTR("Adj\n"), false); + break; + case _NUMPAD: + oled_write_P(PSTR("Nump\n"), false); + break; + case _SWITCH: + oled_write_P(PSTR("Swit\n"), false); + break; + default: + oled_write_ln_P(PSTR("Undef"), false); + } +} + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_270; + } + return rotation; +} + +bool oled_task_user(void) { + if (is_keyboard_master()) { + print_status_narrow(); + } else { + render_logo(); + } + return false; +} + +#endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case KC_RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case KC_ADJUST: + if (record->event.pressed) { + layer_on(_ADJUST); + } else { + layer_off(_ADJUST); + } + return false; + case KC_D_MUTE: + if (record->event.pressed) { + register_mods(mod_config(MOD_MEH)); + register_code(KC_UP); + } else { + unregister_mods(mod_config(MOD_MEH)); + unregister_code(KC_UP); + } + } + return true; +} + +#ifdef ENCODER_ENABLE + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { + switch (get_highest_layer(layer_state)) { + case _COLEMAK: + case _QWERTY: + case _COLEMAKDH: + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + break; + case _RAISE: + case _LOWER: + if (clockwise) { + tap_code(KC_DOWN); + } else { + tap_code(KC_UP); + } + break; + default: + if (clockwise) { + tap_code(KC_WH_D); + } else { + tap_code(KC_WH_U); + } + break; + } + } + return true; +} + +#endif diff --git a/keyboards/sofle/keymaps/rgb_default/rules.mk b/keyboards/sofle/keymaps/rgb_default/rules.mk new file mode 100644 index 0000000000..0d18161a0d --- /dev/null +++ b/keyboards/sofle/keymaps/rgb_default/rules.mk @@ -0,0 +1,7 @@ +MOUSEKEY_ENABLE = yes +EXTRAKEY_ENABLE = yes +CONSOLE_ENABLE = no +RGBLIGHT_ENABLE = yes +ENCODER_ENABLE = yes +LTO_ENABLE = yes +OLED_ENABLE = yes diff --git a/keyboards/sofle/readme.md b/keyboards/sofle/readme.md index 6af2a93ec5..7e8ef215c2 100644 --- a/keyboards/sofle/readme.md +++ b/keyboards/sofle/readme.md @@ -4,37 +4,24 @@ Sofle is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards. -More details about the keyboard and build guides can be found here: [Sofle Keyboard Build Log and Guide](https://josefadamcik.github.io/SofleKeyboard) +More details about the keyboard on my blog: [Let me introduce you SofleKeyboard - a split keyboard based on Lily58 and Crkbd](https://josef-adamcik.cz/electronics/let-me-introduce-you-sofle-keyboard-split-keyboard-based-on-lily58.html) + +The current (temporary) build guide and a build log is available here: [SofleKeyboard build log/guide](https://josef-adamcik.cz/electronics/soflekeyboard-build-log-and-build-guide.html) * Keyboard Maintainer: [Josef Adamcik](https://josef-adamcik.cz) [Twitter:@josefadamcik](https://twitter.com/josefadamcik) * Hardware Supported: SofleKeyboard PCB, ProMicro * Hardware Availability: [PCB & Case Data](https://github.com/josefadamcik/SofleKeyboard) -## Firmware Revisions -- `sofle/rev1` is used for v1, v2, and RGB PCBs (**NOT** RGB PCBs purchased from [Keyhive](https://keyhive.xyz)) -- `sofle/keyhive` is used for PCBs purchased from [Keyhive](https://keyhive.xyz/shop/sofle) -- [`keyboards/sofle_choc`](../sofle_choc/) is used for Choc PCBs - Make example for this keyboard (after setting up your build environment): - make sofle/rev1:default - make sofle/keyhive:default + make sofle:default -Flashing example for this keyboard: +Flash the default keymap: - make sofle/rev1:default:flash - make sofle/keyhive:default:flash + make sofle:default:avrdude Press reset button on he keyboard when asked. Disconnect the first half, connect the second one and repeat the process. See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix -* **Physical reset button**: Briefly press the button near the TRRS connector. Quickly double-tap if you are using Pro Micro. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/sofle/rev1/readme.md b/keyboards/sofle/rev1/readme.md new file mode 100644 index 0000000000..1d229030c4 --- /dev/null +++ b/keyboards/sofle/rev1/readme.md @@ -0,0 +1,27 @@ +# Sofle Keyboard + +![SofleKeyboard version 1](https://i.imgur.com/S5GTKth.jpeg) + +Sofle is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards. + +More details about the keyboard on my blog: [Let me introduce you SofleKeyboard - a split keyboard based on Lily58 and Crkbd](https://josef-adamcik.cz/electronics/let-me-introduce-you-sofle-keyboard-split-keyboard-based-on-lily58.html) + +The current (temporary) build guide and a build log is available here: [SofleKeyboard build log/guide](https://josef-adamcik.cz/electronics/soflekeyboard-build-log-and-build-guide.html) + +* Keyboard Maintainer: [Josef Adamcik](https://josef-adamcik.cz) [Twitter:@josefadamcik](https://twitter.com/josefadamcik) +* Hardware Supported: SofleKeyboard PCB, ProMicro +* Hardware Availability: [PCB & Case Data](https://github.com/josefadamcik/SofleKeyboard) + +Make example for this keyboard (after setting up your build environment): + + make sofle:default + +Flashing example for this keyboard: + + make sofle:default:flash + +Press reset button on he keyboard when asked. + +Disconnect the first half, connect the second one and repeat the process. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/sofle/rules.mk b/keyboards/sofle/rules.mk new file mode 100644 index 0000000000..a7307c3499 --- /dev/null +++ b/keyboards/sofle/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = sofle/rev1 diff --git a/keyboards/sofle/sofle.c b/keyboards/sofle/sofle.c index bbd9595def..3f88e2b5ba 100644 --- a/keyboards/sofle/sofle.c +++ b/keyboards/sofle/sofle.c @@ -85,13 +85,10 @@ void print_status_narrow(void) { oled_write_P(PSTR("Base\n"), false); break; case 2: - oled_write_P(PSTR("Lower"), false); - break; - case 3: oled_write_P(PSTR("Raise"), false); break; - case 4: - oled_write_P(PSTR("Adjust"), false); + case 3: + oled_write_P(PSTR("Lower"), false); break; default: oled_write_ln_P(PSTR("Undef"), false); diff --git a/keyboards/soup10/keyboard.json b/keyboards/soup10/keyboard.json index 08c1b8b5dd..f4e1947652 100644 --- a/keyboards/soup10/keyboard.json +++ b/keyboards/soup10/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true @@ -31,7 +33,8 @@ "bootmagic": { "matrix": [0, 1] }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/sowbug/68keys/keyboard.json b/keyboards/sowbug/68keys/keyboard.json index be4ffbf9a9..7143f341b5 100644 --- a/keyboards/sowbug/68keys/keyboard.json +++ b/keyboards/sowbug/68keys/keyboard.json @@ -63,6 +63,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/sowbug/ansi_tkl/keyboard.json b/keyboards/sowbug/ansi_tkl/keyboard.json index 50b9d8095a..837e08a59e 100644 --- a/keyboards/sowbug/ansi_tkl/keyboard.json +++ b/keyboards/sowbug/ansi_tkl/keyboard.json @@ -63,6 +63,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/soy20/keyboard.json b/keyboards/soy20/keyboard.json index 901aa9e868..77524eff6c 100644 --- a/keyboards/soy20/keyboard.json +++ b/keyboards/soy20/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Soy20", "manufacturer": "drewkeys", + "url": "", "maintainer": "twholt", "usb": { "vid": "0x4452", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/spaceholdings/nebula12/keyboard.json b/keyboards/spaceholdings/nebula12/keyboard.json index 7157cfc05b..2b170e8e61 100755 --- a/keyboards/spaceholdings/nebula12/keyboard.json +++ b/keyboards/spaceholdings/nebula12/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NEBULA12", "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "yiancar", "usb": { "vid": "0x8968", diff --git a/keyboards/spaceholdings/nebula12b/keyboard.json b/keyboards/spaceholdings/nebula12b/keyboard.json index 6990da485b..961e971885 100755 --- a/keyboards/spaceholdings/nebula12b/keyboard.json +++ b/keyboards/spaceholdings/nebula12b/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NEBULA12B", "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "yiancar", "usb": { "vid": "0x8968", @@ -64,6 +65,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/spaceholdings/nebula68/keyboard.json b/keyboards/spaceholdings/nebula68/keyboard.json index 8eb6d67a03..47cab7a5b0 100755 --- a/keyboards/spaceholdings/nebula68/keyboard.json +++ b/keyboards/spaceholdings/nebula68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NEBULA68", "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "yiancar", "usb": { "vid": "0x8968", diff --git a/keyboards/spaceholdings/nebula68b/info.json b/keyboards/spaceholdings/nebula68b/info.json index 1c279ee715..3a7f6f9b25 100644 --- a/keyboards/spaceholdings/nebula68b/info.json +++ b/keyboards/spaceholdings/nebula68b/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Yiancar-Designs", + "url": "", "maintainer": "yiancar", "usb": { "vid": "0x8968", @@ -64,6 +65,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/spaceholdings/nebula68b/rules.mk b/keyboards/spaceholdings/nebula68b/rules.mk new file mode 100644 index 0000000000..8fe37f83b3 --- /dev/null +++ b/keyboards/spaceholdings/nebula68b/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = spaceholdings/nebula68b/solder diff --git a/keyboards/spaceman/2_milk/keyboard.json b/keyboards/spaceman/2_milk/keyboard.json index 748f3e9854..4fdef6bace 100644 --- a/keyboards/spaceman/2_milk/keyboard.json +++ b/keyboards/spaceman/2_milk/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "2% Milk", "manufacturer": "Spaceman", + "url": "", "maintainer": "Spaceman", "usb": { "vid": "0x5342", @@ -13,7 +14,8 @@ "ws2812": { "pin": "B6" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "bootmagic": false, "command": true, diff --git a/keyboards/spaceman/pancake/rev1/feather/keyboard.json b/keyboards/spaceman/pancake/rev1/feather/keyboard.json index 7ba561ab61..3b82e3d499 100644 --- a/keyboards/spaceman/pancake/rev1/feather/keyboard.json +++ b/keyboards/spaceman/pancake/rev1/feather/keyboard.json @@ -1,6 +1,4 @@ { - "processor": "atmega32u4", - "bootloader": "caterina", "features": { "bluetooth": true, "bootmagic": true, diff --git a/keyboards/spaceman/pancake/rev1/info.json b/keyboards/spaceman/pancake/rev1/info.json index 29f48c672b..0814e11244 100644 --- a/keyboards/spaceman/pancake/rev1/info.json +++ b/keyboards/spaceman/pancake/rev1/info.json @@ -1,12 +1,15 @@ { "keyboard_name": "Pancake", "manufacturer": "Spaceman", + "url": "", "maintainer": "Spaceman", "usb": { "vid": "0x5342", "pid": "0x504B", "device_version": "0.0.1" }, + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["ortho_4x12", "planck_mit"], "layouts": { "LAYOUT_planck_mit": { diff --git a/keyboards/spaceman/pancake/rev1/promicro/keyboard.json b/keyboards/spaceman/pancake/rev1/promicro/keyboard.json index feda013255..658eaa39c1 100644 --- a/keyboards/spaceman/pancake/rev1/promicro/keyboard.json +++ b/keyboards/spaceman/pancake/rev1/promicro/keyboard.json @@ -1,5 +1,4 @@ { - "development_board": "promicro", "features": { "bootmagic": true, "command": true, diff --git a/keyboards/spaceman/pancake/rev2/keyboard.json b/keyboards/spaceman/pancake/rev2/keyboard.json index 2e7dd8f6b4..88bf2a0b9f 100644 --- a/keyboards/spaceman/pancake/rev2/keyboard.json +++ b/keyboards/spaceman/pancake/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pancake 2", "manufacturer": "Spaceman", + "url": "", "maintainer": "Spaceman", "usb": { "vid": "0x5342", diff --git a/keyboards/spaceman/yun65/keyboard.json b/keyboards/spaceman/yun65/keyboard.json index 1f57af8e0d..017de06abb 100644 --- a/keyboards/spaceman/yun65/keyboard.json +++ b/keyboards/spaceman/yun65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Yun 65", "manufacturer": "Spaceman", + "url": "", "maintainer": "Spaceman", "usb": { "vid": "0x5342", diff --git a/keyboards/spacetime/info.json b/keyboards/spacetime/info.json index b11a43f53c..4e3682a8c2 100644 --- a/keyboards/spacetime/info.json +++ b/keyboards/spacetime/info.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": true, "mousekey": true, @@ -32,7 +33,8 @@ "pin": "D0" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/spacetime/rules.mk b/keyboards/spacetime/rules.mk new file mode 100644 index 0000000000..ac339c2cef --- /dev/null +++ b/keyboards/spacetime/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = spacetime/rev1 diff --git a/keyboards/sparrow62/keyboard.json b/keyboards/sparrow62/keyboard.json index e732ab6539..96447b6a36 100644 --- a/keyboards/sparrow62/keyboard.json +++ b/keyboards/sparrow62/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -34,7 +36,8 @@ "pin": "D2" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/specskeys/keyboard.json b/keyboards/specskeys/keyboard.json index 73d34e4a39..104b1ea13d 100644 --- a/keyboards/specskeys/keyboard.json +++ b/keyboards/specskeys/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Specskeys", "manufacturer": "Specs32", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xCAFE", diff --git a/keyboards/spiderisland/split78/keyboard.json b/keyboards/spiderisland/split78/keyboard.json index 4a818470f8..cd49755b0f 100644 --- a/keyboards/spiderisland/split78/keyboard.json +++ b/keyboards/spiderisland/split78/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Split 78-key", "manufacturer": "SpiderIsland", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/spleeb/rules.mk b/keyboards/spleeb/rules.mk deleted file mode 100644 index fedac72e2e..0000000000 --- a/keyboards/spleeb/rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c diff --git a/keyboards/spleeb/spleeb.c b/keyboards/spleeb/spleeb.c index 33131fa3e2..658f30df75 100644 --- a/keyboards/spleeb/spleeb.c +++ b/keyboards/spleeb/spleeb.c @@ -8,10 +8,6 @@ # include "print.h" #endif // CONSOLE_ENABLE -#ifdef POINTING_DEVICE_ENABLE -# include "drivers/sensors/cirque_pinnacle_gestures.h" -#endif // POINTING_DEVICE_ENABLE - #if defined(POINTING_DEVICE_ENABLE) || defined(SPLEEB_ENCODER_MODE_MAP_ENABLE) typedef union { uint16_t raw; diff --git a/keyboards/split67/keyboard.json b/keyboards/split67/keyboard.json index 6462149d3b..46b571420a 100644 --- a/keyboards/split67/keyboard.json +++ b/keyboards/split67/keyboard.json @@ -37,6 +37,7 @@ "pin": "D0" } }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0xBBBC", diff --git a/keyboards/splitish/keyboard.json b/keyboards/splitish/keyboard.json index 5984f2fd97..3df635e6bc 100644 --- a/keyboards/splitish/keyboard.json +++ b/keyboards/splitish/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Splitish", "manufacturer": "Reid Schneyer", + "url": "", "maintainer": "RSchneyer", "usb": { "vid": "0xFEED", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -25,7 +27,8 @@ "rows": ["B4", "B5", "B2", "B6"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/tests/tap_hold_configurations/flow_tap/test.mk b/keyboards/splitkb/aurora/corne/rules.mk similarity index 86% rename from tests/tap_hold_configurations/flow_tap/test.mk rename to keyboards/splitkb/aurora/corne/rules.mk index 81ba8da66d..9b4b90e972 100644 --- a/tests/tap_hold_configurations/flow_tap/test.mk +++ b/keyboards/splitkb/aurora/corne/rules.mk @@ -1,4 +1,4 @@ -# Copyright 2022 Vladislav Kucheriavykh +# Copyright 2022 splitkb.com # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -13,6 +13,4 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -COMBO_ENABLE = yes - -INTROSPECTION_KEYMAP_C = test_keymap.c +DEFAULT_FOLDER = splitkb/aurora/corne/rev1 diff --git a/keyboards/splitkb/aurora/helix/rules.mk b/keyboards/splitkb/aurora/helix/rules.mk new file mode 100644 index 0000000000..8130273c1f --- /dev/null +++ b/keyboards/splitkb/aurora/helix/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = splitkb/aurora/helix/rev1 \ No newline at end of file diff --git a/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test.mk b/keyboards/splitkb/aurora/lily58/rules.mk similarity index 85% rename from tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test.mk rename to keyboards/splitkb/aurora/lily58/rules.mk index 2b049cea3b..1f5b922836 100644 --- a/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test.mk +++ b/keyboards/splitkb/aurora/lily58/rules.mk @@ -1,5 +1,4 @@ -# Copyright 2022 Vladislav Kucheriavykh -# Copyright 2024 Google LLC +# Copyright 2022 splitkb.com # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -14,4 +13,4 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -INTROSPECTION_KEYMAP_C = test_keymap.c +DEFAULT_FOLDER = splitkb/aurora/lily58/rev1 diff --git a/keyboards/splitkb/aurora/sofle_v2/rules.mk b/keyboards/splitkb/aurora/sofle_v2/rules.mk new file mode 100644 index 0000000000..4a50c4dbb1 --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = splitkb/aurora/sofle_v2/rev1 \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sweep/keymaps/default/keymap.json b/keyboards/splitkb/aurora/sweep/keymaps/default/keymap.json index 885faaf858..1d308d531f 100644 --- a/keyboards/splitkb/aurora/sweep/keymaps/default/keymap.json +++ b/keyboards/splitkb/aurora/sweep/keymaps/default/keymap.json @@ -54,16 +54,31 @@ ] ], "config": { - "mousekey": { - "interval": 16, - "time_to_max": 40, - "delay": 100, - "wheel_delay": 100 + "features": { + "oled": true, + "rgb_matrix": true, + "rgblight": false }, - "tapping": { - "term": 200, - "permissive_hold": true, - "force_hold": true + "encoder": { + "enabled": true + }, + "rgblight": { + "hue_steps": 8, + "saturation_steps": 8, + "brightness_steps": 8, + "sleep": true } + }, + "mouse_key": { + "enabled": true, + "interval": 16, + "time_to_max": 40, + "delay": 100, + "wheel_delay": 100 + }, + "tapping": { + "term": 200, + "permissive_hold": true, + "force_hold": true } } diff --git a/tests/tap_hold_configurations/chordal_hold/permissive_hold/test.mk b/keyboards/splitkb/aurora/sweep/rules.mk similarity index 85% rename from tests/tap_hold_configurations/chordal_hold/permissive_hold/test.mk rename to keyboards/splitkb/aurora/sweep/rules.mk index 2b049cea3b..ec1e102039 100644 --- a/tests/tap_hold_configurations/chordal_hold/permissive_hold/test.mk +++ b/keyboards/splitkb/aurora/sweep/rules.mk @@ -1,5 +1,4 @@ -# Copyright 2022 Vladislav Kucheriavykh -# Copyright 2024 Google LLC +# Copyright 2022 splitkb.com # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -14,4 +13,4 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -INTROSPECTION_KEYMAP_C = test_keymap.c +DEFAULT_FOLDER = splitkb/aurora/sweep/rev1 diff --git a/keyboards/splitkb/elora/info.json b/keyboards/splitkb/elora/info.json deleted file mode 100644 index 2ed11bfd19..0000000000 --- a/keyboards/splitkb/elora/info.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "manufacturer": "splitkb.com", - "keyboard_name": "Elora", - "maintainer": "splitkb", - "build": { - "lto": true - }, - "split": { - "enabled": true - }, - "url": "https://splitkb.com", - "usb": { - "device_version": "1.0.0", - "vid": "0x8D1D" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "MX101", "matrix": [4, 1], "x": 0, "y": 0.75}, - {"label": "MX105", "matrix": [4, 2], "x": 1, "y": 0.75}, - {"label": "MX109", "matrix": [3, 1], "x": 2, "y": 0.25}, - {"label": "MX113", "matrix": [3, 2], "x": 3, "y": 0}, - {"label": "MX117", "matrix": [2, 1], "x": 4, "y": 0.25}, - {"label": "MX121", "matrix": [2, 2], "x": 5, "y": 0.5}, - {"label": "LPED1", "matrix": [0, 1], "x": 7, "y": 0}, - {"label": "RPED1", "matrix": [6, 6], "x": 8.5, "y": 0}, - {"label": "MX221", "matrix": [8, 5], "x": 10.5, "y": 0.5}, - {"label": "MX217", "matrix": [8, 6], "x": 11.5, "y": 0.25}, - {"label": "MX213", "matrix": [9, 5], "x": 12.5, "y": 0}, - {"label": "MX209", "matrix": [9, 6], "x": 13.5, "y": 0.25}, - {"label": "MX205", "matrix": [10, 5], "x": 14.5, "y": 0.75}, - {"label": "MX201", "matrix": [10, 6], "x": 15.5, "y": 0.75}, - {"label": "MX102", "matrix": [4, 0], "x": 0, "y": 1.75}, - {"label": "MX106", "matrix": [4, 3], "x": 1, "y": 1.75}, - {"label": "MX110", "matrix": [3, 0], "x": 2, "y": 1.25}, - {"label": "MX114", "matrix": [3, 3], "x": 3, "y": 1}, - {"label": "MX118", "matrix": [2, 0], "x": 4, "y": 1.25}, - {"label": "MX122", "matrix": [2, 3], "x": 5, "y": 1.5}, - {"label": "LPED2", "matrix": [0, 2], "x": 7, "y": 1}, - {"label": "RPED2", "matrix": [6, 5], "x": 8.5, "y": 1}, - {"label": "MX222", "matrix": [8, 4], "x": 10.5, "y": 1.5}, - {"label": "MX218", "matrix": [8, 7], "x": 11.5, "y": 1.25}, - {"label": "MX214", "matrix": [9, 4], "x": 12.5, "y": 1}, - {"label": "MX210", "matrix": [9, 7], "x": 13.5, "y": 1.25}, - {"label": "MX206", "matrix": [10, 4], "x": 14.5, "y": 1.75}, - {"label": "MX202", "matrix": [10, 7], "x": 15.5, "y": 1.75}, - {"label": "MX103", "matrix": [4, 7], "x": 0, "y": 2.75}, - {"label": "MX107", "matrix": [4, 4], "x": 1, "y": 2.75}, - {"label": "MX111", "matrix": [3, 7], "x": 2, "y": 2.25}, - {"label": "MX115", "matrix": [3, 4], "x": 3, "y": 2}, - {"label": "MX119", "matrix": [2, 7], "x": 4, "y": 2.25}, - {"label": "MX123", "matrix": [2, 4], "x": 5, "y": 2.5}, - {"label": "LPED3", "matrix": [0, 3], "x": 7, "y": 2}, - {"label": "RPED3", "matrix": [6, 4], "x": 8.5, "y": 2}, - {"label": "MX223", "matrix": [8, 3], "x": 10.5, "y": 2.5}, - {"label": "MX219", "matrix": [8, 0], "x": 11.5, "y": 2.25}, - {"label": "MX215", "matrix": [9, 3], "x": 12.5, "y": 2}, - {"label": "MX211", "matrix": [9, 0], "x": 13.5, "y": 2.25}, - {"label": "MX207", "matrix": [10, 3], "x": 14.5, "y": 2.75}, - {"label": "MX203", "matrix": [10, 0], "x": 15.5, "y": 2.75}, - {"label": "MX104", "matrix": [4, 6], "x": 0, "y": 3.75}, - {"label": "MX108", "matrix": [4, 5], "x": 1, "y": 3.75}, - {"label": "MX112", "matrix": [3, 6], "x": 2, "y": 3.25}, - {"label": "MX116", "matrix": [3, 5], "x": 3, "y": 3}, - {"label": "MX120", "matrix": [2, 6], "x": 4, "y": 3.25}, - {"label": "MX124", "matrix": [2, 5], "x": 5, "y": 3.5}, - {"label": "MX131", "matrix": [0, 0], "x": 6, "y": 4}, - {"label": "MX130", "matrix": [0, 4], "x": 7, "y": 4.25}, - {"label": "MX230", "matrix": [6, 3], "x": 8.5, "y": 4.25}, - {"label": "MX231", "matrix": [6, 7], "x": 9.5, "y": 4}, - {"label": "MX224", "matrix": [8, 2], "x": 10.5, "y": 3.5}, - {"label": "MX220", "matrix": [8, 1], "x": 11.5, "y": 3.25}, - {"label": "MX216", "matrix": [9, 2], "x": 12.5, "y": 3}, - {"label": "MX212", "matrix": [9, 1], "x": 13.5, "y": 3.25}, - {"label": "MX208", "matrix": [10, 2], "x": 14.5, "y": 3.75}, - {"label": "MX204", "matrix": [10, 1], "x": 15.5, "y": 3.75}, - {"label": "MX125", "matrix": [1, 7], "x": 2.5, "y": 4.25}, - {"label": "MX126", "matrix": [1, 6], "x": 3.5, "y": 4.25}, - {"label": "MX127", "matrix": [1, 5], "x": 4.5, "y": 4.5}, - {"label": "MX128", "matrix": [1, 4], "x": 5.5, "y": 5}, - {"label": "MX129", "matrix": [0, 5], "x": 6.5, "y": 5.25}, - {"label": "MX229", "matrix": [6, 2], "x": 9, "y": 5.25}, - {"label": "MX228", "matrix": [7, 3], "x": 10, "y": 5}, - {"label": "MX227", "matrix": [7, 2], "x": 11, "y": 4.5}, - {"label": "MX226", "matrix": [7, 1], "x": 12, "y": 4.25}, - {"label": "MX225", "matrix": [7, 0], "x": 13, "y": 4.25} - ] - }, - "LAYOUT_myr": { - "layout": [ - {"label": "MX101", "matrix": [4, 1], "x": 0, "y": 0.75}, - {"label": "MX105", "matrix": [4, 2], "x": 1, "y": 0.75}, - {"label": "MX109", "matrix": [3, 1], "x": 2, "y": 0.25}, - {"label": "MX113", "matrix": [3, 2], "x": 3, "y": 0}, - {"label": "MX117", "matrix": [2, 1], "x": 4, "y": 0.25}, - {"label": "MX121", "matrix": [2, 2], "x": 5, "y": 0.5}, - {"label": "LPED1", "matrix": [0, 1], "x": 7, "y": 0}, - {"label": "RPED1", "matrix": [6, 6], "x": 8.5, "y": 0}, - {"label": "MX221", "matrix": [8, 5], "x": 10.5, "y": 0.5}, - {"label": "MX217", "matrix": [8, 6], "x": 11.5, "y": 0.25}, - {"label": "MX213", "matrix": [9, 5], "x": 12.5, "y": 0}, - {"label": "MX209", "matrix": [9, 6], "x": 13.5, "y": 0.25}, - {"label": "MX205", "matrix": [10, 5], "x": 14.5, "y": 0.75}, - {"label": "MX201", "matrix": [10, 6], "x": 15.5, "y": 0.75}, - {"label": "MX102", "matrix": [4, 0], "x": 0, "y": 1.75}, - {"label": "MX106", "matrix": [4, 3], "x": 1, "y": 1.75}, - {"label": "MX110", "matrix": [3, 0], "x": 2, "y": 1.25}, - {"label": "MX114", "matrix": [3, 3], "x": 3, "y": 1}, - {"label": "MX118", "matrix": [2, 0], "x": 4, "y": 1.25}, - {"label": "MX122", "matrix": [2, 3], "x": 5, "y": 1.5}, - {"label": "LPED2", "matrix": [0, 2], "x": 7, "y": 1}, - {"label": "RPED2", "matrix": [6, 5], "x": 8.5, "y": 1}, - {"label": "MX222", "matrix": [8, 4], "x": 10.5, "y": 1.5}, - {"label": "MX218", "matrix": [8, 7], "x": 11.5, "y": 1.25}, - {"label": "MX214", "matrix": [9, 4], "x": 12.5, "y": 1}, - {"label": "MX210", "matrix": [9, 7], "x": 13.5, "y": 1.25}, - {"label": "MX206", "matrix": [10, 4], "x": 14.5, "y": 1.75}, - {"label": "MX202", "matrix": [10, 7], "x": 15.5, "y": 1.75}, - {"label": "MX103", "matrix": [4, 7], "x": 0, "y": 2.75}, - {"label": "MX107", "matrix": [4, 4], "x": 1, "y": 2.75}, - {"label": "MX111", "matrix": [3, 7], "x": 2, "y": 2.25}, - {"label": "MX115", "matrix": [3, 4], "x": 3, "y": 2}, - {"label": "MX119", "matrix": [2, 7], "x": 4, "y": 2.25}, - {"label": "MX123", "matrix": [2, 4], "x": 5, "y": 2.5}, - {"label": "LPED3", "matrix": [0, 3], "x": 7, "y": 2}, - {"label": "RPED3", "matrix": [6, 4], "x": 8.5, "y": 2}, - {"label": "MX223", "matrix": [8, 3], "x": 10.5, "y": 2.5}, - {"label": "MX219", "matrix": [8, 0], "x": 11.5, "y": 2.25}, - {"label": "MX215", "matrix": [9, 3], "x": 12.5, "y": 2}, - {"label": "MX211", "matrix": [9, 0], "x": 13.5, "y": 2.25}, - {"label": "MX207", "matrix": [10, 3], "x": 14.5, "y": 2.75}, - {"label": "MX203", "matrix": [10, 0], "x": 15.5, "y": 2.75}, - {"label": "MX104", "matrix": [4, 6], "x": 0, "y": 3.75}, - {"label": "MX108", "matrix": [4, 5], "x": 1, "y": 3.75}, - {"label": "MX112", "matrix": [3, 6], "x": 2, "y": 3.25}, - {"label": "MX116", "matrix": [3, 5], "x": 3, "y": 3}, - {"label": "MX120", "matrix": [2, 6], "x": 4, "y": 3.25}, - {"label": "MX124", "matrix": [2, 5], "x": 5, "y": 3.5}, - {"label": "MX131", "matrix": [0, 0], "x": 6, "y": 4}, - {"label": "MX130", "matrix": [0, 4], "x": 7, "y": 4.25}, - {"label": "MX230", "matrix": [6, 3], "x": 8.5, "y": 4.25}, - {"label": "MX231", "matrix": [6, 7], "x": 9.5, "y": 4}, - {"label": "MX224", "matrix": [8, 2], "x": 10.5, "y": 3.5}, - {"label": "MX220", "matrix": [8, 1], "x": 11.5, "y": 3.25}, - {"label": "MX216", "matrix": [9, 2], "x": 12.5, "y": 3}, - {"label": "MX212", "matrix": [9, 1], "x": 13.5, "y": 3.25}, - {"label": "MX208", "matrix": [10, 2], "x": 14.5, "y": 3.75}, - {"label": "MX204", "matrix": [10, 1], "x": 15.5, "y": 3.75}, - {"label": "MX125", "matrix": [1, 7], "x": 2.5, "y": 4.25}, - {"label": "MX126", "matrix": [1, 6], "x": 3.5, "y": 4.25}, - {"label": "MX127", "matrix": [1, 5], "x": 4.5, "y": 4.5}, - {"label": "MX128", "matrix": [1, 4], "x": 5.5, "y": 5}, - {"label": "MX129", "matrix": [0, 5], "x": 6.5, "y": 5.25}, - {"label": "MX229", "matrix": [6, 2], "x": 9, "y": 5.25}, - {"label": "MX228", "matrix": [7, 3], "x": 10, "y": 5}, - {"label": "MX227", "matrix": [7, 2], "x": 11, "y": 4.5}, - {"label": "MX226", "matrix": [7, 1], "x": 12, "y": 4.25}, - {"label": "MX225", "matrix": [7, 0], "x": 13, "y": 4.25}, - {"label": "MYRL1", "matrix": [5, 0], "x": 0, "y": 6}, - {"label": "MYRL2", "matrix": [5, 1], "x": 1, "y": 6}, - {"label": "MYRL3", "matrix": [5, 2], "x": 2, "y": 6}, - {"label": "MYRL4", "matrix": [5, 3], "x": 3, "y": 6}, - {"label": "MYRL5", "matrix": [5, 4], "x": 5, "y": 6}, - {"label": "MYRR1", "matrix": [11, 0], "x": 8, "y": 6}, - {"label": "MYRR2", "matrix": [11, 1], "x": 9, "y": 6}, - {"label": "MYRR3", "matrix": [11, 2], "x": 10, "y": 6}, - {"label": "MYRR4", "matrix": [11, 3], "x": 11, "y": 6}, - {"label": "MYRR5", "matrix": [11, 4], "x": 13, "y": 6} - ] - } - } -} \ No newline at end of file diff --git a/keyboards/splitkb/elora/keymaps/debug/config.h b/keyboards/splitkb/elora/keymaps/debug/config.h deleted file mode 100644 index 0024fe4dfe..0000000000 --- a/keyboards/splitkb/elora/keymaps/debug/config.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// Myriad boilerplate -#define MYRIAD_ENABLE - -#define RGBLIGHT_EFFECT_BREATHING \ No newline at end of file diff --git a/keyboards/splitkb/elora/keymaps/debug/keymap.c b/keyboards/splitkb/elora/keymaps/debug/keymap.c deleted file mode 100644 index a8a5973b00..0000000000 --- a/keyboards/splitkb/elora/keymaps/debug/keymap.c +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum layers { - _DEFAULT = 0, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DEFAULT] = LAYOUT_myr( - KC_A, KC_E, KC_I, KC_M, KC_Q, KC_U, KC_9, KC_9, S(KC_U), S(KC_Q), S(KC_M), S(KC_I), S(KC_E), S(KC_A), - KC_B, KC_F, KC_J, KC_N, KC_R, KC_V, KC_8, KC_8, S(KC_V), S(KC_R), S(KC_N), S(KC_J), S(KC_F), S(KC_B), - KC_C, KC_G, KC_K, KC_O, KC_S, KC_W, KC_7, KC_7, S(KC_W), S(KC_S), S(KC_O), S(KC_K), S(KC_G), S(KC_C), - KC_D, KC_H, KC_L, KC_P, KC_T, KC_X, KC_5, KC_6, KC_6, KC_5, S(KC_X), S(KC_T), S(KC_P), S(KC_L), S(KC_H), S(KC_D), - KC_0, KC_1, KC_2, KC_3, KC_4, KC_4, KC_3, KC_2, KC_1, KC_0, - - KC_A, KC_B, KC_C, KC_D, KC_E, KC_A, KC_B, KC_C, KC_D, KC_E - ), -}; - -void keyboard_post_init_user(void) { - #ifdef RGBLIGHT_ENABLE - rgblight_enable_noeeprom(); // enables RGB, without saving settings - rgblight_sethsv_noeeprom(HSV_RED); // sets the color to red without saving - rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); // sets mode to Fast breathing without saving - #endif -} - -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - // 0-3 left-half encoders - // 4-7 are right-half encoders - if (index == 0) { - tap_code(KC_0); - } else if (index == 1) { - tap_code(KC_1); - } else if (index == 2) { - tap_code(KC_2); - } else if (index == 3) { - // Myriad - tap_code(KC_3); - } else if (index == 4) { - tap_code(KC_4); - } else if (index == 5) { - tap_code(KC_5); - } else if (index == 6) { - tap_code(KC_6); - } else if (index == 7) { - // Myriad - tap_code(KC_7); - } - - if (clockwise) { - tap_code16(KC_PLUS); - } else { - tap_code(KC_MINUS); - } - - return false; -} -#endif - -#ifdef OLED_ENABLE -bool oled_task_user(void) { - // A 128x32 OLED rotated 90 degrees is 5 characters wide and 16 characters tall - // This example string should fill that neatly - oled_write_P(PSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789!@#$%^&*()[]{}-=_+?"), is_keyboard_master()); - return false; -} -#endif diff --git a/keyboards/splitkb/elora/keymaps/debug/readme.md b/keyboards/splitkb/elora/keymaps/debug/readme.md deleted file mode 100644 index ec5705070c..0000000000 --- a/keyboards/splitkb/elora/keymaps/debug/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -# Elora's Debug Keymap - -To make debugging your build as easy as possible, we have provided a special debugging keymap. It is not intended to actually type on, it is just here to make sure that your hardware is working correctly. - -## Keys - -The left side uses lowercase letters, the right side uses uppercase ones. - -## Encoders - -Encoders output a number, depending on the installed position. -These correspond to the index used for custom encoder code. - -The number is followed by either a `+` or a `-`, depending on the direction turned. - -## LEDs - -Underglow RGB should be fading between red and off. - -## OLEDs - -Both the primary and secondary side should be filled with characters. diff --git a/keyboards/splitkb/elora/keymaps/debug/rules.mk b/keyboards/splitkb/elora/keymaps/debug/rules.mk deleted file mode 100644 index 6c52b64847..0000000000 --- a/keyboards/splitkb/elora/keymaps/debug/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -RGB_MATRIX_ENABLE = no -RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/splitkb/elora/keymaps/default/config.h b/keyboards/splitkb/elora/keymaps/default/config.h deleted file mode 100644 index e35c193957..0000000000 --- a/keyboards/splitkb/elora/keymaps/default/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// Myriad boilerplate -#define MYRIAD_ENABLE \ No newline at end of file diff --git a/keyboards/splitkb/elora/keymaps/default/keymap.c b/keyboards/splitkb/elora/keymaps/default/keymap.c deleted file mode 100644 index 84f53561fd..0000000000 --- a/keyboards/splitkb/elora/keymaps/default/keymap.c +++ /dev/null @@ -1,320 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum layers { - _QWERTY = 0, - _DVORAK, - _COLEMAK_DH, - _NAV, - _SYM, - _FUNCTION, - _ADJUST, -}; - -// Aliases for readability -#define QWERTY DF(_QWERTY) -#define COLEMAK DF(_COLEMAK_DH) -#define DVORAK DF(_DVORAK) - -#define SYM MO(_SYM) -#define NAV MO(_NAV) -#define FKEYS MO(_FUNCTION) -#define ADJUST MO(_ADJUST) - -#define CTL_ESC MT(MOD_LCTL, KC_ESC) -#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE) -#define CTL_MINS MT(MOD_RCTL, KC_MINUS) -#define ALT_ENT MT(MOD_LALT, KC_ENT) - -// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter. -// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and -// produces the key `tap` when tapped (i.e. pressed and released). - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - * Base Layer: QWERTY - * - * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | |LShift| |RShift| | 6 | 7 | 8 | 9 | 0 | Esc | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | |LCtrl | | RCtrl| | Y | U | I | O | P | Bksp | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * |Ctrl/Esc| A | S | D | F | G | | LAlt | | RAlt | | H | J | K | L | ; : |Ctrl/' "| - * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | - * | | | Enter| | | | | | | | | - * `----------------------------------' `----------------------------------' - * - * ,----------------------------. ,------. ,----------------------------. ,------. - * | Prev | Next | Pause | Stop | | Mute | | Prev | Next | Pause | Stop | | Mute | - * `----------------------------' `------' `----------------------------' '------' - */ - [_QWERTY] = LAYOUT_myr( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_LSFT, KC_RSFT, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC, - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_LCTL, KC_RCTL, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC, - CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_LALT, KC_RALT, KC_H , KC_J , KC_K , KC_L ,KC_SCLN,CTL_QUOT, - KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_N , KC_M ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT, - ADJUST , KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP, - - KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE - ), - -/* - * Base Layer: Dvorak - * - * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | |LShift| |RShift| | 6 | 7 | 8 | 9 | 0 | Esc | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * | Tab | ' " | , < | . > | P | Y | |LCtrl | | RCtrl| | F | G | C | R | L | Bksp | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * |Ctrl/Esc| A | O | E | U | I | | LAlt | | RAlt | | D | H | T | N | S |Ctrl/- _| - * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| - * | LShift | ; : | Q | J | K | X | [ { |CapsLk| |F-keys| ] } | B | M | W | V | Z | RShift | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | - * | | | Enter| | | | | | | | | - * `----------------------------------' `----------------------------------' - * - * ,----------------------------. ,------. ,----------------------------. ,------. - * | Prev | Next | Pause | Stop | | Mute | | Prev | Next | Pause | Stop | | Mute | - * `----------------------------' `------' `----------------------------' '------' - */ - [_DVORAK] = LAYOUT_myr( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_LSFT, KC_RSFT, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC, - KC_TAB ,KC_QUOTE,KC_COMM, KC_DOT, KC_P , KC_Y , KC_LCTL, KC_RCTL, KC_F, KC_G , KC_C , KC_R , KC_L , KC_BSPC, - CTL_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_LALT, KC_RALT, KC_D, KC_H , KC_T , KC_N , KC_S , CTL_MINS, - KC_LSFT ,KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_B, KC_M , KC_W , KC_V , KC_Z , KC_RSFT, - ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP, - - KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE - ), - -/* - * Base Layer: Colemak DH - * - * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | |LShift| |RShift| | 6 | 7 | 8 | 9 | 0 | Esc | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * | Tab | Q | W | F | P | B | |LCtrl | | RCtrl| | J | L | U | Y | ; : | Bksp | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * |Ctrl/Esc| A | R | S | T | G | | LAlt | | RAlt | | M | N | E | I | O |Ctrl/' "| - * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| - * | LShift | Z | X | C | D | V | [ { |CapsLk| |F-keys| ] } | K | H | , < | . > | / ? | RShift | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | - * | | | Enter| | | | | | | | | - * `----------------------------------' `----------------------------------' - * - * ,----------------------------. ,------. ,----------------------------. ,------. - * | Prev | Next | Pause | Stop | | Mute | | Prev | Next | Pause | Stop | | Mute | - * `----------------------------' `------' `----------------------------' '------' - */ - [_COLEMAK_DH] = LAYOUT_myr( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_LSFT, KC_RSFT, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC, - KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_LCTL, KC_RCTL, KC_J, KC_L , KC_U , KC_Y ,KC_SCLN, KC_BSPC, - CTL_ESC , KC_A , KC_R , KC_S , KC_T , KC_G , KC_LALT, KC_RALT, KC_M, KC_N , KC_E , KC_I , KC_O , CTL_QUOT, - KC_LSFT , KC_Z , KC_X , KC_C , KC_D , KC_V , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_K, KC_H ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT, - ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP, - - KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE - ), - -/* - * Nav Layer: Media, navigation - * - * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. - * | | | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * | | | | | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * | | GUI | Alt | Ctrl | Shift| | | | | | | PgDn | ← | ↓ | → | VolDn| Insert | - * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| - * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | | | | | | | | | | | | - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * - * ,----------------------------. ,------. ,----------------------------. ,------. - * | Prev | Next | Pause | Stop | | Mute | | Prev | Next | Pause | Stop | | Mute | - * `----------------------------' `------' `----------------------------' '------' - */ - [_NAV] = LAYOUT_myr( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL, - _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS, - _______, _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -/* - * Sym Layer: Numbers and symbols - * - * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. - * | | | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * | ` | 1 | 2 | 3 | 4 | 5 | | | | | | 6 | 7 | 8 | 9 | 0 | = | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * | ~ | ! | @ | # | $ | % | | | | | | ^ | & | * | ( | ) | + | - * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| - * | | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | | | | | | | | | | | | - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * - * ,-----------------------------. ,------. ,---------------------------. ,------. - * | | | | | | | | | | | | | | - * `-----------------------------' `------' `---------------------------' '------' - */ - [_SYM] = LAYOUT_myr( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , - KC_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, - KC_PIPE , KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_LCBR, _______, _______, KC_RCBR, KC_RBRC, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -/* - * Function Layer: Function keys - * - * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. - * | | | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * | | F9 | F10 | F11 | F12 | | | | | | | | | | | | | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * | | F5 | F6 | F7 | F8 | | | | | | | | Shift| Ctrl | Alt | GUI | | - * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| - * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | | | | | | | | | | | | - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * - * ,-----------------------------. ,------. ,---------------------------. ,------. - * | | | | | | | | | | | | | | - * `-----------------------------' `------' `---------------------------' '------' - */ - [_FUNCTION] = LAYOUT_myr( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_F9 , KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, - _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -/* - * Adjust Layer: Default layer settings, RGB - * - * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. - * | | | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * | | | |QWERTY| | | | | | | | | | | | | | - * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| - * | | | |Dvorak| | | | | | | | TOG | SAI | HUI | VAI | MOD | | - * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| - * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | | | | | | | | | | | | - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * - * ,-----------------------------. ,------. ,---------------------------. ,------. - * | | | | | | | | | | | | | | - * `-----------------------------' `------' `---------------------------' '------' - */ - [_ADJUST] = LAYOUT_myr( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, DVORAK , _______, _______, _______, _______, RM_TOGG, RM_SATU, RM_HUEU, RM_VALU, RM_NEXT, _______, - _______, _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RM_SATD, RM_HUED, RM_VALD, RM_PREV, _______, - _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - - ), - -// /* -// * Layer template - LAYOUT -// * -// * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. -// * | | | | | | | | | | | | | | | | | | -// * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| -// * | | | | | | | | | | | | | | | | | | -// * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| -// * | | | | | | | | | | | | | | | | | | -// * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| -// * | | | | | | | | | | | | | | | | | | -// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' -// * | | | | | | | | | | | | -// * | | | | | | | | | | | | -// * `----------------------------------' `----------------------------------' -// */ -// [_LAYERINDEX] = LAYOUT( -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -// ), - -// /* -// * Layer template - LAYOUT_myr -// * -// * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. -// * | | | | | | | | | | | | | | | | | | -// * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| -// * | | | | | | | | | | | | | | | | | | -// * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| -// * | | | | | | | | | | | | | | | | | | -// * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| -// * | | | | | | | | | | | | | | | | | | -// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' -// * | | | | | | | | | | | | -// * | | | | | | | | | | | | -// * `----------------------------------' `----------------------------------' -// * -// * ,-----------------------------. ,------. ,---------------------------. ,------. -// * | | | | | | | | | | | | | | -// * `-----------------------------' `------' `---------------------------' '------' -// */ -// [_LAYERINDEX] = LAYOUT_myr( -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -// ), -}; - -/* The default OLED and rotary encoder code can be found at the bottom of qmk_firmware/keyboards/splitkb/elora/rev1/rev1.c - * These default settings can be overriden by your own settings in your keymap.c - * DO NOT edit the rev1.c file; instead override the weakly defined default functions by your own. - */ - -/* DELETE THIS LINE TO UNCOMMENT (1/2) -#ifdef OLED_ENABLE -bool oled_task_user(void) { - // Your code goes here -} -#endif - -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - // Your code goes here -} -#endif -DELETE THIS LINE TO UNCOMMENT (2/2) */ diff --git a/keyboards/splitkb/elora/keymaps/default/readme.md b/keyboards/splitkb/elora/keymaps/default/readme.md deleted file mode 100644 index 7e95db3938..0000000000 --- a/keyboards/splitkb/elora/keymaps/default/readme.md +++ /dev/null @@ -1,50 +0,0 @@ -# Elora's Default Keymap -The default keymap contains 5 layers which allows it to include all keys found on an ANSI layout TKL keyboard plus media keys. -Hardware features of the Elora such as OLEDs, rotary encoders and underglow are also supported. - -The Elora keymap is in essence identical to the [Kyria keymap](https://github.com/qmk/qmk_firmware/blob/master/keyboards/splitkb/kyria/keymaps/default/readme.md), just with an additional number row. A deep dive into the keymap is provided there. - -The five different layers are the following: -1. Base layer (QWERTY, Colemak-DH or Dvorak) -2. Navigation layer -3. Symbols/Numbers layer -4. Function layer -5. Adjust layer - -## Base layer(s) -### Qwerty -![Qwerty](https://i.imgur.com/SZB1Z5gh.jpg) - -### Dvorak -![Dvorak](https://i.imgur.com/RWB5Qhnh.jpg) - -### Colemak-DH -![Colemak](https://i.imgur.com/4DjdGsGh.jpg) - -## Navigation layer -![Navigation](https://i.imgur.com/tDM1MZeh.jpg) - -## Symbols layer -![Symbol](https://i.imgur.com/9LsxnLRh.jpg) - -## Function layer -![Function](https://i.imgur.com/KMCqh7Ch.jpg) - -## Adjust layer -![Adjust](https://i.imgur.com/6WtMo8ih.jpg) - -# Hardware Features - -## Rotary Encoder -The left rotary encoders are programmed to send Left or Right whereas the right encoder sends PgUp or PgDn on every turn. - -## OLEDs -The OLEDs display the current layer at the top of the active layers stack, the Elora logo and lock status (caps lock, num lock, scroll lock). - -## Underglow -The underglow LEDs should default red. - -## Going further… -This default keymap can be used as is, unchanged, as a daily driver for your Elora but you're invited to treat your keymap like a bonsai. At the beginning, it's just like the default keymap but from time to time, you can tweak it a little. Cut a little key here, let another combo grow there. Slowly but surely it will be a unique keymap that will fit you like a glove. - -Check out the #keymap-ideas channel on the official splitkb Discord server for inspiration. \ No newline at end of file diff --git a/keyboards/splitkb/elora/readme.md b/keyboards/splitkb/elora/readme.md deleted file mode 100644 index 2935b7bd7d..0000000000 --- a/keyboards/splitkb/elora/readme.md +++ /dev/null @@ -1,43 +0,0 @@ -![Elora](https://i.imgur.com/AUCjyBuh.jpg) - -# Elora -The Elora is a 62-key keyboard, based on the Kyria by splitkb.com. It comes preassembled, is compatible with Vial so you don't need to program or compile your firmware, and accepts Myriad modules so you can add cool features with just a screwdriver. - -Keyboard Maintainer: [splitkb.com](https://github.com/splitkb) -Hardware Availability: [splitkb.com](https://splitkb.com). - -Make example for this keyboard (after setting up your build environment): - - make splitkb/elora/rev1:default - -The keyboard can be flashed by copying the resulting `splitkb_elora_rev1_default.uf2` file onto the `RPI-RP2` flash drive. - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader -You can enter the bootloader in 3 ways: - -* **Reset button**: Double-tap the reset button on the side of the PCB. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. -* **Bootloader reset**: As a last resort, hold down the small "Boot" button near the USB connector while plugging in the keyboard. - -# Features -The Elora is an evolved version of the Kyria that comes with a number row, and has an emphasis on ease of use for beginners, as well as being hackable for advanced customers. It comes preassembled: the only tool you need is a screwdriver. - -- A comfortable 62 keys, including a number row. It's perfect for beginners who want to feel what a split keyboard feels like without the layout feeling cramped, and a nice option for people who know they frequently use the number row, like typists, gamers, some software engineers and Excel warriors. -- Powered by an RP2040 controller, it’s quick enough to handle anything a keyboard should be able to do… and much more. -- 16 megabytes of flash memory ensure that it’s ready for just about everything. Putting a sped-up movie on an RGB display you’ve wired up to your prototyping Myriad module? Say no more. -- Supports MX switches with preassembled hot-swap sockets. No soldering iron needed. You can solder them to the alternative set of pads if you'd prefer to, though. -- Supports Choc switches by soldering. This does require assembly with tools like a soldering iron. Hot swap is still possible using Mill-Max sockets, which too require soldering. -- Subtle RGB underglow with 6 LEDs per half to personalise the colour of your keyboard. It can be disabled for those who don't want it. -- Supports the tenting puck, which allows you to mount it to most camera tripods so you can place your keyboard at exactly the angle you want it. -- Supports up to one Myriad module per half, so you can add a myriad of available modules without having to solder. -- Supports up to one 128x64 pixel OLED display per half, which doesn't require soldering. -- There's a TRRS jack for foot pedal or external switch support. You can use one such switch per half by default, but the wiring supports up to three external switches per half. Great for accessibility purposes, or just plain fun if you want to hook up a digital foot pedal to your voice chat software, game or whatever else you can think of. -- If you're into soldering, you can put up to three encoders per half on seven predefined locations: near the top of the thumb cluster, at the innermost thumb cluster button, or each location on the outer columns. If you don't want to solder, you can of course still use a rotary encoder Myriad module. - -# What's Myriad? - -![A collection of Myriad modules](https://i.imgur.com/86u7BLMl.jpg) - -Myriad is a system that allows you to plug in modules to add new functionality to your keyboard, all without having to solder. It's an [open standard](https://myriad.splitkb.com/), meaning that anyone will be able to create their own modules, which you can then plug into your keyboard. It's a very capable standard, so we're very curious to see what other modules you will come up with! diff --git a/keyboards/splitkb/elora/rev1/config.h b/keyboards/splitkb/elora/rev1/config.h deleted file mode 100644 index 7633cf00af..0000000000 --- a/keyboards/splitkb/elora/rev1/config.h +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// Make it easier to enter the bootloader -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U - -// I2C0, onboard SSD1306 socket and I2C to Myriad module -#define I2C_DRIVER I2CD0 -#define I2C1_SDA_PIN GP0 -#define I2C1_SCL_PIN GP1 -// We need to slow down the I2C clock because the default of 400.000 -// fails to communicate with Zetta ZD24C02A EEPROM on a Myriad card. -#define I2C1_CLOCK_SPEED 100000 - -// SPI1, both for onboard matrix data and SPI to Myriad module -#define SPI_DRIVER SPID1 -#define SPI_SCK_PIN GP10 -#define SPI_MOSI_PIN GP11 -#define SPI_MISO_PIN GP12 - -// UART1, communication between the two halves -#define SERIAL_USART_FULL_DUPLEX -#define SERIAL_USART_DRIVER SIOD1 -#define SERIAL_USART_TX_PIN GP20 -#define SERIAL_USART_RX_PIN GP21 - -// Potential onboard speaker, not populated by default -#define AUDIO_PIN GP23 - -// Transmitting pointing device status to the master side -#define SPLIT_POINTING_ENABLE -#define POINTING_DEVICE_COMBINED - -// VBUS detection -#define USB_VBUS_PIN GP25 - -// Define matrix size -#define MATRIX_COLS 8 -#define MATRIX_ROWS 12 - -// Encoders -// 3 onboard, 1 for Myriad -#define NUM_ENCODERS_LEFT 4 -#define NUM_ENCODERS_RIGHT 4 -#define ENCODER_RESOLUTION 2 - -// OLED display -#define OLED_DISPLAY_128X64 -// If someone has only one OLED display -// and that display was on the slave side. -// It wouldn't work at all. This fixes that -// including some code in rev1.c but makes -// it so the timeout's are not synced -// between halves. -#undef SPLIT_OLED_ENABLE -#define OLED_TIMEOUT 0 - diff --git a/keyboards/splitkb/elora/rev1/halconf.h b/keyboards/splitkb/elora/rev1/halconf.h deleted file mode 100644 index 4a2cc2c514..0000000000 --- a/keyboards/splitkb/elora/rev1/halconf.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_SIO TRUE -#define HAL_USE_I2C TRUE -#define HAL_USE_SPI TRUE -#define HAL_USE_ADC TRUE - -#include_next diff --git a/keyboards/splitkb/elora/rev1/keyboard.json b/keyboards/splitkb/elora/rev1/keyboard.json deleted file mode 100644 index 7996fdccb9..0000000000 --- a/keyboards/splitkb/elora/rev1/keyboard.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "keyboard_name": "Elora rev1", - "bootloader": "rp2040", - "features": { - "pointing_device": true, - "rgb_matrix": true, - "rgblight": false, - "encoder": true, - "oled": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "audio": false - }, - "processor": "RP2040", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"x": 90, "y": 0, "flags": 2}, - {"x": 45, "y": 0, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 45, "y": 64, "flags": 2}, - {"x": 90, "y": 64, "flags": 2}, - {"x": 134, "y": 0, "flags": 2}, - {"x": 179, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 179, "y": 64, "flags": 2}, - {"x": 134, "y": 64, "flags": 2} - ], - "max_brightness": 150, - "split_count": [6, 6] - }, - "rgblight": { - "led_count": 12, - "split": true - }, - "split": { - "enabled": true, - "handedness": { - "pin": "GP14" - }, - "serial": { - "driver": "usart" - }, - "transport": { - "sync": { - "matrix_state": true - }, - "watchdog": true, - "watchdog_timeout": 3000 - } - }, - "usb": { - "pid": "0x9D9D" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP15" - } -} diff --git a/keyboards/splitkb/elora/rev1/matrix.c b/keyboards/splitkb/elora/rev1/matrix.c deleted file mode 100644 index 625eafcd85..0000000000 --- a/keyboards/splitkb/elora/rev1/matrix.c +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "matrix.h" -#include "spi_master.h" - -// The matrix is hooked up to a chain of 74xx165 shift registers. -// Pin F0 acts as Chip Select (active-low) -// The signal goes to a NOT gate, whose output is wired to -// a) the latch pin of the shift registers -// b) the "enable" pin of a tri-state buffer, -// attached between the shift registers and MISO -// F0 has an external pull-up. -// SCK works as usual. -// -// Note that the matrix contains a variety of data. -// In addition to the keys, it also reads the rotary encoders -// and whether the board is the left/right half. - -void matrix_init_custom(void) { - // Note: `spi_init` has already been called - // in `keyboard_pre_init_kb()`, so nothing to do here -} - -bool matrix_scan_custom(matrix_row_t current_matrix[]) { - // Enough to hold the shift registers - uint16_t length = 5; - uint8_t data[length]; - - // Matrix SPI config - // 1) Pin - // 2) Mode: Register shifts on rising clock, and clock idles low - // pol = 0 & pha = 0 => mode 0 - // 3) LSB first: Register outputs H first, and we want H as MSB, - // as this result in a neat A-H order in the layout macro. - // 4) Divisor: 2 is the fastest possible, at Fclk / 2. - // range is 2-128 - spi_start(GP13, false, 0, 128); - spi_receive(data, length); - spi_stop(); - - bool matrix_has_changed = false; - for (uint8_t i = 0; i < length; i++) { - // Bitwise NOT because we use pull-ups, - // and switches short the pin to ground, - // but the matrix uses 1 to indicate a pressed switch - uint8_t word = ~data[i]; - matrix_has_changed |= current_matrix[i] ^ word; - current_matrix[i] = word; - } -#ifdef MYRIAD_ENABLE - bool myriad_hook_matrix(matrix_row_t current_matrix[]); - return matrix_has_changed || myriad_hook_matrix(current_matrix); -#else - return matrix_has_changed; -#endif -} \ No newline at end of file diff --git a/keyboards/splitkb/elora/rev1/mcuconf.h b/keyboards/splitkb/elora/rev1/mcuconf.h deleted file mode 100644 index 58290187cf..0000000000 --- a/keyboards/splitkb/elora/rev1/mcuconf.h +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef RP_SIO_USE_UART1 -#define RP_SIO_USE_UART1 TRUE - -#undef RP_I2C_USE_I2C0 -#define RP_I2C_USE_I2C0 TRUE - -#undef RP_SPI_USE_SPI1 -#define RP_SPI_USE_SPI1 TRUE - -#undef RP_ADC_USE_ADC1 -#define RP_ADC_USE_ADC1 TRUE diff --git a/keyboards/splitkb/elora/rev1/myriad.c b/keyboards/splitkb/elora/rev1/myriad.c deleted file mode 100644 index 8bb6054df9..0000000000 --- a/keyboards/splitkb/elora/rev1/myriad.c +++ /dev/null @@ -1,315 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -#include "myriad.h" - -#include "i2c_master.h" -#include "analog.h" - -typedef struct __attribute__((__packed__)) { - char magic_numbers[3]; - uint8_t version_major; - uint8_t version_minor; - uint8_t version_patch; - uint32_t checksum; - uint16_t payload_length; -} myriad_header_t; - -typedef struct __attribute__((__packed__)) { - uint16_t vendor_id; - uint16_t product_id; - uint8_t revision; -} identity_record_t; - -static bool myriad_reader(uint8_t *data, uint16_t length) { - const uint8_t eeprom_address = 0x50; // 1010 000 - NOT shifted for R/W bit - const uint16_t i2c_timeout = 100; // in milliseconds - - uint8_t num_pages = (length / 256) + 1; - uint8_t last_page_size = length % 256; - - for (int i = 0; i < num_pages; i++) { - uint8_t reg = 0; // We always start on a page boundary, so this is always zero - uint16_t read_length; - if (i == num_pages - 1) { - read_length = last_page_size; - } else { - read_length = 256; - } - i2c_status_t s = i2c_read_register((eeprom_address + i) << 1, reg, &(data[i*256]), read_length, i2c_timeout); - if (s != I2C_STATUS_SUCCESS) { return false; } - } - return true; -} - -static bool verify_header(myriad_header_t *header) { - char magic_numbers[] = {'M', 'Y', 'R'}; - uint8_t version_major = 1; - uint16_t version_minor = 0; - - for (int i = 0; i < sizeof(magic_numbers); i++) { - // Check that the header starts with 'MYR', indicating that this is indeed a Myriad card. - if (header->magic_numbers[i] != magic_numbers[i]) { - return false; - } - } - - if (header->version_major != version_major || header->version_minor > version_minor) { - // We obviously don't support cards with a different major version, because that indicates a breaking change. - // We also don't support cards with HIGHER minor version, - // as we are not guaranteed to be able to properly use all its features. - return false; - } - - if (header->payload_length > (2048 - sizeof(myriad_header_t))) { - // The EEPROM chips are *at most* 16kb / 2kB large, - // and some of that is taken up by the header. - // We obviously can't have a payload which exceeds the EEPROM's size. - return false; - } - - return true; -} - -// Sourced from https://en.wikipedia.org/wiki/Adler-32#Example_implementation -static bool verify_checksum(uint8_t *data, uint16_t length, uint32_t checksum) { - // Skip the header - data += sizeof(myriad_header_t); - length -= sizeof(myriad_header_t); - - const uint32_t MOD_ADLER = 65521; - - uint32_t a = 1, b = 0; - size_t index; - - // Process each byte of the data in order - for (index = 0; index < length; ++index) - { - a = (a + data[index]) % MOD_ADLER; - b = (b + a) % MOD_ADLER; - } - uint32_t calculated = ((b << 16) | a); - - return calculated == checksum; -} - -// Locates a specific entry by type -// Returns the offset of the PAYLOAD. -static int16_t locate_entry(uint8_t entry_type, uint8_t entry_data_length, uint8_t *data, uint16_t minimum, uint16_t maximum) { - if (minimum < sizeof(myriad_header_t)) { - // Records must start *after* the header. - // We silently allow this so the caller can just specify `0` as minimum for the first entry. - minimum = sizeof(myriad_header_t); - } - - uint16_t offset = minimum; - while (offset < maximum) { - if (data[offset] == entry_type) { - // Type matches! - if (data[offset+1] == entry_data_length) { - // We found what we are looking for, so return payload reference. - return offset+2; - } else { - // The entry is the wrong length? - return -2; - } - } else { - // No type match, so skip this one - // We skip the type byte, the length byte, and any potential data (with length stored in the length byte) - offset += 2 + data[offset+1]; - } - } - - // We hit the maximum and didn't find what we are looking for - return -1; -} - -static bool read_card_identity(uint8_t *data, uint16_t length, identity_record_t *record) { - const uint8_t identity_type = 0x01; - const uint8_t entry_data_length = sizeof(identity_record_t); - int16_t result = locate_entry(identity_type, entry_data_length, data, 0, length); - if (result < 0) { return false; } - - for (int i = 0; i < sizeof(identity_record_t); i++) { - ((uint8_t*)record)[i] = data[result + i]; - } - return true; -} - -static myriad_card_t _detect_myriad(void) { - gpio_set_pin_input(MYRIAD_PRESENT); - wait_ms(100); - // The pin has an external pull-up, and a Myriad card shorts it to ground. - #ifndef MYRIAD_OVERRIDE_PRESENCE - if (gpio_read_pin(MYRIAD_PRESENT)) { - return NONE; - } - #endif - - // Attempt to read header - myriad_header_t header; - if (!myriad_reader((uint8_t*)&header, sizeof(header))) { return INVALID; } - if (!verify_header(&header)) { return INVALID; } - - // Now that we have determined that the header is valid - // and we know the payload length, read the entire thing - uint8_t data[2048]; // Guaranteed to be large enough. - uint16_t data_size = sizeof(header)+header.payload_length; - if (!myriad_reader(data, data_size)) { return INVALID; } - if (!verify_checksum(data, data_size, header.checksum)) { return INVALID; } - - identity_record_t identity; - if (!read_card_identity(data, data_size, &identity)) { return INVALID; } - - if (identity.vendor_id == 0x0001 && identity.product_id == 0x0001) { - return SKB_ENCODER; - } else if (identity.vendor_id == 0x0001 && identity.product_id == 0x0002) { - return SKB_JOYSTICK; - } else if (identity.vendor_id == 0x0001 && identity.product_id == 0x0003) { - return SKB_SWITCHES; - } - - return UNKNOWN; -} - -// Determine card presence & identity -// Does NOT initialize the card for use! -myriad_card_t detect_myriad(void) { - static myriad_card_t card = UNINITIALIZED; - - if (card == UNINITIALIZED) { - i2c_init(); - card = _detect_myriad(); - } - - return card; -} - -static void myr_switches_init(void) { - gpio_set_pin_input_high(MYRIAD_GPIO1); // S4 - gpio_set_pin_input_high(MYRIAD_GPIO2); // S2 - gpio_set_pin_input_high(MYRIAD_GPIO3); // S1 - gpio_set_pin_input_high(MYRIAD_GPIO4); // S3 -} - -static void myr_encoder_init(void) { - gpio_set_pin_input_high(MYRIAD_GPIO1); // Press - gpio_set_pin_input_high(MYRIAD_GPIO2); // A - gpio_set_pin_input_high(MYRIAD_GPIO3); // B -} - -static uint16_t myr_joystick_timer; -static void myr_joystick_init(void) { - gpio_set_pin_input_high(MYRIAD_GPIO1); // Press - - myr_joystick_timer = timer_read(); -} - -// Make sure any card present is ready for use -static myriad_card_t myriad_card_init(void) { - static bool initialized = false; - - myriad_card_t card = detect_myriad(); - if (initialized) { - return card; - } - initialized = true; - - switch (card) { - case SKB_SWITCHES: - myr_switches_init(); - break; - case SKB_ENCODER: - myr_encoder_init(); - break; - case SKB_JOYSTICK: - myr_joystick_init(); - break; - default: - break; - } - return card; -} - -bool myriad_hook_matrix(matrix_row_t current_matrix[]) { - myriad_card_t card = myriad_card_init(); - uint8_t word = 0; - - if (card == SKB_SWITCHES) { - word |= ((!gpio_read_pin(MYRIAD_GPIO3)) & 1) << 0; - word |= ((!gpio_read_pin(MYRIAD_GPIO2)) & 1) << 1; - word |= ((!gpio_read_pin(MYRIAD_GPIO4)) & 1) << 2; - word |= ((!gpio_read_pin(MYRIAD_GPIO1)) & 1) << 3; - } else if (card == SKB_ENCODER) { - word |= ((!gpio_read_pin(MYRIAD_GPIO1)) & 1) << 4; - } else if (card == SKB_JOYSTICK) { - word |= ((!gpio_read_pin(MYRIAD_GPIO1)) & 1) << 4; - } else { - return false; - } - - // 5 bytes of on-board keys, so we are the 6th - bool matrix_has_changed = current_matrix[5] ^ word; - current_matrix[5] = word; - - return matrix_has_changed; -} - -static pin_t encoders_pad_a[NUM_ENCODERS_MAX_PER_SIDE]; -static pin_t encoders_pad_b[NUM_ENCODERS_MAX_PER_SIDE]; - -uint8_t myriad_hook_encoder(uint8_t index, bool pad_b) { - if (myriad_card_init() != SKB_ENCODER) { return 0; } - // 3 onboard encoders, so we are number 4 - pin_t pin = pad_b ? encoders_pad_b[index] : encoders_pad_a[index]; - encoders_pad_a[3] = MYRIAD_GPIO2; - encoders_pad_b[3] = MYRIAD_GPIO3; - return gpio_read_pin(pin) ? 1 : 0; -} - -report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { - if (myriad_card_init() != SKB_JOYSTICK) { return mouse_report; } - - if (timer_elapsed(myr_joystick_timer) < 10) { - wait_ms(2); - return mouse_report; - } - - myr_joystick_timer = timer_read(); - - // `analogReadPin` returns 0..1023 - int32_t y = (analogReadPin(MYRIAD_ADC1) - 512) * -1; // Note: axis is flipped - int32_t x = analogReadPin(MYRIAD_ADC2) - 512; - // Values are now -512..512 - - // Create a dead zone in the middle where the mouse doesn't move - const int16_t dead_zone = 10; - if ((y < 0 && y > -1*dead_zone) || (y > 0 && y < dead_zone)) { - y = 0; - } - if ((x < 0 && x > -1*dead_zone) || (x > 0 && x < dead_zone)) { - x = 0; - } - - // quadratic movement - x = abs(x) * x / 5000; - y = abs(y) * y / 5000; - - // Clamp final value to make sure we don't under/overflow - if (y < -127) { y = -127; } - if (y > 127) { y = 127; } - if (x < -127) { x = -127; } - if (x > 127) { x = 127; } - - mouse_report.x = x; - mouse_report.y = y; - - return mouse_report; -} - -void pointing_device_driver_init(void) { - gpio_set_pin_input(MYRIAD_ADC1); // Y - gpio_set_pin_input(MYRIAD_ADC2); // X -} \ No newline at end of file diff --git a/keyboards/splitkb/elora/rev1/myriad.h b/keyboards/splitkb/elora/rev1/myriad.h deleted file mode 100644 index 03fe2b5e6b..0000000000 --- a/keyboards/splitkb/elora/rev1/myriad.h +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include -#include -#include "matrix.h" - -typedef enum { UNINITIALIZED, NONE, INVALID, UNKNOWN, SKB_SWITCHES, SKB_ENCODER, SKB_JOYSTICK } myriad_card_t; - -bool myriad_hook_matrix(matrix_row_t current_matrix[]); -uint8_t myriad_hook_encoder(uint8_t index, bool pad_b); -myriad_card_t detect_myriad(void); - -//// Elora-specific pinout - -// Control signals -#define MYRIAD_PRESENT GP3 -#define MYRIAD_MCU_OVERRIDE GP2 - -// General I/O -#define MYRIAD_ADC1 GP26 -#define MYRIAD_ADC2 GP27 -#define MYRIAD_ADC1_CHANNEL 0 -#define MYRIAD_ADC2_CHANNEL 1 -#define MYRIAD_PWM1 GP23 -#define MYRIAD_PWM2 GP24 -#define MYRIAD_GPIO1 GP4 -#define MYRIAD_GPIO2 GP5 -#define MYRIAD_GPIO3 GP6 -#define MYRIAD_GPIO4 GP8 - -// UART -#define MYRIAD_RX GP17 -#define MYRIAD_TX GP16 -#define MYRIAD_CTS GP18 -#define MYRIAD_RTS GP19 - -// SPI -#define MYRIAD_MISO GP12 -#define MYRIAD_MOSI GP11 -#define MYRIAD_SCK GP10 -#define MYRIAD_MODULE_CS GP9 -#define MYRIAD_MATRIX_CS GP13 - -// I2C -#define MYRIAD_SDA GP0 -#define MYRIAD_SCL GP1 - -// RGB -#define MYRIAD_RGB GP15 diff --git a/keyboards/splitkb/elora/rev1/rev1.c b/keyboards/splitkb/elora/rev1/rev1.c deleted file mode 100644 index 6ffc23a4cf..0000000000 --- a/keyboards/splitkb/elora/rev1/rev1.c +++ /dev/null @@ -1,214 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "rev1.h" -#include "spi_master.h" -#include "myriad.h" - -bool is_oled_enabled = true; - -//// HW init - -// Make sure all external hardware is -// in a known-good state on powerup -void keyboard_pre_init_kb(void) { - /// SPI Chip Select pins for various hardware - // Matrix CS - gpio_set_pin_output(GP13); - gpio_write_pin_high(GP13); - // Myriad Module CS - gpio_set_pin_output(GP9); - gpio_write_pin_high(GP9); - - gpio_set_pin_output(ELORA_CC1_PIN); - gpio_write_pin_low(ELORA_CC1_PIN); - - gpio_set_pin_output(ELORA_CC2_PIN); - gpio_write_pin_low(ELORA_CC2_PIN); - - // We have to get the SPI interface working quite early, - // So make sure it is available well before we need it - spi_init(); - - keyboard_pre_init_user(); -} - -//// Encoder functionality - -// The encoders are hooked in to the same shift registers as the switch matrix, so we can just piggyback on that. - -// Clone of a variant in quantum/matrix_common.c, but matrix-agnostic -bool mat_is_on(matrix_row_t mat[], uint8_t row, uint8_t col) { - return (mat[row] & ((matrix_row_t)1 << col)); -} - -uint8_t encoder_read_pads_from(uint8_t index, bool pad_b, matrix_row_t mat[]) { - // First two matrix rows: - // - // Pin A B C D E F G H - // Left: - // { __, __, __, __, __, __, A1, B1 }, - // { A3, B3, A2, B2, __, __, __, __ } - // Right: - // { A1, B1, __, __, __, __, __, __ }, - // { __, __, __, __, A2, B2, A3, B3 } - // - // See also rev1.h - - bool pad_value = false; - - if (is_keyboard_left()) { - if (index == 0) { - pad_value = pad_b ? mat_is_on(mat, 0, 7) : mat_is_on(mat, 0, 6); // B1, A1 - } else if (index == 1) { - pad_value = pad_b ? mat_is_on(mat, 1, 3) : mat_is_on(mat, 1, 2); // B2, A2 - } else if (index == 2) { - pad_value = pad_b ? mat_is_on(mat, 1, 1) : mat_is_on(mat, 1, 0); // B3, A3 - } - } else { - if (index == 0) { - pad_value = pad_b ? mat_is_on(mat, 0, 1) : mat_is_on(mat, 0, 0); // B1, A1 - } else if (index == 1) { - pad_value = pad_b ? mat_is_on(mat, 1, 5) : mat_is_on(mat, 1, 4); // B2, A2 - } else if (index == 2) { - pad_value = pad_b ? mat_is_on(mat, 1, 7) : mat_is_on(mat, 1, 6); // B3, A3 - } - } - - return pad_value ? 1 : 0; -} - -void encoder_quadrature_init_pin(uint8_t index, bool pad_b) { - // At this point the first matrix scan hasn't happened yet, - // so we can't use raw_matrix to initialize our encoder state - // as it contains all zeroes - so we have to do our own first scan - // The pins for myriad are initialized in myriad.c - - matrix_row_t mat[MATRIX_ROWS]; - - encoder_read_pads_from(index, pad_b, mat); -} - -extern matrix_row_t raw_matrix[MATRIX_ROWS]; // From quantum/matrix_common.c - -uint8_t encoder_quadrature_read_pin(uint8_t index, bool pad_b) { - // The matrix code already keeps the raw matrix up-to-date, - // so we only have to read the values from it - if(index <= 2) { - return encoder_read_pads_from(index, pad_b, raw_matrix); - } else { - #ifdef MYRIAD_ENABLE - return myriad_hook_encoder(index, pad_b); - #endif - return 0; - } - return 0; -} - -//// Default functionality - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - if (is_keyboard_left()) { - return OLED_ROTATION_270; - } else { - return OLED_ROTATION_90; - } -} - -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - - if (!is_oled_enabled) { - oled_off(); - return false; - } else { - oled_on(); - } - - if (is_keyboard_master()) { - oled_write_P(PSTR("Elora rev1\n\n"), false); - - // Keyboard Layer Status - // Ideally we'd print the layer name, but no way to know that for sure - // Fallback option: just print the layer number - uint8_t layer = get_highest_layer(layer_state | default_layer_state); - oled_write_P(PSTR("Layer: "), false); - oled_write(get_u8_str(layer, ' '), false); - - // Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(led_state.num_lock ? PSTR(" NUM") : PSTR(" "), false); - oled_write_P(led_state.caps_lock ? PSTR("CAP") : PSTR(" "), false); - oled_write_P(led_state.scroll_lock ? PSTR("SCR") : PSTR(" "), false); - - // QMK Logo - // clang-format off - static const char PROGMEM qmk_logo[] = { - 0x81,0x82,0x83,0x84,0x0a, - 0xa1,0xa2,0xa3,0xa4,0x85,0x86,0x87,0x88,0x89,0x0a, - 0xc1,0xc2,0xc3,0xc4,0xa5,0xa6,0xa7,0xa8,0xa9,0x0a, - 0x8a,0x8b,0x8c,0x8d,0xc5,0xc6,0xc7,0xc8,0xc9,0x0a, - 0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0x00 - }; - // clang-format on - oled_set_cursor(0, oled_max_lines()-5); - oled_write_P(qmk_logo, false); - } else { - // Elora sigil - // clang-format off - static const char PROGMEM elora_logo[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,224,240,248,120, 56, 60,188,158,158,222,206,207,207,207,239,239,239,239,239,239,207,207,207,206,222,158,158,188, 60, 56,120,248,240,224,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,224,248,252,126, 31,143,199,227,243,249,124, 60, 30, 31, 15, 7, 7, 3, 3, 3,131,193,225,241,249,253,255,255,255,255,127, 63, 31, 15, 7, 7, 7,143,223,254,252,252,249,243,227,199,143, 31,126,252,248,224,192, 0, 0, 0, 0, 0, - 0,192,240,254,255, 63, 7,227,248,252,127, 31, 15, 3, 1, 0, 0, 0,128,192,224,240,248,252,254,255,255,255,127, 63, 31, 15, 7, 3, 1,128,192,224,240,248,252,254,255,255,255,255,127, 63, 31, 15, 7, 15, 31,255,252,248,227, 7, 63,255,254,240,192, 0,252,255,255,255, 1,224,255,255,255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 31, 31, 31, 31, 31, 15, 7, 3, 1, 0, 0, 0,240,248,252,254,255,255,255,255,127, 63, 31, 15, 7, 3, 1,128,192,224,240,248,252,254,255,255,255,255,255,255,224, 1,255,255,255,252, - 63,255,255,255,128, 7,255,255,255,224, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,224,240,248,248,248,248,248,248, 0, 3, 3, 3, 3, 3, 3, 1,128,192,224,240,248,252,254,255,255,255,127, 63, 31, 15, 7, 3, 1,224,255,255,255, 7,128,255,255,255, 63, 0, 3, 15,127,255,252,224,199, 31, 63,254,248,240,192,128, 0, 0, 0, 0, 31, 31, 31, 31, 31, 31, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 62, 63, 63, 63, 63, 63, 31, 15, 7, 3, 1, 0, 0, 0,128,192,240,248,254, 63, 31,199,224,252,255,127, 15, 3, 0, - 0, 0, 0, 0, 0, 3, 7, 31, 63,126,248,241,227,199,207,159, 62, 60,120,248,240,224,224,192,192,192,192,128,128,128,128,128,128,128,128,128,128,192,192,192,192,224,224,240,248,120, 60, 62,159,207,199,227,241,248,126, 63, 31, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15, 31, 30, 28, 60, 61,121,121,123,115,243,243,243,247,247,247,247,247,247,243,243,243,115,123,121,121, 61, 60, 28, 30, 31, 15, 7, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; - // clang-format on - oled_set_cursor(0, (oled_max_lines()/2)-4); // logo is 8 lines high, so center vertically - oled_write_raw_P(elora_logo, sizeof(elora_logo)); - } - - return false; -} - -void housekeeping_task_kb(void) { - is_oled_enabled = last_input_activity_elapsed() < 60000; -} -#endif - -#ifdef ENCODER_ENABLE -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { - return false; - } - - if (index == 0 || index == 1 || index == 2) { - // Left side - // Arrow keys - if (clockwise) { - tap_code(KC_RIGHT); - } else { - tap_code(KC_LEFT); - } - } else if (index == 4 || index == 5 || index == 6) { - // Right side - // Page up/Page down - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } else if (index == 3 || index == 7) { - // Myriad - // Volume control - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - return true; -} -#endif diff --git a/keyboards/splitkb/elora/rev1/rev1.h b/keyboards/splitkb/elora/rev1/rev1.h deleted file mode 100644 index d4c1ffedb2..0000000000 --- a/keyboards/splitkb/elora/rev1/rev1.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2024 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "quantum.h" - -//// Custom pins, might be useful in a keymap -// Wired to input of last shift register, overrides 10k pullup/pulldown -#define ELORA_SELFTEST_PIN GP14 - -// Can be used for USB current detection -#define ELORA_CC1_PIN GP28 -#define ELORA_CC2_PIN GP29 diff --git a/keyboards/splitkb/elora/rev1/rules.mk b/keyboards/splitkb/elora/rev1/rules.mk deleted file mode 100644 index 643fdc9a1b..0000000000 --- a/keyboards/splitkb/elora/rev1/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -SPI_DRIVER_REQUIRED = yes -CUSTOM_MATRIX = lite - -# Myriad boilerplate -SRC += myriad.c matrix.c -ANALOG_DRIVER_REQUIRED = yes -POINTING_DEVICE_DRIVER = custom \ No newline at end of file diff --git a/keyboards/splitkb/halcyon/corne/info.json b/keyboards/splitkb/halcyon/corne/info.json deleted file mode 100755 index 8b3325910d..0000000000 --- a/keyboards/splitkb/halcyon/corne/info.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "manufacturer": "splitkb.com", - "maintainer": "splitkb.com", - "url": "https://splitkb.com", - "usb": { - "device_version": "1.0.0", - "vid": "0x8D1D" - }, - "layout_aliases": { - "LAYOUT": "LAYOUT_split_3x6_3" - }, - "layouts": { - "LAYOUT_split_3x6_3": { - "layout": [ - {"label": "L06", "matrix": [0, 0], "x": 0, "y": 0.3}, - {"label": "L05", "matrix": [0, 1], "x": 1, "y": 0.3}, - {"label": "L04", "matrix": [0, 2], "x": 2, "y": 0.1}, - {"label": "L03", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "L02", "matrix": [0, 4], "x": 4, "y": 0.1}, - {"label": "L01", "matrix": [0, 5], "x": 5, "y": 0.2}, - {"label": "R01", "matrix": [4, 5], "x": 9, "y": 0.2}, - {"label": "R02", "matrix": [4, 4], "x": 10, "y": 0.1}, - {"label": "R03", "matrix": [4, 3], "x": 11, "y": 0}, - {"label": "R04", "matrix": [4, 2], "x": 12, "y": 0.1}, - {"label": "R05", "matrix": [4, 1], "x": 13, "y": 0.3}, - {"label": "R06", "matrix": [4, 0], "x": 14, "y": 0.3}, - {"label": "L12", "matrix": [1, 0], "x": 0, "y": 1.3}, - {"label": "L11", "matrix": [1, 1], "x": 1, "y": 1.3}, - {"label": "L10", "matrix": [1, 2], "x": 2, "y": 1.1}, - {"label": "L09", "matrix": [1, 3], "x": 3, "y": 1}, - {"label": "L08", "matrix": [1, 4], "x": 4, "y": 1.1}, - {"label": "L07", "matrix": [1, 5], "x": 5, "y": 1.2}, - {"label": "R07", "matrix": [5, 5], "x": 9, "y": 1.2}, - {"label": "R08", "matrix": [5, 4], "x": 10, "y": 1.1}, - {"label": "R09", "matrix": [5, 3], "x": 11, "y": 1}, - {"label": "R10", "matrix": [5, 2], "x": 12, "y": 1.1}, - {"label": "R11", "matrix": [5, 1], "x": 13, "y": 1.3}, - {"label": "R12", "matrix": [5, 0], "x": 14, "y": 1.3}, - {"label": "L18", "matrix": [2, 0], "x": 0, "y": 2.3}, - {"label": "L17", "matrix": [2, 1], "x": 1, "y": 2.3}, - {"label": "L16", "matrix": [2, 2], "x": 2, "y": 2.1}, - {"label": "L15", "matrix": [2, 3], "x": 3, "y": 2}, - {"label": "L14", "matrix": [2, 4], "x": 4, "y": 2.1}, - {"label": "L13", "matrix": [2, 5], "x": 5, "y": 2.2}, - {"label": "R13", "matrix": [6, 5], "x": 9, "y": 2.2}, - {"label": "R14", "matrix": [6, 4], "x": 10, "y": 2.1}, - {"label": "R15", "matrix": [6, 3], "x": 11, "y": 2}, - {"label": "R16", "matrix": [6, 2], "x": 12, "y": 2.1}, - {"label": "R17", "matrix": [6, 1], "x": 13, "y": 2.3}, - {"label": "R18", "matrix": [6, 0], "x": 14, "y": 2.3}, - {"label": "L21", "matrix": [3, 3], "x": 4, "y": 3.7}, - {"label": "L20", "matrix": [3, 4], "x": 5, "y": 3.7}, - {"label": "L19", "matrix": [3, 5], "w": 1.5, "x": 6, "y": 3.2}, - {"label": "R19", "matrix": [7, 5], "w": 1.5, "x": 8, "y": 3.2}, - {"label": "R20", "matrix": [7, 4], "x": 9, "y": 3.7}, - {"label": "R21", "matrix": [7, 3], "x": 10, "y": 3.7} - ] - } - } -} diff --git a/keyboards/splitkb/halcyon/corne/keymaps/default/keymap.json b/keyboards/splitkb/halcyon/corne/keymaps/default/keymap.json deleted file mode 100644 index ab42d0731c..0000000000 --- a/keyboards/splitkb/halcyon/corne/keymaps/default/keymap.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "keyboard": "splitkb/halcyon/corne/rev2", - "keymap": "default", - "version": 1, - "layout": "LAYOUT_split_3x6_3", - "layers": [ - [ - "KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T" , "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC" , - "KC_LCTL" , "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G" , "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN" , "KC_QUOT" , - "KC_LSFT" , "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_N" , "KC_M" , "KC_COMM" , "KC_DOT" , "KC_SLSH" , "KC_ESC" , - "KC_LGUI" , "MO(1)" , "KC_SPC" , "KC_ENT" , "MO(2)" , "KC_RALT" - ], - [ - "KC_TAB" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" , "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_BSPC" , - "KC_LCTL" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "KC_LEFT" , "KC_DOWN" , "KC_UP" , "KC_RIGHT", "XXXXXXX" , "XXXXXXX" , - "KC_LSFT" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , - "KC_LGUI" , "_______" , "KC_SPC" , "KC_ENT" , "MO(3)" , "KC_RALT" - ], - [ - "KC_TAB" , "KC_EXLM" , "KC_AT" , "KC_HASH" , "KC_DLR" , "KC_PERC" , "KC_CIRC" , "KC_AMPR" , "KC_ASTR" , "KC_LPRN" , "KC_RPRN" , "KC_BSPC" , - "KC_LCTL" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "KC_MINS" , "KC_EQL" , "KC_LBRC" , "KC_RBRC" , "KC_BSLS" , "KC_GRV" , - "KC_LSFT" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "KC_UNDS" , "KC_PLUS" , "KC_LCBR" , "KC_RCBR" , "KC_PIPE" , "KC_TILD" , - "KC_LGUI" , "MO(3)" , "KC_SPC" , "KC_ENT" , "_______" , "KC_RALT" - ], - [ - "QK_BOOT" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , - "RM_TOGG" , "RM_HUEU" , "RM_SATU" , "RM_VALU" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , - "RM_NEXT" , "RM_HUED" , "RM_SATD" , "RM_VALD" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , - "KC_LGUI" , "_______" , "KC_SPC" , "KC_ENT" , "_______" , "KC_RALT" - ] - ], - "config": { - "features": { - "encoder_map": true - } - }, - "encoders": [ - [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"}], - [{"ccw": "_______", "cw": "_______"}, {"ccw": "_______", "cw": "_______"}], - [{"ccw": "_______", "cw": "_______"}, {"ccw": "_______", "cw": "_______"}], - [{"ccw": "_______", "cw": "_______"}, {"ccw": "_______", "cw": "_______"}] - ] -} diff --git a/keyboards/splitkb/halcyon/corne/keymaps/default/readme.md b/keyboards/splitkb/halcyon/corne/keymaps/default/readme.md deleted file mode 100755 index 8e44629494..0000000000 --- a/keyboards/splitkb/halcyon/corne/keymaps/default/readme.md +++ /dev/null @@ -1,87 +0,0 @@ -# Halcyon Corne's Default Keymap -_This keymap is a copy of the [Corne default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd/keymaps/default)_ - -A simple default keymap for the Halcyon Corne -============================================ - -Keymaps in general are quite personal, so it is difficult to come up with a default that will suit every user. We hope this keymap serves as a good starting point for your own - although it should be fairly usable out-of-the-box. - -What do all these layers do? ----------------------------- - -### Layer 0: Base layer - -![Layer 0](https://i.imgur.com/Ri5cTHqh.png) - -This is where your basic letters live. - -The homing thumb fingers are used to access the different layers. - -* The homing left thumb finger gives access to the Numbers (or lower) layer -* The homing right thumb finger gives access to the Symbols (or raise) layer -* Pressing both homing thumb fingers gives access to the Adjust layer - -### Layer 1: Lower - -![Layer 1](https://i.imgur.com/9h6ZRQLh.png) - -The Lower layer gives access to your number keys on the top row. It also exposes the arrow keys in the usual Vim-style layout. - -### Layer 2: Raise - -![Layer 2](https://i.imgur.com/U1pf7pJh.png) - -The Raise layer gives access to the symbols. In addition to shifted number keys on the top row, the right hand also exposes the remaining symbol keys, both as shifted and non-shifted variants. - -### Layer 3: Adjust - -![Layer 3](https://i.imgur.com/A6z1DCbh.png) - -The Adjust layer exposes RGB adjustment keys on the left hand. - -Where is the keymap.c? ----------------------- - -The keymap.c file is not published to the repository. It is generated from `keymap.json` by the build system. - -This avoids duplicating information and allow users to edit their keymap from the QMK Configurator web interface. - -How do I edit and update the keymap? ------------------------------------- - -The `keymap.json` file is generated from the QMK Configurator interface and formatted for better readability in the context of the Ferris keyboard. - -To edit it, you may: -* Edit it directly from a text editor. -* Edit it from the QMK Configurator. - -If you decide to use the latter workflow, here are the steps to follow: - -* From the [QMK Configurator](https://config.qmk.fm/#/splitkb/halcyon/corne/rev2/LAYOUT_split_3x5_3), hit the "import QMK keymap json file" button (it has a drawing with an up arrow on it). -* Browse to the location of your keymap (for example, `/keyboards/splitkb/halcyon/corne/keymaps/default/keymap.json`) -* Perform any modification to the keymap in the web UI -* Export the keymap to your downloads folder, by hitting the "Export QMK keymap json file" button (it has a drawing with a down arrow on it) -* Replace your original keymap with the one you just downloaded - -I want to do more than the JSON format supports! -------------------------------------------------- - -While the `json` format is easy to use, it does lack certain functionality - most notably custom OLED or encoder behaviour. - -To add this, you need to convert it to the `c` format. Do keep in mind that this is generally a one-way operation. - -First, from the root of your qmk repo, move to your keymap folder - -```bash -cd ./keyboards/splitkb/halcyon/corne/keymaps/my_personal_keymap -``` - -Next, convert your `keymap.json` to a `keymap.c` - -```bash -qmk json2c -o keymap.c keymap.json -``` - - -You can add custom C code to the newly generated `keymap.c` file. Do note that you have to use **either** a C file **or** a JSON file - you cannot do both! -**If a JSON file is present, the C file is ignored.** diff --git a/keyboards/splitkb/halcyon/corne/readme.md b/keyboards/splitkb/halcyon/corne/readme.md deleted file mode 100755 index b859da2edd..0000000000 --- a/keyboards/splitkb/halcyon/corne/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Halcyon Corne - -![splitkb/halcyon/corne](https://i.imgur.com/Cpo2dM8.png) - -The Halcyon Corne rev2 is the second Corne revision and the third keyboard in our Halcyon range. Similar to Aurora, all keyboards in the series share the same feature set. The key highlights: - -- Halcyon keyboards come preassembled! You won't need a soldering iron. -- You'll be able to install [VIK](https://github.com/sadekbaroudi/vik) modules. -- It'll come fully documented, which includes the unboxing, assembly (with only a screwdriver), first installation and some advanced use cases. -- Both the connection to the host device as well as the interconnect between the keyboard halves use USB C. -- The controller has full ESD protection on all USB C ports, as well as all switch matrix GPIO! -- The controller is interchangable. If part of your keyboard ever breaks, we can replace just the bits that need replacing. - -* Keyboard Maintainer: [splitkb.com](https://github.com/splitkb.com) -* Hardware Availability: [splitkb.com](https://splitkb.com). - -Make example for this keyboard (after setting up your build environment): - - make splitkb/halcyon/corne/rev2:default - -The keyboard can be flashed by copying the resulting `.uf2` file onto the `RPI-RP2` flash drive. - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Reset button**: Double-tap the reset button at the top of the controller, right above the USB-C port. -* **Bootloader reset**: Hold down the "Boot" button and plug in the keyboard. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. diff --git a/keyboards/splitkb/halcyon/corne/rev2/config.h b/keyboards/splitkb/halcyon/corne/rev2/config.h deleted file mode 100755 index b5cd6f95f2..0000000000 --- a/keyboards/splitkb/halcyon/corne/rev2/config.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// Make it easier to enter the bootloader -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U - -// UART1, communication between the two halves -#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. -#define SERIAL_USART_TX_PIN GP28 // USART TX pin -#define SERIAL_USART_RX_PIN GP29 // USART RX pin -#define SERIAL_PIO_USE_PIO1 // Use PIO1 as PIO0 is used for WS2812 driver - -// VBUS detection -#define USB_VBUS_PIN GP1 - -//// VIK - -// GPIO1 = GP27 -// GPIO2 = GP26 -// CS = GP13 - -#define I2C_DRIVER I2C0 -#define I2C1_SDA_PIN GP16 -#define I2C1_SCL_PIN GP17 - -#define SPI_DRIVER SPID1 -#define SPI_SCK_PIN GP14 -#define SPI_MOSI_PIN GP15 -#define SPI_MISO_PIN GP12 diff --git a/keyboards/splitkb/halcyon/corne/rev2/halconf.h b/keyboards/splitkb/halcyon/corne/rev2/halconf.h deleted file mode 100644 index a6937ddf9d..0000000000 --- a/keyboards/splitkb/halcyon/corne/rev2/halconf.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -//// VIK - -#define HAL_USE_I2C TRUE -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/splitkb/halcyon/corne/rev2/keyboard.json b/keyboards/splitkb/halcyon/corne/rev2/keyboard.json deleted file mode 100755 index 33e8e7a907..0000000000 --- a/keyboards/splitkb/halcyon/corne/rev2/keyboard.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "keyboard_name": "Halcyon Corne rev2", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "GP24", "pin_b": "GP23", "resolution": 2} - ] - }, - "features": { - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP9", "GP4", "GP7", "GP6", "GP5", "GP10"], - "rows": ["GP20", "GP25", "GP11", "GP8"] - }, - "processor": "RP2040", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"x": 93, "y": 17, "flags": 2}, - {"x": 59, "y": 3, "flags": 2}, - {"x": 25, "y": 7, "flags": 2}, - {"x": 29, "y": 49, "flags": 2}, - {"x": 70, "y": 51, "flags": 2}, - {"x": 104, "y": 55, "flags": 2}, - {"matrix": [3, 2], "x": 95, "y": 63, "flags": 4}, - {"matrix": [3, 1], "x": 80, "y": 58, "flags": 4}, - {"matrix": [3, 0], "x": 60, "y": 55, "flags": 4}, - {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4}, - {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4}, - {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4}, - {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4}, - {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4}, - {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4}, - {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4}, - {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4}, - {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4}, - {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 7, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 24, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 41, "flags": 4}, - {"x": 131, "y": 17, "flags": 2}, - {"x": 165, "y": 3, "flags": 2}, - {"x": 199, "y": 7, "flags": 2}, - {"x": 195, "y": 49, "flags": 2}, - {"x": 154, "y": 51, "flags": 2}, - {"x": 120, "y": 55, "flags": 2}, - {"matrix": [7, 2], "x": 129, "y": 63, "flags": 4}, - {"matrix": [7, 1], "x": 144, "y": 58, "flags": 4}, - {"matrix": [7, 0], "x": 164, "y": 55, "flags": 4}, - {"matrix": [6, 5], "x": 139, "y": 39, "flags": 4}, - {"matrix": [6, 4], "x": 156, "y": 37, "flags": 4}, - {"matrix": [6, 3], "x": 174, "y": 35, "flags": 4}, - {"matrix": [6, 2], "x": 191, "y": 37, "flags": 4}, - {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4}, - {"matrix": [5, 5], "x": 139, "y": 21, "flags": 4}, - {"matrix": [5, 4], "x": 156, "y": 19, "flags": 4}, - {"matrix": [5, 3], "x": 174, "y": 13, "flags": 4}, - {"matrix": [5, 2], "x": 191, "y": 20, "flags": 4}, - {"matrix": [5, 1], "x": 208, "y": 24, "flags": 4}, - {"matrix": [4, 5], "x": 139, "y": 4, "flags": 4}, - {"matrix": [4, 4], "x": 156, "y": 2, "flags": 4}, - {"matrix": [4, 3], "x": 174, "y": 0, "flags": 4}, - {"matrix": [4, 2], "x": 191, "y": 3, "flags": 4}, - {"matrix": [4, 1], "x": 208, "y": 7, "flags": 4}, - {"matrix": [4, 0], "x": 224, "y": 7, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 24, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 41, "flags": 4} - ], - "max_brightness": 128, - "sleep": true, - "split_count": [27, 27] - }, - "split": { - "enabled": true, - "handedness": { - "pin": "GP19" - }, - "matrix_pins": { - "right": { - "cols": ["GP5", "GP9", "GP7", "GP20", "GP25", "GP4"], - "rows": ["GP6", "GP10", "GP11", "GP8"] - } - }, - "serial": { - "driver": "vendor" - }, - "transport": { - "sync": { - "matrix_state": true - } - } - }, - "usb": { - "pid": "0x3A07" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP3" - } -} diff --git a/keyboards/splitkb/halcyon/corne/rev2/mcuconf.h b/keyboards/splitkb/halcyon/corne/rev2/mcuconf.h deleted file mode 100644 index 126697a4a0..0000000000 --- a/keyboards/splitkb/halcyon/corne/rev2/mcuconf.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -//// VIK - -#undef RP_I2C_USE_I2C0 -#define RP_I2C_USE_I2C0 TRUE - -#undef RP_SPI_USE_SPI1 -#define RP_SPI_USE_SPI1 TRUE diff --git a/keyboards/splitkb/halcyon/corne/rev2/rev2.c b/keyboards/splitkb/halcyon/corne/rev2/rev2.c deleted file mode 100644 index e0a64ae9a4..0000000000 --- a/keyboards/splitkb/halcyon/corne/rev2/rev2.c +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef ENCODER_ENABLE -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { - return false; - } - if (index == 0) { - // Volume control - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else if (index == 1) { - // Page up/Page down - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } - return false; -} -#endif diff --git a/keyboards/splitkb/halcyon/elora/info.json b/keyboards/splitkb/halcyon/elora/info.json deleted file mode 100644 index ea97888673..0000000000 --- a/keyboards/splitkb/halcyon/elora/info.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "manufacturer": "splitkb.com", - "maintainer": "splitkb", - "url": "https://splitkb.com", - "usb": { - "device_version": "1.0.0", - "vid": "0x8D1D" - }, - "layout_aliases": { - "LAYOUT": "LAYOUT_split_4x6_5" - }, - "layouts": { - "LAYOUT_split_4x6_5": { - "layout": [ - {"label": "L06", "matrix": [0, 6], "x": 0, "y": 0.75}, - {"label": "L05", "matrix": [0, 5], "x": 1, "y": 0.75}, - {"label": "L04", "matrix": [0, 4], "x": 2, "y": 0.25}, - {"label": "L03", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "L02", "matrix": [0, 2], "x": 4, "y": 0.25}, - {"label": "L01", "matrix": [0, 1], "x": 5, "y": 0.5}, - {"label": "R01", "matrix": [5, 1], "x": 10.5, "y": 0.5}, - {"label": "R02", "matrix": [5, 2], "x": 11.5, "y": 0.25}, - {"label": "R03", "matrix": [5, 3], "x": 12.5, "y": 0}, - {"label": "R04", "matrix": [5, 4], "x": 13.5, "y": 0.25}, - {"label": "R05", "matrix": [5, 5], "x": 14.5, "y": 0.75}, - {"label": "R06", "matrix": [5, 6], "x": 15.5, "y": 0.75}, - {"label": "L12", "matrix": [1, 6], "x": 0, "y": 1.75}, - {"label": "L11", "matrix": [1, 5], "x": 1, "y": 1.75}, - {"label": "L10", "matrix": [1, 4], "x": 2, "y": 1.25}, - {"label": "L09", "matrix": [1, 3], "x": 3, "y": 1}, - {"label": "L08", "matrix": [1, 2], "x": 4, "y": 1.25}, - {"label": "L07", "matrix": [1, 1], "x": 5, "y": 1.5}, - {"label": "R07", "matrix": [6, 1], "x": 10.5, "y": 1.5}, - {"label": "R08", "matrix": [6, 2], "x": 11.5, "y": 1.25}, - {"label": "R09", "matrix": [6, 3], "x": 12.5, "y": 1}, - {"label": "R10", "matrix": [6, 4], "x": 13.5, "y": 1.25}, - {"label": "R11", "matrix": [6, 5], "x": 14.5, "y": 1.75}, - {"label": "R12", "matrix": [6, 6], "x": 15.5, "y": 1.75}, - {"label": "L18", "matrix": [2, 6], "x": 0, "y": 2.75}, - {"label": "L17", "matrix": [2, 5], "x": 1, "y": 2.75}, - {"label": "L16", "matrix": [2, 4], "x": 2, "y": 2.25}, - {"label": "L15", "matrix": [2, 3], "x": 3, "y": 2}, - {"label": "L14", "matrix": [2, 2], "x": 4, "y": 2.25}, - {"label": "L13", "matrix": [2, 1], "x": 5, "y": 2.5}, - {"label": "R13", "matrix": [7, 1], "x": 10.5, "y": 2.5}, - {"label": "R14", "matrix": [7, 2], "x": 11.5, "y": 2.25}, - {"label": "R15", "matrix": [7, 3], "x": 12.5, "y": 2}, - {"label": "R16", "matrix": [7, 4], "x": 13.5, "y": 2.25}, - {"label": "R17", "matrix": [7, 5], "x": 14.5, "y": 2.75}, - {"label": "R18", "matrix": [7, 6], "x": 15.5, "y": 2.75}, - {"label": "L26", "matrix": [3, 6], "x": 0, "y": 3.75}, - {"label": "L25", "matrix": [3, 5], "x": 1, "y": 3.75}, - {"label": "L24", "matrix": [3, 4], "x": 2, "y": 3.25}, - {"label": "L23", "matrix": [3, 3], "x": 3, "y": 3}, - {"label": "L22", "matrix": [3, 2], "x": 4, "y": 3.25}, - {"label": "L21", "matrix": [3, 1], "x": 5, "y": 3.5}, - {"label": "L20", "matrix": [4, 3], "x": 6, "y": 4}, - {"label": "L19", "matrix": [3, 0], "x": 7, "y": 4.25}, - {"label": "R19", "matrix": [8, 0], "x": 8.5, "y": 4.25}, - {"label": "R20", "matrix": [9, 3], "x": 9.5, "y": 4}, - {"label": "R21", "matrix": [8, 1], "x": 10.5, "y": 3.5}, - {"label": "R22", "matrix": [8, 2], "x": 11.5, "y": 3.25}, - {"label": "R23", "matrix": [8, 3], "x": 12.5, "y": 3}, - {"label": "R24", "matrix": [8, 4], "x": 13.5, "y": 3.25}, - {"label": "R26", "matrix": [8, 5], "x": 14.5, "y": 3.75}, - {"label": "R27", "matrix": [8, 6], "x": 15.5, "y": 3.75}, - {"label": "L31", "matrix": [4, 4], "x": 2.5, "y": 4.25}, - {"label": "L30", "matrix": [4, 2], "x": 3.5, "y": 4.25}, - {"label": "L29", "matrix": [4, 1], "x": 4.5, "y": 4.5}, - {"label": "L28", "matrix": [4, 5], "x": 5.5, "y": 5}, - {"label": "L27", "matrix": [4, 0], "x": 6.5, "y": 5.25}, - {"label": "R27", "matrix": [9, 0], "x": 9, "y": 5.25}, - {"label": "R28", "matrix": [9, 5], "x": 10, "y": 5}, - {"label": "R29", "matrix": [9, 1], "x": 11, "y": 4.5}, - {"label": "R30", "matrix": [9, 2], "x": 12, "y": 4.25}, - {"label": "R31", "matrix": [9, 4], "x": 13, "y": 4.25} - ] - } - } -} diff --git a/keyboards/splitkb/halcyon/elora/keymaps/default/keymap.c b/keyboards/splitkb/halcyon/elora/keymaps/default/keymap.c deleted file mode 100644 index 542314bf21..0000000000 --- a/keyboards/splitkb/halcyon/elora/keymaps/default/keymap.c +++ /dev/null @@ -1,241 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum layers { - _QWERTY = 0, - _DVORAK, - _COLEMAK_DH, - _NAV, - _SYM, - _FUNCTION, - _ADJUST, -}; - -// Aliases for readability -#define QWERTY DF(_QWERTY) -#define COLEMAK DF(_COLEMAK_DH) -#define DVORAK DF(_DVORAK) - -#define SYM MO(_SYM) -#define NAV MO(_NAV) -#define FKEYS MO(_FUNCTION) -#define ADJUST MO(_ADJUST) - -#define CTL_ESC MT(MOD_LCTL, KC_ESC) -#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE) -#define CTL_MINS MT(MOD_RCTL, KC_MINUS) -#define ALT_ENT MT(MOD_LALT, KC_ENT) - -// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter. -// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and -// produces the key `tap` when tapped (i.e. pressed and released). - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - * Base Layer: QWERTY - * - * ,-------------------------------------------. ,-------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Esc | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "| - * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | - * | | | Enter| | | | | | | | | - * `----------------------------------' `----------------------------------' - */ - [_QWERTY] = LAYOUT( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC , - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC, - CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L ,KC_SCLN,CTL_QUOT, - KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_N, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT, - ADJUST , KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP - ), - -/* - * Base Layer: Dvorak - * - * ,-------------------------------------------. ,-------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Esc | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | Tab | ' " | , < | . > | P | Y | | F | G | C | R | L | Bksp | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/- _| - * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | LShift | ; : | Q | J | K | X | [ { |CapsLk| |F-keys| ] } | B | M | W | V | Z | RShift | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | - * | | | Enter| | | | | | | | | - * `----------------------------------' `----------------------------------' - */ - [_DVORAK] = LAYOUT( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC , - KC_TAB ,KC_QUOTE,KC_COMM, KC_DOT, KC_P , KC_Y , KC_F, KC_G , KC_C , KC_R , KC_L , KC_BSPC, - CTL_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D, KC_H , KC_T , KC_N , KC_S , CTL_MINS, - KC_LSFT ,KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_B, KC_M , KC_W , KC_V , KC_Z , KC_RSFT, - ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP - ), - -/* - * Base Layer: Colemak DH - * - * ,-------------------------------------------. ,-------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Esc | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | Tab | Q | W | F | P | B | | J | L | U | Y | ; : | Bksp | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * |Ctrl/Esc| A | R | S | T | G | | M | N | E | I | O |Ctrl/' "| - * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | LShift | Z | X | C | D | V | [ { |CapsLk| |F-keys| ] } | K | H | , < | . > | / ? | RShift | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | - * | | | Enter| | | | | | | | | - * `----------------------------------' `----------------------------------' - */ - [_COLEMAK_DH] = LAYOUT( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC , - KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_J, KC_L , KC_U , KC_Y ,KC_SCLN, KC_BSPC, - CTL_ESC , KC_A , KC_R , KC_S , KC_T , KC_G , KC_M, KC_N , KC_E , KC_I , KC_O , CTL_QUOT, - KC_LSFT , KC_Z , KC_X , KC_C , KC_D , KC_V , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_K, KC_H ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT, - ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP - ), - -/* - * Nav Layer: Media, navigation - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert | - * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | | | | | | | | | | | | - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - */ - [_NAV] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL, - _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS, - _______, _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -/* - * Sym Layer: Numbers and symbols - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + | - * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | | | | | | | | | | | | - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - */ - [_SYM] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , - KC_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, - KC_PIPE , KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_LCBR, _______, _______, KC_RCBR, KC_RBRC, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -/* - * Function Layer: Function keys - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | F9 | F10 | F11 | F12 | | | | | | | | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | | - * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | | | | | | | | | | | | - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - */ - [_FUNCTION] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_F9 , KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, - _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, - _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -/* - * Adjust Layer: Default layer settings, RGB - * - * ,-------------------------------------------. ,-------------------------------------------. - * | Reset | | | | | | | | | | | | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | | |QWERTY| | | | | | | | | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | | - * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | | | | | | | | | | | | - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - */ - [_ADJUST] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, DVORAK , _______, _______, RM_TOGG, RM_SATU, RM_HUEU, RM_VALU, RM_NEXT, _______, - _______, _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RM_SATD, RM_HUED, RM_VALD, RM_PREV, _______, - _______, _______, _______,_______, _______, _______, _______, _______, _______, _______ - ), - -// /* -// * Layer template -// * -// * ,-------------------------------------------. ,-------------------------------------------. -// * | | | | | | | | | | | | | | -// * |--------+------+------+------+------+------| |------+------+------+------+------+--------| -// * | | | | | | | | | | | | | | -// * |--------+------+------+------+------+------| |------+------+------+------+------+--------| -// * | | | | | | | | | | | | | | -// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -// * | | | | | | | | | | | | | | | | | | -// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' -// * | | | | | | | | | | | | -// * | | | | | | | | | | | | -// * `----------------------------------' `----------------------------------' -// */ -// [_LAYERINDEX] = LAYOUT( -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -// ), -// -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) }, - [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [4] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [5] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [6] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, -}; -#endif diff --git a/keyboards/splitkb/halcyon/elora/keymaps/default/readme.md b/keyboards/splitkb/halcyon/elora/keymaps/default/readme.md deleted file mode 100644 index bd386bfa39..0000000000 --- a/keyboards/splitkb/halcyon/elora/keymaps/default/readme.md +++ /dev/null @@ -1,262 +0,0 @@ -# Halcyon Elora's Default Keymap - -The default keymap contains 5 layers which allows it to include all keys found on an ANSI layout TKL keyboard plus media keys. -Hardware features of the Elora such as rotary encoders and underglow are also supported. - -The Elora keymap is in essence identical to the Kyria keymap, just with an additional number row. A deep dive into the keymap is provided there. - -The five different layers are the following: -1. Base layer (QWERTY, Colemak-DH or Dvorak) -2. Navigation layer -3. Symbols/Numbers layer -4. Function layer -5. Adjust layer - -## Base layer(s) -``` -Base Layer: - - -,-------------------------------------------. ,-------------------------------------------. -| Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Esc | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| Tab | - | - | - | - | - | | - | - | - | - | - | Bksp | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -|Ctrl/Esc| - | - | - | - | - | | - | - | - | - | - |Ctrl/ - | -|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -| LShift | - | - | - | - | - | [ { |CapsLk| |F-Keys| ] } | - | - | - | - | - | RShift | -`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | - | | | Enter| | | | | | | | | - `----------------------------------' `----------------------------------' -``` -Three different well-known keyboard layouts are provided to fill in the placeholder `-` keys: QWERTY, Colemak-DH, and Dvorak. The default layer can be changed at runtime, more info on that in the section on the [adjust layer](#adjust-layer). - -For the rest of this write-up, the base layer will be assumed to be QWERTY and will be used as a reference to describe physical keys, e.g. “B key” vs, the much more verbose, “lower inner index key”. - -``` -Base Layer: QWERTY - -,-------------------------------------------. ,-------------------------------------------. -| Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Esc | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "| -|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | -`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | - | | | Enter| | | | | | | | | - `----------------------------------' `----------------------------------' -``` - -Aside from variations in the alpha cluster, the rest of the base keys remain the same and are designed to feel familiar. - -![Step-by-step animation of the transformation of an ortholinear TKL to a Kyria](https://i.imgur.com/uVDCOek.gif) - -
-After making transformations to the classic ANSI US QWERTY TKL 60% to arrive to the layout of the Elora, as illustrated in the animation above, the result looks like this: - -``` -,-------------------------------------------. ,-------------------------------------------. -| Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Esc | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| Cap Lk | A | S | D | F | G | | H | J | K | L | ; : | ' " | -|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -| LShift | Z | X | C | V | B | | | | | | N | M | , < | . > | / ? | RShift | -`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - | LCtrl| LGUI | LAlt | Space| | | | Space| AltGr| RGUI | Menu | - | | | | | | | | | | | | - `----------------------------------' '----------------------------------' -``` - -First thing to notice is the presence of blank keys. To fill in the blank keys above the Space keys, we can take inspiration from other split keyboards featuring an extra inner index column on each half. A common mapping for those kind of keys are the bracket keys that got removed in the fourth step of the animated transformation. The thumb keys besides Spaces is prime real estate for dedicated layer-switching keys. It doesn't matter on which side is assigned the sym-layer-switch key but it helps to keep the nav-layer-switch on the left in order to keep the arrow keys on the right side like on a classic keyboard, so we'll put nav on the left and sym on the right. We'll address the remaining blank thumb keys later. - -The base layer is starting to form but there remains some flaws. One glaring issue is the position of Control. Control is a very commonly used function but the key on which it sits right now is way too tucked in under the hand to be able to press it comfortably with either the thumb or the pinky from resting position. In fact, installing a rotary encoder there is a common move among Elora users and I guarantee you that activating Control by holding down a rotary encoder does not spark joy. Instead, let's employ a popular trick that involves remapping the current Caps Lock key, which is positioned at a comfortable position on the keyboard, to Control. - -We can go further though; a variant of this trick makes the Control key produce Escape when tapped. This is called a “modtap”. There is no use to tapping Control by itself without chording it with another key and there is no use to holding down the Esc key so why not combine the two into a single key? - -All of this leaves us with three blank keys. - -``` -,-------------------------------------------. ,-------------------------------------------. -| Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Esc | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : | ' " | -|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -| LShift | Z | X | C | V | B | [ { | | | | ] } | N | M | , < | . > | / ? | RShift | -`--------+-------------+--------------------+------+------| |------+------+--------------------+------+---------------' - | | LGUI | LAlt | Space| Nav | | Sym | Space| AltGr| RGUI | Menu | - | | | | | | | | | | | | - `----------------------------------' '----------------------------------' -``` - -These keys are not easily reachable while touch typing (that is, not reachable without picking up your hand) and should thus be associated with functions that you are not likely to be typed within a stream of text. The idea is that if you have to pick up your hand to hit a key, you want it to be at a time when you are likely to be pausing your interaction with the machine, rather than in the midst of a flurry of typing. They're thus well suited for accessing the adjust layer and the function layer. We can also toss in Caps Lock even though it is an editing-type function that gets used within a stream of text because shouting in ALL-CAPS should be a deliberate action. - -``` -,-------------------------------------------. ,-------------------------------------------. -| Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Esc | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : | ' " | -|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | -`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - |Adjust| LGUI | LAlt | Space| Nav | | Sym | Space| AltGr| RGUI | Menu | - | | | | | | | | | | | | - `----------------------------------' `----------------------------------' -``` - -The next glaring issue is the absence of an Enter key on the current base layer this far. Enter is a very frequently used key so it deserves to be placed at a good spot in the keymap. The best way to insert it in the keymap with minimal changes to the current layout is to use modtaps. A tempting solution is to turn the RShift key into a RShift/Enter modtap but that can result in chat messages sent too frustratingly early when you're not used to it. Using GUI is also sub-optimal because tapping the GUI modifier actually has a use as opposed to taps of the Control or the Shift key. Pressing and releasing the GUI key by itself opens the App menu in many desktop environments. The natural choice is thus LAlt/Enter. That way, Enter is 1u away from resting thumb position and is unlikely to get accidentally activated because Alt is very rarely used in the midst of prose. - -Finally, we're one Quality-Of-Life update away from the actual base layer. Ctrl/' " not only preserves symmetry in the keymap with Ctrl/Esc but also helps balance the load between your pinkies and invites you to use both hands instead of contortions. Perhaps more importantly, it also frees you from the necessity of picking up your hand, breaking touch typing position and pressing a pinky key with your ring finger in order to execute Ctrl+A or Ctrl+Z. That becomes even more important on a board with such an aggressive pinky columnar stagger like the Elora. - - -``` -,-------------------------------------------. ,-------------------------------------------. -| Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Esc | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "| -|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | -`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | - | | | Enter| | | | | | | | | - `----------------------------------' `----------------------------------' -``` - -
- -## Navigation layer - -``` -Nav Layer: Media, navigation - -,-------------------------------------------. ,-------------------------------------------. -| | | | | | | | | | | | | | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert | -|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -| | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc | -`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - | | | | | | | | | | | | - | | | | | | | | | | | | - `----------------------------------' `----------------------------------' -``` - -This is where you'll find all the keys that are generally between the main block of a classic keyboard and the numpad in addition to media controls and modifiers on easy access on the home row for fast and comfortable chording with navigation keys. - -Useful mnemonics: -- “GACS” to remember the order of the modifiers on the left-hand home row -- Scroll Lock is on the same key as Caps Lock because they're both locks -- Delete is on the same key as Backspace because they both erase characters -- Home is the leftmost position on the current line so it is above . Same logic applies for End. -- Media Previous = ⏮, Media Next = ⏭ -- Page Up, Page Down and Volume Up, Volume Down are positioned like the main Up and Down keys. - -## Sym layer -``` -Sym Layer: Numbers, symbols - -,-------------------------------------------. ,-------------------------------------------. -| | | | | | | | | | | | | | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + | -|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -| | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? | -`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - | | | | | | | | | | | | - | | | | | | | | | | | | - `----------------------------------' `----------------------------------' -``` -The top row is the unshifted num row, the home row of the layer is the shifted num row and the bottom row contains the hyphen `-` and the underscore `_` on the best lower row spot because of how frequent they are as well as redundant symbols that are already present on the base layer but are reproduced here to avoid juggling back and forth between base, shift, and sym when typing a string of symbols. - -The layout of the first two rows needs no introduction, you're already used to them but it's worth looking into the structure of the bottom row. - -The two halves are mirrored in a sense. On the right, you can find , . / at their usual spots with the addition of Shift+/=? to the right of the / key to remove the need to press simultaneously Sym and a Shift key to access `?`. - -Now, if you look at the left side, you'll notice that the mirror of , is ;, the mirror of . is : and the mirror of / is \\. The same logic used for Shift+/=? also applies to Shift+\\=|. - -In case you wish to combine Shift with a symbol key anyways, you can hold down Shift on the base layer with your pinky, activate Sym with your right thumb and while still holding down the Shift key, tap your desired symbol key. Same thing if you need Ctrl+Digit. - -## Function layer -``` -Function Layer: Function keys - -,-------------------------------------------. ,-------------------------------------------. -| | | | | | | | | | | | | | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| | F9 | F10 | F11 | F12 | | | | | | | | | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | | -|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -| | F1 | F2 | F3 | F4 | | | | | | | | | | | | | -`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - | | | | | | | | | | | | - | | | | | | | | | | | | - `----------------------------------' `----------------------------------' -``` -In a similar fashion to the nav layer, pressing down `FKEYS` with the right thumb enables a numpad of function keys on the opposite hand and modifiers on the right-hand home row. Once again, mirror symmetry is leveraged in this keymap for the order of the right-hand modifiers. - -The Alt modifier, despite being situated on the right half of the keyboard is *not* `KC_RALT`, it is `KC_LALT`. `KC_RALT` is actually the AltGr key which generally acts very differently to the left Alt key. Keyboard shortcuts involving AltGr+F# are rare and infrequent as opposed to the much more common Alt+F# shortcuts. Consequently, `KC_LALT` was chosen for the function layer. - -Since there are more than 10 function keys, the cluster of F-keys does not follow the usual 3×3+1 numpad arrangement. - - -## Adjust layer -``` -Adjust Layer: Default layer settings, RGB - -,-------------------------------------------. ,-------------------------------------------. -| | | | | | | | | | | | | | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| | | |QWERTY| | | | | | | | | | -|--------+------+------+------+------+------| |------+------+------+------+------+--------| -| | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | | -|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -| | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | | -`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - | | | | | | | | | | | | - | | | | | | | | | | | | - `----------------------------------' `----------------------------------' -``` - -Default layer settings on the left and various RGB underglow controls on the right. - -The default layer settings are lined up on the middle finger column because the home middle finger key is D on QWERTY (like the “D” in “Dvorak”) and the lower middle finger key is C on QWERTY (like the “C” in “Colemak”). I can hear you say that “QWERTY” doesn't start with “E” but Dvorak and Colemak were already aligned in a column so the QWERTY may as well join the formation. - -NOTE: The default layer settings set by those keys are *NOT* stored in EEPROM and thus do not persist through boots. If you wish to change the default layer in a non-volatile manner, either change the order of the layers in the firmware, for example like so if you want to set Dvorak as the new default: -```c -enum layers { - _DVORAK = 0, - _QWERTY, - _COLEMAK_DH, - _NAV, - _SYM, - _FUNCTION, - _ADJUST -}; -``` -or re-define the `QWERTY`, `COLEMAK` and `DVORAK` keys to point to custom keycodes starting on `SAFE_RANGE` and calling the `set_single_persistent_default_layer` function inside of `process_record_user`. - -## Hardware Features - -### Rotary Encoder -The left rotary encoder is programmed to control the volume whereas the right encoder sends PgUp or PgDn on every turn. - -## Going further… - -This default keymap can be used as is, unchanged, as a daily driver for your Elora but you're invited to treat your keymap like a bonsai. At the beginning, it's just like the default keymap but from time to time, you can tweak it a little. Cut a little key here, let another combo grow there. Slowly but surely it will be a unique keymap that will fit you like a glove. - -Check out the #keymap-ideas channel on the official SplitKB Discord server for inspiration. diff --git a/keyboards/splitkb/halcyon/elora/keymaps/default/rules.mk b/keyboards/splitkb/halcyon/elora/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/splitkb/halcyon/elora/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/splitkb/halcyon/elora/readme.md b/keyboards/splitkb/halcyon/elora/readme.md deleted file mode 100644 index 9970d31f43..0000000000 --- a/keyboards/splitkb/halcyon/elora/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Halcyon Elora - -![splitkb/halcyon/elora](https://i.imgur.com/TbFWzsh.png) - -The Halcyon Elora rev2 is the second Elora revision and the second keyboard in our Halcyon range. Similar to Aurora, all keyboards in the series share the same feature set. The key highlights: - -- Halcyon keyboards come preassembled! You won't need a soldering iron. -- You'll be able to install [VIK](https://github.com/sadekbaroudi/vik) modules. -- It'll come fully documented, which includes the unboxing, assembly (with only a screwdriver), first installation and some advanced use cases. -- Both the connection to the host device as well as the interconnect between the keyboard halves use USB C. -- The controller has full ESD protection on all USB C ports, as well as all switch matrix GPIO! -- The controller is interchangable. If part of your keyboard ever breaks, we can replace just the bits that need replacing. - -* Keyboard Maintainer: [splitkb.com](https://github.com/splitkb.com) -* Hardware Availability: [splitkb.com](https://splitkb.com). - -Make example for this keyboard (after setting up your build environment): - - make splitkb/halcyon/elora/rev2:default - -The keyboard can be flashed by copying the resulting `.uf2` file onto the `RPI-RP2` flash drive. - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Reset button**: Double-tap the reset button at the top of the controller, right above the USB-C port. -* **Bootloader reset**: Hold down the "Boot" button and plug in the keyboard. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/splitkb/halcyon/elora/rev2/config.h b/keyboards/splitkb/halcyon/elora/rev2/config.h deleted file mode 100644 index b5cd6f95f2..0000000000 --- a/keyboards/splitkb/halcyon/elora/rev2/config.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// Make it easier to enter the bootloader -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U - -// UART1, communication between the two halves -#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. -#define SERIAL_USART_TX_PIN GP28 // USART TX pin -#define SERIAL_USART_RX_PIN GP29 // USART RX pin -#define SERIAL_PIO_USE_PIO1 // Use PIO1 as PIO0 is used for WS2812 driver - -// VBUS detection -#define USB_VBUS_PIN GP1 - -//// VIK - -// GPIO1 = GP27 -// GPIO2 = GP26 -// CS = GP13 - -#define I2C_DRIVER I2C0 -#define I2C1_SDA_PIN GP16 -#define I2C1_SCL_PIN GP17 - -#define SPI_DRIVER SPID1 -#define SPI_SCK_PIN GP14 -#define SPI_MOSI_PIN GP15 -#define SPI_MISO_PIN GP12 diff --git a/keyboards/splitkb/halcyon/elora/rev2/halconf.h b/keyboards/splitkb/halcyon/elora/rev2/halconf.h deleted file mode 100644 index a6937ddf9d..0000000000 --- a/keyboards/splitkb/halcyon/elora/rev2/halconf.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -//// VIK - -#define HAL_USE_I2C TRUE -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/splitkb/halcyon/elora/rev2/keyboard.json b/keyboards/splitkb/halcyon/elora/rev2/keyboard.json deleted file mode 100644 index c2dc711f07..0000000000 --- a/keyboards/splitkb/halcyon/elora/rev2/keyboard.json +++ /dev/null @@ -1,177 +0,0 @@ -{ - "keyboard_name": "Halcyon Elora rev2", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "GP22", "pin_b": "GP18", "resolution": 2} - ] - }, - "features": { - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP24", "GP19", "GP20", "GP25", "GP4", "GP9", "GP10"], - "rows": ["GP8", "GP11", "GP7", "GP6", "GP5"] - }, - "processor": "RP2040", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_color": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"x": 75, "y": 2, "flags": 2}, - {"x": 50, "y": 1, "flags": 2}, - {"x": 14, "y": 4, "flags": 2}, - {"x": 25, "y": 45, "flags": 2}, - {"x": 58, "y": 49, "flags": 2}, - {"x": 94, "y": 53, "flags": 2}, - {"matrix": [4, 0], "x": 94, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 79, "y": 61, "flags": 4}, - {"matrix": [4, 1], "x": 65, "y": 55, "flags": 4}, - {"matrix": [4, 2], "x": 51, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 36, "y": 52, "flags": 4}, - {"matrix": [3, 0], "x": 101, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 87, "y": 49, "flags": 4}, - {"matrix": [3, 1], "x": 72, "y": 43, "flags": 4}, - {"matrix": [3, 2], "x": 58, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 43, "y": 37, "flags": 4}, - {"matrix": [3, 4], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 14, "y": 46, "flags": 4}, - {"matrix": [3, 6], "x": 0, "y": 46, "flags": 4}, - {"matrix": [2, 1], "x": 72, "y": 30, "flags": 4}, - {"matrix": [2, 2], "x": 58, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 43, "y": 24, "flags": 4}, - {"matrix": [2, 4], "x": 29, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 14, "y": 34, "flags": 4}, - {"matrix": [2, 6], "x": 0, "y": 34, "flags": 4}, - {"matrix": [1, 1], "x": 72, "y": 18, "flags": 4}, - {"matrix": [1, 2], "x": 58, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 43, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 29, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 14, "y": 21, "flags": 4}, - {"matrix": [1, 6], "x": 0, "y": 21, "flags": 4}, - {"matrix": [0, 1], "x": 72, "y": 6, "flags": 4}, - {"matrix": [0, 2], "x": 48, "y": 3, "flags": 4}, - {"matrix": [0, 3], "x": 43, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 29, "y": 3, "flags": 4}, - {"matrix": [0, 5], "x": 14, "y": 9, "flags": 4}, - {"matrix": [0, 6], "x": 0, "y": 9, "flags": 4}, - {"x": 149, "y": 2, "flags": 2}, - {"x": 174, "y": 1, "flags": 2}, - {"x": 210, "y": 4, "flags": 2}, - {"x": 199, "y": 45, "flags": 2}, - {"x": 166, "y": 49, "flags": 2}, - {"x": 130, "y": 53, "flags": 2}, - {"matrix": [9, 0], "x": 130, "y": 64, "flags": 4}, - {"matrix": [9, 5], "x": 145, "y": 61, "flags": 4}, - {"matrix": [9, 1], "x": 159, "y": 55, "flags": 4}, - {"matrix": [9, 2], "x": 173, "y": 52, "flags": 4}, - {"matrix": [9, 4], "x": 188, "y": 52, "flags": 4}, - {"matrix": [8, 0], "x": 123, "y": 52, "flags": 4}, - {"matrix": [9, 3], "x": 137, "y": 49, "flags": 4}, - {"matrix": [8, 1], "x": 152, "y": 43, "flags": 4}, - {"matrix": [8, 2], "x": 166, "y": 40, "flags": 4}, - {"matrix": [8, 3], "x": 181, "y": 37, "flags": 4}, - {"matrix": [8, 4], "x": 195, "y": 40, "flags": 4}, - {"matrix": [8, 5], "x": 210, "y": 46, "flags": 4}, - {"matrix": [8, 6], "x": 224, "y": 46, "flags": 4}, - {"matrix": [7, 1], "x": 152, "y": 30, "flags": 4}, - {"matrix": [7, 2], "x": 166, "y": 27, "flags": 4}, - {"matrix": [7, 3], "x": 181, "y": 24, "flags": 4}, - {"matrix": [7, 4], "x": 195, "y": 27, "flags": 4}, - {"matrix": [7, 5], "x": 210, "y": 34, "flags": 4}, - {"matrix": [7, 6], "x": 224, "y": 34, "flags": 4}, - {"matrix": [6, 1], "x": 152, "y": 18, "flags": 4}, - {"matrix": [6, 2], "x": 166, "y": 15, "flags": 4}, - {"matrix": [6, 3], "x": 181, "y": 12, "flags": 4}, - {"matrix": [6, 4], "x": 195, "y": 15, "flags": 4}, - {"matrix": [6, 5], "x": 210, "y": 21, "flags": 4}, - {"matrix": [6, 6], "x": 224, "y": 21, "flags": 4}, - {"matrix": [5, 1], "x": 152, "y": 6, "flags": 4}, - {"matrix": [5, 2], "x": 166, "y": 3, "flags": 4}, - {"matrix": [5, 3], "x": 181, "y": 0, "flags": 4}, - {"matrix": [5, 4], "x": 195, "y": 3, "flags": 4}, - {"matrix": [5, 5], "x": 210, "y": 9, "flags": 4}, - {"matrix": [5, 6], "x": 224, "y": 9, "flags": 4} - ], - "max_brightness": 128, - "sleep": true, - "split_count": [37, 37] - }, - "split": { - "enabled": true, - "handedness": { - "pin": "GP23" - }, - "matrix_pins": { - "right": { - "cols": ["GP10", "GP9", "GP4", "GP25", "GP20", "GP19", "GP24"], - "rows": ["GP8", "GP11", "GP7", "GP6", "GP5"] - } - }, - "serial": { - "driver": "vendor" - }, - "transport": { - "sync": { - "matrix_state": true - } - } - }, - "usb": { - "pid": "0xA392" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP3" - } -} diff --git a/keyboards/splitkb/halcyon/elora/rev2/mcuconf.h b/keyboards/splitkb/halcyon/elora/rev2/mcuconf.h deleted file mode 100644 index 126697a4a0..0000000000 --- a/keyboards/splitkb/halcyon/elora/rev2/mcuconf.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -//// VIK - -#undef RP_I2C_USE_I2C0 -#define RP_I2C_USE_I2C0 TRUE - -#undef RP_SPI_USE_SPI1 -#define RP_SPI_USE_SPI1 TRUE diff --git a/keyboards/splitkb/halcyon/elora/rev2/rev2.c b/keyboards/splitkb/halcyon/elora/rev2/rev2.c deleted file mode 100644 index e0a64ae9a4..0000000000 --- a/keyboards/splitkb/halcyon/elora/rev2/rev2.c +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef ENCODER_ENABLE -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { - return false; - } - if (index == 0) { - // Volume control - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else if (index == 1) { - // Page up/Page down - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } - return false; -} -#endif diff --git a/keyboards/splitkb/halcyon/ferris/info.json b/keyboards/splitkb/halcyon/ferris/info.json deleted file mode 100755 index 66d69f717c..0000000000 --- a/keyboards/splitkb/halcyon/ferris/info.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "manufacturer": "splitkb.com", - "maintainer": "splitkb.com", - "url": "https://splitkb.com", - "usb": { - "device_version": "1.0.0", - "vid": "0x8D1D" - }, - "layout_aliases": { - "LAYOUT": "LAYOUT_split_3x5_2" - }, - "layouts": { - "LAYOUT_split_3x5_2": { - "layout": [ - {"label": "L01", "matrix": [0, 4], "x": 0, "y": 0.93}, - {"label": "L02", "matrix": [0, 3], "x": 1, "y": 0.31}, - {"label": "L03", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "L04", "matrix": [0, 1], "x": 3, "y": 0.28}, - {"label": "L05", "matrix": [0, 0], "x": 4, "y": 0.42}, - {"label": "R05", "matrix": [4, 0], "x": 7, "y": 0.42}, - {"label": "R04", "matrix": [4, 1], "x": 8, "y": 0.28}, - {"label": "R03", "matrix": [4, 2], "x": 9, "y": 0}, - {"label": "R02", "matrix": [4, 3], "x": 10, "y": 0.31}, - {"label": "R01", "matrix": [4, 4], "x": 11, "y": 0.93}, - {"label": "L06", "matrix": [1, 4], "x": 0, "y": 1.93}, - {"label": "L07", "matrix": [1, 3], "x": 1, "y": 1.31}, - {"label": "L08", "matrix": [1, 2], "x": 2, "y": 1}, - {"label": "L09", "matrix": [1, 1], "x": 3, "y": 1.28}, - {"label": "L10", "matrix": [1, 0], "x": 4, "y": 1.42}, - {"label": "R10", "matrix": [5, 0], "x": 7, "y": 1.42}, - {"label": "R09", "matrix": [5, 1], "x": 8, "y": 1.28}, - {"label": "R08", "matrix": [5, 2], "x": 9, "y": 1}, - {"label": "R07", "matrix": [5, 3], "x": 10, "y": 1.31}, - {"label": "R06", "matrix": [5, 4], "x": 11, "y": 1.93}, - {"label": "L11", "matrix": [2, 4], "x": 0, "y": 2.93}, - {"label": "L12", "matrix": [2, 3], "x": 1, "y": 2.31}, - {"label": "L13", "matrix": [2, 2], "x": 2, "y": 2}, - {"label": "L14", "matrix": [2, 1], "x": 3, "y": 2.28}, - {"label": "L15", "matrix": [2, 0], "x": 4, "y": 2.42}, - {"label": "R15", "matrix": [6, 0], "x": 7, "y": 2.42}, - {"label": "R14", "matrix": [6, 1], "x": 8, "y": 2.28}, - {"label": "R13", "matrix": [6, 2], "x": 9, "y": 2}, - {"label": "R12", "matrix": [6, 3], "x": 10, "y": 2.31}, - {"label": "R11", "matrix": [6, 4], "x": 11, "y": 2.93}, - {"label": "L16", "matrix": [3, 1], "x": 3.5, "y": 3.75}, - {"label": "L17", "matrix": [3, 0], "x": 4.5, "y": 4}, - {"label": "R17", "matrix": [7, 0], "x": 6.5, "y": 4}, - {"label": "R16", "matrix": [7, 1], "x": 7.5, "y": 3.75} - ] - } - } -} diff --git a/keyboards/splitkb/halcyon/ferris/keymaps/default/keymap.json b/keyboards/splitkb/halcyon/ferris/keymaps/default/keymap.json deleted file mode 100644 index 95748c743f..0000000000 --- a/keyboards/splitkb/halcyon/ferris/keymaps/default/keymap.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "keyboard": "splitkb/halcyon/ferris/rev1", - "keymap": "default", - "version": 1, - "layout": "LAYOUT", - "layers": [ - [ - "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T" , "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P", - "LSFT_T(KC_A)", "LT(5,KC_S)" , "LT(1,KC_D)" , "LT(3,KC_F)" , "KC_G" , "KC_H" , "LT(4,KC_J)" , "LT(2,KC_K)" , "LT(6,KC_L)" , "LSFT_T(KC_SCLN)", - "KC_Z" , "LCTL_T(KC_X)", "LALT_T(KC_C)" , "KC_V" , "KC_B" , "KC_N" , "KC_M" , "LALT_T(KC_COMM)", "LCTL_T(KC_DOT)", "KC_SLSH", - "KC_P0" , "KC_BSPC" , "LT(7,KC_SPC)" , "KC_P1" - ], - [ - "RM_TOGG" , "RM_NEXT" , "RM_HUEU" , "RM_SATU" , "RM_VALU" , "RM_SPDU" , "KC_BTN1" , "KC_WH_U" , "KC_BTN2" , "KC_TRNS", - "KC_TRNS" , "KC_BTN2" , "KC_NO" , "KC_BTN1" , "KC_TRNS" , "KC_TRNS" , "KC_MS_L" , "KC_MS_D" , "KC_MS_U" , "KC_MS_R", - "KC_TRNS" , "RM_PREV" , "RM_HUED" , "RM_SATD" , "RM_VALD" , "RM_SPDD" , "KC_WH_L" , "KC_WH_D" , "KC_WH_R" , "KC_TRNS", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" - ], - [ - "KC_TRNS" , "KC_TRNS" , "KC_PGUP" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_LEFT" , "KC_UP" , "KC_DOWN" , "KC_RGHT" , "KC_TRNS" , "KC_TRNS" , "KC_LGUI" , "KC_NO" , "LCTL(KC_LALT)" , "LCA(KC_LSFT)", - "KC_TRNS" , "KC_HOME" , "KC_PGDN" , "KC_END" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" - ], - [ - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_UNDS" , "KC_PIPE" , "KC_QUOT" , "KC_TRNS", - "KC_CIRC" , "KC_ASTR" , "KC_AMPR" , "KC_NO" , "KC_TRNS" , "KC_HASH" , "KC_TILD" , "KC_SLSH" , "KC_DQUO" , "KC_DLR", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_MINS" , "KC_BSLS" , "KC_GRV" , "KC_TRNS", - "RM_PREV" , "KC_TRNS" , "KC_TRNS" , "RM_NEXT" - ], - [ - "KC_TRNS" , "KC_COLN" , "KC_LT" , "KC_GT" , "KC_SCLN" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_LCBR" , "KC_RCBR" , "KC_LPRN" , "KC_RPRN" , "KC_AT" , "KC_TRNS" , "KC_NO" , "KC_EQL" , "KC_PLUS" , "KC_PERC", - "KC_TRNS" , "KC_EXLM" , "KC_LBRC" , "KC_RBRC" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_VOLD" , "KC_TRNS" , "KC_TRNS" , "KC_VOLU" - ], - [ - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10", - "KC_TRNS" , "KC_NO" , "LCTL(KC_LALT)" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_F4" , "KC_F5" , "KC_F6" , "KC_F11", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F12", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" - ], - [ - "KC_PSLS" , "KC_7" , "KC_8" , "KC_9" , "KC_PPLS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_PMNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_NO" , "KC_TRNS", - "KC_PAST" , "KC_4" , "KC_5" , "KC_6" , "KC_PEQL" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" - ], - [ - "KC_TRNS" , "KC_TRNS" , "KC_COLN" , "KC_ESC" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_DEL", - "KC_TRNS" , "KC_PERC" , "KC_SLSH" , "KC_ENT" , "KC_TRNS" , "DF(1)" , "KC_LGUI" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_EXLM" , "KC_TRNS" , "DF(0)" , "KC_TRNS" , "RALT_T(KC_COMM)", "RCTL_T(KC_DOT)", "QK_BOOT", - "KC_TRNS" , "KC_TAB" , "KC_NO" , "KC_TRNS" - ] - ], - "config": { - "mousekey": { - "interval": 16, - "time_to_max": 40, - "delay": 100, - "wheel_delay": 100 - }, - "tapping": { - "term": 200, - "permissive_hold": true, - "force_hold": true - } - } -} diff --git a/keyboards/splitkb/halcyon/ferris/keymaps/default/readme.md b/keyboards/splitkb/halcyon/ferris/keymaps/default/readme.md deleted file mode 100644 index dcdc6b3aa1..0000000000 --- a/keyboards/splitkb/halcyon/ferris/keymaps/default/readme.md +++ /dev/null @@ -1,142 +0,0 @@ -# Halcyon Ferris's Default Keymap -_This keymap is a copy of the [Ferris default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps/default), with the addition of RGB modifier keys._ - -A usable default keymap for the Ferris keyboard -=============================================== - -Keymaps in general are quite personal, so it is difficult to come up with a default that will suit every user. - -This keymap makes heavy use of keys behaving differently when tapped and held, so that all the keys one may need remain accessible despite the low number of thumb keys. - -It comes with a number of layers to give access to most of the keys one may need on a keyboard. It is not meant to be the best possible keymap, but rather a good base on which to build a keymap that works for you. - -This is not the only way to make 34 keys a comfortable typing experience, but it is one way to do so. If you don't already know of a better way, this may be as good a starting point as any :) - -Note that this keymap was built from the perspective that it is OK to take a steep learning curve if it results in a keymap that is easier to use in the long run. This means that it may take more effort to learn this keymap than some alternatives. "Easy to use" was assessed against the workflow of the author, so your mileage may vary on some of the details. - -What do all these layers do? ----------------------------- - -### Layer 0: Base layer - -![Layer 0](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/sweep/keymaps/default/layer0.png) - -On tapping the keys, our base layer is qwerty with space on the right homing thumb and backspace on the left homing thumb. - -In this layer, the non-homing-thumb positions have 0 and 1. I recommend modifying this to some frequently accessed shortcut such as copy/paste, previous/next tab or anything that makes most sense in your own workflow. O and 1 are place-holders and make it easy to troubleshoot that all keys are working properly before soldering in the switches. -The reason I recommend convenience shortcuts instead of more commonly used keys like tab or meta is that unhoming of the thumbs was a frequent source of typos for me when I used more than one thumb key frequently in the context of typing. - -Despite being missing on this layer, "meta", "tab", "esc" and such are accessible from any other layer: see Layer 7. - -The behaviour of some keys differ when held: -* Both homing pinkies behave as shift. -* Both bottom-row ring fingers behave as ctrl. -* Both bottom-row middle fingers behave as alt. - -* The homing left ring finger gives access to the Function keys layer -* The homing right ring finger gives access to the Numbers layer -* The homing left middle finger gives access to the Mouse layer -* The homing right middle finger gives access to the Navigation layer -* The homing left index finger gives access to the Right symbols layer -* The homing right index finger gives access to the Left symbols layer -* The homing right thumb gives access to the Always accessible layer - -### Layer 1: Mouse - -![Layer 1](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/sweep/keymaps/default/layer1.png) - -Layer 1 is a mouse layer: it can be used one-handed or two-handed. The most common way to use it is two handed, with left and right click on the homerow of the left hand and directions on the homerow of the right hand. -Scrolling is available on the right hand with mid finger up and down for vertical scroll and index and ring finger down for horizontal scroll. -On the right hand, left click and right click are also available with index and ring finger up to allow one handed operation. This can be particularly handy when enabling the mouse layer permanently (no need to hold the left middle finger), which can be done from Layer 7. - -**Addition**: The Halcyon Ferris allows the RGB settings to be modified on this layer. This is an extra feature over the default Ferris keymap. - -### Layer 2: Navigation - -![Layer 2](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/sweep/keymaps/default/layer2.png) - -The navigation layer somewhat mirrors the mouse layer. It is accessed by holding the right middle finger and gives access to arrow keys on the left homerow. Page up and down, Home and End mirror the vertical scrolling and horizontal scrolling on the mouse layer. - -On the right hand, in addition to ctrl and alt which are available through transparency, ctrl + alt, ctrl + alt + shift and meta are accessible on the homerow to enable common shortcuts in some window managers. This part is quite workflow dependent, so make sure to adapt it to your own workflow as appropriate. - -### Layer 3: Right symbols - -![Layer 3](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/sweep/keymaps/default/layer3.png) - -When holding down the left index, one may access about half of the symbols. The pinkies store `^` and `$` symbols that represent begin and end in vim. The left homerow hosts `*` and `&`, symbols which are related in the way that they represent some form of indirection in programming languages such as rust. On the right hand, most symbols used when navigating the command line are stored together, organized by columns of related symbols. - -### Layer 4: Left symbols - -![Layer 4](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/sweep/keymaps/default/layer4.png) - -When holding down the right index, one may access the other symbols. On the left hand, most of the different brackets are laid out. The most frequent ones (round brackets and curly brackets) get a spot on the homerow. The rest of the layer hosts the remaining symbols that are easier to access here than on any other layers. - -### Layer 5: Function keys - -![Layer 5](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/sweep/keymaps/default/layer5.png) - -By holding down the left ring finger, one may access the function keys, roughly in a numpad layout. -This means that alt+F4 is easy to type, with F4 being on the homerow. -There is a shortcut for ctrl+alt on the left hand to enable convenient switching between virtual terminals on Linux. - -### Layer 6: Numbers - -![Layer 6](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/sweep/keymaps/default/layer6.png) - -The number layer is accessed by holding the right ring finger. It hosts the numbers and some duplicated symbols that are commonly accessed next to numbers, such as mathematical operators. -The number are layed out similarly to a numpad, but with the middle row and the homerow swapped so that the most used numbers: 0, 1, 2 and 3 are all available in homing positions. - -### Layer 7: Always accessible - -![Layer 7](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/sweep/keymaps/default/layer7.png) - -Layer 7 is accessed by holding the right homing thumb down. Because this position is left transparent from every other layer, this layer is always accessible. -It gives access to some essential keys that would typically be accessed on a thumb cluster or pinkies, such as meta, enter, tab, esc and delete. - -As the layer hosting esc, we duplicated some symbols here to allow for fast navigation in vim. For instance, esc, :, w, q can be done in a single roll. - -Where is the keymap.c? ----------------------- - -The keymap.c file is not published to the repository. It is generated from `keymap.json` by the build system. - -This avoids duplicating information and allow users to edit their keymap from the QMK Configurator web interface. - -How do I edit and update the keymap? ------------------------------------- - -The `keymap.json` file is generated from the QMK Configurator interface and formatted for better readability in the context of the Ferris keyboard. - -To edit it, you may: -* Edit it directly from a text editor. -* Edit it from the QMK Configurator. - -If you decide to use the latter workflow, here are the steps to follow: - -* From the [QMK Configurator](https://config.qmk.fm/#/splitkb/halcyon/ferris/rev1/LAYOUT_split_3x5_2), hit the "import QMK keymap json file" button (it has a drawing with an up arrow on it). -* Browse to the location of your keymap (for example, `/keyboards/splitkb/halcyon/ferris/keymaps/default/keymap.json`) -* Perform any modification to the keymap in the web UI -* Export the keymap to your downloads folder, by hitting the "Export QMK keymap json file" button (it has a drawing with a down arrow on it) -* Replace your original keymap with the one you just downloaded - -I want to do more than the JSON format supports! -------------------------------------------------- - -While the `json` format is easy to use, it does lack certain functionality. - -To add this, you need to convert it to the `c` format. Do keep in mind that this is generally a one-way operation. - -First, from the root of your qmk repo, move to your keymap folder - -```bash -cd ./keyboards/splitkb/halcyon/ferris/keymaps/my_personal_keymap -``` - -Next, convert your `keymap.json` to a `keymap.c` - -```bash -qmk json2c -o keymap.c keymap.json -``` - -You can add custom C code to the newly generated `keymap.c` file. Do note that you have to use **either** a C file **or** a JSON file - you cannot do both! -**If a JSON file is present, the C file is ignored.** diff --git a/keyboards/splitkb/halcyon/ferris/readme.md b/keyboards/splitkb/halcyon/ferris/readme.md deleted file mode 100755 index c19a8b16db..0000000000 --- a/keyboards/splitkb/halcyon/ferris/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Halcyon Ferris - -![splitkb/halcyon/ferris](https://i.imgur.com/TlgU8iR.png) - -The Halcyon Ferris rev1 is the first Ferris revision and the fifth keyboard in our Halcyon range. Similar to Aurora, all keyboards in the series share the same feature set. The key highlights: - -- Halcyon keyboards come preassembled! You won't need a soldering iron. -- You'll be able to install [VIK](https://github.com/sadekbaroudi/vik) modules. -- It'll come fully documented, which includes the unboxing, assembly (with only a screwdriver), first installation and some advanced use cases. -- Both the connection to the host device as well as the interconnect between the keyboard halves use USB C. -- The controller has full ESD protection on all USB C ports, as well as all switch matrix GPIO! -- The controller is interchangable. If part of your keyboard ever breaks, we can replace just the bits that need replacing. - -* Keyboard Maintainer: [splitkb.com](https://github.com/splitkb.com) -* Hardware Availability: [splitkb.com](https://splitkb.com). - -Make example for this keyboard (after setting up your build environment): - - make splitkb/halcyon/ferris/rev1:default - -The keyboard can be flashed by copying the resulting `.uf2` file onto the `RPI-RP2` flash drive. - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Reset button**: Double-tap the reset button at the top of the controller, right above the USB-C port. -* **Bootloader reset**: Hold down the "Boot" button and plug in the keyboard. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. diff --git a/keyboards/splitkb/halcyon/ferris/rev1/config.h b/keyboards/splitkb/halcyon/ferris/rev1/config.h deleted file mode 100755 index b5cd6f95f2..0000000000 --- a/keyboards/splitkb/halcyon/ferris/rev1/config.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// Make it easier to enter the bootloader -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U - -// UART1, communication between the two halves -#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. -#define SERIAL_USART_TX_PIN GP28 // USART TX pin -#define SERIAL_USART_RX_PIN GP29 // USART RX pin -#define SERIAL_PIO_USE_PIO1 // Use PIO1 as PIO0 is used for WS2812 driver - -// VBUS detection -#define USB_VBUS_PIN GP1 - -//// VIK - -// GPIO1 = GP27 -// GPIO2 = GP26 -// CS = GP13 - -#define I2C_DRIVER I2C0 -#define I2C1_SDA_PIN GP16 -#define I2C1_SCL_PIN GP17 - -#define SPI_DRIVER SPID1 -#define SPI_SCK_PIN GP14 -#define SPI_MOSI_PIN GP15 -#define SPI_MISO_PIN GP12 diff --git a/keyboards/splitkb/halcyon/ferris/rev1/halconf.h b/keyboards/splitkb/halcyon/ferris/rev1/halconf.h deleted file mode 100644 index a6937ddf9d..0000000000 --- a/keyboards/splitkb/halcyon/ferris/rev1/halconf.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -//// VIK - -#define HAL_USE_I2C TRUE -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/splitkb/halcyon/ferris/rev1/keyboard.json b/keyboards/splitkb/halcyon/ferris/rev1/keyboard.json deleted file mode 100755 index 4cd0b23f4c..0000000000 --- a/keyboards/splitkb/halcyon/ferris/rev1/keyboard.json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "keyboard_name": "Halcyon Ferris rev1", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP8", "GP6", "GP5", "GP9", "GP4"], - "rows": ["GP10", "GP25", "GP7", "GP11"] - }, - "processor": "RP2040", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"flags": 2, "x": 71, "y": 15}, - {"flags": 2, "x": 51, "y": 8}, - {"flags": 2, "x": 10, "y": 13}, - {"flags": 2, "x": 10, "y": 42}, - {"flags": 2, "x": 41, "y": 45}, - {"flags": 2, "x": 76, "y": 50}, - {"flags": 4, "matrix": [0, 4], "x": 0, "y": 15}, - {"flags": 4, "matrix": [0, 3], "x": 20, "y": 5}, - {"flags": 4, "matrix": [0, 2], "x": 41, "y": 0}, - {"flags": 4, "matrix": [0, 1], "x": 61, "y": 4}, - {"flags": 4, "matrix": [0, 0], "x": 81, "y": 7}, - {"flags": 4, "matrix": [1, 4], "x": 0, "y": 31}, - {"flags": 4, "matrix": [1, 3], "x": 20, "y": 21}, - {"flags": 4, "matrix": [1, 2], "x": 41, "y": 16}, - {"flags": 4, "matrix": [1, 1], "x": 61, "y": 20}, - {"flags": 4, "matrix": [1, 0], "x": 81, "y": 23}, - {"flags": 4, "matrix": [2, 4], "x": 0, "y": 47}, - {"flags": 4, "matrix": [2, 3], "x": 20, "y": 37}, - {"flags": 4, "matrix": [2, 2], "x": 41, "y": 32}, - {"flags": 4, "matrix": [2, 1], "x": 61, "y": 36}, - {"flags": 4, "matrix": [2, 0], "x": 81, "y": 39}, - {"flags": 4, "matrix": [3, 1], "x": 71, "y": 60}, - {"flags": 4, "matrix": [3, 0], "x": 92, "y": 64}, - {"flags": 2, "x": 150, "y": 15}, - {"flags": 2, "x": 190, "y": 8}, - {"flags": 2, "x": 210, "y": 13}, - {"flags": 2, "x": 220, "y": 42}, - {"flags": 2, "x": 183, "y": 45}, - {"flags": 2, "x": 155, "y": 50}, - {"flags": 4, "matrix": [4, 0], "x": 143, "y": 7}, - {"flags": 4, "matrix": [4, 1], "x": 163, "y": 4}, - {"flags": 4, "matrix": [4, 2], "x": 183, "y": 0}, - {"flags": 4, "matrix": [4, 3], "x": 204, "y": 5}, - {"flags": 4, "matrix": [4, 4], "x": 224, "y": 15}, - {"flags": 4, "matrix": [5, 0], "x": 143, "y": 23}, - {"flags": 4, "matrix": [5, 1], "x": 163, "y": 20}, - {"flags": 4, "matrix": [5, 2], "x": 183, "y": 16}, - {"flags": 4, "matrix": [5, 3], "x": 204, "y": 21}, - {"flags": 4, "matrix": [5, 4], "x": 224, "y": 31}, - {"flags": 4, "matrix": [6, 0], "x": 143, "y": 39}, - {"flags": 4, "matrix": [6, 1], "x": 163, "y": 36}, - {"flags": 4, "matrix": [6, 2], "x": 183, "y": 32}, - {"flags": 4, "matrix": [6, 3], "x": 204, "y": 37}, - {"flags": 4, "matrix": [6, 4], "x": 224, "y": 47}, - {"flags": 4, "matrix": [7, 0], "x": 132, "y": 64}, - {"flags": 4, "matrix": [7, 1], "x": 153, "y": 60} - ], - "max_brightness": 128, - "sleep": true, - "split_count": [23, 23] - }, - "split": { - "enabled": true, - "handedness": { - "pin": "GP20" - }, - "matrix_pins": { - "right": { - "cols": ["GP8", "GP25", "GP7", "GP4", "GP9"], - "rows": ["GP6", "GP5", "GP10", "GP11"] - } - }, - "serial": { - "driver": "vendor" - }, - "transport": { - "sync": { - "matrix_state": true - } - } - }, - "usb": { - "pid": "0xE050" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP3" - } -} diff --git a/keyboards/splitkb/halcyon/ferris/rev1/mcuconf.h b/keyboards/splitkb/halcyon/ferris/rev1/mcuconf.h deleted file mode 100644 index 126697a4a0..0000000000 --- a/keyboards/splitkb/halcyon/ferris/rev1/mcuconf.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -//// VIK - -#undef RP_I2C_USE_I2C0 -#define RP_I2C_USE_I2C0 TRUE - -#undef RP_SPI_USE_SPI1 -#define RP_SPI_USE_SPI1 TRUE diff --git a/keyboards/splitkb/halcyon/kyria/rev4/halconf.h b/keyboards/splitkb/halcyon/kyria/rev4/halconf.h index 6d2db1bbd2..1050ebf313 100644 --- a/keyboards/splitkb/halcyon/kyria/rev4/halconf.h +++ b/keyboards/splitkb/halcyon/kyria/rev4/halconf.h @@ -6,6 +6,9 @@ //// VIK #define HAL_USE_I2C TRUE + #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next \ No newline at end of file diff --git a/keyboards/splitkb/halcyon/kyria/rev4/keyboard.json b/keyboards/splitkb/halcyon/kyria/rev4/keyboard.json index 7f699f2584..c9e891964b 100755 --- a/keyboards/splitkb/halcyon/kyria/rev4/keyboard.json +++ b/keyboards/splitkb/halcyon/kyria/rev4/keyboard.json @@ -52,6 +52,7 @@ "rainbow_moving_chevron": true, "rainbow_pinwheels": true, "raindrops": true, + "solid_color": true, "solid_multisplash": true, "solid_reactive": true, "solid_reactive_cross": true, @@ -65,6 +66,9 @@ "splash": true, "typing_heatmap": true }, + "default": { + "animation": "cycle_left_right" + }, "driver": "ws2812", "layout": [ {"x": 75, "y": 2, "flags": 2}, diff --git a/keyboards/splitkb/halcyon/lily58/info.json b/keyboards/splitkb/halcyon/lily58/info.json deleted file mode 100755 index 178527f838..0000000000 --- a/keyboards/splitkb/halcyon/lily58/info.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "manufacturer": "splitkb.com", - "maintainer": "splitkb.com", - "url": "https://splitkb.com", - "usb": { - "device_version": "1.0.0", - "vid": "0x8D1D" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "L01", "matrix": [0, 0], "x": 0, "y": 0.5}, - {"label": "L02", "matrix": [0, 1], "x": 1, "y": 0.375}, - {"label": "L03", "matrix": [0, 2], "x": 2, "y": 0.125}, - {"label": "L04", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "L05", "matrix": [0, 4], "x": 4, "y": 0.125}, - {"label": "L06", "matrix": [0, 5], "x": 5, "y": 0.25}, - {"label": "R06", "matrix": [5, 5], "x": 10.5, "y": 0.25}, - {"label": "R05", "matrix": [5, 4], "x": 11.5, "y": 0.125}, - {"label": "R04", "matrix": [5, 3], "x": 12.5, "y": 0}, - {"label": "R03", "matrix": [5, 2], "x": 13.5, "y": 0.125}, - {"label": "R02", "matrix": [5, 1], "x": 14.5, "y": 0.375}, - {"label": "R01", "matrix": [5, 0], "x": 15.5, "y": 0.5}, - {"label": "L07", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "L08", "matrix": [1, 1], "x": 1, "y": 1.375}, - {"label": "L09", "matrix": [1, 2], "x": 2, "y": 1.125}, - {"label": "L10", "matrix": [1, 3], "x": 3, "y": 1}, - {"label": "L11", "matrix": [1, 4], "x": 4, "y": 1.125}, - {"label": "L12", "matrix": [1, 5], "x": 5, "y": 1.25}, - {"label": "R12", "matrix": [6, 5], "x": 10.5, "y": 1.25}, - {"label": "R11", "matrix": [6, 4], "x": 11.5, "y": 1.125}, - {"label": "R10", "matrix": [6, 3], "x": 12.5, "y": 1}, - {"label": "R09", "matrix": [6, 2], "x": 13.5, "y": 1.125}, - {"label": "R08", "matrix": [6, 1], "x": 14.5, "y": 1.375}, - {"label": "R07", "matrix": [6, 0], "x": 15.5, "y": 1.5}, - {"label": "L13", "matrix": [2, 0], "x": 0, "y": 2.5}, - {"label": "L14", "matrix": [2, 1], "x": 1, "y": 2.375}, - {"label": "L15", "matrix": [2, 2], "x": 2, "y": 2.125}, - {"label": "L16", "matrix": [2, 3], "x": 3, "y": 2}, - {"label": "L17", "matrix": [2, 4], "x": 4, "y": 2.125}, - {"label": "L18", "matrix": [2, 5], "x": 5, "y": 2.25}, - {"label": "R18", "matrix": [7, 5], "x": 10.5, "y": 2.25}, - {"label": "R17", "matrix": [7, 4], "x": 11.5, "y": 2.125}, - {"label": "R16", "matrix": [7, 3], "x": 12.5, "y": 2}, - {"label": "R15", "matrix": [7, 2], "x": 13.5, "y": 2.125}, - {"label": "R14", "matrix": [7, 1], "x": 14.5, "y": 2.375}, - {"label": "R13", "matrix": [7, 0], "x": 15.5, "y": 2.5}, - {"label": "L20", "matrix": [3, 0], "x": 0, "y": 3.5}, - {"label": "L21", "matrix": [3, 1], "x": 1, "y": 3.375}, - {"label": "L22", "matrix": [3, 2], "x": 2, "y": 3.125}, - {"label": "L23", "matrix": [3, 3], "x": 3, "y": 3}, - {"label": "L24", "matrix": [3, 4], "x": 4, "y": 3.125}, - {"label": "L25", "matrix": [3, 5], "x": 5, "y": 3.25}, - {"label": "L19", "matrix": [4, 1], "x": 6, "y": 2.75}, - {"label": "R19", "matrix": [9, 1], "x": 9.5, "y": 2.75}, - {"label": "R25", "matrix": [8, 5], "x": 10.5, "y": 3.25}, - {"label": "R24", "matrix": [8, 4], "x": 11.5, "y": 3.125}, - {"label": "R23", "matrix": [8, 3], "x": 12.5, "y": 3}, - {"label": "R22", "matrix": [8, 2], "x": 13.5, "y": 3.125}, - {"label": "R21", "matrix": [8, 1], "x": 14.5, "y": 3.375}, - {"label": "R20", "matrix": [8, 0], "x": 15.5, "y": 3.5}, - {"label": "L26", "matrix": [4, 2], "x": 2.5, "y": 4.15}, - {"label": "L27", "matrix": [4, 3], "x": 3.5, "y": 4.15}, - {"label": "L28", "matrix": [4, 4], "x": 4.5, "y": 4.25}, - {"label": "L29", "matrix": [4, 5], "x": 6, "y": 4.25}, - {"label": "R29", "matrix": [9, 5], "x": 9.5, "y": 4.25}, - {"label": "R28", "matrix": [9, 4], "x": 11, "y": 4.25}, - {"label": "R27", "matrix": [9, 3], "x": 12, "y": 4.15}, - {"label": "R26", "matrix": [9, 2], "x": 13, "y": 4.15} - ] - } - } -} diff --git a/keyboards/splitkb/halcyon/lily58/keymaps/default/keymap.json b/keyboards/splitkb/halcyon/lily58/keymaps/default/keymap.json deleted file mode 100644 index 05c4d89bcc..0000000000 --- a/keyboards/splitkb/halcyon/lily58/keymaps/default/keymap.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "keyboard": "splitkb/halcyon/lily58/rev2", - "keymap": "default", - "version": 1, - "layout": "LAYOUT", - "layers": [ - [ - "KC_ESC" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" , "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_GRV" , - "KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T" , "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_MINS", - "KC_LCTL", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G" , "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_QUOT", - "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_LBRC", "KC_RBRC", "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT", - "KC_LALT", "KC_LGUI", "MO(1)" , "KC_SPC" , "KC_ENT" , "MO(2)" , "KC_BSPC", "KC_RGUI" - ], - [ - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", - "KC_F1" , "KC_F2", "KC_F3", "KC_F4" , "KC_F5" , "KC_F6" , "KC_F7" , "KC_F8" ,"KC_F9" , "KC_F10" , "KC_F11" , "KC_F12" , - "KC_GRV" , "KC_EXLM", "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_TILD", - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "XXXXXXX", "KC_UNDS", "KC_PLUS", "KC_LCBR", "KC_RCBR", "KC_PIPE", - "_______", "_______", "_______", "_______", "_______", "MO(3)" , "_______", "_______" - ], - [ - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", - "KC_GRV" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" , "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "_______", - "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "KC_F6" , "XXXXXXX", "KC_LEFT", "KC_DOWN", "KC_UP" , "KC_RGHT", "XXXXXXX", - "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11" , "KC_F12" , "_______", "_______", "KC_PLUS", "KC_MINS", "KC_EQL" , "KC_LBRC", "KC_RBRC", "KC_BSLS", - "_______", "_______", "MO(3)" , "_______", "_______", "_______", "_______", "_______" - ], - [ - "QK_BOOT", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", - "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", - "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RM_TOGG", "RM_HUEU", "RM_SATU", "RM_VALU", - "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RM_NEXT", "RM_HUED", "RM_SATD", "RM_VALD", - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" - ] - ], - "config": { - "features": { - "encoder_map": true - } - }, - "encoders": [ - [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"}], - [{"ccw": "_______", "cw": "_______"}, {"ccw": "_______", "cw": "_______"}], - [{"ccw": "_______", "cw": "_______"}, {"ccw": "_______", "cw": "_______"}], - [{"ccw": "_______", "cw": "_______"}, {"ccw": "_______", "cw": "_______"}] - ] -} diff --git a/keyboards/splitkb/halcyon/lily58/keymaps/default/readme.md b/keyboards/splitkb/halcyon/lily58/keymaps/default/readme.md deleted file mode 100644 index d186641d1c..0000000000 --- a/keyboards/splitkb/halcyon/lily58/keymaps/default/readme.md +++ /dev/null @@ -1,88 +0,0 @@ -# Halcyon Lily58's Default Keymap -_This keymap is a copy of the [Lily58 default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/default), with slight modifications._ - -A simple default keymap for the Halcyon Lily58 -============================================= - -Keymaps in general are quite personal, so it is difficult to come up with a default that will suit every user. We hope this keymap serves as a good starting point for your own - although it should be fairly usable out-of-the-box. - -What do all these layers do? ----------------------------- - -### Layer 0: Base layer - -![Layer 0](https://i.imgur.com/sq8Rql7h.png) - -This is where your basic letters live. - -The homing thumb fingers are used to access the different layers. - -* The homing left thumb finger gives access to the Symbols (or lower) layer -* The homing right thumb finger gives access to the Navigation (or raise) layer -* Pressing both homing thumb fingers gives access to the Adjust layer - -### Layer 1: Lower - -![Layer 1](https://i.imgur.com/baSE2OJh.png) - -The Lower layer gives access to the F keys on the second row, and shifted number keys on the home row. It also provides some shifted symbol keys. - -### Layer 2: Raise - -![Layer 2](https://i.imgur.com/CRnDa6Nh.png) - -The Raise layer gives access the arrow keys on the right hand, in addition to some unshifted symbols. The left hand provides an alternative set of F keys, while the second row provides an alternative set of number keys. - -### Layer 3: Adjust - -![Layer 3](https://i.imgur.com/QbCiTcyh.png) - -The Adjust layer exposes RGB adjustment keys on the right hand. - -Where is the keymap.c? ----------------------- - -The keymap.c file is not published to the repository. It is generated from `keymap.json` by the build system. - -This avoids duplicating information and allow users to edit their keymap from the QMK Configurator web interface. - -How do I edit and update the keymap? ------------------------------------- - -The `keymap.json` file is generated from the QMK Configurator interface and formatted for better readability in the context of the Ferris keyboard. - -To edit it, you may: -* Edit it directly from a text editor. -* Edit it from the QMK Configurator. - -If you decide to use the latter workflow, here are the steps to follow: - -* From the [QMK Configurator](https://config.qmk.fm/#/splitkb/halcyon/lily58/rev2/LAYOUT), hit the "import QMK keymap json file" button (it has a drawing with an up arrow on it). -* Browse to the location of your keymap (for example, `/keyboards/splitkb/halcyon/lily58/keymaps/default/keymap.json`) -* Perform any modification to the keymap in the web UI -* Export the keymap to your downloads folder, by hitting the "Export QMK keymap json file" button (it has a drawing with a down arrow on it) -* Replace your original keymap with the one you just downloaded - -_**Note:** At the time of writing (the 24th of October 2022), not every feature used in the default keymap is supported by the QMK Configurator. You cannot yet upload the default `keymap.json` due to a file format mismatch - use the "Load Default" button to load the default keymap instead. Additionally, custom configuration options are still being worked on: if your keymap depends on them, please compile your firmware offline for now._ - -I want to do more than the JSON format supports! -------------------------------------------------- - -While the `json` format is easy to use, it does lack certain functionality - most notably custom OLED or encoder behaviour. - -To add this, you need to convert it to the `c` format. Do keep in mind that this is generally a one-way operation. - -First, from the root of your qmk repo, move to your keymap folder - -```bash -cd ./keyboards/splitkb/halcyon/lily58/keymaps/my_personal_keymap -``` - -Next, convert your `keymap.json` to a `keymap.c` - -```bash -qmk json2c -o keymap.c keymap.json -``` - -You can add custom C code to the newly generated `keymap.c` file. Do note that you have to use **either** a C file **or** a JSON file - you cannot do both! -**If a JSON file is present, the C file is ignored.** diff --git a/keyboards/splitkb/halcyon/lily58/readme.md b/keyboards/splitkb/halcyon/lily58/readme.md deleted file mode 100755 index ec200fda15..0000000000 --- a/keyboards/splitkb/halcyon/lily58/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Halcyon Lily58 - -![splitkb/halcyon/lily58](https://i.imgur.com/q7VIrbz.png) - -The Halcyon Lily58 rev2 is the second Lily58 revision and the fourth keyboard in our Halcyon range. Similar to Aurora, all keyboards in the series share the same feature set. The key highlights: - -- Halcyon keyboards come preassembled! You won't need a soldering iron. -- You'll be able to install [VIK](https://github.com/sadekbaroudi/vik) modules. -- It'll come fully documented, which includes the unboxing, assembly (with only a screwdriver), first installation and some advanced use cases. -- Both the connection to the host device as well as the interconnect between the keyboard halves use USB C. -- The controller has full ESD protection on all USB C ports, as well as all switch matrix GPIO! -- The controller is interchangable. If part of your keyboard ever breaks, we can replace just the bits that need replacing. - -* Keyboard Maintainer: [splitkb.com](https://github.com/splitkb.com) -* Hardware Availability: [splitkb.com](https://splitkb.com). - -Make example for this keyboard (after setting up your build environment): - - make splitkb/halcyon/lily58/rev2:default - -The keyboard can be flashed by copying the resulting `.uf2` file onto the `RPI-RP2` flash drive. - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Reset button**: Double-tap the reset button at the top of the controller, right above the USB-C port. -* **Bootloader reset**: Hold down the "Boot" button and plug in the keyboard. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. diff --git a/keyboards/splitkb/halcyon/lily58/rev2/config.h b/keyboards/splitkb/halcyon/lily58/rev2/config.h deleted file mode 100755 index b5cd6f95f2..0000000000 --- a/keyboards/splitkb/halcyon/lily58/rev2/config.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// Make it easier to enter the bootloader -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U - -// UART1, communication between the two halves -#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. -#define SERIAL_USART_TX_PIN GP28 // USART TX pin -#define SERIAL_USART_RX_PIN GP29 // USART RX pin -#define SERIAL_PIO_USE_PIO1 // Use PIO1 as PIO0 is used for WS2812 driver - -// VBUS detection -#define USB_VBUS_PIN GP1 - -//// VIK - -// GPIO1 = GP27 -// GPIO2 = GP26 -// CS = GP13 - -#define I2C_DRIVER I2C0 -#define I2C1_SDA_PIN GP16 -#define I2C1_SCL_PIN GP17 - -#define SPI_DRIVER SPID1 -#define SPI_SCK_PIN GP14 -#define SPI_MOSI_PIN GP15 -#define SPI_MISO_PIN GP12 diff --git a/keyboards/splitkb/halcyon/lily58/rev2/keyboard.json b/keyboards/splitkb/halcyon/lily58/rev2/keyboard.json deleted file mode 100755 index 76bb538388..0000000000 --- a/keyboards/splitkb/halcyon/lily58/rev2/keyboard.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "keyboard_name": "Halcyon Lily58 rev2", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "GP23", "pin_b": "GP22", "resolution": 2} - ] - }, - "features": { - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP8", "GP11", "GP7", "GP6", "GP5", "GP10"], - "rows": ["GP19", "GP20", "GP25", "GP4", "GP9"] - }, - "processor": "RP2040", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"x": 51, "y": 13, "flags": 2}, - {"x": 22, "y": 18, "flags": 2}, - {"x": 22, "y": 53, "flags": 2}, - {"x": 58, "y": 60, "flags": 2}, - {"x": 87, "y": 56, "flags": 2}, - {"matrix": [0, 0], "x": 0, "y": 8, "flags": 4}, - {"matrix": [0, 1], "x": 14, "y": 6, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 2, "flags": 4}, - {"matrix": [0, 3], "x": 43, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 58, "y": 2, "flags": 4}, - {"matrix": [0, 5], "x": 72, "y": 4, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 23, "flags": 4}, - {"matrix": [1, 1], "x": 14, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 17, "flags": 4}, - {"matrix": [1, 3], "x": 43, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 58, "y": 17, "flags": 4}, - {"matrix": [1, 5], "x": 72, "y": 19, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 38, "flags": 4}, - {"matrix": [2, 1], "x": 14, "y": 36, "flags": 4}, - {"matrix": [2, 2], "x": 29, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 43, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 58, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 34, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 53, "flags": 4}, - {"matrix": [3, 1], "x": 14, "y": 51, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 47, "flags": 4}, - {"matrix": [3, 3], "x": 43, "y": 45, "flags": 4}, - {"matrix": [3, 4], "x": 58, "y": 47, "flags": 4}, - {"matrix": [3, 5], "x": 72, "y": 49, "flags": 4}, - {"matrix": [4, 1], "x": 87, "y": 41, "flags": 4}, - {"matrix": [4, 2], "x": 36, "y": 62, "flags": 4}, - {"matrix": [4, 3], "x": 51, "y": 62, "flags": 4}, - {"matrix": [4, 4], "x": 65, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 87, "y": 64, "flags": 4}, - {"x": 173, "y": 13, "flags": 2}, - {"x": 202, "y": 18, "flags": 2}, - {"x": 202, "y": 53, "flags": 2}, - {"x": 166, "y": 60, "flags": 2}, - {"x": 137, "y": 56, "flags": 2}, - {"matrix": [5, 5], "x": 152, "y": 4, "flags": 4}, - {"matrix": [5, 4], "x": 166, "y": 2, "flags": 4}, - {"matrix": [5, 3], "x": 181, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 195, "y": 2, "flags": 4}, - {"matrix": [5, 1], "x": 210, "y": 6, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 8, "flags": 4}, - {"matrix": [6, 5], "x": 152, "y": 19, "flags": 4}, - {"matrix": [6, 4], "x": 166, "y": 17, "flags": 4}, - {"matrix": [6, 3], "x": 181, "y": 15, "flags": 4}, - {"matrix": [6, 2], "x": 195, "y": 17, "flags": 4}, - {"matrix": [6, 1], "x": 210, "y": 21, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 23, "flags": 4}, - {"matrix": [7, 5], "x": 152, "y": 34, "flags": 4}, - {"matrix": [7, 4], "x": 166, "y": 32, "flags": 4}, - {"matrix": [7, 3], "x": 181, "y": 30, "flags": 4}, - {"matrix": [7, 2], "x": 195, "y": 32, "flags": 4}, - {"matrix": [7, 1], "x": 210, "y": 36, "flags": 4}, - {"matrix": [7, 0], "x": 224, "y": 38, "flags": 4}, - {"matrix": [9, 1], "x": 137, "y": 41, "flags": 4}, - {"matrix": [8, 5], "x": 152, "y": 49, "flags": 4}, - {"matrix": [8, 4], "x": 166, "y": 47, "flags": 4}, - {"matrix": [8, 3], "x": 181, "y": 45, "flags": 4}, - {"matrix": [8, 2], "x": 195, "y": 47, "flags": 4}, - {"matrix": [8, 1], "x": 210, "y": 51, "flags": 4}, - {"matrix": [8, 0], "x": 224, "y": 53, "flags": 4}, - {"matrix": [9, 5], "x": 137, "y": 64, "flags": 4}, - {"matrix": [9, 4], "x": 159, "y": 64, "flags": 4}, - {"matrix": [9, 3], "x": 173, "y": 62, "flags": 4}, - {"matrix": [9, 2], "x": 188, "y": 62, "flags": 4} - ], - "max_brightness": 128, - "sleep": true, - "split_count": [34, 34] - }, - "split": { - "enabled": true, - "handedness": { - "pin": "GP24" - }, - "matrix_pins": { - "right": { - "cols": ["GP4", "GP9", "GP10", "GP5", "GP6", "GP8"], - "rows": ["GP19", "GP20", "GP25", "GP7", "GP11"] - } - }, - "serial": { - "driver": "vendor" - }, - "transport": { - "sync": { - "matrix_state": true - } - } - }, - "usb": { - "pid": "0xEA1D" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP3" - } -} diff --git a/keyboards/splitkb/halcyon/lily58/rev2/mcuconf.h b/keyboards/splitkb/halcyon/lily58/rev2/mcuconf.h deleted file mode 100644 index 126697a4a0..0000000000 --- a/keyboards/splitkb/halcyon/lily58/rev2/mcuconf.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -//// VIK - -#undef RP_I2C_USE_I2C0 -#define RP_I2C_USE_I2C0 TRUE - -#undef RP_SPI_USE_SPI1 -#define RP_SPI_USE_SPI1 TRUE diff --git a/keyboards/splitkb/halcyon/lily58/rev2/rev2.c b/keyboards/splitkb/halcyon/lily58/rev2/rev2.c deleted file mode 100644 index e0a64ae9a4..0000000000 --- a/keyboards/splitkb/halcyon/lily58/rev2/rev2.c +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2025 splitkb.com (support@splitkb.com) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef ENCODER_ENABLE -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { - return false; - } - if (index == 0) { - // Volume control - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else if (index == 1) { - // Page up/Page down - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } - return false; -} -#endif diff --git a/keyboards/splitkb/kyria/rev1/rules.mk b/keyboards/splitkb/kyria/rev1/rules.mk new file mode 100644 index 0000000000..3a8bfbe089 --- /dev/null +++ b/keyboards/splitkb/kyria/rev1/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = splitkb/kyria/rev1/base diff --git a/keyboards/splitkb/kyria/rev2/rules.mk b/keyboards/splitkb/kyria/rev2/rules.mk new file mode 100644 index 0000000000..fb808070bf --- /dev/null +++ b/keyboards/splitkb/kyria/rev2/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = splitkb/kyria/rev2/base diff --git a/keyboards/splitkb/kyria/rules.mk b/keyboards/splitkb/kyria/rules.mk new file mode 100644 index 0000000000..1342089f56 --- /dev/null +++ b/keyboards/splitkb/kyria/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = splitkb/kyria/rev3 diff --git a/keyboards/splitography/keyboard.json b/keyboards/splitography/keyboard.json index 3fd26500cd..947622096c 100644 --- a/keyboards/splitography/keyboard.json +++ b/keyboards/splitography/keyboard.json @@ -9,7 +9,9 @@ "nkro": true, "bootmagic": true, "mousekey": false, - "extrakey": true + "extrakey": true, + "console": false, + "command": false }, "qmk": { "locking": { diff --git a/keyboards/splitography/keymaps/default/keymap.c b/keyboards/splitography/keymaps/default/keymap.c index 5d26eb9682..9c6c7d6b26 100644 --- a/keyboards/splitography/keymaps/default/keymap.c +++ b/keyboards/splitography/keymaps/default/keymap.c @@ -214,9 +214,9 @@ void plover(keyrecord_t *record) { if (!eeconfig_is_enabled()) { eeconfig_init(); } - eeconfig_read_keymap(&keymap_config); + keymap_config.raw = eeconfig_read_keymap(); keymap_config.nkro = 1; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } } diff --git a/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c b/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c index a3cb183758..787f448ffb 100644 --- a/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c +++ b/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c @@ -214,9 +214,9 @@ void plover(keyrecord_t *record) { if (!eeconfig_is_enabled()) { eeconfig_init(); } - eeconfig_read_keymap(&keymap_config); + keymap_config.raw = eeconfig_read_keymap(); keymap_config.nkro = 1; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } } diff --git a/keyboards/splitography/keymaps/dvorak/keymap.c b/keyboards/splitography/keymaps/dvorak/keymap.c index 0edec7043c..992cfd0abb 100644 --- a/keyboards/splitography/keymaps/dvorak/keymap.c +++ b/keyboards/splitography/keymaps/dvorak/keymap.c @@ -214,9 +214,9 @@ void plover(keyrecord_t *record) { if (!eeconfig_is_enabled()) { eeconfig_init(); } - eeconfig_read_keymap(&keymap_config); + keymap_config.raw = eeconfig_read_keymap(); keymap_config.nkro = 1; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } } diff --git a/keyboards/splitty/rules.mk b/keyboards/splitty/rules.mk new file mode 100644 index 0000000000..68b3198bfb --- /dev/null +++ b/keyboards/splitty/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = splitty/rev1 diff --git a/keyboards/sporewoh/banime40/keyboard.json b/keyboards/sporewoh/banime40/keyboard.json index 7d0bb54db1..dfe71070a1 100644 --- a/keyboards/sporewoh/banime40/keyboard.json +++ b/keyboards/sporewoh/banime40/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -22,7 +24,8 @@ "dynamic_keymap": { "layer_count": 10 }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["ortho_4x10"], "layouts": { "LAYOUT_ortho_4x10": { diff --git a/keyboards/star75/keyboard.json b/keyboards/star75/keyboard.json index 90f478ff60..e4ea684a0f 100644 --- a/keyboards/star75/keyboard.json +++ b/keyboards/star75/keyboard.json @@ -34,6 +34,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/stello65/beta/keyboard.json b/keyboards/stello65/beta/keyboard.json index 81a4b6924f..5dbc3b1338 100644 --- a/keyboards/stello65/beta/keyboard.json +++ b/keyboards/stello65/beta/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Stello65", "manufacturer": "@wekey", + "url": "", "maintainer": "@wekey", "usb": { "vid": "0x5559", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/stello65/hs_rev1/keyboard.json b/keyboards/stello65/hs_rev1/keyboard.json index 072ccb97ca..783b73c599 100644 --- a/keyboards/stello65/hs_rev1/keyboard.json +++ b/keyboards/stello65/hs_rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Stello65", "manufacturer": "@wekey", + "url": "", "maintainer": "@wekey", "usb": { "vid": "0x5559", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/stello65/sl_rev1/keyboard.json b/keyboards/stello65/sl_rev1/keyboard.json index 0ed80b018a..8be7b07d0a 100644 --- a/keyboards/stello65/sl_rev1/keyboard.json +++ b/keyboards/stello65/sl_rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Stello65", "manufacturer": "@wekey", + "url": "", "maintainer": "@wekey", "usb": { "vid": "0x5559", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json b/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json index 9cbed0feb9..03466935b0 100644 --- a/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json +++ b/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json @@ -5,6 +5,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": true, @@ -21,7 +23,8 @@ "rows": ["F4", "B2", "B6"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json b/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json index e1753f2b84..1ca94185ab 100644 --- a/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json +++ b/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json @@ -5,6 +5,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json b/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json index 81639fe32b..efe3b979be 100644 --- a/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json +++ b/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json @@ -5,6 +5,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": true, diff --git a/keyboards/sthlmkb/lagom/keyboard.json b/keyboards/sthlmkb/lagom/keyboard.json index a3bacac77e..e30455109d 100644 --- a/keyboards/sthlmkb/lagom/keyboard.json +++ b/keyboards/sthlmkb/lagom/keyboard.json @@ -6,6 +6,8 @@ "development_board": "promicro", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "debug": false, "mousekey": false, diff --git a/keyboards/sthlmkb/litl/keyboard.json b/keyboards/sthlmkb/litl/keyboard.json index 32f7c1852d..50960dd6d0 100644 --- a/keyboards/sthlmkb/litl/keyboard.json +++ b/keyboards/sthlmkb/litl/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "debug": false, "mousekey": false, diff --git a/keyboards/stratos/keyboard.json b/keyboards/stratos/keyboard.json index b1a1a15da0..842c9b87a3 100644 --- a/keyboards/stratos/keyboard.json +++ b/keyboards/stratos/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "stratos", "manufacturer": "eggyolk", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0xD5D0", @@ -31,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/strech/soulstone/keyboard.json b/keyboards/strech/soulstone/keyboard.json index 67a65fbd69..32671eba11 100644 --- a/keyboards/strech/soulstone/keyboard.json +++ b/keyboards/strech/soulstone/keyboard.json @@ -13,6 +13,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "qmk": { diff --git a/keyboards/stront/keyboard.json b/keyboards/stront/keyboard.json index 250d5b56e1..573730a12b 100644 --- a/keyboards/stront/keyboard.json +++ b/keyboards/stront/keyboard.json @@ -85,6 +85,7 @@ "features": { "backlight": true, "bootmagic": true, + "console": false, "encoder": true, "extrakey": true, "nkro": false, diff --git a/keyboards/stront/stront.h b/keyboards/stront/stront.h index ebd0d491b9..9ca618a6fb 100644 --- a/keyboards/stront/stront.h +++ b/keyboards/stront/stront.h @@ -3,6 +3,4 @@ #pragma once -#include - bool is_display_enabled(void); diff --git a/keyboards/studiokestra/bourgeau/keyboard.json b/keyboards/studiokestra/bourgeau/keyboard.json index 22e4235415..3e0111a618 100644 --- a/keyboards/studiokestra/bourgeau/keyboard.json +++ b/keyboards/studiokestra/bourgeau/keyboard.json @@ -32,6 +32,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/studiokestra/cascade/keyboard.json b/keyboards/studiokestra/cascade/keyboard.json index b6a11688c2..8e7673da0e 100644 --- a/keyboards/studiokestra/cascade/keyboard.json +++ b/keyboards/studiokestra/cascade/keyboard.json @@ -32,6 +32,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/studiokestra/fairholme/keyboard.json b/keyboards/studiokestra/fairholme/keyboard.json index 413218e8bd..f789c2059b 100644 --- a/keyboards/studiokestra/fairholme/keyboard.json +++ b/keyboards/studiokestra/fairholme/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -21,7 +23,8 @@ "vid": "0x7C10" }, "indicators": { - "caps_lock": "B10" + "caps_lock": "B10", + "on_state": 1 }, "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], "layouts": { diff --git a/keyboards/studiokestra/frl84/keyboard.json b/keyboards/studiokestra/frl84/keyboard.json index c5f5f16bdb..d131b09eac 100644 --- a/keyboards/studiokestra/frl84/keyboard.json +++ b/keyboards/studiokestra/frl84/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -43,6 +45,7 @@ } }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0F84", diff --git a/keyboards/studiokestra/galatea/rev1/keyboard.json b/keyboards/studiokestra/galatea/rev1/keyboard.json index ea69d22669..ff2adbce4d 100644 --- a/keyboards/studiokestra/galatea/rev1/keyboard.json +++ b/keyboards/studiokestra/galatea/rev1/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -21,6 +23,7 @@ "rows": ["D1", "D0", "B0", "B7", "E6", "B3", "B6", "C6", "D6", "D7", "B4", "D3"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x8801", diff --git a/keyboards/studiokestra/galatea/rev2/keyboard.json b/keyboards/studiokestra/galatea/rev2/keyboard.json index d324f66215..115b5684cd 100644 --- a/keyboards/studiokestra/galatea/rev2/keyboard.json +++ b/keyboards/studiokestra/galatea/rev2/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -22,6 +24,7 @@ "rows": ["D1", "D0", "B0", "B7", "E6", "B3", "B6", "C6", "D6", "D7", "B4", "D3"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x8802", @@ -37,6 +40,7 @@ }, "rgblight": { "led_count": 24, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, "max_brightness": 200, diff --git a/keyboards/studiokestra/galatea/rev3/keyboard.json b/keyboards/studiokestra/galatea/rev3/keyboard.json index b5a5d58762..a4b07bb4df 100644 --- a/keyboards/studiokestra/galatea/rev3/keyboard.json +++ b/keyboards/studiokestra/galatea/rev3/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -22,6 +24,7 @@ "rows": ["GP3", "GP4", "GP1", "GP2", "GP5", "GP29", "GP20", "GP19", "GP17", "GP16", "GP13", "GP12"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x8803", @@ -33,6 +36,7 @@ }, "rgblight": { "led_count": 24, + "hue_steps": 8, "saturation_steps": 8, "brightness_steps": 8, "max_brightness": 200, diff --git a/keyboards/studiokestra/galatea/rules.mk b/keyboards/studiokestra/galatea/rules.mk new file mode 100644 index 0000000000..b5b1db4238 --- /dev/null +++ b/keyboards/studiokestra/galatea/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = studiokestra/galatea/rev1 \ No newline at end of file diff --git a/keyboards/studiokestra/line_friends_tkl/keyboard.json b/keyboards/studiokestra/line_friends_tkl/keyboard.json index 5aa286b92e..d8902e2a2f 100644 --- a/keyboards/studiokestra/line_friends_tkl/keyboard.json +++ b/keyboards/studiokestra/line_friends_tkl/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -18,6 +20,7 @@ }, "indicators": { "caps_lock": "B6", + "on_state": 1, "scroll_lock": "D2" }, "matrix_pins": { diff --git a/keyboards/suavity/ehan/keyboard.json b/keyboards/suavity/ehan/keyboard.json index acc470c8b6..5a6675bfc3 100755 --- a/keyboards/suavity/ehan/keyboard.json +++ b/keyboards/suavity/ehan/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ehan", "manufacturer": "Suavity Designs", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5344", diff --git a/keyboards/subatomic/keyboard.json b/keyboards/subatomic/keyboard.json index 150bebf1cb..0816130bbb 100644 --- a/keyboards/subatomic/keyboard.json +++ b/keyboards/subatomic/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Subatomic", "manufacturer": "OLKB", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "midi": true, "mousekey": false, diff --git a/keyboards/subrezon/la_nc/keyboard.json b/keyboards/subrezon/la_nc/keyboard.json index eb9a35fded..471bf09051 100644 --- a/keyboards/subrezon/la_nc/keyboard.json +++ b/keyboards/subrezon/la_nc/keyboard.json @@ -9,6 +9,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -18,7 +19,8 @@ "rows": ["D3", "F4", "D2", "B2", "B5", "B6"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/subrezon/lancer/keyboard.json b/keyboards/subrezon/lancer/keyboard.json index 571cf4c8ad..cf678c84bc 100644 --- a/keyboards/subrezon/lancer/keyboard.json +++ b/keyboards/subrezon/lancer/keyboard.json @@ -14,6 +14,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/suikagiken/suika15tone/config.h b/keyboards/suikagiken/suika15tone/config.h deleted file mode 100644 index 7d35e3c436..0000000000 --- a/keyboards/suikagiken/suika15tone/config.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2025 @suikagiken -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once -#define MIDI_ADVANCED diff --git a/keyboards/suikagiken/suika15tone/keyboard.json b/keyboards/suikagiken/suika15tone/keyboard.json deleted file mode 100644 index 7cfa5a4fb0..0000000000 --- a/keyboards/suikagiken/suika15tone/keyboard.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "manufacturer": "suikagiken", - "keyboard_name": "suika15tone", - "maintainer": "suikagiken", - "processor": "RP2040", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "midi": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["GP24", "GP0", "GP1", "GP2", "GP3", "GP4", "GP12", "GP13", "GP14"], - "rows": ["GP25", "GP23"] - }, - "url": "https://github.com/suikagiken/suika15tone", - "usb": { - "device_version": "1.0.0", - "vid": "0x4B48", - "pid": "0x0301" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 2, "y": 0}, - {"matrix": [0, 2], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 5, "y": 0}, - {"matrix": [0, 5], "x": 6, "y": 0}, - {"matrix": [0, 6], "x": 7, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1} - ] - } - } -} diff --git a/keyboards/suikagiken/suika15tone/keymaps/default/keymap.json b/keyboards/suikagiken/suika15tone/keymaps/default/keymap.json deleted file mode 100644 index 478bcc6212..0000000000 --- a/keyboards/suikagiken/suika15tone/keymaps/default/keymap.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "author": "suikagiken", - "keyboard": "suikagiken/suika15tone", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - [ - "KC_A", "KC_D", "KC_F", "KC_I", "KC_K", "KC_M", - "KC_B", "KC_C", "KC_E", "KC_G", "KC_H", "KC_J", "KC_L", "KC_N", "KC_O" - ] - ] -} diff --git a/keyboards/suikagiken/suika15tone/keymaps/midi/keymap.json b/keyboards/suikagiken/suika15tone/keymaps/midi/keymap.json deleted file mode 100644 index 532f7dd5c9..0000000000 --- a/keyboards/suikagiken/suika15tone/keymaps/midi/keymap.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "author": "suikagiken", - "keyboard": "suikagiken/suika15tone", - "keymap": "midi", - "layout": "LAYOUT", - "layers": [ - [ - "MI_OCTU", "MI_Cs1", "MI_Ds1", "MI_Fs1", "MI_Gs1", "MI_As1", - "MI_OCTD", "MI_C1", "MI_D1", "MI_E1", "MI_F1", "MI_G1", "MI_A1", "MI_B1", "MI_C2" - ] - ] -} diff --git a/keyboards/suikagiken/suika15tone/readme.md b/keyboards/suikagiken/suika15tone/readme.md deleted file mode 100644 index 39489898dd..0000000000 --- a/keyboards/suikagiken/suika15tone/readme.md +++ /dev/null @@ -1,44 +0,0 @@ -# suika15tone -(English Follows Japanese) - -## 概要 -![suika15tone1](https://i.imgur.com/r0shhWR.jpg) -![suika15tone2](https://i.imgur.com/7lCqpEX.jpg) - -suika15toneは1オクターブのピアノ鍵盤型マクロキーパッドです。 -通常のマクロキーパッドとしても使えるほか、MIDIキーボードとしてDAWソフトの入力や演奏に使用できます。 - -* 制作 : すいか技研 (Website: https://suikagiken.net GitHub: [suikagiken](https://github.com/suikagiken) ) -* 販売 : すいか技研の[booth](https://suikagiken.booth.pm/)にて販売予定です - -## ビルドガイド - -[こちら](https://github.com/suikagiken/suika15tone/blob/main/buildguide_1.0.md)からご覧下さい。 - ---- - -## Overview - -suika15tone is a 1-octave piano shaped macro keypad. -You can use it as a normal macro keypad, or use it as a MIDI keyboard for DAW software input and musical performance. - -* Keyboard Maintainer: [suikagiken](https://github.com/suikagiken) -* Hardware Availability: Available at [booth](https://suikagiken.booth.pm/). - -Make example for this keyboard (after setting up your build environment): - - make suikagiken/suika15tone:default - -Flashing example for this keyboard: - - make suikagiken/suika15tone:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/suikagiken/suika27melo/keyboard.json b/keyboards/suikagiken/suika27melo/keyboard.json index 26b57f7001..cba2561129 100644 --- a/keyboards/suikagiken/suika27melo/keyboard.json +++ b/keyboards/suikagiken/suika27melo/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "midi": true, "mousekey": true, diff --git a/keyboards/suikagiken/suika83opti/keyboard.json b/keyboards/suikagiken/suika83opti/keyboard.json deleted file mode 100644 index 18128b05f8..0000000000 --- a/keyboards/suikagiken/suika83opti/keyboard.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "manufacturer": "suikagiken", - "keyboard_name": "suika83opti", - "maintainer": "suikagiken", - "processor": "RP2040", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15"], - "rows": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24"] - }, - "url": "https://github.com/suikagiken/suika83opti", - "usb": { - "device_version": "1.0.0", - "vid": "0x4B48", - "pid": "0x0101" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0,0], "x": 0, "y": 0}, - {"matrix": [0,1], "x": 1.5, "y": 0}, - {"matrix": [0,2], "x": 2.5, "y": 0}, - {"matrix": [0,3], "x": 3.5, "y": 0}, - {"matrix": [0,4], "x": 4.5, "y": 0}, - {"matrix": [0,5], "x": 7, "y": 0}, - {"matrix": [0,6], "x": 8, "y": 0}, - {"matrix": [0,8], "x": 9, "y": 0}, - {"matrix": [0,9], "x": 10, "y": 0}, - {"matrix": [0,10], "x": 12.75, "y": 0}, - {"matrix": [0,11], "x": 13.75, "y": 0}, - {"matrix": [0,12], "x": 14.75, "y": 0}, - {"matrix": [0,13], "x": 15.75, "y": 0}, - {"matrix": [0,15], "x": 17.25, "y": 0}, - {"matrix": [1,0], "x": 0, "y": 1.5}, - {"matrix": [1,1], "x": 1, "y": 1.5}, - {"matrix": [1,2], "x": 2, "y": 1.5}, - {"matrix": [1,3], "x": 3, "y": 1.5}, - {"matrix": [1,4], "x": 4, "y": 1.5}, - {"matrix": [1,5], "x": 5, "y": 1.5}, - {"matrix": [1,6], "x": 6, "y": 1.5}, - {"matrix": [1,7], "x": 8.5, "y": 1.5}, - {"matrix": [1,9], "x": 11.5, "y": 1.5}, - {"matrix": [1,10], "x": 12.5, "y": 1.5}, - {"matrix": [1,11], "x": 13.5, "y": 1.5}, - {"matrix": [1,12], "x": 14.5, "y": 1.5}, - {"matrix": [1,13], "x": 15.5, "y": 1.5}, - {"matrix": [1,15], "x": 17.25, "y": 1.5, "h": 1.5}, - {"matrix": [2,0], "x": 0, "y": 2.5, "w": 1.5}, - {"matrix": [2,1], "x": 1.5, "y": 2.5}, - {"matrix": [2,2], "x": 2.5, "y": 2.5}, - {"matrix": [2,3], "x": 3.5, "y": 2.5}, - {"matrix": [2,4], "x": 4.5, "y": 2.5}, - {"matrix": [2,5], "x": 5.5, "y": 2.5}, - {"matrix": [2,7], "x": 8.5, "y": 2.5}, - {"matrix": [2,9], "x": 11, "y": 2.5}, - {"matrix": [2,10], "x": 12, "y": 2.5}, - {"matrix": [2,11], "x": 13, "y": 2.5}, - {"matrix": [2,12], "x": 14, "y": 2.5}, - {"matrix": [2,13], "x": 15, "y": 2.5}, - {"matrix": [2,14], "x": 16, "y": 2.5}, - {"matrix": [3,0], "x": 0.25, "y": 3.5, "w": 1.5}, - {"matrix": [3,1], "x": 1.75, "y": 3.5}, - {"matrix": [3,2], "x": 2.75, "y": 3.5}, - {"matrix": [3,3], "x": 3.75, "y": 3.5}, - {"matrix": [3,4], "x": 4.75, "y": 3.5}, - {"matrix": [3,5], "x": 5.75, "y": 3.5}, - {"matrix": [3,6], "x": 8, "y": 3.5}, - {"matrix": [3,8], "x": 9, "y": 3.5}, - {"matrix": [3,9], "x": 11.25, "y": 3.5}, - {"matrix": [3,10], "x": 12.25, "y": 3.5}, - {"matrix": [3,11], "x": 13.25, "y": 3.5}, - {"matrix": [3,12], "x": 14.25, "y": 3.5}, - {"matrix": [3,13], "x": 15.25, "y": 3.5}, - {"matrix": [3,14], "x": 16.25, "y": 3.5}, - {"matrix": [3,15], "x": 17.25, "y": 3, "h": 1.5}, - {"matrix": [4,0], "x": 0.75, "y": 4.5, "w": 1.5}, - {"matrix": [4,1], "x": 2.25, "y": 4.5}, - {"matrix": [4,2], "x": 3.25, "y": 4.5}, - {"matrix": [4,3], "x": 4.25, "y": 4.5}, - {"matrix": [4,4], "x": 5.25, "y": 4.5}, - {"matrix": [4,5], "x": 6.25, "y": 4.5}, - {"matrix": [4,7], "x": 8.5, "y": 4.5}, - {"matrix": [4,9], "x": 10.75, "y": 4.5}, - {"matrix": [4,10], "x": 11.75, "y": 4.5}, - {"matrix": [4,11], "x": 12.75, "y": 4.5}, - {"matrix": [4,12], "x": 13.75, "y": 4.5}, - {"matrix": [4,13], "x": 14.75, "y": 4.5}, - {"matrix": [4,14], "x": 15.75, "y": 4.5}, - {"matrix": [4,15], "x": 16.75, "y": 4.5}, - {"matrix": [5,0], "x": 1.25, "y": 5.5, "w": 1.5}, - {"matrix": [5,1], "x": 2.75, "y": 5.5}, - {"matrix": [5,2], "x": 3.75, "y": 5.5}, - {"matrix": [5,3], "x": 4.75, "y": 5.5}, - {"matrix": [5,4], "x": 5.75, "y": 5.5, "w": 1.5}, - {"matrix": [5,6], "x": 7.5, "y": 5.5}, - {"matrix": [5,7], "x": 8.5, "y": 5.5}, - {"matrix": [5,8], "x": 9.5, "y": 5.5}, - {"matrix": [5,9], "x": 10.75, "y": 5.5, "w": 1.5}, - {"matrix": [5,10], "x": 12.25, "y": 5.5}, - {"matrix": [5,11], "x": 13.25, "y": 5.5}, - {"matrix": [5,12], "x": 14.25, "y": 5.5}, - {"matrix": [5,13], "x": 15.25, "y": 5.5, "w": 1.5} - ] - } - } -} diff --git a/keyboards/suikagiken/suika83opti/keymaps/default/keymap.json b/keyboards/suikagiken/suika83opti/keymaps/default/keymap.json deleted file mode 100644 index 8434463eb8..0000000000 --- a/keyboards/suikagiken/suika83opti/keymaps/default/keymap.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "author": "suikagiken", - "keyboard": "suikagiken/suika83opti", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - [ - "KC_ESC" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11" , "KC_F12" , "KC_DEL" , - "KC_GRV" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" , "KC_6" , "KC_PSCR", "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_MINS", "KC_BSPC", - "KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T" , "KC_EQL" , "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSLS", - "KC_CAPS", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G" , "KC_LBRC", "KC_RBRC", "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_QUOT", "KC_ENT" , - "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_UP" , "KC_B" , "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT", - "KC_LCTL", "KC_LWIN", "KC_LOPT", "MO(1)" , "KC_SPC" , "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_SPC" , "MO(1)" , "KC_ROPT", "KC_APP" , "KC_RCTL" - ], - [ - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_HOME", "KC_PGDN", "KC_END" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" - ] - ] -} diff --git a/keyboards/suikagiken/suika83opti/readme.md b/keyboards/suikagiken/suika83opti/readme.md deleted file mode 100644 index cbd8395087..0000000000 --- a/keyboards/suikagiken/suika83opti/readme.md +++ /dev/null @@ -1,43 +0,0 @@ -# suika83opti -(English Follows Japanese) - -## 概要 -![suika83opti1](https://imgur.com/eJOI2Ax.jpg) -![suika83opti2](https://imgur.com/kVtW5gt.jpg) - -suika83optiはロースタッガードの一体型エルゴキーボードです。 -ファンクションキーや矢印キーなど、コンパクトキーボードでは省略されがちなキーも備えており、フルキーボードからの移行も容易です。 - -* 制作 : すいか技研 (Website: https://suikagiken.net GitHub: [suikagiken](https://github.com/suikagiken) ) -* 販売 : すいか技研の[booth](https://suikagiken.booth.pm/)にて販売予定です - -## ビルドガイド - -[こちら](https://github.com/suikagiken/suika83opti/blob/main/buildguide_1.0.md)からご覧下さい。 - ---- - -## Overview - -suika83opti is a row-staggered ergonomic keyboard with 85 keys. It has function keys or arrow keys, which are omitted in compact keyboards, making it easy to switch from a conventional full keyboard. - -* Keyboard Maintainer: [suikagiken](https://github.com/suikagiken) -* Hardware Availability: Available at [booth](https://suikagiken.booth.pm/). - -Make example for this keyboard (after setting up your build environment): - - make suikagiken/suika83opti:default - -Flashing example for this keyboard: - - make suikagiken/suika83opti:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/suikagiken/suika85ergo/keyboard.json b/keyboards/suikagiken/suika85ergo/keyboard.json index 6274f56f7c..e0514dfab8 100644 --- a/keyboards/suikagiken/suika85ergo/keyboard.json +++ b/keyboards/suikagiken/suika85ergo/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/supersplit/keyboard.json b/keyboards/supersplit/keyboard.json index fb4babd0dd..3950d2bbce 100644 --- a/keyboards/supersplit/keyboard.json +++ b/keyboards/supersplit/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/superuser/ext/keyboard.json b/keyboards/superuser/ext/keyboard.json index d3252e47e2..c08213a13f 100644 --- a/keyboards/superuser/ext/keyboard.json +++ b/keyboards/superuser/ext/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ext", "manufacturer": "superuser", + "url": "", "maintainer": "kaylanm", "usb": { "vid": "0x5355", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/superuser/frl/keyboard.json b/keyboards/superuser/frl/keyboard.json index 8e5775a7d1..4ede02d20d 100644 --- a/keyboards/superuser/frl/keyboard.json +++ b/keyboards/superuser/frl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "frl", "manufacturer": "superuser", + "url": "", "maintainer": "superuser", "usb": { "vid": "0x5355", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/superuser/tkl/keyboard.json b/keyboards/superuser/tkl/keyboard.json index a8828b115c..79df5bac09 100644 --- a/keyboards/superuser/tkl/keyboard.json +++ b/keyboards/superuser/tkl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "tkl", "manufacturer": "superuser", + "url": "", "maintainer": "kaylanm", "usb": { "vid": "0x5355", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/swiftrax/retropad/keyboard.json b/keyboards/swiftrax/retropad/keyboard.json index 92032ad6e3..c8dd0e3327 100644 --- a/keyboards/swiftrax/retropad/keyboard.json +++ b/keyboards/swiftrax/retropad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/swiss/keyboard.json b/keyboards/swiss/keyboard.json index bc592ba02e..039153cd7f 100644 --- a/keyboards/swiss/keyboard.json +++ b/keyboards/swiss/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["D6", "D4", "D5", "B2", "D7"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0420", diff --git a/keyboards/switchplate/southpaw_fullsize/keyboard.json b/keyboards/switchplate/southpaw_fullsize/keyboard.json index 96724e5870..84942ccfa4 100644 --- a/keyboards/switchplate/southpaw_fullsize/keyboard.json +++ b/keyboards/switchplate/southpaw_fullsize/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Southpaw Fullsize", "manufacturer": "Switchplate Peripherals", + "url": "", "maintainer": "ai03", "usb": { "vid": "0xA103", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/switchplate/switchplate910/keyboard.json b/keyboards/switchplate/switchplate910/keyboard.json index 6a9715b92d..47353fe81e 100644 --- a/keyboards/switchplate/switchplate910/keyboard.json +++ b/keyboards/switchplate/switchplate910/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "910", "manufacturer": "Switchplate Peripherals", + "url": "", "maintainer": "MxBluE", "usb": { "vid": "0x54F3", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/sx60/keyboard.json b/keyboards/sx60/keyboard.json index 9d3663fecf..ba5b439cec 100644 --- a/keyboards/sx60/keyboard.json +++ b/keyboards/sx60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SX60", "manufacturer": "Quantrik", + "url": "", "maintainer": "https://github.com/amnobis", "usb": { "vid": "0x5154", diff --git a/keyboards/synthandkeys/bento_box/keyboard.json b/keyboards/synthandkeys/bento_box/keyboard.json index ad662f1669..3cdc7a5870 100644 --- a/keyboards/synthandkeys/bento_box/keyboard.json +++ b/keyboards/synthandkeys/bento_box/keyboard.json @@ -16,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -29,6 +31,7 @@ ] }, "processor": "STM32F072", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/synthandkeys/the_debit_card/keyboard.json b/keyboards/synthandkeys/the_debit_card/keyboard.json index 1de96089bc..a2d0a6964f 100644 --- a/keyboards/synthandkeys/the_debit_card/keyboard.json +++ b/keyboards/synthandkeys/the_debit_card/keyboard.json @@ -5,6 +5,8 @@ "bootloader": "rp2040", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -17,6 +19,7 @@ ] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/synthlabs/060/keyboard.json b/keyboards/synthlabs/060/keyboard.json index e251201a51..1094d430e6 100644 --- a/keyboards/synthlabs/060/keyboard.json +++ b/keyboards/synthlabs/060/keyboard.json @@ -8,6 +8,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/synthlabs/065/keyboard.json b/keyboards/synthlabs/065/keyboard.json index ea862c6f01..d8d0d96c3f 100644 --- a/keyboards/synthlabs/065/keyboard.json +++ b/keyboards/synthlabs/065/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/synthlabs/solo/keyboard.json b/keyboards/synthlabs/solo/keyboard.json index 6640202474..1aedf98185 100644 --- a/keyboards/synthlabs/solo/keyboard.json +++ b/keyboards/synthlabs/solo/keyboard.json @@ -7,6 +7,8 @@ "processor": "atmega32u4", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/system76/launch_1/keyboard.json b/keyboards/system76/launch_1/keyboard.json index b5317dd9bc..929b8c9794 100644 --- a/keyboards/system76/launch_1/keyboard.json +++ b/keyboards/system76/launch_1/keyboard.json @@ -44,7 +44,9 @@ }, "default": { "animation": "rainbow_moving_chevron", - "hue": 142 + "hue": 142, + "sat": 255, + "speed": 127 }, "driver": "ws2812", "max_brightness": 176, diff --git a/keyboards/system76/launch_1/launch_1.c b/keyboards/system76/launch_1/launch_1.c index c01fb7b01d..c9af479bf5 100644 --- a/keyboards/system76/launch_1/launch_1.c +++ b/keyboards/system76/launch_1/launch_1.c @@ -16,7 +16,6 @@ */ #include "quantum.h" -#include "eeprom.h" #include "usb_mux.h" @@ -74,7 +73,7 @@ led_config_t g_led_config = { { } }; #endif // RGB_MATRIX_ENABLE -bool eeprom_is_valid(void) { +bool eeprom_is_valid(void) { return ( eeprom_read_word(((void *)EEPROM_MAGIC_ADDR)) == EEPROM_MAGIC && eeprom_read_byte(((void *)EEPROM_VERSION_ADDR)) == EEPROM_VERSION diff --git a/keyboards/tacworks/tac_k1/halconf.h b/keyboards/tacworks/tac_k1/halconf.h index 872e0217df..8760386e81 100644 --- a/keyboards/tacworks/tac_k1/halconf.h +++ b/keyboards/tacworks/tac_k1/halconf.h @@ -4,5 +4,7 @@ #pragma once #define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/tacworks/tac_k1/keyboard.json b/keyboards/tacworks/tac_k1/keyboard.json index f1875ec180..cf098291be 100644 --- a/keyboards/tacworks/tac_k1/keyboard.json +++ b/keyboards/tacworks/tac_k1/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/tada68/keyboard.json b/keyboards/tada68/keyboard.json index 1daf936b53..641def01a3 100644 --- a/keyboards/tada68/keyboard.json +++ b/keyboards/tada68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TADA68", "manufacturer": "TADA", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5441", diff --git a/keyboards/takashicompany/baumkuchen/keyboard.json b/keyboards/takashicompany/baumkuchen/keyboard.json index d5aa1f81e1..2c8b77851b 100644 --- a/keyboards/takashicompany/baumkuchen/keyboard.json +++ b/keyboards/takashicompany/baumkuchen/keyboard.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -43,6 +45,7 @@ "ws2812": { "pin": "D3" }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0045", diff --git a/keyboards/takashicompany/center_enter/keyboard.json b/keyboards/takashicompany/center_enter/keyboard.json index 4666a91484..b8188bd718 100644 --- a/keyboards/takashicompany/center_enter/keyboard.json +++ b/keyboards/takashicompany/center_enter/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Center x Enter", "manufacturer": "takashicompany", + "url": "", "maintainer": "takashicompany", "usb": { "vid": "0x7463", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -51,7 +54,8 @@ {"pin_a": "D2", "pin_b": "D1", "resolution": 1} ] }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/takashicompany/compacx/keyboard.json b/keyboards/takashicompany/compacx/keyboard.json index 916b6bfd24..71d6d2ec74 100644 --- a/keyboards/takashicompany/compacx/keyboard.json +++ b/keyboards/takashicompany/compacx/keyboard.json @@ -64,7 +64,8 @@ "pin": "D2" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/takashicompany/dogtag/keyboard.json b/keyboards/takashicompany/dogtag/keyboard.json index 73d138da12..af8d2119d4 100644 --- a/keyboards/takashicompany/dogtag/keyboard.json +++ b/keyboards/takashicompany/dogtag/keyboard.json @@ -40,7 +40,8 @@ } } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "rgblight": { "led_count": 8, "split_count": [4, 4], diff --git a/keyboards/takashicompany/ejectix/keyboard.json b/keyboards/takashicompany/ejectix/keyboard.json index 3f29e5c86d..560c253326 100644 --- a/keyboards/takashicompany/ejectix/keyboard.json +++ b/keyboards/takashicompany/ejectix/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -34,6 +36,7 @@ "led_count": 11, "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0049", diff --git a/keyboards/takashicompany/endzone34/keyboard.json b/keyboards/takashicompany/endzone34/keyboard.json index 38379c0c46..3549d2c089 100644 --- a/keyboards/takashicompany/endzone34/keyboard.json +++ b/keyboards/takashicompany/endzone34/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -48,8 +50,9 @@ "rows": ["B3", "B2", "B6", "B5"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", - "layouts": { + "processor": "atmega32u4", + "bootloader": "caterina", + "layouts": { "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0.5}, diff --git a/keyboards/takashicompany/ergomirage/keyboard.json b/keyboards/takashicompany/ergomirage/keyboard.json index 4a2e3ab5ec..1e34505b01 100644 --- a/keyboards/takashicompany/ergomirage/keyboard.json +++ b/keyboards/takashicompany/ergomirage/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -14,6 +16,7 @@ "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], "rows": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0044", diff --git a/keyboards/takashicompany/goat51/keyboard.json b/keyboards/takashicompany/goat51/keyboard.json index f91c5bda49..c424685713 100644 --- a/keyboards/takashicompany/goat51/keyboard.json +++ b/keyboards/takashicompany/goat51/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -30,6 +32,8 @@ "rgblight": { "led_count": 11, "hue_steps": 10, + "saturation_steps": 17, + "brightness_steps": 17, "animations": { "alternating": true, "breathing": true, diff --git a/keyboards/takashicompany/jourkey/keyboard.json b/keyboards/takashicompany/jourkey/keyboard.json index e99eb87c47..01847cfa53 100644 --- a/keyboards/takashicompany/jourkey/keyboard.json +++ b/keyboards/takashicompany/jourkey/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -21,6 +23,7 @@ ["D4", "C6", "D7", "E6", "B4", "F5", "F6", "F7", "B5", "B1", "B3", "B2", "B6"] ] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0062", diff --git a/keyboards/takashicompany/klec_01/keyboard.json b/keyboards/takashicompany/klec_01/keyboard.json index 88eda74f12..36baa8bf60 100644 --- a/keyboards/takashicompany/klec_01/keyboard.json +++ b/keyboards/takashicompany/klec_01/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -14,6 +16,7 @@ "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"], "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x1001", diff --git a/keyboards/takashicompany/klec_02/keyboard.json b/keyboards/takashicompany/klec_02/keyboard.json index b659d18bc0..045c4ef315 100644 --- a/keyboards/takashicompany/klec_02/keyboard.json +++ b/keyboards/takashicompany/klec_02/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -20,6 +22,7 @@ "pin": "D2" } }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x1002", diff --git a/keyboards/takashicompany/minidivide/keyboard.json b/keyboards/takashicompany/minidivide/keyboard.json index a2dea1ee65..d258baa694 100644 --- a/keyboards/takashicompany/minidivide/keyboard.json +++ b/keyboards/takashicompany/minidivide/keyboard.json @@ -9,6 +9,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -48,6 +50,7 @@ "pin": "D2" } }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x0037", diff --git a/keyboards/takashicompany/minidivide_max/keyboard.json b/keyboards/takashicompany/minidivide_max/keyboard.json index 9cfd33373c..54f9dbaf78 100644 --- a/keyboards/takashicompany/minidivide_max/keyboard.json +++ b/keyboards/takashicompany/minidivide_max/keyboard.json @@ -9,6 +9,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -47,6 +49,7 @@ "pin": "D2" } }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x0054", diff --git a/keyboards/takashicompany/mirageix/keyboard.json b/keyboards/takashicompany/mirageix/keyboard.json deleted file mode 100644 index 580bce64cb..0000000000 --- a/keyboards/takashicompany/mirageix/keyboard.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "manufacturer": "takashicompany", - "keyboard_name": "MirageiX", - "maintainer": "takashicompany", - "development_board": "promicro", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], - "rows": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"] - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x0065", - "vid": "0x7463" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 1.25}, - {"matrix": [1, 0], "x": 1, "y": 1.25}, - {"matrix": [2, 0], "x": 2, "y": 0.25}, - {"matrix": [3, 0], "x": 3, "y": 0}, - {"matrix": [4, 0], "x": 4, "y": 0.25}, - {"matrix": [5, 0], "x": 5, "y": 0.5}, - {"matrix": [0, 3], "x": 8, "y": 0.5}, - {"matrix": [1, 3], "x": 9, "y": 0.25}, - {"matrix": [2, 3], "x": 10, "y": 0}, - {"matrix": [3, 3], "x": 11, "y": 0.25}, - {"matrix": [4, 3], "x": 12, "y": 1.25}, - {"matrix": [5, 3], "x": 13, "y": 1.25}, - {"matrix": [0, 1], "x": 0, "y": 2.25}, - {"matrix": [1, 1], "x": 1, "y": 2.25}, - {"matrix": [2, 1], "x": 2, "y": 1.25}, - {"matrix": [3, 1], "x": 3, "y": 1}, - {"matrix": [4, 1], "x": 4, "y": 1.25}, - {"matrix": [5, 1], "x": 5, "y": 1.5}, - {"matrix": [0, 4], "x": 8, "y": 1.5}, - {"matrix": [1, 4], "x": 9, "y": 1.25}, - {"matrix": [2, 4], "x": 10, "y": 1}, - {"matrix": [3, 4], "x": 11, "y": 1.25}, - {"matrix": [4, 4], "x": 12, "y": 2.25}, - {"matrix": [5, 4], "x": 13, "y": 2.25}, - {"matrix": [0, 2], "x": 0, "y": 3.25}, - {"matrix": [1, 2], "x": 1, "y": 3.25}, - {"matrix": [2, 2], "x": 2, "y": 2.25}, - {"matrix": [3, 2], "x": 3, "y": 2}, - {"matrix": [4, 2], "x": 4, "y": 2.25}, - {"matrix": [5, 2], "x": 5, "y": 2.5}, - {"matrix": [0, 5], "x": 8, "y": 2.5}, - {"matrix": [1, 5], "x": 9, "y": 2.25}, - {"matrix": [2, 5], "x": 10, "y": 2}, - {"matrix": [3, 5], "x": 11, "y": 2.25}, - {"matrix": [4, 5], "x": 12, "y": 3.25}, - {"matrix": [5, 5], "x": 13, "y": 3.25}, - {"matrix": [6, 0], "x": 2.5, "y": 4}, - {"matrix": [6, 1], "x": 3.5, "y": 4}, - {"matrix": [6, 2], "x": 4.5, "y": 4}, - {"matrix": [6, 3], "x": 5.5, "y": 4}, - {"matrix": [7, 2], "x": 7.5, "y": 4}, - {"matrix": [7, 3], "x": 8.5, "y": 4}, - {"matrix": [7, 4], "x": 9.5, "y": 4}, - {"matrix": [7, 5], "x": 10.5, "y": 4} - ] - } - } -} diff --git a/keyboards/takashicompany/mirageix/keymaps/default/keymap.c b/keyboards/takashicompany/mirageix/keymaps/default/keymap.c deleted file mode 100644 index 9708951df4..0000000000 --- a/keyboards/takashicompany/mirageix/keymaps/default/keymap.c +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2025 takashicompany (@takashicompany) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC, LT(7, KC_Q), KC_W, KC_E, LT(6, KC_R), KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_ENT, - KC_LSFT, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_DEL, - KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_RALT, KC_RGUI - ), - - [1] = LAYOUT( - KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, - KC_TRNS, LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, KC_TRNS, - KC_TRNS, LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT( - KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), KC_TRNS, - KC_TRNS, KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), KC_TRNS, - KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [3] = LAYOUT( - KC_TRNS, LT(7, KC_Q), KC_W, KC_E, LT(6, KC_R), KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS, - KC_TRNS, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_TRNS, - KC_TRNS, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_TRNS, - KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LNG1), KC_RALT, KC_RGUI - ), - - [4] = LAYOUT( - KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, - KC_TRNS, KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, KC_TRNS, - KC_TRNS, LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [5] = LAYOUT( - KC_TRNS, KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS, - KC_TRNS, KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, - KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [6] = LAYOUT( - KC_TRNS, KC_ESC, KC_TAB, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS, - KC_TRNS, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS, - KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [7] = LAYOUT( - KC_TRNS, KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, - KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, - KC_TRNS, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [8] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, DF(0), DF(3), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/takashicompany/mirageix/readme.md b/keyboards/takashicompany/mirageix/readme.md deleted file mode 100644 index dcf55c55d9..0000000000 --- a/keyboards/takashicompany/mirageix/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# MirageiX - -![takashicompany/mirageix](https://i.imgur.com/93krKWQ.jpeg) - -MirageiX is a 44-key integrated keyboard. -The PCB has been trimmed to the limit to create a visual appearance in which only the keycaps seem to float. -By using a transparent acrylic case, you can enjoy a mirage-like keyboard expression. -The key layout is based on the TRON keyboard layout, making typing smoother than it looks. - -Keyswitches are fixed with sockets, allowing easy replacement of keyswitches. - -MirageiXは44キーの一体型キーボードです。 -PCBを極限まで切り詰めたことでキーキャップのみが浮き出るようなビジュアルを実現しました。 -透明なアクリルケースを用いることで蜃気楼のようなキーボード表現が楽しめます。 -キー配列もTRONというキーボードの配置を参考にしているため、見た目以上にスムーズなタイピングを実現します。 - -キースイッチはソケットで固定されるため、キースイッチの交換を容易に行えます。 - -* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) -* Hardware Supported: MirageiX PCB, Pro Micro -* Hardware Availability: https://github.com/takashicompany/mirageix - -Make example for this keyboard (after setting up your build environment): - - make takashicompany/mirageix:default - -Flashing example for this keyboard: - - make takashicompany/mirageix:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/takashicompany/palmslave/config.h b/keyboards/takashicompany/palmslave/config.h deleted file mode 100644 index d9d98bf85f..0000000000 --- a/keyboards/takashicompany/palmslave/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 takashicompany (@takashicompany) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define EE_HANDS diff --git a/keyboards/takashicompany/palmslave/keyboard.json b/keyboards/takashicompany/palmslave/keyboard.json deleted file mode 100644 index a9825767ea..0000000000 --- a/keyboards/takashicompany/palmslave/keyboard.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "manufacturer": "takashicompany", - "keyboard_name": "Palmslave", - "maintainer": "takashicompany", - "build": { - "lto": true - }, - "development_board": "promicro", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["D4", "C6", "D7", "E6", "B4"], - "rows": ["F4", "F5", "F6", "F7"] - }, - "split": { - "enabled": true, - "matrix_pins": { - "right": { - "cols": ["B4", "E6", "D7", "C6", "D4"], - "rows": ["F4", "F5", "F6", "F7"] - } - }, - "serial": { - "pin": "D2" - } - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x0063", - "vid": "0x7463" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.42, "w": 0.84, "h":0.84 }, - {"matrix": [0, 1], "x": 0.84, "y": 0.21, "w": 0.84, "h":0.84 }, - {"matrix": [0, 2], "x": 1.68, "y": 0, "w": 0.84, "h":0.84 }, - {"matrix": [0, 3], "x": 2.52, "y": 0.21, "w": 0.84, "h":0.84 }, - {"matrix": [0, 4], "x": 3.36, "y": 0.42, "w": 0.84, "h":0.84 }, - {"matrix": [4, 0], "x": 6.3, "y": 0.42, "w": 0.84, "h":0.84 }, - {"matrix": [4, 1], "x": 7.14, "y": 0.21, "w": 0.84, "h":0.84 }, - {"matrix": [4, 2], "x": 7.98, "y": 0, "w": 0.84, "h":0.84 }, - {"matrix": [4, 3], "x": 8.82, "y": 0.21, "w": 0.84, "h":0.84 }, - {"matrix": [4, 4], "x": 9.66, "y": 0.42, "w": 0.84, "h":0.84 }, - {"matrix": [1, 0], "x": 0, "y": 1.26, "w": 0.84, "h":0.84 }, - {"matrix": [1, 1], "x": 0.84, "y": 1.05, "w": 0.84, "h":0.84 }, - {"matrix": [1, 2], "x": 1.68, "y": 0.84, "w": 0.84, "h":0.84 }, - {"matrix": [1, 3], "x": 2.52, "y": 1.05, "w": 0.84, "h":0.84 }, - {"matrix": [1, 4], "x": 3.36, "y": 1.26, "w": 0.84, "h":0.84 }, - {"matrix": [5, 0], "x": 6.3, "y": 1.26, "w": 0.84, "h":0.84 }, - {"matrix": [5, 1], "x": 7.14, "y": 1.05, "w": 0.84, "h":0.84 }, - {"matrix": [5, 2], "x": 7.98, "y": 0.84, "w": 0.84, "h":0.84 }, - {"matrix": [5, 3], "x": 8.82, "y": 1.05, "w": 0.84, "h":0.84 }, - {"matrix": [5, 4], "x": 9.66, "y": 1.26, "w": 0.84, "h":0.84 }, - {"matrix": [2, 0], "x": 0, "y": 2.1, "w": 0.84, "h":0.84 }, - {"matrix": [2, 1], "x": 0.84, "y": 1.89, "w": 0.84, "h":0.84 }, - {"matrix": [2, 2], "x": 1.68, "y": 1.68, "w": 0.84, "h":0.84 }, - {"matrix": [2, 3], "x": 2.52, "y": 1.89, "w": 0.84, "h":0.84 }, - {"matrix": [2, 4], "x": 3.36, "y": 2.1, "w": 0.84, "h":0.84 }, - {"matrix": [6, 0], "x": 6.3, "y": 2.1, "w": 0.84, "h":0.84 }, - {"matrix": [6, 1], "x": 7.14, "y": 1.89, "w": 0.84, "h":0.84 }, - {"matrix": [6, 2], "x": 7.98, "y": 1.68, "w": 0.84, "h":0.84 }, - {"matrix": [6, 3], "x": 8.82, "y": 1.89, "w": 0.84, "h":0.84 }, - {"matrix": [6, 4], "x": 9.66, "y": 2.1, "w": 0.84, "h":0.84 }, - {"matrix": [3, 1], "x": 1.68, "y": 3.15, "w": 0.84, "h":0.84 }, - {"matrix": [3, 2], "x": 2.52, "y": 3.15, "w": 0.84, "h":0.84 }, - {"matrix": [3, 3], "x": 3.36, "y": 3.15, "w": 0.84, "h":0.84 }, - {"matrix": [3, 4], "x": 4.2, "y": 3.15, "w": 0.84, "h":0.84 }, - {"matrix": [7, 0], "x": 5.46, "y": 3.15, "w": 0.84, "h":0.84 }, - {"matrix": [7, 1], "x": 6.3, "y": 3.15, "w": 0.84, "h":0.84 }, - {"matrix": [7, 2], "x": 7.14, "y": 3.15, "w": 0.84, "h":0.84 }, - {"matrix": [7, 3], "x": 7.98, "y": 3.15, "w": 0.84, "h":0.84 } - ] - } - } -} diff --git a/keyboards/takashicompany/palmslave/keymaps/default/keymap.c b/keyboards/takashicompany/palmslave/keymaps/default/keymap.c deleted file mode 100644 index 02747c0881..0000000000 --- a/keyboards/takashicompany/palmslave/keymaps/default/keymap.c +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2025 takashicompany (@takashicompany) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, - LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, - KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_RGUI, KC_RCTL - ), - - [1] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, - LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT( - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), - KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), - KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [3] = LAYOUT( - LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, - LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, - KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LNG1), KC_RGUI, KC_RCTL - ), - - [4] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, - LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [5] = LAYOUT( - KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, - KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, - KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [6] = LAYOUT( - KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, - KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, - KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [7] = LAYOUT( - KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [8] = LAYOUT( - UG_TOGG, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, KC_NO, KC_NO, KC_NO, DF(0), DF(3), - RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/takashicompany/palmslave/readme.md b/keyboards/takashicompany/palmslave/readme.md deleted file mode 100644 index ea51a41ef7..0000000000 --- a/keyboards/takashicompany/palmslave/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# Palmslave - -![Palmslave](https://i.imgur.com/oDluHBC.jpeg) - -Palmslave is a split keyboard with 0.8u (16mm) key pitch. -The size of a single key is 80% of the size of a key on a conventional keyboard. -Although the key size is more compact than usual, it has the advantage of requiring minimal finger movement. -The number of keys is 19 keys for one hand and 38 keys for two hands. -Keyswitches are compatible with Choc v1 and Choc v2. -The board can be fitted with a key switch socket, allowing the keyswitch to be replaced according to mood or fashion. - -Palmslaveは0.8u(16mm)キーピッチの分割型のキーボードです。 -一つのキーの大きさが従来のキーボードのキーと比較すると80%のサイズとなっています。 -通常よりコンパクトなキーサイズですが、指の動きが最小限で済むという強みがあります。 -キー数は片手で19キー、両手で38キーとなります。 -キースイッチはChoc v1とChoc v2に対応しています。 -基板はキースイッチソケットの取り付けが可能で、気分や流行でキースイッチを付け替えることが可能です。 - -* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) -* Hardware Supported: Palmslave PCB(s), x2 Pro Micro development board -* Hardware Availability: https://github.com/takashicompany/palmslave - -Make example for this keyboard (after setting up your build environment): - - make takashicompany/palmslave:default - -Flashing example for this keyboard: - - make takashicompany/palmslave:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/takashicompany/qoolee/keyboard.json b/keyboards/takashicompany/qoolee/keyboard.json index 873ca082ac..bce2335293 100644 --- a/keyboards/takashicompany/qoolee/keyboard.json +++ b/keyboards/takashicompany/qoolee/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, @@ -52,8 +54,9 @@ {"pin_a": "D2", "pin_b": "D1", "resolution": 1} ] }, - "development_board": "promicro", - "layouts": { + "processor": "atmega32u4", + "bootloader": "caterina", + "layouts": { "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, diff --git a/keyboards/takashicompany/radialex/keyboard.json b/keyboards/takashicompany/radialex/keyboard.json index e1b88feac8..34ef3d2f1f 100644 --- a/keyboards/takashicompany/radialex/keyboard.json +++ b/keyboards/takashicompany/radialex/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -47,7 +49,8 @@ "rows": ["B6", "D4", "C6", "D7", "E6", "B4", "B5"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/takashicompany/rookey/keyboard.json b/keyboards/takashicompany/rookey/keyboard.json index 5e530a5a3c..9473345409 100644 --- a/keyboards/takashicompany/rookey/keyboard.json +++ b/keyboards/takashicompany/rookey/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/takashicompany/spreadwriter/keyboard.json b/keyboards/takashicompany/spreadwriter/keyboard.json index d544a3e13e..2c9fcd1619 100644 --- a/keyboards/takashicompany/spreadwriter/keyboard.json +++ b/keyboards/takashicompany/spreadwriter/keyboard.json @@ -2,7 +2,7 @@ "manufacturer": "takashicompany", "keyboard_name": "Spreadwriter", "maintainer": "takashicompany", - "development_board": "promicro", + "bootloader": "caterina", "diode_direction": "COL2ROW", "features": { "bootmagic": true, @@ -16,6 +16,7 @@ "cols": ["D4", "C6", "D7", "E6", "B4", "B5", "D2"], "rows": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"] }, + "processor": "atmega32u4", "url": "https://github.com/takashicompany/spreadwriter", "usb": { "device_version": "1.0.0", @@ -30,6 +31,8 @@ "rgblight": { "led_count": 53, "hue_steps": 10, + "saturation_steps": 17, + "brightness_steps": 17, "animations": { "alternating": true, "breathing": true, diff --git a/keyboards/takashicompany/tightwriter/keyboard.json b/keyboards/takashicompany/tightwriter/keyboard.json index 6fb86b874b..201e3f6ed5 100644 --- a/keyboards/takashicompany/tightwriter/keyboard.json +++ b/keyboards/takashicompany/tightwriter/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -15,6 +17,7 @@ "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], "rows": ["F6", "F7", "B1", "B3", "B2", "B6"] }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0025", diff --git a/keyboards/takashiski/hecomi/alpha/keyboard.json b/keyboards/takashiski/hecomi/alpha/keyboard.json index 58167f38d6..edb920c82d 100644 --- a/keyboards/takashiski/hecomi/alpha/keyboard.json +++ b/keyboards/takashiski/hecomi/alpha/keyboard.json @@ -43,7 +43,8 @@ "ws2812": { "pin": "D4" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/takashiski/hecomi/rules.mk b/keyboards/takashiski/hecomi/rules.mk new file mode 100644 index 0000000000..41002fe272 --- /dev/null +++ b/keyboards/takashiski/hecomi/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = takashiski/hecomi/alpha diff --git a/keyboards/takashiski/namecard2x4/info.json b/keyboards/takashiski/namecard2x4/info.json index dd95017b3b..895f3e4c4b 100644 --- a/keyboards/takashiski/namecard2x4/info.json +++ b/keyboards/takashiski/namecard2x4/info.json @@ -16,7 +16,8 @@ "pid": "0x0000", "device_version": "0.0.1" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/takashiski/namecard2x4/rules.mk b/keyboards/takashiski/namecard2x4/rules.mk new file mode 100644 index 0000000000..f93cfc823d --- /dev/null +++ b/keyboards/takashiski/namecard2x4/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = takashiski/namecard2x4/rev2 diff --git a/keyboards/takashiski/otaku_split/rev0/keyboard.json b/keyboards/takashiski/otaku_split/rev0/keyboard.json index 911d883eb3..193254aa1a 100644 --- a/keyboards/takashiski/otaku_split/rev0/keyboard.json +++ b/keyboards/takashiski/otaku_split/rev0/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "otaku split rev.0", "manufacturer": "takashiski", + "url": "", "maintainer": "takashiski", "usb": { "vid": "0xFEED", diff --git a/keyboards/taleguers/taleguers75/keyboard.json b/keyboards/taleguers/taleguers75/keyboard.json index 0af1b2634b..8c3a1565e2 100644 --- a/keyboards/taleguers/taleguers75/keyboard.json +++ b/keyboards/taleguers/taleguers75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Taleguers75", "manufacturer": "Taleguers", + "url": "", "maintainer": "borlopjim", "usb": { "vid": "0x8476", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/tanuki/keyboard.json b/keyboards/tanuki/keyboard.json index ac6b257652..0c4045e320 100644 --- a/keyboards/tanuki/keyboard.json +++ b/keyboards/tanuki/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Tanuki", "manufacturer": "Seth", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, @@ -45,7 +48,8 @@ "rows": ["F7", "B1", "D4", "D0"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/tau4/keyboard.json b/keyboards/tau4/keyboard.json index 9a8e280905..f5acdbddd3 100644 --- a/keyboards/tau4/keyboard.json +++ b/keyboards/tau4/keyboard.json @@ -47,6 +47,7 @@ "twinkle": true }, "brightness_steps": 8, + "hue_steps": 8, "layers": { "blink": false, "enabled": true, diff --git a/keyboards/teahouse/ayleen/keyboard.json b/keyboards/teahouse/ayleen/keyboard.json index adb1695086..4b64ba96d1 100644 --- a/keyboards/teahouse/ayleen/keyboard.json +++ b/keyboards/teahouse/ayleen/keyboard.json @@ -9,6 +9,8 @@ "features": { "rgblight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/team0110/p1800fl/keyboard.json b/keyboards/team0110/p1800fl/keyboard.json index 2e99ddeb87..681482db5b 100644 --- a/keyboards/team0110/p1800fl/keyboard.json +++ b/keyboards/team0110/p1800fl/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/technika/keyboard.json b/keyboards/technika/keyboard.json index fc894fefb5..a6f3c2bd01 100644 --- a/keyboards/technika/keyboard.json +++ b/keyboards/technika/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Technika", "manufacturer": "TealTechnik", + "url": "", "maintainer": "Gondolindrim", "usb": { "vid": "0x8484", diff --git a/keyboards/teleport/native/ansi/rules.mk b/keyboards/teleport/native/ansi/rules.mk deleted file mode 100644 index 942ef4c5db..0000000000 --- a/keyboards/teleport/native/ansi/rules.mk +++ /dev/null @@ -1 +0,0 @@ -RGB_MATRIX_CUSTOM_KB = yes diff --git a/keyboards/teleport/native/board.h b/keyboards/teleport/native/board.h deleted file mode 100644 index 41efeb2c1a..0000000000 --- a/keyboards/teleport/native/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2022 Moritz Plattner -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/teleport/native/config.h b/keyboards/teleport/native/config.h index cd823d725e..31d0025883 100644 --- a/keyboards/teleport/native/config.h +++ b/keyboards/teleport/native/config.h @@ -67,3 +67,6 @@ along with this program. If not, see . #ifdef ENABLE_RGB_MATRIX_TYPING_HEATMAP #define RGB_MATRIX_TYPING_HEATMAP_SLIM #endif + +/* Set HSE clock since it differs from F411 default */ +#define STM32_HSECLK 16000000 diff --git a/keyboards/teleport/native/info.json b/keyboards/teleport/native/info.json index 08432fbf14..756764ff6f 100644 --- a/keyboards/teleport/native/info.json +++ b/keyboards/teleport/native/info.json @@ -34,6 +34,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/teleport/native/iso/rules.mk b/keyboards/teleport/native/iso/rules.mk deleted file mode 100644 index 942ef4c5db..0000000000 --- a/keyboards/teleport/native/iso/rules.mk +++ /dev/null @@ -1 +0,0 @@ -RGB_MATRIX_CUSTOM_KB = yes diff --git a/keyboards/teleport/native/rules.mk b/keyboards/teleport/native/rules.mk new file mode 100644 index 0000000000..53dc2b1747 --- /dev/null +++ b/keyboards/teleport/native/rules.mk @@ -0,0 +1,3 @@ +RGB_MATRIX_CUSTOM_KB = yes + +DEFAULT_FOLDER = teleport/native/iso diff --git a/keyboards/teleport/numpad/keyboard.json b/keyboards/teleport/numpad/keyboard.json index 00862e4f9f..ace8e949e0 100644 --- a/keyboards/teleport/numpad/keyboard.json +++ b/keyboards/teleport/numpad/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/teleport/tkl/keyboard.json b/keyboards/teleport/tkl/keyboard.json index b6b93667f4..9fb88acb74 100644 --- a/keyboards/teleport/tkl/keyboard.json +++ b/keyboards/teleport/tkl/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/telophase/keyboard.json b/keyboards/telophase/keyboard.json index d3a86ebcbf..8efbae5519 100644 --- a/keyboards/telophase/keyboard.json +++ b/keyboards/telophase/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Telophase", "manufacturer": "Unknown", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/tempo_turtle/bradpad/keyboard.json b/keyboards/tempo_turtle/bradpad/keyboard.json index eafadc10e0..374dbeaaaf 100644 --- a/keyboards/tempo_turtle/bradpad/keyboard.json +++ b/keyboards/tempo_turtle/bradpad/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/tender/macrowo_pad/keyboard.json b/keyboards/tender/macrowo_pad/keyboard.json index 13f486d5b5..53e22289f6 100644 --- a/keyboards/tender/macrowo_pad/keyboard.json +++ b/keyboards/tender/macrowo_pad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -19,7 +21,8 @@ "rows": ["B5", "D7"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/tenki/keyboard.json b/keyboards/tenki/keyboard.json index 394e4cbfdf..628e2068ba 100644 --- a/keyboards/tenki/keyboard.json +++ b/keyboards/tenki/keyboard.json @@ -32,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -48,7 +50,8 @@ "rows": ["B1", "B4", "F6", "B6", "B2"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["ortho_5x4"], "layouts": { "LAYOUT_ortho_5x4": { diff --git a/keyboards/terrazzo/keyboard.json b/keyboards/terrazzo/keyboard.json index 71aa43f7e9..fb8bc6b483 100644 --- a/keyboards/terrazzo/keyboard.json +++ b/keyboards/terrazzo/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Terrazzo", "manufacturer": "MsMustard", + "url": "", "maintainer": "MsMustard", "usb": { "vid": "0x4D4D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "led_matrix": true, diff --git a/keyboards/terrazzo/terrazzo.c b/keyboards/terrazzo/terrazzo.c index a629e5dceb..2a3d2a8cc6 100644 --- a/keyboards/terrazzo/terrazzo.c +++ b/keyboards/terrazzo/terrazzo.c @@ -14,7 +14,6 @@ * along with this program. If not, see . */ -#include #include "terrazzo.h" #ifdef LED_MATRIX_ENABLE diff --git a/keyboards/tetris/keyboard.json b/keyboards/tetris/keyboard.json index 3500a9ffac..57cfd42c70 100644 --- a/keyboards/tetris/keyboard.json +++ b/keyboards/tetris/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Tetris", "manufacturer": "Fengz", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -34,6 +35,8 @@ "features": { "audio": true, "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/tg4x/keyboard.json b/keyboards/tg4x/keyboard.json index 0cedae15d6..ae4cd53a28 100644 --- a/keyboards/tg4x/keyboard.json +++ b/keyboards/tg4x/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TG4x", "manufacturer": "MythosMann", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x4D4D", @@ -33,6 +34,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -49,8 +52,9 @@ "rows": ["B5", "B4", "E6", "D7", "C6", "D4", "D0", "D1"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", - "layouts": { + "processor": "atmega32u4", + "bootloader": "caterina", + "layouts": { "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/tg67/keyboard.json b/keyboards/tg67/keyboard.json index 308f16cc99..8c860e5996 100644 --- a/keyboards/tg67/keyboard.json +++ b/keyboards/tg67/keyboard.json @@ -33,6 +33,7 @@ "led_count": 69, "saturation_steps": 8 }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x6667", diff --git a/keyboards/tgr/910/keyboard.json b/keyboards/tgr/910/keyboard.json index dad6cb8bd0..072eb07ea1 100644 --- a/keyboards/tgr/910/keyboard.json +++ b/keyboards/tgr/910/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TGR-910", "manufacturer": "Quadcube", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5447", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/tgr/910ce/keyboard.json b/keyboards/tgr/910ce/keyboard.json index 39dc5c3746..4d70a5b5db 100644 --- a/keyboards/tgr/910ce/keyboard.json +++ b/keyboards/tgr/910ce/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "910CE", "manufacturer": "TGR", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5447", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/tgr/alice/keyboard.json b/keyboards/tgr/alice/keyboard.json index c477d52e04..d78185106b 100644 --- a/keyboards/tgr/alice/keyboard.json +++ b/keyboards/tgr/alice/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Alice", "manufacturer": "TGR", + "url": "", "maintainer": "Felipe Coury", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/tgr/jane/v2/keyboard.json b/keyboards/tgr/jane/v2/keyboard.json index 3028064cd1..dc36757eb5 100644 --- a/keyboards/tgr/jane/v2/keyboard.json +++ b/keyboards/tgr/jane/v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Jane v2", "manufacturer": "TGR", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5447", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/tgr/jane/v2ce/keyboard.json b/keyboards/tgr/jane/v2ce/keyboard.json index 66dcb9fd25..107e2dee9e 100644 --- a/keyboards/tgr/jane/v2ce/keyboard.json +++ b/keyboards/tgr/jane/v2ce/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Jane v2 CE", "manufacturer": "TGR", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5447", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/tgr/tris/keyboard.json b/keyboards/tgr/tris/keyboard.json index 13f2eef8a1..7776c7b2c9 100644 --- a/keyboards/tgr/tris/keyboard.json +++ b/keyboards/tgr/tris/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Tris", "manufacturer": "TGR", + "url": "", "maintainer": "halfenergized", "usb": { "vid": "0x5447", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/tgr/tris/readme.md b/keyboards/tgr/tris/readme.md index e01e7decaa..c9cc199069 100644 --- a/keyboards/tgr/tris/readme.md +++ b/keyboards/tgr/tris/readme.md @@ -1,5 +1,7 @@ # TGR Tris/Tris CE +A short description of the keyboard/project + * Keyboard Maintainer: [poisonking](https://github.com/halfenergized) * Hardware Supported: Tris PCB * Hardware Availability: https://geekhack.org/index.php?topic=86221.0 diff --git a/keyboards/the_royal/liminal/keyboard.json b/keyboards/the_royal/liminal/keyboard.json index e23c468702..0a5bd361e7 100644 --- a/keyboards/the_royal/liminal/keyboard.json +++ b/keyboards/the_royal/liminal/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Liminal", "manufacturer": "TheRoyalSweatshirt", + "url": "", "maintainer": "TheRoyalSweatshirt", "usb": { "vid": "0x4B4B", @@ -18,6 +19,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/the_royal/schwann/keyboard.json b/keyboards/the_royal/schwann/keyboard.json index d1db1f3e41..800d45b83a 100644 --- a/keyboards/the_royal/schwann/keyboard.json +++ b/keyboards/the_royal/schwann/keyboard.json @@ -31,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/themadnoodle/ncc1701kb/v2/keyboard.json b/keyboards/themadnoodle/ncc1701kb/v2/keyboard.json index 069a4b79fa..c67262c562 100644 --- a/keyboards/themadnoodle/ncc1701kb/v2/keyboard.json +++ b/keyboards/themadnoodle/ncc1701kb/v2/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/themadnoodle/noodlepad/info.json b/keyboards/themadnoodle/noodlepad/info.json index 48f984339c..8ad698df38 100644 --- a/keyboards/themadnoodle/noodlepad/info.json +++ b/keyboards/themadnoodle/noodlepad/info.json @@ -8,6 +8,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/themadnoodle/noodlepad/rules.mk b/keyboards/themadnoodle/noodlepad/rules.mk new file mode 100644 index 0000000000..318832e121 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad/rules.mk @@ -0,0 +1,3 @@ +# Default folder for noodlepad +DEFAULT_FOLDER = themadnoodle/noodlepad/v1 + diff --git a/keyboards/themadnoodle/noodlepad_micro/keyboard.json b/keyboards/themadnoodle/noodlepad_micro/keyboard.json index 868cce3177..fe7ab9ea75 100644 --- a/keyboards/themadnoodle/noodlepad_micro/keyboard.json +++ b/keyboards/themadnoodle/noodlepad_micro/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/themadnoodle/udon13/keyboard.json b/keyboards/themadnoodle/udon13/keyboard.json index 31ad17a367..b0ece11612 100644 --- a/keyboards/themadnoodle/udon13/keyboard.json +++ b/keyboards/themadnoodle/udon13/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "encoder": true, "mousekey": true, diff --git a/keyboards/theone/keyboard.json b/keyboards/theone/keyboard.json index be141628f0..3b4fc99d05 100644 --- a/keyboards/theone/keyboard.json +++ b/keyboards/theone/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "key_lock": true, "mousekey": true, diff --git a/keyboards/thepanduuh/degenpad/keyboard.json b/keyboards/thepanduuh/degenpad/keyboard.json index d74fd0dd2c..7a0edc2124 100644 --- a/keyboards/thepanduuh/degenpad/keyboard.json +++ b/keyboards/thepanduuh/degenpad/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/thevankeyboards/bananasplit/keyboard.json b/keyboards/thevankeyboards/bananasplit/keyboard.json index b8845f165c..1fb7fc5054 100644 --- a/keyboards/thevankeyboards/bananasplit/keyboard.json +++ b/keyboards/thevankeyboards/bananasplit/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BananaSplit 60", "manufacturer": "TheVan Keyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEAE", diff --git a/keyboards/thevankeyboards/caravan/keyboard.json b/keyboards/thevankeyboards/caravan/keyboard.json index 578a2b3021..a5c00abf4e 100644 --- a/keyboards/thevankeyboards/caravan/keyboard.json +++ b/keyboards/thevankeyboards/caravan/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Caravan", "manufacturer": "TheVan Keyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEAE", @@ -9,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/thevankeyboards/jetvan/keyboard.json b/keyboards/thevankeyboards/jetvan/keyboard.json index 4d73b04537..a5a9b96ac8 100644 --- a/keyboards/thevankeyboards/jetvan/keyboard.json +++ b/keyboards/thevankeyboards/jetvan/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "JetVan", "manufacturer": "evangs", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEAE", @@ -28,6 +29,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/thevankeyboards/minivan/keyboard.json b/keyboards/thevankeyboards/minivan/keyboard.json index 547762a7f4..53b3e0d89c 100644 --- a/keyboards/thevankeyboards/minivan/keyboard.json +++ b/keyboards/thevankeyboards/minivan/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Minivan", "manufacturer": "Evan Sailer", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEAE", @@ -17,6 +18,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/thevankeyboards/roadkit/keyboard.json b/keyboards/thevankeyboards/roadkit/keyboard.json index b6933d677d..e3c282bffe 100644 --- a/keyboards/thevankeyboards/roadkit/keyboard.json +++ b/keyboards/thevankeyboards/roadkit/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Roadkit Micro", "manufacturer": "TheVan Keyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEAE", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/tkc/california/keyboard.json b/keyboards/tkc/california/keyboard.json index 7a7edecfef..465544bc03 100644 --- a/keyboards/tkc/california/keyboard.json +++ b/keyboards/tkc/california/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "California", "manufacturer": "TKC", + "url": "", "maintainer": "TerryMathews", "usb": { "vid": "0x544B", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/tkc/candybar/lefty/keyboard.json b/keyboards/tkc/candybar/lefty/keyboard.json index 333a4a30e9..fe8814e54b 100644 --- a/keyboards/tkc/candybar/lefty/keyboard.json +++ b/keyboards/tkc/candybar/lefty/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Candybar", "manufacturer": "The Key Company", + "url": "", "maintainer": "terrymathews", "usb": { "vid": "0x544B", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/tkc/candybar/lefty_r3/keyboard.json b/keyboards/tkc/candybar/lefty_r3/keyboard.json index 4e695a2156..b09412ffc9 100644 --- a/keyboards/tkc/candybar/lefty_r3/keyboard.json +++ b/keyboards/tkc/candybar/lefty_r3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Candybar", "manufacturer": "The Key Company", + "url": "", "maintainer": "terrymathews", "usb": { "vid": "0x544B", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/tkc/candybar/righty/keyboard.json b/keyboards/tkc/candybar/righty/keyboard.json index 19f50d9df7..f529ac936f 100644 --- a/keyboards/tkc/candybar/righty/keyboard.json +++ b/keyboards/tkc/candybar/righty/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Candybar", "manufacturer": "The Key Company", + "url": "", "maintainer": "terrymathews", "usb": { "vid": "0x544B", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/tkc/candybar/righty_r3/keyboard.json b/keyboards/tkc/candybar/righty_r3/keyboard.json index 80f90c30ac..8064672583 100644 --- a/keyboards/tkc/candybar/righty_r3/keyboard.json +++ b/keyboards/tkc/candybar/righty_r3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Candybar", "manufacturer": "The Key Company", + "url": "", "maintainer": "terrymathews", "usb": { "vid": "0x544B", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/tkc/godspeed75/keyboard.json b/keyboards/tkc/godspeed75/keyboard.json index 3379975ee4..48cf06f3ca 100644 --- a/keyboards/tkc/godspeed75/keyboard.json +++ b/keyboards/tkc/godspeed75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "GodSpeed75", "manufacturer": "The Key Company", + "url": "", "maintainer": "terrymathews", "usb": { "vid": "0x544B", @@ -27,6 +28,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/tkc/m0lly/keyboard.json b/keyboards/tkc/m0lly/keyboard.json index fda904c4f4..ae76f1e6d9 100644 --- a/keyboards/tkc/m0lly/keyboard.json +++ b/keyboards/tkc/m0lly/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "M0lly", "manufacturer": "The Key Company", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x544B", diff --git a/keyboards/tkc/osav2/keyboard.json b/keyboards/tkc/osav2/keyboard.json index 8e9c685b49..ef4c789797 100644 --- a/keyboards/tkc/osav2/keyboard.json +++ b/keyboards/tkc/osav2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "OSA v2", "manufacturer": "The Key Company", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x544B", diff --git a/keyboards/tkc/portico/keyboard.json b/keyboards/tkc/portico/keyboard.json index 49efe0a942..29b7d8246b 100644 --- a/keyboards/tkc/portico/keyboard.json +++ b/keyboards/tkc/portico/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Portico", "manufacturer": "TKC", + "url": "", "maintainer": "TerryMathews", "usb": { "vid": "0x544B", diff --git a/keyboards/tkc/portico68v2/keyboard.json b/keyboards/tkc/portico68v2/keyboard.json index 087713f3a2..914dee8760 100644 --- a/keyboards/tkc/portico68v2/keyboard.json +++ b/keyboards/tkc/portico68v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Portico68 v2", "manufacturer": "TKC", + "url": "", "maintainer": "TerryMathews", "usb": { "vid": "0x544B", @@ -62,6 +63,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/tkc/portico75/keyboard.json b/keyboards/tkc/portico75/keyboard.json index 1e84f25ebe..4228f20145 100644 --- a/keyboards/tkc/portico75/keyboard.json +++ b/keyboards/tkc/portico75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Portico75", "manufacturer": "TKC", + "url": "", "maintainer": "TerryMathews", "usb": { "vid": "0x544B", diff --git a/keyboards/tkc/tkc1800/keyboard.json b/keyboards/tkc/tkc1800/keyboard.json index ffd88d8b43..2965c61d83 100644 --- a/keyboards/tkc/tkc1800/keyboard.json +++ b/keyboards/tkc/tkc1800/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TKC1800", "manufacturer": "The Key Company", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x544B", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/tkc/tkl_ab87/keyboard.json b/keyboards/tkc/tkl_ab87/keyboard.json index a7bbbc3664..c3d14bd8cf 100644 --- a/keyboards/tkc/tkl_ab87/keyboard.json +++ b/keyboards/tkc/tkl_ab87/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TKL A/B87", "manufacturer": "TKC", + "url": "", "maintainer": "TerryMathews", "usb": { "vid": "0x544B", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/tkw/grandiceps/rules.mk b/keyboards/tkw/grandiceps/rules.mk new file mode 100644 index 0000000000..ab8aeff268 --- /dev/null +++ b/keyboards/tkw/grandiceps/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = tkw/grandiceps/rev1 diff --git a/keyboards/tkw/stoutgat/v2/rules.mk b/keyboards/tkw/stoutgat/v2/rules.mk new file mode 100644 index 0000000000..1a660af26c --- /dev/null +++ b/keyboards/tkw/stoutgat/v2/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = tkw/stoutgat/v2/f411 diff --git a/keyboards/tmo50/keyboard.json b/keyboards/tmo50/keyboard.json index f8f48f6895..dbb79802ca 100644 --- a/keyboards/tmo50/keyboard.json +++ b/keyboards/tmo50/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TMO50", "manufacturer": "funderburker", + "url": "", "maintainer": "funderburker", "usb": { "vid": "0xFBFB", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/toad/keyboard.json b/keyboards/toad/keyboard.json index 6db4e402e1..073fa6411c 100644 --- a/keyboards/toad/keyboard.json +++ b/keyboards/toad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Toad", "manufacturer": "farmakon", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/toffee_studio/blueberry/keyboard.json b/keyboards/toffee_studio/blueberry/keyboard.json index e5fa35a228..99a87b0a95 100644 --- a/keyboards/toffee_studio/blueberry/keyboard.json +++ b/keyboards/toffee_studio/blueberry/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Blueberry", "manufacturer": "Toffee Studio", + "url": "", "maintainer": "Toffee Studio", "usb": { "vid": "0x1067", @@ -30,6 +31,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/togkey/pad/keyboard.json b/keyboards/togkey/pad/keyboard.json deleted file mode 100644 index f93346deb6..0000000000 --- a/keyboards/togkey/pad/keyboard.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "manufacturer": "TogKey", - "keyboard_name": "Pad", - "maintainer": "togkey86", - "development_board": "promicro_rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["GP2", "GP3", "GP4"], - "rows": ["GP5", "GP6"] - }, - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "hue_steps": 10, - "led_count": 5 - }, - "url": "https://togkey.com/products/togkey-pad", - "usb": { - "device_version": "1.0.0", - "pid": "0x8686", - "vid": "0xFEED" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP7" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0.5, "y": 0}, - {"matrix": [0, 1], "x": 1.5, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1} - ] - } - } -} diff --git a/keyboards/togkey/pad/keymaps/default/keymap.c b/keyboards/togkey/pad/keymaps/default/keymap.c deleted file mode 100644 index 4c55f41e69..0000000000 --- a/keyboards/togkey/pad/keymaps/default/keymap.c +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 TogKey -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_VOLD, KC_VOLU, - KC_MPRV, KC_MPLY, KC_MNXT - ) -}; diff --git a/keyboards/togkey/pad/readme.md b/keyboards/togkey/pad/readme.md deleted file mode 100644 index 3c34876970..0000000000 --- a/keyboards/togkey/pad/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# pad - -![pad](https://i.imgur.com/KMS1btN.jpeg) - -A simple 5-Key Macropad based off an RP2040 and custom PCB. - -* Keyboard Maintainer: [Jon Henry](https://github.com/togkey86) -* Hardware Supported: TogKey Pad PCB, RP2040 Pro Micro Development Board -* Hardware Availability: (https://togkey.com) - -Make example for this keyboard (after setting up your build environment): - - make togkey/pad:default - -Flashing example for this keyboard: - - make togkey/pad:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/togkey/pad_plus/config.h b/keyboards/togkey/pad_plus/config.h deleted file mode 100644 index 525f02feb0..0000000000 --- a/keyboards/togkey/pad_plus/config.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2025 TogKey -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -//OLED -#define OLED_DISPLAY_128X64 -#define I2C_DRIVER I2CD1 -#define I2C1_SDA_PIN GP2 -#define I2C1_SCL_PIN GP3 diff --git a/keyboards/togkey/pad_plus/keyboard.json b/keyboards/togkey/pad_plus/keyboard.json deleted file mode 100644 index ca5eabf902..0000000000 --- a/keyboards/togkey/pad_plus/keyboard.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "manufacturer": "TogKey", - "keyboard_name": "Pad Plus", - "maintainer": "togkey86", - "development_board": "promicro_rp2040", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "GP28", "pin_b": "GP29", "resolution": 2} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "oled": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["GP4", "GP5", "GP6"], - "rows": ["GP26", "GP22", "GP20"] - }, - - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "hue_steps": 10, - "led_count": 3 - }, - "url": "https://togkey.com/products/togkey-pad-plus", - "usb": { - "device_version": "1.0.0", - "pid": "0x8687", - "vid": "0xFEED" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP27" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2} - ] - } - } -} diff --git a/keyboards/togkey/pad_plus/keymaps/default/keymap.c b/keyboards/togkey/pad_plus/keymaps/default/keymap.c deleted file mode 100644 index 3d1979b2e1..0000000000 --- a/keyboards/togkey/pad_plus/keymaps/default/keymap.c +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2025 TogKey -// SPDX-License-Identifier: GPL-2.0-or-later6 - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - TO(1), - KC_VOLD, KC_MUTE, KC_VOLU, - KC_MPRV, KC_MPLY, KC_MNXT - ), - - [1] = LAYOUT( - TO(2), - KC_1, KC_2, KC_3, - KC_4, KC_5, KC_6 - ), - - [2] = LAYOUT( - TO(3), - KC_A, KC_B, KC_C, - KC_D, KC_E, KC_F - ), - - [3] = LAYOUT( - TO(0), - KC_J, KC_K, KC_L, - KC_M, KC_N, KC_O - ) -}; diff --git a/keyboards/togkey/pad_plus/pad_plus.c b/keyboards/togkey/pad_plus/pad_plus.c deleted file mode 100644 index c1db5edfe6..0000000000 --- a/keyboards/togkey/pad_plus/pad_plus.c +++ /dev/null @@ -1,731 +0,0 @@ -// Copyright 2025 TogKey -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#if defined(OLED_ENABLE) -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - return OLED_ROTATION_180; -} - -static const char image_layer_1[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, - 0x8F, 0x8F, 0x70, 0xFC, 0xFE, 0xFE, - 0xCF, 0x8F, 0x8F, 0x8F, 0xFE, 0xFE, - 0xFC, 0x78, 0xF8, 0xFC, 0xFE, 0xFF, - 0x8F, 0x8F, 0x8F, 0xCE, 0xFF, 0xFF, - 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF8, 0xFC, 0xFE, 0xDF, 0x8F, - 0x07, 0x23, 0xFC, 0xFE, 0xFE, 0xFF, - 0xB7, 0xB7, 0xBF, 0xBE, 0xBE, 0xB8, - 0x07, 0x1F, 0x3F, 0xFE, 0xFC, 0xF0, - 0xF0, 0xFE, 0xFF, 0x3F, 0x0F, 0x03, - 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x03, 0x07, 0x07, 0x03, 0x00, 0x01, - 0x03, 0x03, 0x03, 0x07, 0x07, 0x03, - 0x03, 0x03, 0x01, 0x00, 0x00, 0x39, - 0x7B, 0x7B, 0x77, 0x77, 0x73, 0x7B, - 0x7F, 0x3F, 0x1F, 0x07, 0x00, 0x03, - 0x03, 0x03, 0x03, 0x00, 0x01, 0x03, - 0x03, 0x03, 0x03, 0x02, 0x00, 0x01, - 0x03, 0x03, 0x07, 0x07, 0x03, 0x03, - 0x03, 0x01, 0x00, 0x60, 0x78, 0x7E, - 0x7F, 0x3F, 0x0F, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x03, 0x07, 0x07, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xF0, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, - 0x78, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0xF0, - 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, - 0xC0, 0xF0, 0xF0, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x78, 0xF0, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0xF0, 0xF0, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xBF, 0x9F, 0xDF, 0x0F, - 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, - 0x30, 0x30, 0x30, 0xF0, 0xF0, 0xC0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x20, 0x70, 0x70, 0x30, 0x30, 0xF0, - 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, - 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xBF, - 0xBF, 0x80, 0x80, 0xBF, 0xBF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, - 0xF0, 0xF8, 0xFC, 0xEE, 0xEF, 0xE7, - 0xE3, 0xC1, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x70, 0x70, 0xE7, 0xE7, - 0xE7, 0xEF, 0xFF, 0x7C, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1F, - 0x1F, 0x1B, 0x18, 0xFF, 0xFF, 0x7F, - 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, - 0x7F, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x1F, 0x7F, 0xFF, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0x7F, 0x7F, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0x7F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, -}; - -static const char image_layer_2[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, - 0x8F, 0x8F, 0x70, 0xFC, 0xFE, 0xFE, - 0xCF, 0x8F, 0x8F, 0x8F, 0xFE, 0xFE, - 0xFC, 0x78, 0xF8, 0xFC, 0xFE, 0xFF, - 0x8F, 0x8F, 0x8F, 0xCE, 0xFF, 0xFF, - 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF8, 0xFC, 0xFE, 0xDF, 0x8F, - 0x07, 0x23, 0xFC, 0xFE, 0xFE, 0xFF, - 0xB7, 0xB7, 0xBF, 0xBE, 0xBE, 0xB8, - 0x07, 0x1F, 0x3F, 0xFE, 0xFC, 0xF0, - 0xF0, 0xFE, 0xFF, 0x3F, 0x0F, 0x03, - 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x03, 0x07, 0x07, 0x03, 0x00, 0x01, - 0x03, 0x03, 0x03, 0x07, 0x07, 0x03, - 0x03, 0x03, 0x01, 0x00, 0x00, 0x39, - 0x7B, 0x7B, 0x77, 0x77, 0x73, 0x7B, - 0x7F, 0x3F, 0x1F, 0x07, 0x00, 0x03, - 0x03, 0x03, 0x03, 0x00, 0x01, 0x03, - 0x03, 0x03, 0x03, 0x02, 0x00, 0x01, - 0x03, 0x03, 0x07, 0x07, 0x03, 0x03, - 0x03, 0x01, 0x00, 0x60, 0x78, 0x7E, - 0x7F, 0x3F, 0x0F, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x03, 0x07, 0x07, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xF0, 0xF8, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0xF8, 0xF0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, - 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, - 0xC0, 0xF0, 0xF0, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x78, 0xF0, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0xF0, 0xF0, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x60, 0x60, 0xF0, 0xF0, - 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xDF, - 0xCF, 0xCF, 0xCF, 0x1F, 0x1F, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x20, 0x70, 0x70, 0x30, 0x30, 0xF0, - 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, - 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, - 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xC0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x9F, 0x87, 0xB7, 0xB3, 0xB9, 0xBC, - 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x70, 0x70, 0xE7, 0xE7, - 0xE7, 0xEF, 0xFF, 0x7C, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1F, - 0x1F, 0x1B, 0x18, 0xFF, 0xFF, 0x7F, - 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x3F, 0x7F, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x7F, 0x3F, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, - 0x1F, 0x7F, 0xFF, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0x7F, 0x7F, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0x7F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, -}; - -static const char image_layer_3[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, - 0x8F, 0x8F, 0x70, 0xFC, 0xFE, 0xFE, - 0xCF, 0x8F, 0x8F, 0x8F, 0xFE, 0xFE, - 0xFC, 0x78, 0xF8, 0xFC, 0xFE, 0xFF, - 0x8F, 0x8F, 0x8F, 0xCE, 0xFF, 0xFF, - 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF8, 0xFC, 0xFE, 0xDF, 0x8F, - 0x07, 0x23, 0xFC, 0xFE, 0xFE, 0xFF, - 0xB7, 0xB7, 0xBF, 0xBE, 0xBE, 0xB8, - 0x07, 0x1F, 0x3F, 0xFE, 0xFC, 0xF0, - 0xF0, 0xFE, 0xFF, 0x3F, 0x0F, 0x03, - 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x03, 0x07, 0x07, 0x03, 0x00, 0x01, - 0x03, 0x03, 0x03, 0x07, 0x07, 0x03, - 0x03, 0x03, 0x01, 0x00, 0x00, 0x39, - 0x7B, 0x7B, 0x77, 0x77, 0x73, 0x7B, - 0x7F, 0x3F, 0x1F, 0x07, 0x00, 0x03, - 0x03, 0x03, 0x03, 0x00, 0x01, 0x03, - 0x03, 0x03, 0x03, 0x02, 0x00, 0x01, - 0x03, 0x03, 0x07, 0x07, 0x03, 0x03, - 0x03, 0x01, 0x00, 0x60, 0x78, 0x7E, - 0x7F, 0x3F, 0x0F, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x03, 0x07, 0x07, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xF0, 0xF8, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0xF8, 0xF0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, - 0x78, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0xF0, - 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, - 0xC0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF0, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0xF0, 0xF0, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x60, 0x60, 0xF0, 0xF0, - 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, - 0x30, 0x30, 0x30, 0xF0, 0xF0, 0xC0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x9F, 0xDF, 0xEF, 0xCF, 0xCF, - 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, - 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, - 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xC0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, - 0xF0, 0xF8, 0xFC, 0xEE, 0xEF, 0xE7, - 0xE3, 0xC1, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xDF, 0x8F, 0xBF, 0xBD, - 0xBD, 0xB8, 0x82, 0xC7, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1F, - 0x1F, 0x1B, 0x18, 0xFF, 0xFF, 0x7F, - 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x3F, 0x7F, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x7F, 0x3F, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, - 0x7F, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0x7F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, -}; - -static const char image_layer_4[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, - 0x8F, 0x8F, 0x70, 0xFC, 0xFE, 0xFE, - 0xCF, 0x8F, 0x8F, 0x8F, 0xFE, 0xFE, - 0xFC, 0x78, 0xF8, 0xFC, 0xFE, 0xFF, - 0x8F, 0x8F, 0x8F, 0xCE, 0xFF, 0xFF, - 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF8, 0xFC, 0xFE, 0xDF, 0x8F, - 0x07, 0x23, 0xFC, 0xFE, 0xFE, 0xFF, - 0xB7, 0xB7, 0xBF, 0xBE, 0xBE, 0xB8, - 0x07, 0x1F, 0x3F, 0xFE, 0xFC, 0xF0, - 0xF0, 0xFE, 0xFF, 0x3F, 0x0F, 0x03, - 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x03, 0x07, 0x07, 0x03, 0x00, 0x01, - 0x03, 0x03, 0x03, 0x07, 0x07, 0x03, - 0x03, 0x03, 0x01, 0x00, 0x00, 0x39, - 0x7B, 0x7B, 0x77, 0x77, 0x73, 0x7B, - 0x7F, 0x3F, 0x1F, 0x07, 0x00, 0x03, - 0x03, 0x03, 0x03, 0x00, 0x01, 0x03, - 0x03, 0x03, 0x03, 0x02, 0x00, 0x01, - 0x03, 0x03, 0x07, 0x07, 0x03, 0x03, - 0x03, 0x01, 0x00, 0x60, 0x78, 0x7E, - 0x7F, 0x3F, 0x0F, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x03, 0x07, 0x07, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xF0, 0xF8, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0xF8, 0xF0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, - 0x78, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0xF0, - 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, - 0xC0, 0xF0, 0xF0, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x78, 0xF0, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xF0, 0xF0, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xF0, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x60, 0x60, 0xF0, 0xF0, - 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, - 0x30, 0x30, 0x30, 0xF0, 0xF0, 0xC0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x20, 0x70, 0x70, 0x30, 0x30, 0xF0, - 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, - 0x9F, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, - 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xC0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, - 0xF0, 0xF8, 0xFC, 0xEE, 0xEF, 0xE7, - 0xE3, 0xC1, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x70, 0x70, 0xE7, 0xE7, - 0xE7, 0xEF, 0xFF, 0x7C, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xE1, - 0xE4, 0xEF, 0xEF, 0x80, 0x80, 0xE7, - 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x3F, 0x7F, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x60, 0x60, 0x60, 0x7F, 0x3F, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, - 0x7F, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x1F, 0x7F, 0xFF, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0x7F, 0x7F, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, -}; - -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_raw_P(image_layer_1, sizeof(image_layer_1)); - break; - case 1: - oled_write_raw_P(image_layer_2, sizeof(image_layer_2)); - break; - case 2: - oled_write_raw_P(image_layer_3, sizeof(image_layer_3)); - break; - case 3: - oled_write_raw_P(image_layer_4, sizeof(image_layer_4)); - break; - default: - oled_write_ln_P(PSTR("Undefined"), false); - } - - return false; -} -#endif diff --git a/keyboards/togkey/pad_plus/readme.md b/keyboards/togkey/pad_plus/readme.md deleted file mode 100644 index 99512f07e7..0000000000 --- a/keyboards/togkey/pad_plus/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# pad_plus - -![pad_plus](https://i.imgur.com/9g3gNMZ.jpeg) - -A 6-Key Macropad featuring a Oled Screen and Rotary Encoder based off an RP2040 and custom PCB. - -* Keyboard Maintainer: [Jon Henry](https://github.com/togkey86) -* Hardware Supported: TogKey Pad Plus PCB, RP2040 Development Board -* Hardware Availability: (https://togkey.com) - -Make example for this keyboard (after setting up your build environment): - - make togkey/pad_plus:default - -Flashing example for this keyboard: - - make togkey/pad_plus:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/salane/starryfrl/config.h b/keyboards/tokyokeyboard/alix40/config.h similarity index 87% rename from keyboards/salane/starryfrl/config.h rename to keyboards/tokyokeyboard/alix40/config.h index cc6fb298f4..51d446c6d2 100644 --- a/keyboards/salane/starryfrl/config.h +++ b/keyboards/tokyokeyboard/alix40/config.h @@ -1,5 +1,5 @@ /* -Copyright 2024 Salane +Copyright 2021 quadcube This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or @@ -14,4 +14,5 @@ along with this program. If not, see . #pragma once -#define RP2040_FLASH_GENERIC_03H +/* Bluetooth */ +#define BATTERY_LEVEL_PIN B6 diff --git a/keyboards/tokyokeyboard/tokyo60/keyboard.json b/keyboards/tokyokeyboard/tokyo60/keyboard.json index 90734f16af..b590946a3a 100644 --- a/keyboards/tokyokeyboard/tokyo60/keyboard.json +++ b/keyboards/tokyokeyboard/tokyo60/keyboard.json @@ -13,6 +13,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/tominabox1/adalyn/keyboard.json b/keyboards/tominabox1/adalyn/keyboard.json index 0986067227..113ef690ed 100644 --- a/keyboards/tominabox1/adalyn/keyboard.json +++ b/keyboards/tominabox1/adalyn/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/tominabox1/bigboy/keyboard.json b/keyboards/tominabox1/bigboy/keyboard.json index 6ecd61da3b..a25189f35e 100644 --- a/keyboards/tominabox1/bigboy/keyboard.json +++ b/keyboards/tominabox1/bigboy/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BigBoy", "manufacturer": "tominabox1", + "url": "", "maintainer": "tominabox1", "usb": { "vid": "0x7431", @@ -35,6 +36,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/tominabox1/le_chiffre/info.json b/keyboards/tominabox1/le_chiffre/info.json index c521928adf..cb4097d61d 100644 --- a/keyboards/tominabox1/le_chiffre/info.json +++ b/keyboards/tominabox1/le_chiffre/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Le Chiffre", "manufacturer": "tominabox1", + "url": "", "maintainer": "tominabox1", "features": { "bootmagic": true, diff --git a/keyboards/tominabox1/le_chiffre/rules.mk b/keyboards/tominabox1/le_chiffre/rules.mk new file mode 100644 index 0000000000..57b3d94eab --- /dev/null +++ b/keyboards/tominabox1/le_chiffre/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = tominabox1/le_chiffre/rev1 diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json b/keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json index 9ccfb5f27b..b021ba9c8d 100644 --- a/keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json +++ b/keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Littlefoot LX", "manufacturer": "tominabox1", + "url": "", "maintainer": "tominabox1", "usb": { "vid": "0x7431", diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json b/keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json index 38d1d62345..fe1cf6e596 100644 --- a/keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json +++ b/keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Littlefoot LX", "manufacturer": "tominabox1", + "url": "", "maintainer": "tominabox1", "usb": { "vid": "0x7431", diff --git a/keyboards/tominabox1/littlefoot_lx/rules.mk b/keyboards/tominabox1/littlefoot_lx/rules.mk new file mode 100644 index 0000000000..4756f7600f --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = tominabox1/littlefoot_lx/rev1 diff --git a/keyboards/tominabox1/qaz/keyboard.json b/keyboards/tominabox1/qaz/keyboard.json index cc0a4c5e84..9e18f0ddf4 100644 --- a/keyboards/tominabox1/qaz/keyboard.json +++ b/keyboards/tominabox1/qaz/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "qaz", "manufacturer": "whydobearsexplod", + "url": "", "maintainer": "tominabox1", "usb": { "vid": "0x7431", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -45,7 +48,8 @@ "rows": ["F4", "D4", "C6", "E6", "D1", "D0"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT_split_space": { "layout": [ diff --git a/keyboards/tominabox1/underscore33/rev1/keyboard.json b/keyboards/tominabox1/underscore33/rev1/keyboard.json index d13e20a7c6..221ecccb04 100644 --- a/keyboards/tominabox1/underscore33/rev1/keyboard.json +++ b/keyboards/tominabox1/underscore33/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "underscore33", "manufacturer": "tominabox1", + "url": "", "maintainer": "tominabox1", "usb": { "vid": "0x7431", diff --git a/keyboards/tominabox1/underscore33/rev2/keyboard.json b/keyboards/tominabox1/underscore33/rev2/keyboard.json index d4b922e240..4375116963 100644 --- a/keyboards/tominabox1/underscore33/rev2/keyboard.json +++ b/keyboards/tominabox1/underscore33/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "underscore33", "manufacturer": "tominabox1", + "url": "", "maintainer": "tominabox1", "usb": { "vid": "0x7431", diff --git a/keyboards/tominabox1/underscore33/rules.mk b/keyboards/tominabox1/underscore33/rules.mk new file mode 100644 index 0000000000..b5e13fd420 --- /dev/null +++ b/keyboards/tominabox1/underscore33/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = tominabox1/underscore33/rev1 diff --git a/keyboards/touchpad/keyboard.json b/keyboards/touchpad/keyboard.json index 0d2b450782..5429b5844d 100644 --- a/keyboards/touchpad/keyboard.json +++ b/keyboards/touchpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TouchPad", "manufacturer": "JacoBurge", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x16D0", diff --git a/keyboards/tr60w/keyboard.json b/keyboards/tr60w/keyboard.json index 4f188ae0a5..ef483ed2e2 100644 --- a/keyboards/tr60w/keyboard.json +++ b/keyboards/tr60w/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TR60W", "manufacturer": "Triangle Lab", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/trainpad/keyboard.json b/keyboards/trainpad/keyboard.json index e03d2d59f8..e7e74b0e91 100644 --- a/keyboards/trainpad/keyboard.json +++ b/keyboards/trainpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TrainPad", "manufacturer": "Ananya Kirti", + "url": "", "maintainer": "AnanyaKirti", "usb": { "vid": "0x416B", @@ -11,6 +12,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": false }, "processor": "atmega32u2", diff --git a/keyboards/trashman/ketch/keyboard.json b/keyboards/trashman/ketch/keyboard.json index 227ae1fb9f..8f0a638e63 100644 --- a/keyboards/trashman/ketch/keyboard.json +++ b/keyboards/trashman/ketch/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/treasure/type9/keyboard.json b/keyboards/treasure/type9/keyboard.json index ab7599730f..0c1ee1987a 100644 --- a/keyboards/treasure/type9/keyboard.json +++ b/keyboards/treasure/type9/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Type-9", "manufacturer": "Treasure", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/treasure/type9s2/keyboard.json b/keyboards/treasure/type9s2/keyboard.json index 66905bdf8e..94cc0dec95 100644 --- a/keyboards/treasure/type9s2/keyboard.json +++ b/keyboards/treasure/type9s2/keyboard.json @@ -14,6 +14,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/treasure/type9s3/keyboard.json b/keyboards/treasure/type9s3/keyboard.json index 380ad72683..cb2bcf3a7a 100644 --- a/keyboards/treasure/type9s3/keyboard.json +++ b/keyboards/treasure/type9s3/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, @@ -19,6 +21,7 @@ ] }, "processor": "atmega32u2", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x5493", diff --git a/keyboards/trkeyboards/trk1/keyboard.json b/keyboards/trkeyboards/trk1/keyboard.json index 83af00de3a..c3190a5eee 100644 --- a/keyboards/trkeyboards/trk1/keyboard.json +++ b/keyboards/trkeyboards/trk1/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/trnthsn/e8ghty/info.json b/keyboards/trnthsn/e8ghty/info.json index d52419d760..ec4e724878 100644 --- a/keyboards/trnthsn/e8ghty/info.json +++ b/keyboards/trnthsn/e8ghty/info.json @@ -5,6 +5,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -35,6 +37,7 @@ "indicators": { "caps_lock": "B4" }, + "url": "", "usb": { "vid": "0x5453", "pid": "0x3830", diff --git a/keyboards/trnthsn/e8ghty/rules.mk b/keyboards/trnthsn/e8ghty/rules.mk new file mode 100644 index 0000000000..e06e8fe182 --- /dev/null +++ b/keyboards/trnthsn/e8ghty/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = trnthsn/e8ghty/stm32f103 diff --git a/keyboards/trnthsn/e8ghtyneo/info.json b/keyboards/trnthsn/e8ghtyneo/info.json deleted file mode 100644 index e81c5fbb22..0000000000 --- a/keyboards/trnthsn/e8ghtyneo/info.json +++ /dev/null @@ -1,989 +0,0 @@ -{ - "manufacturer": "Tyson.Keebs", - "keyboard_name": "E8ghtyNeo", - "maintainer": "trnthsn", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["A9", "A8", "B14", "B12", "B11", "B10", "B0", "A7", "A6", "A4", "A3", "A2", "A1", "A0", "C13", "B9", "B7"], - "rows": ["B8", "A10", "B1", "A5", "C15", "C14"] - }, - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "default": { - "animation": "rainbow_mood" - }, - "led_count": 4, - "sleep": true - }, - "ws2812": { - "pin": "B15", - "driver": "spi" - }, - "indicators": { - "caps_lock": "B3" - }, - "usb": { - "vid": "0x5453", - "pid": "0x3845", - "device_version": "0.0.1" - }, - "community_layouts": [ - "tkl_ansi_tsangan", - "tkl_ansi_tsangan_split_bs_rshift", - "tkl_iso_tsangan", - "tkl_iso_tsangan_split_bs_rshift" - ], - "layouts": { - "LAYOUT_all": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, - - {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, - {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, - {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, - {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, - {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, - {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, - {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, - {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, - {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, - {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, - {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, - {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, - {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 1.25}, - {"label": "Delete", "matrix": [1, 13], "x": 14, "y": 1.25}, - - {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, - - {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, - - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, - {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, - {"label": "Shift", "matrix": [4, 13], "x": 14, "y": 4.25}, - - {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, - {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, - {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, - {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 5.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, - - {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - }, - "LAYOUT_tkl_ansi_tsangan": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, - - {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, - {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, - {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, - {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, - {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, - {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, - {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, - {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, - {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, - {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, - {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, - {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, - {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, - - {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, - - {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, - - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, - - {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, - {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, - {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, - {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 5.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, - - {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - }, - "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, - - {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, - {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, - {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, - {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, - {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, - {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, - {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, - {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, - {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, - {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, - {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, - {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, - {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 1.25}, - {"label": "Delete", "matrix": [1, 13], "x": 14, "y": 1.25}, - - {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, - - {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, - - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, - {"label": "Shift", "matrix": [4, 13], "x": 14, "y": 4.25}, - - {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, - {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, - {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, - {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 5.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, - - {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - }, - "LAYOUT_tkl_ansi_wkl": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, - - {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, - {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, - {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, - {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, - {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, - {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, - {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, - {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, - {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, - {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, - {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, - {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, - {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, - - {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, - - {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, - - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, - - {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, - {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, - {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, - - {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - }, - "LAYOUT_tkl_ansi_wkl_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, - - {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, - {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, - {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, - {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, - {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, - {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, - {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, - {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, - {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, - {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, - {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, - {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, - {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 1.25}, - {"label": "Delete", "matrix": [1, 13], "x": 14, "y": 1.25}, - - {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, - - {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, - - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, - {"label": "Shift", "matrix": [4, 13], "x": 14, "y": 4.25}, - - {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, - {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, - {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, - - {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - }, - "LAYOUT_tkl_iso_tsangan": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, - - {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, - {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, - {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, - {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, - {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, - {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, - {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, - {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, - {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, - {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, - {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, - {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, - {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, - - {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, - - {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, - - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, - {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, - - {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, - {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, - {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, - {"label": "Fn", "matrix": [5, 12], "x": 12.5, "y": 5.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, - - {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - }, - "LAYOUT_tkl_iso_tsangan_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, - - {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, - {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, - {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, - {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, - {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, - {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, - {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, - {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, - {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, - {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, - {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, - {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, - {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 1.25}, - {"label": "Delete", "matrix": [1, 13], "x": 14, "y": 1.25}, - - {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, - - {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, - - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, - {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, - {"label": "Shift", "matrix": [4, 13], "x": 14, "y": 4.25}, - - {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, - {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, - {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, - {"label": "Fn", "matrix": [5, 12], "x": 12.5, "y": 5.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, - - {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - }, - "LAYOUT_tkl_iso_wkl": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, - - {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, - {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, - {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, - {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, - {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, - {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, - {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, - {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, - {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, - {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, - {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, - {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, - {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, - - {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, - - {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, - - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, - {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, - - {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, - {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, - {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, - - {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - }, - "LAYOUT_tkl_iso_wkl_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - - {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0}, - - {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0}, - - {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, - - {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, - {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, - {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, - {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, - {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, - {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, - {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, - {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, - {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, - {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, - {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, - {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, - {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 1.25}, - {"label": "Delete", "matrix": [1, 13], "x": 14, "y": 1.25}, - - {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, - - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, - - {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, - - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, - - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, - {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, - {"label": "Shift", "matrix": [4, 13], "x": 14, "y": 4.25}, - - {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, - - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, - {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, - {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, - - {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - } - } -} diff --git a/keyboards/trnthsn/e8ghtyneo/keymaps/default/keymap.c b/keyboards/trnthsn/e8ghtyneo/keymaps/default/keymap.c deleted file mode 100644 index 31f1b5208a..0000000000 --- a/keyboards/trnthsn/e8ghtyneo/keymaps/default/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ - // │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │Prs│Srk│Ps │ - // └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ - // ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ - // │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp│ │Ins│Hm │PgU│ - // ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ - // │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ - // ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ └───┴───┴───┘ - // │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Ent │ - // ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ ┌───┐ - // │Sft │Sft│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Fn │ │ ↑ │ - // ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───┐ - // │Ctrl │Win│Alt │ │Alt │Win│Ctrl │ │ ← │ ↓ │ → │ - // └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘ - - [0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, - KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT_all( - _______, _______, _______, _______, _______, UG_TOGG, _______, _______, _______, _______, UG_NEXT, UG_VALD, UG_VALU, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_VOLD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/trnthsn/e8ghtyneo/mcuconf.h b/keyboards/trnthsn/e8ghtyneo/mcuconf.h deleted file mode 100644 index e96308a9a1..0000000000 --- a/keyboards/trnthsn/e8ghtyneo/mcuconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2025 Tyson.Keebs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/trnthsn/e8ghtyneo/readme.md b/keyboards/trnthsn/e8ghtyneo/readme.md deleted file mode 100644 index 7c7419e773..0000000000 --- a/keyboards/trnthsn/e8ghtyneo/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# E8ghtyNeo - -![E8ghtyNeo](https://imgur.com/YXYfqzZ.png) - -A TKL keyboard PCB compatible with Neo80. Supports Neo80 keyboard like an out-of-the-box PCB without any modification. - -* Keyboard Maintainer: [Trnthsn](https://github.com/trnthsn) -* Hardware Supported: STM32, E8ghtyNeo, Neo80 -* Hardware Availability: [ThanhSon.Mech](https://www.facebook.com/ThanhSon.mech) - -Make example for this keyboard (after setting up your build environment): - - make trnthsn/e8ghtyneo/stm32f072:default - -Flashing example for this keyboard: - - make trnthsn/e8ghtyneo/stm32f072:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/trnthsn/e8ghtyneo/stm32f072/keyboard.json b/keyboards/trnthsn/e8ghtyneo/stm32f072/keyboard.json deleted file mode 100644 index b5d728b1cd..0000000000 --- a/keyboards/trnthsn/e8ghtyneo/stm32f072/keyboard.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "processor": "STM32F072", - "bootloader": "stm32-dfu", -} diff --git a/keyboards/trnthsn/e8ghtyneo/stm32f103/keyboard.json b/keyboards/trnthsn/e8ghtyneo/stm32f103/keyboard.json deleted file mode 100644 index 5b2b6bc7d9..0000000000 --- a/keyboards/trnthsn/e8ghtyneo/stm32f103/keyboard.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "processor": "STM32F103", - "bootloader": "uf2boot", -} diff --git a/keyboards/trnthsn/s6xty/keyboard.json b/keyboards/trnthsn/s6xty/keyboard.json index 2397fa0788..3ec2f87f3d 100644 --- a/keyboards/trnthsn/s6xty/keyboard.json +++ b/keyboards/trnthsn/s6xty/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -33,6 +35,7 @@ "led_count": 22, "sleep": true }, + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x5336", diff --git a/keyboards/trnthsn/s6xty5neor2/halconf.h b/keyboards/trnthsn/s6xty5neor2/halconf.h index b8f0a217c4..337ed5da18 100644 --- a/keyboards/trnthsn/s6xty5neor2/halconf.h +++ b/keyboards/trnthsn/s6xty5neor2/halconf.h @@ -17,5 +17,6 @@ #pragma once #define HAL_USE_SPI TRUE - +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/trnthsn/s6xty5neor2/info.json b/keyboards/trnthsn/s6xty5neor2/info.json index ea6544cbd3..ba20dbc2ba 100644 --- a/keyboards/trnthsn/s6xty5neor2/info.json +++ b/keyboards/trnthsn/s6xty5neor2/info.json @@ -5,6 +5,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -16,6 +18,7 @@ "indicators": { "caps_lock": "C13" }, + "url": "", "usb": { "vid": "0x5453", "pid": "0x4E45", diff --git a/keyboards/trnthsn/s6xty5neor2/rules.mk b/keyboards/trnthsn/s6xty5neor2/rules.mk new file mode 100644 index 0000000000..1fc77fba72 --- /dev/null +++ b/keyboards/trnthsn/s6xty5neor2/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = trnthsn/s6xty5neor2/stm32f103 diff --git a/keyboards/trnthsn/s6xtyfs/info.json b/keyboards/trnthsn/s6xtyfs/info.json deleted file mode 100644 index 132c1a4e97..0000000000 --- a/keyboards/trnthsn/s6xtyfs/info.json +++ /dev/null @@ -1,742 +0,0 @@ -{ - "manufacturer": "Tyson.Keebs", - "keyboard_name": "S6xty Tsangan", - "maintainer": "trnthsn", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "indicators": { - "caps_lock": "B0" - }, - "matrix_pins": { - "cols": ["A10", "A9", "A8", "B14", "B12", "A6", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15"], - "rows": ["C13", "C14", "C15", "A1", "B1"] - }, - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "default": { - "animation": "rainbow_swirl" - }, - "layers": { - "enabled": true, - "override_rgb": false - }, - "led_count": 28, - "sleep": true - }, - "url": "", - "usb": { - "device_version": "1.0.0", - "pid": "0x3666", - "vid": "0x5453" - }, - "ws2812": { - "driver": "spi", - "pin": "B15" - }, - "community_layouts": ["60_ansi_tsangan", "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], - "layouts": { - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 12], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 0, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 12], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_wkl": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 12], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 12], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4} - ] - }, - "LAYOUT_60_iso_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h":2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 12], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h":2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso_wkl": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h":2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 12], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [1, 13], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h":2}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/trnthsn/s6xtyfs/keymaps/default/keymap.c b/keyboards/trnthsn/s6xtyfs/keymaps/default/keymap.c deleted file mode 100644 index ecddf112d2..0000000000 --- a/keyboards/trnthsn/s6xtyfs/keymaps/default/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - // │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp│ - // ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ - // │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ - // ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ - // │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Ent │ - // ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ - // │Sft │Sft│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Fn │ - // ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ - // │Ctrl │Win│Alt │ │Alt │Win│Ctrl │ - // └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ - - [0] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_LSFT ,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL - ), - [1] = LAYOUT_all( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_VALD, UG_VALU, KC_PSCR, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - MO(2) , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ), - [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/trnthsn/s6xtyfs/readme.md b/keyboards/trnthsn/s6xtyfs/readme.md deleted file mode 100644 index be888ece75..0000000000 --- a/keyboards/trnthsn/s6xtyfs/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# S6xty Tsangan - -![S6xtyfs](https://i.imgur.com/uS2Okww.png) - -A 60% keyboard PCB. Supports multiple layout such as split backspace, split shift, iso. - -* Keyboard Maintainer: [Trnthsn](https://github.com/trnthsn) -* Hardware Supported: STM32, S6xtyfs -* Hardware Availability: [ThanhSon.Mech](https://www.facebook.com/ThanhSon.mech) - -Make example for this keyboard (after setting up your build environment): - - make trnthsn/s6xtyfs/stm32f103:default - -Flashing example for this keyboard: - - make trnthsn/s6xtyfs/stm32f103:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/trnthsn/s6xtyfs/s6xtyfs.c b/keyboards/trnthsn/s6xtyfs/s6xtyfs.c deleted file mode 100644 index 9a9df177b9..0000000000 --- a/keyboards/trnthsn/s6xtyfs/s6xtyfs.c +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#include "quantum.h" - -#ifdef RGBLIGHT_ENABLE -const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {5, 2, HSV_WHITE} -); -const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - my_capslock_layer -); - -void keyboard_post_init_kb(void) { - rgblight_layers = my_rgb_layers; - keyboard_post_init_user(); -} -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - rgblight_set_layer_state(0, led_state.caps_lock); - } - return res; -} -#endif diff --git a/keyboards/trnthsn/s6xtyfs/stm32f072/keyboard.json b/keyboards/trnthsn/s6xtyfs/stm32f072/keyboard.json deleted file mode 100644 index 8bba6f5d5d..0000000000 --- a/keyboards/trnthsn/s6xtyfs/stm32f072/keyboard.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "processor": "STM32F072", - "bootloader": "stm32-dfu" -} diff --git a/keyboards/trnthsn/s6xtyfs/stm32f103/keyboard.json b/keyboards/trnthsn/s6xtyfs/stm32f103/keyboard.json deleted file mode 100644 index 4dc77604c4..0000000000 --- a/keyboards/trnthsn/s6xtyfs/stm32f103/keyboard.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "processor": "STM32F103", - "bootloader": "uf2boot" -} diff --git a/keyboards/trojan_pinata/model_b/readme.md b/keyboards/trojan_pinata/model_b/readme.md deleted file mode 100644 index 3d6ac2199d..0000000000 --- a/keyboards/trojan_pinata/model_b/readme.md +++ /dev/null @@ -1,32 +0,0 @@ -# Model-B - -A 75% keyboard based on the RP2040. - -* Keyboard Maintainer: [Brian Hill](https://github.com/TrojanPinata) -* Hardware Supported: [GitHub](https://github.com/TrojanPinata/Model-B) - -## Revisions - -At the current moment there is only one variant of the Model-B, the rev-0 (aka the prototype board). Any others are clones and may not have the exact firmware requirements. - -## Building and Flashing - -Make example for this keyboard (after setting up your build environment): - - make trojan_pinata/model-b/rev0:default - -Flashing example for this keyboard: - - make trojan_pinata/model-b/rev0:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. This will also clear the emulated EEPROM, so it is a good first step if the keyboard is misbehaving. -* **Physical reset button**: Hold down the `BOOTSEL` button on the Pi Pico, then either plug the board in or press the `RESET` button. -* **Keycode in layout**: Press the key mapped to `QK_BOOT`. In the pre-supplied keymaps it is on the second layer, replacing the Esc key. - -After entering the bootloader through one of the three methods above, the keyboard will appear as a USB mass storage device named `RPI-RP2`. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded. diff --git a/keyboards/trojan_pinata/model_b/rev0/config.h b/keyboards/trojan_pinata/model_b/rev0/config.h deleted file mode 100644 index df90591928..0000000000 --- a/keyboards/trojan_pinata/model_b/rev0/config.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2022 Stefan Kerkmann -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U - -// settings for the oled keyboard demo with Adafruit 0.91" OLED display on the Stemma QT port -#define I2C_DRIVER I2CD0 -#define I2C1_SDA_PIN GP0 -#define I2C1_SCL_PIN GP1 - -#define OLED_TIMEOUT 3000000 // 5 minutes before oled turns off diff --git a/keyboards/trojan_pinata/model_b/rev0/keyboard.json b/keyboards/trojan_pinata/model_b/rev0/keyboard.json deleted file mode 100644 index fc1ba7f863..0000000000 --- a/keyboards/trojan_pinata/model_b/rev0/keyboard.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "manufacturer": "Trojan_Pinata", - "keyboard_name": "Model-B", - "maintainer": "Trojan_Pinata", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "GP27", "pin_b": "GP26"} - ] - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "oled": true, - "encoder": true - }, - "matrix_pins": { - "cols": ["GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18", "GP19", "GP20", "GP21", "GP22"], - "rows": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7"] - }, - "processor": "RP2040", - "url": "https://github.com/TrojanPinata/Model-B", - "usb": { - "device_version": "1.0.0", - "pid": "0xA500", - "vid": "0xE739" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 2], "x": 1.25, "y": 0}, - {"matrix": [0, 3], "x": 2.25, "y": 0}, - {"matrix": [0, 4], "x": 3.25, "y": 0}, - {"matrix": [0, 5], "x": 4.25, "y": 0}, - {"matrix": [0, 6], "x": 5.5, "y": 0}, - {"matrix": [0, 7], "x": 6.5, "y": 0}, - {"matrix": [0, 8], "x": 7.5, "y": 0}, - {"matrix": [0, 9], "x": 8.5, "y": 0}, - {"matrix": [0, 10], "x": 9.75, "y": 0}, - {"matrix": [0, 11], "x": 10.75, "y": 0}, - {"matrix": [0, 12], "x": 11.75, "y": 0}, - {"matrix": [0, 13], "x": 12.75, "y": 0}, - {"matrix": [0, 14], "x": 15.75, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1.5}, - {"matrix": [1, 1], "x": 1, "y": 1.5}, - {"matrix": [1, 2], "x": 2, "y": 1.5}, - {"matrix": [1, 3], "x": 3, "y": 1.5}, - {"matrix": [1, 4], "x": 4, "y": 1.5}, - {"matrix": [1, 5], "x": 5, "y": 1.5}, - {"matrix": [1, 6], "x": 6, "y": 1.5}, - {"matrix": [1, 7], "x": 7, "y": 1.5}, - {"matrix": [1, 8], "x": 8, "y": 1.5}, - {"matrix": [1, 9], "x": 9, "y": 1.5}, - {"matrix": [1, 10], "x": 10, "y": 1.5}, - {"matrix": [1, 11], "x": 11, "y": 1.5}, - {"matrix": [1, 12], "x": 12, "y": 1.5}, - {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, - {"matrix": [1, 14], "x": 15.25, "y": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"matrix": [2, 14], "x": 15.25, "y": 2.5}, - {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"matrix": [3, 12], "x": 14, "y": 0}, - {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"matrix": [3, 14], "x": 16.25, "y": 1.5}, - {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"matrix": [4, 1], "x": 2.25, "y": 4.5}, - {"matrix": [4, 2], "x": 3.25, "y": 4.5}, - {"matrix": [4, 3], "x": 4.25, "y": 4.5}, - {"matrix": [4, 4], "x": 5.25, "y": 4.5}, - {"matrix": [4, 5], "x": 6.25, "y": 4.5}, - {"matrix": [4, 6], "x": 7.25, "y": 4.5}, - {"matrix": [4, 7], "x": 8.25, "y": 4.5}, - {"matrix": [4, 8], "x": 9.25, "y": 4.5}, - {"matrix": [4, 9], "x": 10.25, "y": 4.5}, - {"matrix": [4, 10], "x": 11.25, "y": 4.5}, - {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"matrix": [4, 13], "x": 14.3, "y": 4.6}, - {"matrix": [4, 14], "x": 16.25, "y": 2.5}, - {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, - {"matrix": [5, 9], "x": 10, "y": 5.5}, - {"matrix": [5, 10], "x": 11, "y": 5.5}, - {"matrix": [5, 11], "x": 12, "y": 5.5}, - {"matrix": [5, 12], "x": 13.3, "y": 5.6}, - {"matrix": [5, 13], "x": 14.3, "y": 5.6}, - {"matrix": [5, 14], "x": 15.3, "y": 5.6} - ] - } - } -} diff --git a/keyboards/trojan_pinata/model_b/rev0/keymaps/default/keymap.c b/keyboards/trojan_pinata/model_b/rev0/keymaps/default/keymap.c deleted file mode 100644 index 56c4657e7b..0000000000 --- a/keyboards/trojan_pinata/model_b/rev0/keymaps/default/keymap.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2024 Brian H (@Trojan_Pinata) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// keymaps -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, - - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, QK_KB, KC_ENT, KC_HOME, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - QK_BOOT, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, - - EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, - DB_TOGG, _______, _______, KC_MYCM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, - _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, - _______, _______, _______, _______, _______, _______, _______, KC_EXEC, _______, _______ - ) -}; - -// encoder handling -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(_______, _______) }, -}; -#endif diff --git a/keyboards/trojan_pinata/model_b/rev0/mcuconf.h b/keyboards/trojan_pinata/model_b/rev0/mcuconf.h deleted file mode 100644 index 57e58e14d7..0000000000 --- a/keyboards/trojan_pinata/model_b/rev0/mcuconf.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#include_next - -#undef RP_I2C_USE_I2C0 -#define RP_I2C_USE_I2C0 TRUE - -#undef RP_I2C_USE_I2C1 -#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/trojan_pinata/model_b/rev0/rev0.c b/keyboards/trojan_pinata/model_b/rev0/rev0.c deleted file mode 100644 index 02cd92f0da..0000000000 --- a/keyboards/trojan_pinata/model_b/rev0/rev0.c +++ /dev/null @@ -1,397 +0,0 @@ -/* Copyright 2024 Brian H (@Trojan_Pinata) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "rev0.h" - -// NUM_MODES stays last to indicate the number of different screens possible -enum oled_modes { - MTNS, INFO, LOGO, MEW, CEL, RAY, NUM_MODES -}; - -// define the key that switches the display -enum keeb_codes { - OLED_MOD = QK_KB, -}; - -// virtual eeprom for storing last layer -typedef union { - uint32_t raw; - struct { - uint8_t display_mode_saved : 3; - }; -} keyboard_config_t; -keyboard_config_t keyboard_config; - -void keyboard_pre_init_kb(void) { - keyboard_config.raw = eeconfig_read_kb(); - keyboard_pre_init_user(); -} - -void eeconfig_init_kb(void) { - keyboard_config.raw = 0; - keyboard_config.display_mode_saved = INFO; - eeconfig_update_kb(keyboard_config.raw); - eeconfig_init_user(); -} - -// oled stuff below -#ifdef OLED_ENABLE - -// hold only let me just drop all of my embedded images rq -static const char PROGMEM bootscreen[] = { - // 'modelb-oled', 128x32px - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x0f, 0x7f, 0xfe, - 0xf0, 0x80, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfe, 0x3f, 0x07, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, - 0xf0, 0xfc, 0xfe, 0x3f, 0x0f, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x07, 0x1f, - 0x3f, 0xfe, 0xfc, 0xf0, 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, - 0x0f, 0x1f, 0xfe, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, - 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe1, - 0xe1, 0xe1, 0xe3, 0xff, 0xff, 0xbf, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x03, - 0x1f, 0x7f, 0xfc, 0xf0, 0xfe, 0x7f, 0x0f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, - 0x07, 0x1f, 0x3f, 0x7e, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0x7c, - 0x7f, 0x3f, 0x1f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, - 0xf8, 0x7c, 0x3f, 0x1f, 0x07, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, - 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, - 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc1, - 0xc1, 0xc1, 0xc1, 0xe1, 0xff, 0xff, 0x7f, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -static const char PROGMEM mnts_l0[] = { - // 'base', 128x32px - 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0xa0, 0xb0, 0xf0, 0xd0, 0xd0, 0xf8, 0xfc, 0xdc, 0xfe, - 0xff, 0xff, 0xff, 0xdf, 0xde, 0xde, 0x9c, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0x90, 0xa0, 0x40, - 0x40, 0x40, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, - 0x40, 0x40, 0x20, 0x20, 0x20, 0x90, 0xd0, 0xd0, 0xc8, 0xe8, 0xec, 0xe4, 0xfc, 0xfa, 0xfa, 0xfa, - 0xf4, 0xe4, 0xe4, 0xc8, 0xc8, 0xd8, 0x90, 0x90, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x80, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x00, 0x40, 0x60, - 0x30, 0x10, 0xf8, 0x0c, 0x06, 0x02, 0x00, 0x10, 0x08, 0x18, 0x3f, 0xe8, 0x08, 0x24, 0x3c, 0x0c, - 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x04, 0xfe, 0x00, 0x00, - 0xb9, 0x3d, 0x3d, 0x7c, 0x3e, 0x3f, 0x3f, 0x1d, 0x0d, 0x0f, 0x0b, 0x1f, 0x1f, 0x1f, 0x1f, 0x0b, - 0x0f, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x05, 0x07, 0x0f, 0x0b, 0x0b, 0x13, 0x13, 0x37, 0x7f, 0xf7, - 0xf7, 0xf8, 0xf0, 0xf8, 0xf8, 0xf1, 0xe1, 0xf3, 0x12, 0xd2, 0xd1, 0xd1, 0x11, 0x00, 0xc0, 0xc0, - 0xe0, 0xf0, 0x78, 0x78, 0xf9, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0x1f, - 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x0f, 0x1f, 0x1e, 0x1e, 0x1f, 0x1c, 0x39, 0x39, 0x3a, 0x3c, - 0x79, 0x79, 0xf2, 0xe2, 0xe4, 0xe5, 0x85, 0x49, 0x48, 0x08, 0xd0, 0xd0, 0x90, 0x20, 0x20, 0x40, - 0x40, 0x40, 0xc1, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, - 0x0b, 0x0f, 0x0f, 0x1f, 0x2f, 0x7c, 0x7c, 0xf8, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x08, 0x0f, 0x0f, 0x0f, - 0x07, 0x03, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0x3f, 0x7e, 0x7f, 0xff, 0x78, 0xf8, 0xe0, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x0f, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x06, - 0x0e, 0x0e, 0x0c, 0x0c, 0x00, 0x03, 0x47, 0x46, 0xc6, 0x8c, 0x8c, 0x0c, 0x18, 0x30, 0x63, 0x4c, - 0x50, 0xcc, 0x83, 0x00, 0x00, 0x12, 0x1f, 0x10, 0x00, 0x10, 0x00, 0x0e, 0x15, 0x13, 0x0e, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x60, 0x61, 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x70, 0x70, 0x30, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x1c, 0x1c, 0x07, 0x0f, 0x1f, - 0x1f, 0x1f, 0x1e, 0x1e, 0x1e, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x18, 0x10, 0x30, 0x30, - 0x30, 0x30, 0x38, 0x38, 0x7c, 0x3c, 0x3c, 0x3c, 0x7c, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0x60, - 0x60, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0x80, 0x80, 0x40, 0x60, - 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x60, 0x20, 0x20, 0x60, 0x20, 0x60, 0x60, 0x60, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, 0x06, 0x06, 0x0c, 0x08, 0x08, 0x10, 0x30, 0x20, 0x20, 0x60 -}; - -static const char PROGMEM mnts_l1[] = { - // 'alt', 128x32px - 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0xa0, 0xb0, 0xf0, 0xd0, 0xd0, 0xf8, 0xfc, 0xdc, 0xfe, - 0xff, 0xff, 0xff, 0xdf, 0xde, 0xde, 0x9c, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0x90, 0xa0, 0x40, - 0x40, 0x40, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, - 0x40, 0x40, 0x20, 0x20, 0x20, 0x90, 0xd0, 0xd0, 0xc8, 0xe8, 0xec, 0xe4, 0xfc, 0xfa, 0xfa, 0xfa, - 0xf4, 0xe4, 0xe4, 0xc8, 0xc8, 0xd8, 0x90, 0x90, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x80, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x00, 0x40, 0x60, - 0x30, 0x10, 0xf8, 0x0c, 0x06, 0x02, 0x00, 0x10, 0x08, 0x18, 0x3f, 0xe8, 0x08, 0x24, 0x3c, 0x0c, - 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x04, 0x82, 0x42, 0x22, 0x1c, 0x00, - 0xb9, 0x3d, 0x3d, 0x7c, 0x3e, 0x3f, 0x3f, 0x1d, 0x0d, 0x0f, 0x0b, 0x1f, 0x1f, 0x1f, 0x1f, 0x0b, - 0x0f, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x05, 0x07, 0x0f, 0x0b, 0x0b, 0x13, 0x13, 0x37, 0x7f, 0xf7, - 0xf7, 0xf8, 0xf0, 0xf8, 0xf8, 0xf1, 0xe1, 0xf3, 0x12, 0xd2, 0xd1, 0xd1, 0x11, 0x00, 0xc0, 0xc0, - 0xe0, 0xf0, 0x78, 0x78, 0xf9, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0x1f, - 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x0f, 0x1f, 0x1e, 0x1e, 0x1f, 0x1c, 0x39, 0x39, 0x3a, 0x3c, - 0x79, 0x79, 0xf2, 0xe2, 0xe4, 0xe5, 0x85, 0x49, 0x48, 0x08, 0xd0, 0xd0, 0x90, 0x20, 0x20, 0x40, - 0x40, 0x40, 0xc1, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x00, - 0x0b, 0x0f, 0x0f, 0x1f, 0x2f, 0x7c, 0x7c, 0xf8, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x08, 0x0f, 0x0f, 0x0f, - 0x07, 0x03, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0x3f, 0x7e, 0x7f, 0xff, 0x78, 0xf8, 0xe0, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x0f, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x06, - 0x0e, 0x0e, 0x0c, 0x0c, 0x00, 0x03, 0x47, 0x46, 0xc6, 0x8c, 0x8c, 0x0c, 0x18, 0x30, 0x63, 0x4c, - 0x50, 0xcc, 0x83, 0x00, 0x00, 0x12, 0x1f, 0x10, 0x00, 0x10, 0x00, 0x0e, 0x15, 0x13, 0x0e, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x60, 0x61, 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x70, 0x70, 0x30, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x1c, 0x1c, 0x07, 0x0f, 0x1f, - 0x1f, 0x1f, 0x1e, 0x1e, 0x1e, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x18, 0x10, 0x30, 0x30, - 0x30, 0x30, 0x38, 0x38, 0x7c, 0x3c, 0x3c, 0x3c, 0x7c, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0x60, - 0x60, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0x80, 0x80, 0x40, 0x60, - 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x60, 0x20, 0x20, 0x60, 0x20, 0x60, 0x60, 0x60, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, 0x06, 0x06, 0x0c, 0x08, 0x08, 0x10, 0x30, 0x20, 0x20, 0x60 -}; - -static const char PROGMEM mew_disp[] = { - // 'mewl2', 128x32px - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, - 0x60, 0x50, 0x10, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x08, - 0x04, 0xc4, 0xf2, 0xfa, 0x7e, 0x3e, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0xa0, 0x20, 0x00, 0x10, - 0x10, 0x10, 0x10, 0x0c, 0x02, 0x22, 0x42, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x34, 0xf2, 0xf2, 0xc2, 0x01, 0x00, 0xc0, 0xa0, 0xe0, 0x28, - 0x50, 0x00, 0x00, 0x00, 0x01, 0x1a, 0xf8, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x70, 0xe0, - 0xff, 0xff, 0xc7, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x3c, 0x3c, 0x1c, 0x1c, 0x3c, 0x38, - 0x78, 0xf0, 0xe0, 0xc0, 0x00, 0x01, 0x06, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x41, 0xc0, 0x80, - 0x80, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x61, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x8c, 0xd9, 0x7b, 0x53, 0x10, - 0x08, 0x18, 0x38, 0x3c, 0x36, 0x2f, 0x6b, 0x75, 0x92, 0xee, 0x18, 0xe4, 0xfc, 0x78, 0x00, 0xc1, - 0xb7, 0xcf, 0xf3, 0xfc, 0xfd, 0xef, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xfe, 0xf9, - 0xf0, 0xf9, 0xff, 0x7f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, - 0x08, 0x09, 0x9f, 0xff, 0xff, 0xf8, 0x00, 0x38, 0xc6, 0x81, 0x8e, 0x70, 0x50, 0x50, 0x53, 0xe2, - 0x83, 0x01, 0x62, 0xab, 0xa8, 0xa8, 0x50, 0x54, 0x50, 0x89, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0e, 0x0d, 0x0c, 0x04, 0x06, 0x1e, 0x6e, - 0x80, 0x00, 0x00, 0x38, 0x08, 0x84, 0xc4, 0xfe, 0x07, 0xf8, 0xff, 0xff, 0xff, 0x7f, 0x3e, 0x7f, - 0x7f, 0x3f, 0x0f, 0x01, 0x83, 0x7c, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xc8, 0x84, 0x86, 0xcf, - 0xb7, 0x81, 0x80, 0x41, 0x43, 0x8c, 0x92, 0xe1, 0x61, 0x53, 0x2e, 0x11, 0x11, 0x19, 0x2c, 0xd0, - 0x20, 0x41, 0x40, 0x40, 0x24, 0x30, 0x20, 0x20, 0xf0, 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -static const char PROGMEM cel_disp[] = { - // 'celebi1', 128x32px - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, - 0x20, 0xc0, 0xe0, 0xe0, 0xf0, 0xdc, 0xee, 0xf0, 0xbe, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x60, 0xc0, 0x81, 0x80, 0x80, 0xc0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x80, 0xc0, 0xc0, 0xc0, - 0x60, 0xb0, 0xcc, 0xf0, 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0xc0, 0xf8, 0xfc, 0xfc, 0xfb, - 0xf4, 0xff, 0xff, 0x7f, 0x1f, 0xcf, 0x67, 0xe3, 0xc7, 0x0f, 0x9f, 0xff, 0x3e, 0xc0, 0xf0, 0x78, - 0x90, 0xe0, 0xf2, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x3f, - 0x3f, 0x3b, 0x3e, 0x79, 0xfe, 0xfe, 0xff, 0xfe, 0x7c, 0xfc, 0xf8, 0xd8, 0xf0, 0xf0, 0xb0, 0xa0, - 0xa0, 0xa0, 0xe0, 0xe0, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0e, 0x31, 0x40, 0xf0, 0xf8, 0xfc, 0xfe, 0xf0, 0xff, 0xf0, 0xff, 0x7f, 0x3f, 0xbf, 0x9f, - 0x9f, 0x1f, 0x3f, 0xfe, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x87, 0x8f, 0x9f, - 0x9f, 0x9f, 0xc7, 0xcc, 0xd8, 0xd8, 0x98, 0x3c, 0xfc, 0xf7, 0xfb, 0x1c, 0x1d, 0x1e, 0x1e, 0x1f, - 0x0f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x87, 0xcf, 0x6d, 0xf8, 0x72, 0xf4, - 0xf4, 0x90, 0x20, 0x20, 0xa7, 0x6f, 0x6f, 0x6b, 0x0b, 0x06, 0x06, 0x05, 0x05, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, - 0xc0, 0xc0, 0xc0, 0xc0, 0x83, 0x8f, 0x9f, 0x3f, 0x7f, 0x5f, 0xff, 0x71, 0xe0, 0xe1, 0x60, 0x62, - 0x27, 0x30, 0x18, 0x9f, 0xcf, 0xc3, 0xc0, 0xc0, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x40, 0xe0, 0xe0, 0xc8, 0x9c, 0xf8, 0x60, 0x28, 0x3c, 0x7e, 0x7e, 0xfe, 0xff, 0xfc, 0xe1, - 0x07, 0x1f, 0x3f, 0x3e, 0x7d, 0x7b, 0x73, 0x72, 0xe2, 0xe0, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, - 0x01, 0x01, 0xc1, 0xc1, 0x03, 0x03, 0x03, 0x23, 0x01, 0x0d, 0x06, 0x07, 0x37, 0x33, 0x01, 0x01, - 0x07, 0x0e, 0x3c, 0x39, 0x79, 0x71, 0x71, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -static const char PROGMEM rayq_disp[] = { - // 'rayquaza1', 128x32px - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, - 0x10, 0x20, 0x20, 0x40, 0x40, 0x40, 0x70, 0x70, 0x71, 0x50, 0x60, 0x60, 0x60, 0x40, 0x80, 0x80, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0x80, 0x00, 0xc0, 0x60, 0x00, 0x00, 0x80, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, - 0xe0, 0x60, 0x70, 0x70, 0x7b, 0x7b, 0xfb, 0xfb, 0xf8, 0xb0, 0xb0, 0xd0, 0x60, 0x30, 0x10, 0x08, - 0x0c, 0x84, 0x86, 0x83, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x30, 0x1c, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf0, 0x11, 0x12, 0x10, 0x10, 0x0e, 0x0e, 0x0c, 0x0c, 0x07, - 0x07, 0x0f, 0x0f, 0x03, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x9f, 0xf3, 0x3e, 0xe7, 0xfc, 0x7f, 0x3f, 0x0f, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x3c, 0x2e, 0x57, 0x17, 0x1b, 0x1d, 0x36, - 0x36, 0x3d, 0x31, 0x31, 0x39, 0x3d, 0x3d, 0x1d, 0x1f, 0x1f, 0xcf, 0x3f, 0x07, 0x00, 0x00, 0x81, - 0x83, 0x83, 0x83, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x0e, 0x1e, 0x1c, 0x3c, 0x78, 0xf8, 0xf0, 0xe0, - 0x00, 0x40, 0xc0, 0x00, 0x60, 0x38, 0x38, 0x20, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x7f, 0xfe, 0xec, 0xf8, 0x7c, 0x3c, - 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xcf, 0x80, 0x07, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x08, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc1, - 0x07, 0x0f, 0x9f, 0xbe, 0x78, 0xf0, 0xc0, 0x00, 0x80, 0x00, 0x80, 0x30, 0x30, 0x30, 0x11, 0x19, - 0x18, 0x02, 0x07, 0x1f, 0x1f, 0x3c, 0x73, 0xcf, 0x0f, 0x0f, 0x0f, 0x17, 0x2f, 0x56, 0x20, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1d, 0x3b, 0xff, 0xff, 0xfc, 0xf8, 0xf0, - 0x60, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x68, 0x78, 0x10, 0x00, 0x18, 0x90, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x7f, 0xff, 0xfc, 0xf8, 0xe0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, - 0xf0, 0xf0, 0xf0, 0xf1, 0xe1, 0x41, 0x04, 0x1e, 0xcf, 0xc7, 0x44, 0x63, 0x59, 0x6d, 0x0a, 0x03, - 0x03, 0x0c, 0x0e, 0x05, 0x03, 0x02, 0x02, 0x1b, 0xec, 0x67, 0x5b, 0x1c, 0x8c, 0xcc, 0xdc, 0x30, - 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xc0, 0x3f, 0xfc, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -// invert display based on layer -static void inv_display(void) { - switch (get_highest_layer(layer_state)) { - case 1: - oled_invert(true); - break; - default: - oled_invert(false); - break; - } -} - -// MTNS -static void mountains(void) { - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_raw_P(mnts_l0, sizeof(mnts_l0)); - break; - case 1: - oled_write_raw_P(mnts_l1, sizeof(mnts_l1)); - break; - default: - oled_write_raw_P(mnts_l0, sizeof(mnts_l0)); - break; - } -} - -// INFO -static void info(void) { - // get layer the board is on - oled_write_P(PSTR("LAYER "), false); - oled_write_P(PSTR(" "), true); - oled_write_char(get_highest_layer(layer_state) + 0x30, true); - oled_write_P(PSTR(" "), true); - - // here we do a bit of trickery - oled_write_P(PSTR(" ENC "), false); - oled_write_P(PSTR(" VOL "), true); - - // lock key statuses - led_t led_state = host_keyboard_led_state(); - oled_set_cursor(9, 1); - oled_write_P(PSTR(" CAP "), led_state.caps_lock); - oled_set_cursor(14, 1); - oled_write_P(PSTR(" SCR "), led_state.scroll_lock); - - // write model B here in invert text - oled_set_cursor(0, 3); - oled_write_P(PSTR(" MODEL-B "), true); - - // mod masks - if you don't know what these do, don't worry about them - uint8_t mod_state = get_mods(); - oled_advance_char(); - oled_advance_char(); - oled_write_P(PSTR("S"), mod_state & MOD_MASK_SHIFT); - oled_advance_char(); - oled_write_P(PSTR("C"), mod_state & MOD_MASK_CTRL); - oled_advance_char(); - oled_write_P(PSTR("A"), mod_state & MOD_MASK_ALT); - oled_advance_char(); - oled_write_P(PSTR("G"), mod_state & MOD_MASK_GUI); - oled_advance_char(); -} - -// display logo - used on boot and exception state -static void logo(void) { - oled_write_raw_P(bootscreen, sizeof(bootscreen)); -} - -// run this whenever the oled needs to update -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - - switch (keyboard_config.display_mode_saved) { - case MTNS: - mountains(); - break; - case INFO: - info(); - break; - case LOGO: - oled_write_raw_P(bootscreen, sizeof(bootscreen)); // write image to screen - inv_display(); // invert image if necessary - remove if layer differs - break; - case MEW: - oled_write_raw_P(mew_disp, sizeof(mew_disp)); - inv_display(); - break; - case CEL: - oled_write_raw_P(cel_disp, sizeof(cel_disp)); - inv_display(); - break; - case RAY: - oled_write_raw_P(rayq_disp, sizeof(rayq_disp)); - inv_display(); - break; - default: - logo(); - } - return false; -} - -// render this on boot/reset -void oled_render_boot(bool bootloader) { - oled_clear(); - logo(); - oled_render_dirty(true); -} - -// change depending on if OLED_MOD is pressed -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - if (keycode == OLED_MOD && record->event.pressed) { - oled_clear(); - keyboard_config.display_mode_saved++; - if (keyboard_config.display_mode_saved == NUM_MODES) { - keyboard_config.display_mode_saved = 0; - } - eeconfig_update_kb(keyboard_config.raw); - } - return true; -} - -#endif diff --git a/keyboards/trojan_pinata/model_b/rev0/rev0.h b/keyboards/trojan_pinata/model_b/rev0/rev0.h deleted file mode 100644 index 18906806c9..0000000000 --- a/keyboards/trojan_pinata/model_b/rev0/rev0.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2024 Brian H (@Trojan_Pinata) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "quantum.h" - -void oled_render_boot(bool bootloader); diff --git a/keyboards/tunks/ergo33/keyboard.json b/keyboards/tunks/ergo33/keyboard.json index b279af5c1a..2bace9cf00 100644 --- a/keyboards/tunks/ergo33/keyboard.json +++ b/keyboards/tunks/ergo33/keyboard.json @@ -27,6 +27,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/tweetydabird/lbs4/keyboard.json b/keyboards/tweetydabird/lbs4/keyboard.json index c7d1e7ab1b..3176520772 100644 --- a/keyboards/tweetydabird/lbs4/keyboard.json +++ b/keyboards/tweetydabird/lbs4/keyboard.json @@ -7,6 +7,8 @@ "bootloader_instructions": "Short marked pads on PCB, or hold top left key when plugging in.", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, @@ -34,6 +36,9 @@ }, "rgblight": { "led_count": 6, + "hue_steps": 8, + "saturation_steps": 17, + "brightness_steps": 17, "max_brightness": 175, "animations": { "alternating": true, diff --git a/keyboards/tweetydabird/lbs6/keyboard.json b/keyboards/tweetydabird/lbs6/keyboard.json index 105dcf9013..1714e9b6c4 100644 --- a/keyboards/tweetydabird/lbs6/keyboard.json +++ b/keyboards/tweetydabird/lbs6/keyboard.json @@ -6,6 +6,8 @@ "development_board": "promicro", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -37,6 +39,9 @@ }, "rgblight": { "led_count": 8, + "hue_steps": 8, + "saturation_steps": 17, + "brightness_steps": 17, "max_brightness": 200, "animations": { "alternating": true, diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json index 7becd3ae26..2c3f85cdd9 100644 --- a/keyboards/tweetydabird/lotus58/info.json +++ b/keyboards/tweetydabird/lotus58/info.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/tweetydabird/lotus58/rules.mk b/keyboards/tweetydabird/lotus58/rules.mk new file mode 100644 index 0000000000..4cd2262cc7 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = tweetydabird/lotus58/promicro \ No newline at end of file diff --git a/keyboards/typek/config.h b/keyboards/typek/config.h deleted file mode 100644 index 873d74500d..0000000000 --- a/keyboards/typek/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2022 Gondolindrim - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define WS2812_PWM_COMPLEMENTARY_OUTPUT -#define WS2812_PWM_DRIVER PWMD1 -#define WS2812_PWM_CHANNEL 3 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_DMA_STREAM STM32_DMA2_STREAM5 -#define WS2812_DMA_CHANNEL 6 - -/* LED MAP - 0 , 1 , 2 Three indicators - 3 , 4 , 5 Three RGBs on left side - 66, 67, 68 Three RGBs on right side - 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6 Left RGB wing (30 LEDs) - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65 Right RGB wing (30 LEDs) - */ diff --git a/keyboards/typek/keyboard.json b/keyboards/typek/keyboard.json deleted file mode 100644 index f579f24502..0000000000 --- a/keyboards/typek/keyboard.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "manufacturer": "gok", - "keyboard_name": "TypeK-S Rev. Zeta-RC2", - "maintainer": "Gondolindrim", - "bootloader": "stm32-dfu", - "build": { - "lto": true - }, - "diode_direction": "COL2ROW", - "eeprom": { - "wear_leveling": { - "backing_size": 4096 - } - }, - "features": { - "bootmagic": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["A3", "B12", "A0", "A10", "B0", "B1", "B10", "B3", "C15", "C14", "C13", "B9", "B8", "B5"], - "rows": ["A7", "A8", "A15", "A1", "A2"] - }, - "processor": "STM32F411", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "rgb_test": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "default": { - "animation": "rainbow_swirl", - "val": 200 - }, - "led_count": 69, - "led_map": [0, 1, 2, 3, 4, 5, 66, 67, 68, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65] - }, - "url": "https://www.gok.design/type-k", - "usb": { - "device_version": "6.2.0", - "pid": "0x8475", - "vid": "0x7179" - }, - "ws2812": { - "driver": "pwm", - "pin": "B15" - }, - "layouts": { - "LAYOUT_all": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0.75, "y": 0}, - {"label": "`~", "matrix": [0, 1], "x": 2.5, "y": 0}, - {"label": "1!", "matrix": [0, 2], "x": 3.5, "y": 0}, - {"label": "2@", "matrix": [0, 3], "x": 5, "y": 0}, - {"label": "3#", "matrix": [0, 4], "x": 6, "y": 0}, - {"label": "4$", "matrix": [0, 5], "x": 7, "y": 0}, - {"label": "5%", "matrix": [0, 6], "x": 8, "y": 0}, - {"label": "7&", "matrix": [0, 7], "x": 12.75, "y": 0}, - {"label": "8*", "matrix": [0, 8], "x": 13.75, "y": 0}, - {"label": "9(", "matrix": [0, 9], "x": 14.75, "y": 0}, - {"label": "0)", "matrix": [0, 10], "x": 15.75, "y": 0}, - {"label": "-_", "matrix": [0, 11], "x": 17, "y": 0}, - {"label": "=+", "matrix": [0, 12], "x": 18, "y": 0}, - {"label": "\\|", "matrix": [0, 13], "x": 19, "y": 0}, - {"label": "Page Up", "matrix": [1, 0], "x": 0.5, "y": 1}, - {"label": "Tab", "matrix": [1, 1], "x": 2.25, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 2], "x": 3.75, "y": 1}, - {"label": "W", "matrix": [1, 3], "x": 5.5, "y": 1}, - {"label": "E", "matrix": [1, 4], "x": 6.5, "y": 1}, - {"label": "R", "matrix": [1, 5], "x": 7.5, "y": 1}, - {"label": "T", "matrix": [1, 6], "x": 8.5, "y": 1}, - {"label": "Y", "matrix": [1, 7], "x": 12, "y": 1}, - {"label": "U", "matrix": [1, 8], "x": 13, "y": 1}, - {"label": "I", "matrix": [1, 9], "x": 14, "y": 1}, - {"label": "O", "matrix": [1, 10], "x": 15, "y": 1}, - {"label": "P", "matrix": [1, 11], "x": 16.75, "y": 1}, - {"label": "[{", "matrix": [1, 12], "x": 17.75, "y": 1}, - {"label": "]}", "matrix": [1, 13], "x": 18.75, "y": 1}, - {"label": "Page Down", "matrix": [2, 0], "x": 0.25, "y": 2}, - {"label": "Caps Lock", "matrix": [2, 1], "x": 2.25, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 2], "x": 4, "y": 2}, - {"label": "S", "matrix": [2, 3], "x": 5.75, "y": 2}, - {"label": "D", "matrix": [2, 4], "x": 6.75, "y": 2}, - {"label": "F", "matrix": [2, 5], "x": 7.75, "y": 2}, - {"label": "G", "matrix": [2, 6], "x": 8.75, "y": 2}, - {"label": "H", "matrix": [2, 7], "x": 12.25, "y": 2}, - {"label": "J", "matrix": [2, 8], "x": 13.25, "y": 2}, - {"label": "K", "matrix": [2, 9], "x": 14.25, "y": 2}, - {"label": "L", "matrix": [2, 10], "x": 15.25, "y": 2}, - {"label": ";:", "matrix": [2, 11], "x": 17.25, "y": 2}, - {"label": "\"", "matrix": [2, 12], "x": 18.25, "y": 2}, - {"label": "Del", "matrix": [2, 13], "x": 20, "y": 0}, - {"label": "End", "matrix": [3, 0], "x": 0, "y": 3}, - {"label": "Shift", "matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 3.75, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 6, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 7, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 8, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 9, "y": 3}, - {"label": "B", "matrix": [3, 7], "x": 11.75, "y": 3}, - {"label": "N", "matrix": [3, 8], "x": 12.75, "y": 3}, - {"label": "M", "matrix": [3, 9], "x": 13.75, "y": 3}, - {"label": ",<", "matrix": [3, 10], "x": 14.75, "y": 3}, - {"label": ".>", "matrix": [3, 11], "x": 17, "y": 3}, - {"label": "/?", "matrix": [3, 12], "x": 18, "y": 3}, - {"label": "Shift", "matrix": [3, 13], "x": 19, "y": 3, "w": 1.25}, - {"label": "Control", "matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.5}, - {"label": "Alt", "matrix": [4, 2], "x": 6, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 4], "x": 7.5, "y": 4, "w": 2}, - {"label": "Left GUI", "matrix": [4, 5], "x": 9.5, "y": 4}, - {"label": "^6", "matrix": [4, 6], "x": 9, "y": 0}, - {"label": "Space", "matrix": [4, 7], "x": 11.25, "y": 4}, - {"label": "Space", "matrix": [4, 8], "x": 12.25, "y": 4, "w": 2}, - {"label": "Alt", "matrix": [4, 9], "x": 14.25, "y": 4, "w": 1.5}, - {"label": "Backspace", "matrix": [4, 10], "x": 19.75, "y": 1, "w": 1.5}, - {"label": "Enter", "matrix": [4, 11], "x": 19.25, "y": 2, "w": 2.25}, - {"label": "MO(1)", "matrix": [4, 12], "x": 20.25, "y": 3}, - {"label": "Control", "matrix": [4, 13], "x": 19.25, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_nosplits": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0.75, "y": 0}, - {"label": "`~", "matrix": [0, 1], "x": 2.5, "y": 0}, - {"label": "1!", "matrix": [0, 2], "x": 3.5, "y": 0}, - {"label": "2@", "matrix": [0, 3], "x": 5, "y": 0}, - {"label": "3#", "matrix": [0, 4], "x": 6, "y": 0}, - {"label": "4$", "matrix": [0, 5], "x": 7, "y": 0}, - {"label": "5%", "matrix": [0, 6], "x": 8, "y": 0}, - {"label": "7&", "matrix": [0, 7], "x": 12.75, "y": 0}, - {"label": "8*", "matrix": [0, 8], "x": 13.75, "y": 0}, - {"label": "9(", "matrix": [0, 9], "x": 14.75, "y": 0}, - {"label": "0)", "matrix": [0, 10], "x": 15.75, "y": 0}, - {"label": "-_", "matrix": [0, 11], "x": 17, "y": 0}, - {"label": "=+", "matrix": [0, 12], "x": 18, "y": 0}, - {"label": "Backspace", "matrix": [0, 13], "x": 19, "y": 0, "w": 2}, - {"label": "Page Up", "matrix": [1, 0], "x": 0.5, "y": 1}, - {"label": "Tab", "matrix": [1, 1], "x": 2.25, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 2], "x": 3.75, "y": 1}, - {"label": "W", "matrix": [1, 3], "x": 5.5, "y": 1}, - {"label": "E", "matrix": [1, 4], "x": 6.5, "y": 1}, - {"label": "R", "matrix": [1, 5], "x": 7.5, "y": 1}, - {"label": "T", "matrix": [1, 6], "x": 8.5, "y": 1}, - {"label": "Y", "matrix": [1, 7], "x": 12, "y": 1}, - {"label": "U", "matrix": [1, 8], "x": 13, "y": 1}, - {"label": "I", "matrix": [1, 9], "x": 14, "y": 1}, - {"label": "O", "matrix": [1, 10], "x": 15, "y": 1}, - {"label": "P", "matrix": [1, 11], "x": 16.75, "y": 1}, - {"label": "[{", "matrix": [1, 12], "x": 17.75, "y": 1}, - {"label": "]}", "matrix": [1, 13], "x": 18.75, "y": 1}, - {"label": "Page Down", "matrix": [2, 0], "x": 0.25, "y": 2}, - {"label": "Caps Lock", "matrix": [2, 1], "x": 2.25, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 2], "x": 4, "y": 2}, - {"label": "S", "matrix": [2, 3], "x": 5.75, "y": 2}, - {"label": "D", "matrix": [2, 4], "x": 6.75, "y": 2}, - {"label": "F", "matrix": [2, 5], "x": 7.75, "y": 2}, - {"label": "G", "matrix": [2, 6], "x": 8.75, "y": 2}, - {"label": "H", "matrix": [2, 7], "x": 12.25, "y": 2}, - {"label": "J", "matrix": [2, 8], "x": 13.25, "y": 2}, - {"label": "K", "matrix": [2, 9], "x": 14.25, "y": 2}, - {"label": "L", "matrix": [2, 10], "x": 15.25, "y": 2}, - {"label": ";:", "matrix": [2, 11], "x": 17.25, "y": 2}, - {"label": "\"", "matrix": [2, 12], "x": 18.25, "y": 2}, - {"label": "End", "matrix": [3, 0], "x": 0, "y": 3}, - {"label": "Shift", "matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 3.75, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 6, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 7, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 8, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 9, "y": 3}, - {"label": "B", "matrix": [3, 7], "x": 11.75, "y": 3}, - {"label": "N", "matrix": [3, 8], "x": 12.75, "y": 3}, - {"label": "M", "matrix": [3, 9], "x": 13.75, "y": 3}, - {"label": ",<", "matrix": [3, 10], "x": 14.75, "y": 3}, - {"label": ".>", "matrix": [3, 11], "x": 17, "y": 3}, - {"label": "/?", "matrix": [3, 12], "x": 18, "y": 3}, - {"label": "Shift", "matrix": [3, 13], "x": 19, "y": 3, "w": 2.25}, - {"label": "Control", "matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.5}, - {"label": "Alt", "matrix": [4, 2], "x": 6, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 4], "x": 7.5, "y": 4, "w": 3}, - {"label": "^6", "matrix": [4, 6], "x": 9, "y": 0}, - {"label": "Space", "matrix": [4, 8], "x": 11.25, "y": 4, "w": 3}, - {"label": "Alt", "matrix": [4, 9], "x": 14.25, "y": 4, "w": 1.5}, - {"label": "Backspace", "matrix": [4, 10], "x": 19.75, "y": 1, "w": 1.5}, - {"label": "Enter", "matrix": [4, 11], "x": 19.25, "y": 2, "w": 2.25}, - {"label": "Control", "matrix": [4, 13], "x": 19.25, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/typek/keymaps/default/keymap.c b/keyboards/typek/keymaps/default/keymap.c deleted file mode 100644 index 34d9522f93..0000000000 --- a/keyboards/typek/keymaps/default/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2023 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[0] = LAYOUT_all( /* Base */ - KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, KC_BSLS, - KC_PGUP, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, - KC_PGDN, KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_DEL , - MO(1) , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, - KC_LCTL, KC_LALT, KC_SPC , KC_LGUI, KC_6 , KC_SPC , KC_SPC , KC_RALT, KC_BSPC, KC_ENT , MO(1) , KC_RCTL -), -[1] = LAYOUT_all( - QK_BOOT, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, - KC_HOME, KC_TRNS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_END , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -) -}; diff --git a/keyboards/typek/mcuconf.h b/keyboards/typek/mcuconf.h deleted file mode 100644 index bc27263930..0000000000 --- a/keyboards/typek/mcuconf.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once -#include_next - -#undef STM32_PWM_USE_TIM1 -#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/typek/readme.md b/keyboards/typek/readme.md deleted file mode 100644 index e7521e2e71..0000000000 --- a/keyboards/typek/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# gok TypeK QMK Firmware Folder - -![TK](https://i.imgur.com/0ZEbEZt.jpg) - -## Introduction - -This is the QMK Firmware repository for the Type K, the tented ergo by Gok. The TypeK went through GB on August, 2023. It is supported by a proprietary PCB ecosystem. - -## How to flash - -### Enter bootloader - -The DFU state in the bootloader can be accessed in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key, escape in the default keymap) and plug in the keyboard; -* **Physical reset button**: press the button on the front of the PCB, next to caps lock, for at least five seconds; -* **Keycode in layout**: Press the key mapped to `RESET`; in the default layout, that is top left key ('escape') in layer 1. - -### How to compile and flash - - -After setting up your build environment, you can compile the Iron 165R2 default keymap by using one of the options below. - - make typek:default - -And use dfu-util in the command line or through a GUI like QMK toolbox to upload the firmware to the PCB. To directly flash the PCB after it is put into a DFU state, use: - - make typek:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/typek/typek.c b/keyboards/typek/typek.c deleted file mode 100644 index 78c0c556ed..0000000000 --- a/keyboards/typek/typek.c +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright 2023 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -// This function gets called when caps, num, scroll change -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - led_state.caps_lock? rgblight_setrgb_at(RGB_RED, 0) : rgblight_setrgb_at(RGB_OFF, 0); - } - return res; -} - -// This function is called when layers change -layer_state_t layer_state_set_kb(layer_state_t state) { - state = layer_state_set_user(state); - switch(get_highest_layer(state)) { - case 1: - rgblight_setrgb_at(RGB_GREEN, 1); - break; - case 2: - rgblight_setrgb_at(RGB_BLUE, 2); - break; - default: - rgblight_setrgb_at(RGB_OFF, 1); - rgblight_setrgb_at(RGB_OFF, 2); - break; - } - return state; -} diff --git a/keyboards/tzarc/djinn/graphics/theme_djinn_default.c b/keyboards/tzarc/djinn/graphics/theme_djinn_default.c index 739a0817b0..c651cd660d 100644 --- a/keyboards/tzarc/djinn/graphics/theme_djinn_default.c +++ b/keyboards/tzarc/djinn/graphics/theme_djinn_default.c @@ -49,9 +49,6 @@ enum { # ifdef RGB_MATRIX_CUSTOM_USER # include "rgb_matrix_user.inc" # endif -# if defined(COMMUNITY_MODULES_ENABLE) && __has_include("rgb_matrix_community_modules.inc") -# include "rgb_matrix_community_modules.inc" -# endif # undef RGB_MATRIX_EFFECT }; @@ -69,9 +66,6 @@ const char *rgb_matrix_name(uint8_t effect) { # ifdef RGB_MATRIX_CUSTOM_USER # include "rgb_matrix_user.inc" # endif -# if defined(COMMUNITY_MODULES_ENABLE) && __has_include("rgb_matrix_community_modules.inc") -# include "rgb_matrix_community_modules.inc" -# endif # undef RGB_MATRIX_EFFECT default: return "UNKNOWN"; diff --git a/keyboards/tzarc/kobold/config.h b/keyboards/tzarc/kobold/config.h deleted file mode 100644 index b3991ae037..0000000000 --- a/keyboards/tzarc/kobold/config.h +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -// Hardware-specific definitions -#define RGB_ENABLE_PIN C11 - -// WS2812 Configuration -#define WS2812_PWM_DRIVER PWMD17 -#define WS2812_PWM_CHANNEL 1 -#define WS2812_PWM_PAL_MODE 10 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 -#define WS2812_PWM_DMA_CHANNEL 1 -#define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM17_UP - -// SPI Configuration -#define SPI_DRIVER SPID1 -#define SPI_SCK_PIN A5 -#define SPI_SCK_PAL_MODE 5 -#define SPI_MOSI_PIN A7 -#define SPI_MOSI_PAL_MODE 5 -#define SPI_MISO_PIN A6 -#define SPI_MISO_PAL_MODE 5 - -// External NOR Flash config -#define EXTERNAL_FLASH_SPI_MODE 0 -#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B10 -#define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR 4 // (160MHz/4) => 40MHz -#define EXTERNAL_FLASH_SIZE (16 * 1024 * 1024) // 128Mb/16MB capacity diff --git a/keyboards/tzarc/kobold/halconf.h b/keyboards/tzarc/kobold/halconf.h deleted file mode 100644 index 2251180c14..0000000000 --- a/keyboards/tzarc/kobold/halconf.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define HAL_USE_PWM TRUE -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/tzarc/kobold/info.json b/keyboards/tzarc/kobold/info.json deleted file mode 100644 index bed8e8a23f..0000000000 --- a/keyboards/tzarc/kobold/info.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "manufacturer": "Tzarc", - "keyboard_name": "Kobold", - "url": "https://github.com/tzarc/keyboards/tree/main/Kobold", - "maintainer": "tzarc", - "bootloader": "stm32-dfu", - "build": { - "lto": true - }, - "dynamic_keymap": { - "layer_count": 32 - }, - "eeprom": { - "driver": "wear_leveling", - "wear_leveling": { - "backing_size": 32768, - "driver": "spi_flash" - } - }, - "features": { - "bootmagic": true, - "rgb_matrix": true - }, - "matrix_pins": { - "direct": [ - ["B14", "C6", "B9", "B7", "B13", "B15", "C13", "C15", "B12", "B0", "A2", "A0", "B11", "A4", "A3", "A1"] - ] - }, - "processor": "STM32G431", - "rgb_matrix": { - "driver": "ws2812", - "layout": [ - {"x": 0, "y": 0, "flags": 2}, - {"x": 75, "y": 0, "flags": 2}, - {"x": 150, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 21, "flags": 2}, - {"x": 150, "y": 21, "flags": 2}, - {"x": 75, "y": 21, "flags": 2}, - {"x": 0, "y": 21, "flags": 2}, - {"x": 0, "y": 43, "flags": 2}, - {"x": 75, "y": 43, "flags": 2}, - {"x": 150, "y": 43, "flags": 2}, - {"x": 224, "y": 43, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 150, "y": 64, "flags": 2}, - {"x": 75, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2} - ] - }, - "usb": { - "pid": "0x4921", - "vid": "0x1209" - }, - "ws2812": { - "driver": "pwm", - "pin": "B5" - }, - "community_layouts": ["ortho_4x4"], - "layouts": { - "LAYOUT_ortho_4x4": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 0, "y": 1}, - {"matrix": [0, 5], "x": 1, "y": 1}, - {"matrix": [0, 6], "x": 2, "y": 1}, - {"matrix": [0, 7], "x": 3, "y": 1}, - {"matrix": [0, 8], "x": 0, "y": 2}, - {"matrix": [0, 9], "x": 1, "y": 2}, - {"matrix": [0, 10], "x": 2, "y": 2}, - {"matrix": [0, 11], "x": 3, "y": 2}, - {"matrix": [0, 12], "x": 0, "y": 3}, - {"matrix": [0, 13], "x": 1, "y": 3}, - {"matrix": [0, 14], "x": 2, "y": 3}, - {"matrix": [0, 15], "x": 3, "y": 3} - ] - } - } -} diff --git a/keyboards/tzarc/kobold/keymaps/default/keymap.c b/keyboards/tzarc/kobold/keymaps/default/keymap.c deleted file mode 100644 index d78325c78b..0000000000 --- a/keyboards/tzarc/kobold/keymaps/default/keymap.c +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_4x4( - KC_A, KC_B, KC_C, KC_D, - KC_E, KC_F, KC_G, KC_H, - KC_I, KC_J, KC_K, KC_L, - KC_M, KC_N, KC_O, KC_P - ), -}; -// clang-format on diff --git a/keyboards/tzarc/kobold/kobold.c b/keyboards/tzarc/kobold/kobold.c deleted file mode 100644 index 0460a4fe85..0000000000 --- a/keyboards/tzarc/kobold/kobold.c +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -void early_hardware_init_post(void) { - // Disable RGB LEDs - gpio_set_pin_output(RGB_ENABLE_PIN); - gpio_write_pin(RGB_ENABLE_PIN, 1); -} - -void housekeeping_task_kb() { - // Enable RGB LEDs after 200 milliseconds - static bool rgb_enabled = false; - if (!rgb_enabled && timer_read32() > 200) { - gpio_write_pin(RGB_ENABLE_PIN, 0); - rgb_enabled = true; - } -} diff --git a/keyboards/tzarc/kobold/mcuconf.h b/keyboards/tzarc/kobold/mcuconf.h deleted file mode 100644 index 5d7fdbe232..0000000000 --- a/keyboards/tzarc/kobold/mcuconf.h +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once -#include_next - -// Used for SK6812 chain -#undef STM32_PWM_USE_TIM17 -#define STM32_PWM_USE_TIM17 TRUE - -// Used for NOR Flash -#undef STM32_SPI_USE_SPI1 -#define STM32_SPI_USE_SPI1 TRUE diff --git a/keyboards/tzarc/kobold/r1/keyboard.json b/keyboards/tzarc/kobold/r1/keyboard.json deleted file mode 100644 index ad889c2304..0000000000 --- a/keyboards/tzarc/kobold/r1/keyboard.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "usb": { - "device_version": "1.0.0" - } -} diff --git a/keyboards/tzarc/kobold/readme.md b/keyboards/tzarc/kobold/readme.md deleted file mode 100644 index 0c73ed49e7..0000000000 --- a/keyboards/tzarc/kobold/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# Kobold - -![Kobold](https://i.imgur.com/R8nDodO.jpg) - -4x4 macropad running QMK, in the same form factor as a bm16s. Non-standard Choc key spacing. - -North-facing RGB, SPI NOR Flash, voltage and current measurement, direct pin matrix, reset to bootloader by holding top 4 keys. - -* Keyboard Maintainer: [tzarc](https://github.com/tzarc) -* Hardware Supported: Kobold, r1 -* Hardware Availability: [KiCad files](https://github.com/tzarc/keyboards/tree/main/Kobold) - -Make example for this keyboard (after setting up your build environment): - - make tzarc/kobold/r1:default - -Flashing example for this keyboard: - - make tzarc/kobold/r1:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top left key and plug in the keyboard -* **Physical reset button**: Simultaneously press the top four keys, or press the physical button on the back marked 'D'. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/ubest/vn/keyboard.json b/keyboards/ubest/vn/keyboard.json index 74da6f1ad9..c50ceebbba 100644 --- a/keyboards/ubest/vn/keyboard.json +++ b/keyboards/ubest/vn/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "vn", "manufacturer": "ubest", + "url": "", "maintainer": "mfkiiyd", "usb": { "vid": "0x6D66", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/uk78/keyboard.json b/keyboards/uk78/keyboard.json index c30725f553..673497ca9c 100644 --- a/keyboards/uk78/keyboard.json +++ b/keyboards/uk78/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "UK78", "manufacturer": "UK Keyboards", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x554B", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/umbra/hotswap/keyboard.json b/keyboards/umbra/hotswap/keyboard.json deleted file mode 100644 index 4b53432caa..0000000000 --- a/keyboards/umbra/hotswap/keyboard.json +++ /dev/null @@ -1,250 +0,0 @@ -{ - "manufacturer": "IV Works", - "keyboard_name": "Umbra", - "maintainer": "IV Works", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "A2", "pin_b": "A1", "resolution": 2} - ] - }, - "features": { - "bootmagic": true, - "extrakey": true, - "key_lock": true, - "mousekey": true, - "encoder": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["B2", "A4", "A3", "A0", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "A15", "B3"], - "rows": ["B14", "A9", "B6", "B5", "B4"] - }, - "processor": "STM32F072", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 17 - }, - "url": "https://iv-works.com/i", - "usb": { - "device_version": "0.0.5", - "pid": "0x0102", - "vid": "0x7786" - }, - "ws2812": { - "pin": "A8" - }, - "community_layouts": ["60_ansi_tsangan_split_bs_rshift", "60_hhkb"], - "layouts": { - "LAYOUT_all": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [1, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [2, 12], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 4], "x":4, "y":4, "w":3}, - {"label": "Space", "matrix": [4, 6], "x":7, "y":4}, - {"label": "Space", "matrix": [4, 8], "x":8, "y":4, "w":3}, - {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, - {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [1, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [2, 12], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 6], "x":4, "y":4, "w": 7}, - {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, - {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_hhkb": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [1, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "Bsp", "matrix": [2, 12], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Ctrl", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3}, - {"label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4}, - {"label": "Win", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 6], "x":4, "y":4, "w": 7}, - {"label": "Win", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"label": "Alt", "matrix": [4, 12], "x": 12.5, "y": 4} - ] - } - } -} diff --git a/keyboards/umbra/hotswap/keymaps/default/keymap.c b/keyboards/umbra/hotswap/keymaps/default/keymap.c deleted file mode 100644 index 9562681cb2..0000000000 --- a/keyboards/umbra/hotswap/keymaps/default/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2024 Joseph Williams IV "IV Works" - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// main layer -[0] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), -// basic function layer -[1] = LAYOUT_all( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, - KC_TRNS, UG_TOGG, KC_UP, UG_NEXT, UG_PREV, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, UG_VALD, UG_VALU, KC_HOME, KC_PGUP, KC_VOLU, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_VOLD, - KC_TRNS, KC_SLEP, KC_MYCM, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) } -}; -#endif diff --git a/keyboards/umbra/hotswap/keymaps/default/rules.mk b/keyboards/umbra/hotswap/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/umbra/hotswap/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/umbra/hotswap/matrix_diagram.md b/keyboards/umbra/hotswap/matrix_diagram.md deleted file mode 100644 index a3ff87cd21..0000000000 --- a/keyboards/umbra/hotswap/matrix_diagram.md +++ /dev/null @@ -1,24 +0,0 @@ -# Matrix Diagram for IV Works Umbra Hotswap - -``` - ┌───────┐ - 2u Backspace │1D │ - └───────┘ -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ -│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │1D │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ -│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ -│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ -├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ -│30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ -├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴───┴───┼───┴┬────┬┴───┤ -│40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL/HHKB -└────┴────┴────┴─────────────────────────────┴────┴────┴────┘ -┌─────┬───┬─────┬───────────┬───┬───────────┬─────┬───┬─────┐ -│40 │41 │42 │44 │46 │48 │4B │4C │4D │ 7u split spacebar -└─────┴───┴─────┴───────────┴───┴───────────┴─────┴───┴─────┘ -┌─────┬───┬───────────────────────────────────────┬───┬─────┐ -│40 │41 │46 │4C │4D │ 10u Spacebar -└─────┴───┴───────────────────────────────────────┴───┴─────┘ -``` diff --git a/keyboards/umbra/hotswap/readme.md b/keyboards/umbra/hotswap/readme.md deleted file mode 100644 index bf86db069b..0000000000 --- a/keyboards/umbra/hotswap/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# UMBRA - -![UMBRA](https://i.imgur.com/2d94i6H.jpg) - -A multi-mount 60% keyboard with PCB choice featuring popular layouts, underglow, and rotary option. - -* Keyboard Maintainer: [IV Works](https://www.iv-works.com/) -* Hardware Supported: [UMBRA](https://www.iv-works.com/i) -* Hardware Availability: [Shop](https://iv-works.com/product-category/umbra/) - -Make example for this keyboard (after setting up your build environment): - - make umbra/hotswap:default - -Flashing example for this keyboard: - - make umbra/hotswap:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -How to enter bootloader (DFU): -* PCB will arrive flashed. With USB plugged in press Fn+Esc to enter DFU. Flash the firmware and replug the USB cable to fresh boot the PCB. - -* If that method fails please locate the RESET header on the back of the PCB just right of the MCU. Short the 2 plated holes for 2 seconds to enter DFU. Flash the firmware and replug the USB cable to fresh boot the PCB. \ No newline at end of file diff --git a/keyboards/umbra/hotswap/rules.mk b/keyboards/umbra/hotswap/rules.mk deleted file mode 100644 index 04fe1eba2a..0000000000 --- a/keyboards/umbra/hotswap/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF diff --git a/keyboards/umbra/solder/keyboard.json b/keyboards/umbra/solder/keyboard.json deleted file mode 100644 index 4f014b2e94..0000000000 --- a/keyboards/umbra/solder/keyboard.json +++ /dev/null @@ -1,1235 +0,0 @@ -{ - "manufacturer": "IV Works", - "keyboard_name": "Umbra", - "maintainer": "IV Works", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "A2", "pin_b": "A1", "resolution": 2} - ] - }, - "features": { - "bootmagic": true, - "extrakey": true, - "key_lock": true, - "mousekey": true, - "encoder": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["B2", "A5", "A4", "A3", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "A15", "B3"], - "rows": ["B14", "A9", "B6", "B5", "B4"] - }, - "processor": "STM32F072", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 17 - }, - "url": "https://iv-works.com/", - "usb": { - "device_version": "0.0.5", - "pid": "0x0101", - "vid": "0x7786" - }, - "ws2812": { - "pin": "A8" - }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], - "layouts": { - "LAYOUT_60_ansi": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "Backspace", "matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, - {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, - {"label": "Fn", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [2, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, - {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, - {"label": "Fn", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_ansi_tsangan": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "Backspace", "matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 11], "x": 12.5, "y": 4}, - {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_hhkb": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [2, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, - {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 11], "x": 12.5, "y": 4} - ] - }, - "LAYOUT_60_ansi_wkl": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "Backspace", "matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "Backspace", "matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, - {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, - {"label": "Fn", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_iso_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [2, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, - {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, - {"label": "Fn", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_iso_tsangan": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "Backspace", "matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 11], "x": 12.5, "y": 4}, - {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso_tsangan_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [2, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 11], "x": 12.5, "y": 4}, - {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso_wkl": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "Backspace", "matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso_wkl_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [2, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [2, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 1], "x": 0, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 2], "x": 1.5, "y": 4}, - {"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 11], "x": 12.5, "y": 4}, - {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_wkl_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [2, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 1], "x": 0, "y": 4, "w": 1.5}, - {"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_6u_ansi": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "Backspace", "matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"label": "Ctrl", "matrix": [4, 0], "x":0, "y":4, "w":1.5}, - {"label": "Win", "matrix": [4, 1], "x":1.5, "y":4}, - {"label": "Alt", "matrix": [4, 2], "x":2.5, "y":4, "w":1.5}, - {"label": "Space", "matrix": [4, 6], "x":4, "y":4, "w":6}, - {"label": "Alt", "matrix": [4, 9], "x":10, "y":4, "w":1.5}, - {"label": "Win", "matrix": [4, 10], "x":11.5, "y":4}, - {"label": "Menu", "matrix": [4, 11], "x":12.5, "y":4}, - {"label": "Fn", "matrix": [4, 12], "x":13.5, "y":4, "w":1.5} - ] - }, - "LAYOUT_6u_ansi_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [2, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "x":0, "y":4, "w":1.5}, - {"label": "Win", "matrix": [4, 1], "x":1.5, "y":4}, - {"label": "Alt", "matrix": [4, 2], "x":2.5, "y":4, "w":1.5}, - {"label": "Space", "matrix": [4, 6], "x":4, "y":4, "w":6}, - {"label": "Alt", "matrix": [4, 9], "x":10, "y":4, "w":1.5}, - {"label": "Win", "matrix": [4, 10], "x":11.5, "y":4}, - {"label": "Menu", "matrix": [4, 11], "x":12.5, "y":4}, - {"label": "Fn", "matrix": [4, 12], "x":13.5, "y":4, "w":1.5} - ] - }, - "LAYOUT_6u_iso": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "Backspace", "matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"label": "Ctrl", "matrix": [4, 0], "x":0, "y":4, "w":1.5}, - {"label": "Win", "matrix": [4, 1], "x":1.5, "y":4}, - {"label": "Alt", "matrix": [4, 2], "x":2.5, "y":4, "w":1.5}, - {"label": "Space", "matrix": [4, 6], "x":4, "y":4, "w":6}, - {"label": "Alt", "matrix": [4, 9], "x":10, "y":4, "w":1.5}, - {"label": "Win", "matrix": [4, 10], "x":11.5, "y":4}, - {"label": "Menu", "matrix": [4, 11], "x":12.5, "y":4}, - {"label": "Fn", "matrix": [4, 12], "x":13.5, "y":4, "w":1.5} - ] - }, - "LAYOUT_6u_iso_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "~", "matrix": [2, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "x":0, "y":4, "w":1.5}, - {"label": "Win", "matrix": [4, 1], "x":1.5, "y":4}, - {"label": "Alt", "matrix": [4, 2], "x":2.5, "y":4, "w":1.5}, - {"label": "Space", "matrix": [4, 6], "x":4, "y":4, "w":6}, - {"label": "Alt", "matrix": [4, 9], "x":10, "y":4, "w":1.5}, - {"label": "Win", "matrix": [4, 10], "x":11.5, "y":4}, - {"label": "Menu", "matrix": [4, 11], "x":12.5, "y":4}, - {"label": "Fn", "matrix": [4, 12], "x":13.5, "y":4, "w":1.5} - ] - }, - "LAYOUT_all": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "Backspace", "matrix": [2, 13], "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"label": "Space", "matrix": [4, 4], "x": 3.75, "y": 4, "w": 2.25}, - {"label": "Space", "matrix": [4, 6], "x": 6, "y": 4, "w": 1.25}, - {"label": "Space", "matrix": [4, 8], "x": 7.25, "y": 4, "w": 2.75}, - {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, - {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, - {"label": "Ctrl", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} - ] - } - } -} diff --git a/keyboards/umbra/solder/keymaps/default/keymap.c b/keyboards/umbra/solder/keymaps/default/keymap.c deleted file mode 100644 index d987b42da9..0000000000 --- a/keyboards/umbra/solder/keymaps/default/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2024 Joseph Williams IV "IV Works" - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// main layer -[0] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), -// basic function layer -[1] = LAYOUT_all( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, - KC_TRNS, UG_TOGG, KC_UP, UG_NEXT, UG_PREV, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, UG_VALD, UG_VALU, KC_HOME, KC_PGUP, KC_VOLU, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_VOLD, KC_TRNS, - KC_TRNS, KC_TRNS, KC_SLEP, KC_MYCM, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) } -}; -#endif diff --git a/keyboards/umbra/solder/keymaps/default/rules.mk b/keyboards/umbra/solder/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/umbra/solder/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/umbra/solder/matrix_diagram.md b/keyboards/umbra/solder/matrix_diagram.md deleted file mode 100644 index 4135960202..0000000000 --- a/keyboards/umbra/solder/matrix_diagram.md +++ /dev/null @@ -1,37 +0,0 @@ -# Matrix Diagram for IV Works Umbra Solder - -``` - ┌───────┐ - 2u Backspace │2D │ - └───────┘ -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ -│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2D │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐ -│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐3D │ -│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │3D │ │2C │ │ -├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘ -│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │4D │ ISO Enter -├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬────┬┴───┤ -│40 │41 │42 │44 │46 │48 │49 │4A │4B │4C │ -└────┴────┴────┴────────┴────┴──────────┴────┴────┴────┴────┘ -┌────────┐ ┌──────────┐ -│30 │ 2.25u LShift 2.75u RShift │3C │ -└────────┘ └──────────┘ -┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ -│40 │41 │42 │46 │49 │4A │4B │4C │ Standard -└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ -┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ -│40 │41 │42 │46 │4A │4B │4C │ Tsangan/WKL/HHKB -└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ -┌─────┬───┬─────┬───────────────────────┬─────┬───┬───┬─────┐ -│40 │41 │42 │46 │49 │4A │4B │4C │ 6U bottom row -└─────┴───┴─────┴───────────────────────┴─────┴───┴───┴─────┘ -┌─────┬───┬─────┬──────────┬──────┬─────────┬─────┬───┬─────┐ -│40 │41 │42 │44 │46 │48 │4A │4B │4C │ 3U split space -└─────┴───┴─────┴──────────┴──────┴─────────┴─────┴───┴─────┘ -┌─────┬───┬───────────────────────────────────────┬───┬─────┐ -│40 │41 │46 │4B │4C │ 10U space -└─────┴───┴───────────────────────────────────────┴───┴─────┘ - -``` diff --git a/keyboards/umbra/solder/readme.md b/keyboards/umbra/solder/readme.md deleted file mode 100644 index 61a564578b..0000000000 --- a/keyboards/umbra/solder/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# UMBRA - -![UMBRA](https://i.imgur.com/2d94i6H.jpg) - -A multi-mount 60% keyboard with PCB choice featuring popular layouts, underglow, and rotary option. - -* Keyboard Maintainer: [IV Works](https://www.iv-works.com/) -* Hardware Supported: [UMBRA](https://www.iv-works.com/i) -* Hardware Availability: [Shop](https://iv-works.com/product-category/umbra/) - -Make example for this keyboard (after setting up your build environment): - - make umbra/solder:default - -Flashing example for this keyboard: - - make umbra/solder:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -How to enter bootloader (DFU): -* PCB will arrive flashed. With USB plugged in press Fn+Esc to enter DFU. Flash the firmware and replug the USB cable to fresh boot the PCB. - -* If that method fails please locate the RESET header on the back of the PCB just right of the MCU. Short the 2 plated holes for 2 seconds to enter DFU. Flash the firmware and replug the USB cable to fresh boot the PCB. \ No newline at end of file diff --git a/keyboards/umbra/solder/rules.mk b/keyboards/umbra/solder/rules.mk deleted file mode 100644 index 04fe1eba2a..0000000000 --- a/keyboards/umbra/solder/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF diff --git a/keyboards/umbra/solder/solder.c b/keyboards/umbra/solder/solder.c deleted file mode 100644 index de0681b229..0000000000 --- a/keyboards/umbra/solder/solder.c +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright 2024 Joseph Williams IV "IV Works" - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include "quantum.h" - -#ifndef CAPS_LOCK_ENABLE -# define CAPS_LOCK_ENABLE true -#endif - -#ifndef CAPS_LOCK_COLOR -# define CAPS_LOCK_COLOR HSV_GREEN -#endif - -void keyboard_pre_init_kb(void) { - rgblight_set_effect_range(0, 16); - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (CAPS_LOCK_ENABLE && res) { - if(led_state.caps_lock) { - rgblight_sethsv_at(CAPS_LOCK_COLOR, 16); - } - else{ - rgblight_sethsv_at(HSV_OFF, 16); - } - } - return res; -} diff --git a/keyboards/ungodly/nines/keyboard.json b/keyboards/ungodly/nines/keyboard.json index a92711c5c3..5e5418e14d 100644 --- a/keyboards/ungodly/nines/keyboard.json +++ b/keyboards/ungodly/nines/keyboard.json @@ -14,9 +14,12 @@ {"pin_a": "E6", "pin_b": "B4", "resolution": 2} ] }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/board.h b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/board.h deleted file mode 100644 index 5b80eb2230..0000000000 --- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2020 Purdea Andrei -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h index c10d26b9b2..71e60e9cfe 100644 --- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h +++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h @@ -21,6 +21,8 @@ #define SERIAL_NUMBER DEF_SERIAL_NUMBER #endif +#define STM32_HSECLK 16000000 + #define SOLENOID_PIN B5 #define HAPTIC_ENABLE_PIN C13 #define SOLENOID_DEFAULT_DWELL 20 diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/board.h b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/board.h deleted file mode 100644 index 5b80eb2230..0000000000 --- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2020 Purdea Andrei -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h index c10d26b9b2..71e60e9cfe 100644 --- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h +++ b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h @@ -21,6 +21,8 @@ #define SERIAL_NUMBER DEF_SERIAL_NUMBER #endif +#define STM32_HSECLK 16000000 + #define SOLENOID_PIN B5 #define HAPTIC_ENABLE_PIN C13 #define SOLENOID_DEFAULT_DWELL 20 diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/board.h b/keyboards/unicomp/pc122/overnumpad_1xb/board.h deleted file mode 100644 index 5b80eb2230..0000000000 --- a/keyboards/unicomp/pc122/overnumpad_1xb/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2020 Purdea Andrei -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/config.h b/keyboards/unicomp/pc122/overnumpad_1xb/config.h index c10d26b9b2..71e60e9cfe 100644 --- a/keyboards/unicomp/pc122/overnumpad_1xb/config.h +++ b/keyboards/unicomp/pc122/overnumpad_1xb/config.h @@ -21,6 +21,8 @@ #define SERIAL_NUMBER DEF_SERIAL_NUMBER #endif +#define STM32_HSECLK 16000000 + #define SOLENOID_PIN B5 #define HAPTIC_ENABLE_PIN C13 #define SOLENOID_DEFAULT_DWELL 20 diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/board.h b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/board.h deleted file mode 100644 index 5b80eb2230..0000000000 --- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2020 Purdea Andrei -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h index c10d26b9b2..71e60e9cfe 100644 --- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h +++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h @@ -21,6 +21,8 @@ #define SERIAL_NUMBER DEF_SERIAL_NUMBER #endif +#define STM32_HSECLK 16000000 + #define SOLENOID_PIN B5 #define HAPTIC_ENABLE_PIN C13 #define SOLENOID_DEFAULT_DWELL 20 diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/board.h b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/board.h deleted file mode 100644 index 5b80eb2230..0000000000 --- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2020 Purdea Andrei -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h index c10d26b9b2..71e60e9cfe 100644 --- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h +++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h @@ -21,6 +21,8 @@ #define SERIAL_NUMBER DEF_SERIAL_NUMBER #endif +#define STM32_HSECLK 16000000 + #define SOLENOID_PIN B5 #define HAPTIC_ENABLE_PIN C13 #define SOLENOID_DEFAULT_DWELL 20 diff --git a/keyboards/unikeyboard/diverge3/keyboard.json b/keyboards/unikeyboard/diverge3/keyboard.json index 187e5dead0..767f44b198 100644 --- a/keyboards/unikeyboard/diverge3/keyboard.json +++ b/keyboards/unikeyboard/diverge3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Diverge3", "manufacturer": "UniKeyboard", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -37,7 +39,8 @@ "pin": "D0" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/unikeyboard/divergetm2/keyboard.json b/keyboards/unikeyboard/divergetm2/keyboard.json index c0c0f15c0c..09d481149c 100644 --- a/keyboards/unikeyboard/divergetm2/keyboard.json +++ b/keyboards/unikeyboard/divergetm2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Diverge TM 2", "manufacturer": "UniKeyboard", + "url": "", "maintainer": "islandman93, xton", "usb": { "vid": "0xFEED", @@ -10,6 +11,7 @@ "features": { "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false @@ -31,7 +33,8 @@ "pin": "D0" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layout_aliases": { "LAYOUT_ortho_4x12_2x2u": "LAYOUT" }, diff --git a/keyboards/unikeyboard/felix/keyboard.json b/keyboards/unikeyboard/felix/keyboard.json index 612bccd196..b55138a15c 100644 --- a/keyboards/unikeyboard/felix/keyboard.json +++ b/keyboards/unikeyboard/felix/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Felix", "manufacturer": "UniKeyboard", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -29,7 +32,8 @@ "pin": "C6", "levels": 5 }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "community_layouts": ["ortho_5x4"], "layout_aliases": { "LAYOUT": "LAYOUT_ortho_5x4" diff --git a/keyboards/unikorn/keyboard.json b/keyboards/unikorn/keyboard.json index 7ba06098f3..1a3c46d691 100644 --- a/keyboards/unikorn/keyboard.json +++ b/keyboards/unikorn/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Unikorn60", "manufacturer": "Singa x TGR", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5354", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/unison/rules.mk b/keyboards/unison/rules.mk new file mode 100644 index 0000000000..69c33d71a2 --- /dev/null +++ b/keyboards/unison/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = unison/v04 diff --git a/keyboards/uranuma/keyboard.json b/keyboards/uranuma/keyboard.json index 670823bda9..b24ce74d9f 100644 --- a/keyboards/uranuma/keyboard.json +++ b/keyboards/uranuma/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "UraNuma", "manufacturer": "yohewi", + "url": "", "maintainer": "yohewi", "usb": { "vid": "0xFEED", diff --git a/keyboards/utd80/keyboard.json b/keyboards/utd80/keyboard.json index 5ae20b4c02..41bd35c66a 100644 --- a/keyboards/utd80/keyboard.json +++ b/keyboards/utd80/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "UTD80", "manufacturer": "UTD", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/uzu42/rev1/keyboard.json b/keyboards/uzu42/rev1/keyboard.json index 3b152c7b59..f96327daea 100644 --- a/keyboards/uzu42/rev1/keyboard.json +++ b/keyboards/uzu42/rev1/keyboard.json @@ -4,7 +4,7 @@ "url": "https://github.com/nrtkbb/Keyboards/tree/master/uzu42", "maintainer": "nrtkbb", "usb": { - "vid": "0x6E74", + "vid": "0xFEED", "pid": "0x3060", "device_version": "0.0.1" }, @@ -45,7 +45,8 @@ "twinkle": true } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/uzu42/rules.mk b/keyboards/uzu42/rules.mk new file mode 100644 index 0000000000..277e74b715 --- /dev/null +++ b/keyboards/uzu42/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = uzu42/rev1 diff --git a/keyboards/v4n4g0rth0n/v1/keyboard.json b/keyboards/v4n4g0rth0n/v1/keyboard.json index add06ed5db..7dec889208 100644 --- a/keyboards/v4n4g0rth0n/v1/keyboard.json +++ b/keyboards/v4n4g0rth0n/v1/keyboard.json @@ -4,6 +4,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/v60_type_r/keyboard.json b/keyboards/v60_type_r/keyboard.json index 90c7e9bb88..eba729220a 100644 --- a/keyboards/v60_type_r/keyboard.json +++ b/keyboards/v60_type_r/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "V60 Type R", "manufacturer": "KB Paradise", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7432", @@ -14,6 +15,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/vagrant_10/keyboard.json b/keyboards/vagrant_10/keyboard.json index d59095c2d7..26b68b6923 100644 --- a/keyboards/vagrant_10/keyboard.json +++ b/keyboards/vagrant_10/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -25,7 +27,8 @@ "rows": ["F7", "B1", "B3", "B2"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/vertex/angle65/keyboard.json b/keyboards/vertex/angle65/keyboard.json index 3047d82dfa..ef0aacfef4 100644 --- a/keyboards/vertex/angle65/keyboard.json +++ b/keyboards/vertex/angle65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ANGLE65", "manufacturer": "vertex", + "url": "", "maintainer": "EasonQian1, Vertex-kb", "usb": { "vid": "0x9954", diff --git a/keyboards/vertex/angler2/keyboard.json b/keyboards/vertex/angler2/keyboard.json index 2d6e65b304..02541f6c86 100644 --- a/keyboards/vertex/angler2/keyboard.json +++ b/keyboards/vertex/angler2/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/vertex/arc60/keyboard.json b/keyboards/vertex/arc60/keyboard.json index 7bca331f44..ab98c446f0 100644 --- a/keyboards/vertex/arc60/keyboard.json +++ b/keyboards/vertex/arc60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ARC60", "manufacturer": "vertex", + "url": "", "maintainer": "EasonQian1, Vertex-kb", "usb": { "vid": "0x8354", diff --git a/keyboards/vertex/arc60h/keyboard.json b/keyboards/vertex/arc60h/keyboard.json index 684bbb9538..e6fed06bc1 100644 --- a/keyboards/vertex/arc60h/keyboard.json +++ b/keyboards/vertex/arc60h/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "ARC60H", "manufacturer": "vertex", + "url": "", "maintainer": "EasonQian1, Vertex-kb", "usb": { "vid": "0x7374", diff --git a/keyboards/vertex/cycle7/keyboard.json b/keyboards/vertex/cycle7/keyboard.json index ef06889309..9d55b63fec 100644 --- a/keyboards/vertex/cycle7/keyboard.json +++ b/keyboards/vertex/cycle7/keyboard.json @@ -9,6 +9,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/vertex/cycle8/keyboard.json b/keyboards/vertex/cycle8/keyboard.json index d00ef3eb49..100c2d21f1 100644 --- a/keyboards/vertex/cycle8/keyboard.json +++ b/keyboards/vertex/cycle8/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Cycle8", "manufacturer": "vertex", + "url": "", "maintainer": "Eason", "usb": { "vid": "0x8A94", @@ -10,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/viendi8l/keyboard.json b/keyboards/viendi8l/keyboard.json index d87b95a1a0..f6df59e08b 100644 --- a/keyboards/viendi8l/keyboard.json +++ b/keyboards/viendi8l/keyboard.json @@ -20,6 +20,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/viktus/at101_bh/keyboard.json b/keyboards/viktus/at101_bh/keyboard.json index de7498964e..a315288cac 100644 --- a/keyboards/viktus/at101_bh/keyboard.json +++ b/keyboards/viktus/at101_bh/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/viktus/minne/keyboard.json b/keyboards/viktus/minne/keyboard.json index 66700c47b2..bfb3f8a8a6 100644 --- a/keyboards/viktus/minne/keyboard.json +++ b/keyboards/viktus/minne/keyboard.json @@ -13,6 +13,8 @@ "features": { "rgblight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/viktus/minne_topre/keyboard.json b/keyboards/viktus/minne_topre/keyboard.json index a0e142cd57..6919e7f9cc 100644 --- a/keyboards/viktus/minne_topre/keyboard.json +++ b/keyboards/viktus/minne_topre/keyboard.json @@ -12,6 +12,8 @@ "processor": "atmega32u4", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/viktus/omnikey_bh/keyboard.json b/keyboards/viktus/omnikey_bh/keyboard.json index 8128a30b25..3356bf1eb2 100644 --- a/keyboards/viktus/omnikey_bh/keyboard.json +++ b/keyboards/viktus/omnikey_bh/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Omnikey Blackheart", "manufacturer": "blindassassin111", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/viktus/osav2/keyboard.json b/keyboards/viktus/osav2/keyboard.json index 07ee36e849..34c2089181 100644 --- a/keyboards/viktus/osav2/keyboard.json +++ b/keyboards/viktus/osav2/keyboard.json @@ -14,6 +14,8 @@ "backlight": true, "rgblight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/viktus/osav2_numpad/keyboard.json b/keyboards/viktus/osav2_numpad/keyboard.json index c6975faee4..941d65f367 100644 --- a/keyboards/viktus/osav2_numpad/keyboard.json +++ b/keyboards/viktus/osav2_numpad/keyboard.json @@ -13,6 +13,8 @@ "features": { "rgblight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/viktus/osav2_numpad_topre/keyboard.json b/keyboards/viktus/osav2_numpad_topre/keyboard.json index a1ccbfc251..55ca939e3f 100644 --- a/keyboards/viktus/osav2_numpad_topre/keyboard.json +++ b/keyboards/viktus/osav2_numpad_topre/keyboard.json @@ -12,6 +12,8 @@ "processor": "atmega32u4", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/viktus/osav2_topre/keyboard.json b/keyboards/viktus/osav2_topre/keyboard.json index 38a2a46335..1f2120ed57 100644 --- a/keyboards/viktus/osav2_topre/keyboard.json +++ b/keyboards/viktus/osav2_topre/keyboard.json @@ -12,6 +12,8 @@ "processor": "atmega32u4", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/viktus/smolka/keyboard.json b/keyboards/viktus/smolka/keyboard.json index 652d44fa8c..e2cd55a405 100644 --- a/keyboards/viktus/smolka/keyboard.json +++ b/keyboards/viktus/smolka/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Smolka", "manufacturer": "Viktus Design LLC", + "url": "", "maintainer": "jrfhoutx", "usb": { "vid": "0x5644", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/viktus/sp111_v2/keyboard.json b/keyboards/viktus/sp111_v2/keyboard.json index e5e58be23e..63c531ee44 100644 --- a/keyboards/viktus/sp111_v2/keyboard.json +++ b/keyboards/viktus/sp111_v2/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/viktus/sp_mini/keyboard.json b/keyboards/viktus/sp_mini/keyboard.json index f6a54f131d..25aa4c9494 100644 --- a/keyboards/viktus/sp_mini/keyboard.json +++ b/keyboards/viktus/sp_mini/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SP_Mini", "manufacturer": "Viktus Design LLC", + "url": "", "maintainer": "jrfhoutx", "usb": { "vid": "0x5644", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/viktus/styrka/keyboard.json b/keyboards/viktus/styrka/keyboard.json index e5f36bad58..98d46bc81a 100644 --- a/keyboards/viktus/styrka/keyboard.json +++ b/keyboards/viktus/styrka/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/viktus/styrka_topre/keyboard.json b/keyboards/viktus/styrka_topre/keyboard.json index 496bc39ca2..7095a8f484 100644 --- a/keyboards/viktus/styrka_topre/keyboard.json +++ b/keyboards/viktus/styrka_topre/keyboard.json @@ -12,6 +12,8 @@ "processor": "atmega32u4", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/viktus/vkr94/keyboard.json b/keyboards/viktus/vkr94/keyboard.json deleted file mode 100644 index e31fc62feb..0000000000 --- a/keyboards/viktus/vkr94/keyboard.json +++ /dev/null @@ -1,944 +0,0 @@ -{ - "keyboard_name": "VKR 94", - "manufacturer": "Viktus Design", - "maintainer": "BlindAssassin111", - "usb": { - "vid": "0x5644", - "pid": "0x3934", - "device_version": "1.0.0" - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["D1", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6"], - "rows": ["F1", "F0", "F5", "F4", "F7", "F6", "C7", "C6", "D0"] - }, - "ws2812": { - "pin": "D2" - }, - "rgb_matrix": { - "driver": "ws2812", - "max_brightness": 150, - "layout": [ - { "flags": 8, "x": 1, "y": 2 }, - { "flags": 8, "x": 0, "y": 2 }, - { "flags": 8, "x": 0, "y": 1 }, - { "flags": 8, "x": 1, "y": 1 }, - { "flags": 8, "x": 1, "y": 0 }, - { "flags": 8, "x": 0, "y": 0 } - ], - "animations": { - "breathing": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_up_down": true, - "rainbow_moving_chevron": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "dual_beacon": true, - "rainbow_beacon": true, - "rainbow_pinwheels": true, - "raindrops": true, - "jellybean_raindrops": true - }, - "sleep": true - }, - "layouts": { - "LAYOUT_splitbs_splitshift_ansi_7u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [0, 7], "x": 14.5, "y": 0}, - {"matrix": [1, 7], "x": 15.5, "y": 0}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [3, 7], "x": 15, "y": 1, "w": 1.5}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 7], "x": 14.25, "y": 2, "w": 2.25}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 1.25}, - {"matrix": [7, 7], "x": 15, "y": 3}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4}, - {"matrix": [8, 1], "x": 4, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 5.5, "y": 4, "w": 7}, - {"matrix": [8, 5], "x": 12.5, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 14, "y": 4} - ] - }, - "LAYOUT_splitbs_fullshift_ansi_7u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [0, 7], "x": 14.5, "y": 0}, - {"matrix": [1, 7], "x": 15.5, "y": 0}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [3, 7], "x": 15, "y": 1, "w": 1.5}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 7], "x": 14.25, "y": 2, "w": 2.25}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 2.25}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4}, - {"matrix": [8, 1], "x": 4, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 5.5, "y": 4, "w": 7}, - {"matrix": [8, 5], "x": 12.5, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 14, "y": 4} - ] - }, - "LAYOUT_splitbs_splitshift_ansi_9u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [0, 7], "x": 14.5, "y": 0}, - {"matrix": [1, 7], "x": 15.5, "y": 0}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [3, 7], "x": 15, "y": 1, "w": 1.5}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 7], "x": 14.25, "y": 2, "w": 2.25}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 1.25}, - {"matrix": [7, 7], "x": 15, "y": 3}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4.5, "y": 4, "w": 9}, - {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_splitbs_fullshift_ansi_9u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [0, 7], "x": 14.5, "y": 0}, - {"matrix": [1, 7], "x": 15.5, "y": 0}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [3, 7], "x": 15, "y": 1, "w": 1.5}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 7], "x": 14.25, "y": 2, "w": 2.25}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 2.25}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4.5, "y": 4, "w": 9}, - {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_splitbs_splitshift_ansi_10u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [0, 7], "x": 14.5, "y": 0}, - {"matrix": [1, 7], "x": 15.5, "y": 0}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [3, 7], "x": 15, "y": 1, "w": 1.5}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 7], "x": 14.25, "y": 2, "w": 2.25}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 1.25}, - {"matrix": [7, 7], "x": 15, "y": 3}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 10}, - {"matrix": [8, 6], "x": 14, "y": 4} - ] - }, - "LAYOUT_splitbs_fullshift_ansi_10u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [0, 7], "x": 14.5, "y": 0}, - {"matrix": [1, 7], "x": 15.5, "y": 0}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [3, 7], "x": 15, "y": 1, "w": 1.5}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 7], "x": 14.25, "y": 2, "w": 2.25}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 2.25}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 10}, - {"matrix": [8, 6], "x": 14, "y": 4} - ] - }, - "LAYOUT_fullbs_splitshift_iso_7u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [1, 7], "x": 14.5, "y": 0, "w": 2}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [5, 7], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 6], "x": 14.25, "y": 2}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 1.25}, - {"matrix": [7, 7], "x": 15, "y": 3}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4}, - {"matrix": [8, 1], "x": 4, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 5.5, "y": 4, "w": 7}, - {"matrix": [8, 5], "x": 12.5, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 14, "y": 4} - ] - }, - "LAYOUT_fullbs_fullshift_iso_7u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [1, 7], "x": 14.5, "y": 0, "w": 2}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [5, 7], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 6], "x": 14.25, "y": 2}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 2.25}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4}, - {"matrix": [8, 1], "x": 4, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 5.5, "y": 4, "w": 7}, - {"matrix": [8, 5], "x": 12.5, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 14, "y": 4} - ] - }, - "LAYOUT_fullbs_splitshift_iso_9u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [1, 7], "x": 14.5, "y": 0, "w": 2}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [5, 7], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 6], "x": 14.25, "y": 2}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 1.25}, - {"matrix": [7, 7], "x": 15, "y": 3}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4.5, "y": 4, "w": 9}, - {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_fullbs_fullshift_iso_9u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [1, 7], "x": 14.5, "y": 0, "w": 2}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [5, 7], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 6], "x": 14.25, "y": 2}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 2.25}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4.5, "y": 4, "w": 9}, - {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_fullbs_splitshift_iso_10u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [1, 7], "x": 14.5, "y": 0, "w": 2}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [5, 7], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 6], "x": 14.25, "y": 2}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 1.25}, - {"matrix": [7, 7], "x": 15, "y": 3}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 10}, - {"matrix": [8, 6], "x": 14, "y": 4} - ] - }, - "LAYOUT_fullbs_fullshift_iso_10u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [1, 0], "x": 1.5, "y": 0}, - {"matrix": [0, 1], "x": 2.5, "y": 0}, - {"matrix": [1, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [1, 2], "x": 5.5, "y": 0}, - {"matrix": [0, 3], "x": 6.5, "y": 0}, - {"matrix": [1, 3], "x": 7.5, "y": 0}, - {"matrix": [0, 4], "x": 8.5, "y": 0}, - {"matrix": [1, 4], "x": 9.5, "y": 0}, - {"matrix": [0, 5], "x": 10.5, "y": 0}, - {"matrix": [1, 5], "x": 11.5, "y": 0}, - {"matrix": [0, 6], "x": 12.5, "y": 0}, - {"matrix": [1, 6], "x": 13.5, "y": 0}, - {"matrix": [1, 7], "x": 14.5, "y": 0, "w": 2}, - {"matrix": [0, 8], "x": 18, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1}, - {"matrix": [3, 0], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [3, 1], "x": 4, "y": 1}, - {"matrix": [2, 2], "x": 5, "y": 1}, - {"matrix": [3, 2], "x": 6, "y": 1}, - {"matrix": [2, 3], "x": 7, "y": 1}, - {"matrix": [3, 3], "x": 8, "y": 1}, - {"matrix": [2, 4], "x": 9, "y": 1}, - {"matrix": [3, 4], "x": 10, "y": 1}, - {"matrix": [2, 5], "x": 11, "y": 1}, - {"matrix": [3, 5], "x": 12, "y": 1}, - {"matrix": [2, 6], "x": 13, "y": 1}, - {"matrix": [3, 6], "x": 14, "y": 1}, - {"matrix": [5, 7], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [2, 8], "x": 18, "y": 1}, - - {"matrix": [4, 0], "x": 0, "y": 2}, - {"matrix": [5, 0], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [4, 1], "x": 3.25, "y": 2}, - {"matrix": [5, 1], "x": 4.25, "y": 2}, - {"matrix": [4, 2], "x": 5.25, "y": 2}, - {"matrix": [5, 2], "x": 6.25, "y": 2}, - {"matrix": [4, 3], "x": 7.25, "y": 2}, - {"matrix": [5, 3], "x": 8.25, "y": 2}, - {"matrix": [4, 4], "x": 9.25, "y": 2}, - {"matrix": [5, 4], "x": 10.25, "y": 2}, - {"matrix": [4, 5], "x": 11.25, "y": 2}, - {"matrix": [5, 5], "x": 12.25, "y": 2}, - {"matrix": [4, 6], "x": 13.25, "y": 2}, - {"matrix": [5, 6], "x": 14.25, "y": 2}, - {"matrix": [4, 8], "x": 18, "y": 2}, - - {"matrix": [6, 0], "x": 0, "y": 3}, - {"matrix": [7, 0], "x": 2, "y": 3, "w": 1.75}, - {"matrix": [6, 1], "x": 3.75, "y": 3}, - {"matrix": [7, 1], "x": 4.75, "y": 3}, - {"matrix": [6, 2], "x": 5.75, "y": 3}, - {"matrix": [7, 2], "x": 6.75, "y": 3}, - {"matrix": [6, 3], "x": 7.75, "y": 3}, - {"matrix": [7, 3], "x": 8.75, "y": 3}, - {"matrix": [6, 4], "x": 9.75, "y": 3}, - {"matrix": [7, 4], "x": 10.75, "y": 3}, - {"matrix": [6, 5], "x": 11.75, "y": 3}, - {"matrix": [7, 5], "x": 12.75, "y": 3}, - {"matrix": [6, 6], "x": 13.75, "y": 3, "w": 2.25}, - {"matrix": [6, 8], "x": 18, "y": 3}, - - {"matrix": [8, 0], "x": 3, "y": 4}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 10}, - {"matrix": [8, 6], "x": 14, "y": 4} - ] - } - } -} diff --git a/keyboards/viktus/vkr94/keymaps/default/keymap.c b/keyboards/viktus/vkr94/keymaps/default/keymap.c deleted file mode 100644 index 8c266deb77..0000000000 --- a/keyboards/viktus/vkr94/keymaps/default/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2025 BlindAssassin111 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_splitbs_splitshift_ansi_7u( - KC_F1, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_DEL, - KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME, - KC_F3, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, - KC_F4, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_PGDN, - KC_LCTL, KC_LALT, LT(1,KC_SPC), KC_RALT, KC_RCTL - ), - - [1] = LAYOUT_splitbs_splitshift_ansi_7u( - QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, - _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_RGHT, KC_DOWN, KC_LEFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/viktus/vkr94/readme.md b/keyboards/viktus/vkr94/readme.md deleted file mode 100644 index 9a6f4d228c..0000000000 --- a/keyboards/viktus/vkr94/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Viktus VKR 94 - -![viktus/vkr94](https://i.imgur.com/ahJVciu.png) - -A small run vintage-esque design with RGB indicators. - -* Keyboard Maintainer: [BlindAssassin111](https://github.com/blindassassin111) -* Hardware Supported: VKR 94 PCBs -* Hardware Availability: BlindAssassin111 - -Make example for this keyboard (after setting up your build environment): - - make viktus/vkr94:default - -Flashing example for this keyboard: - - make viktus/vkr94:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/viktus/z150_bh/keyboard.json b/keyboards/viktus/z150_bh/keyboard.json index 29bba7b8ab..27754da543 100644 --- a/keyboards/viktus/z150_bh/keyboard.json +++ b/keyboards/viktus/z150_bh/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Z-150 Blackheart", "manufacturer": "blindassassin111", + "url": "", "maintainer": "qmk, blindassassin111", "usb": { "vid": "0xFEED", @@ -10,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/vinhcatba/uncertainty/keyboard.json b/keyboards/vinhcatba/uncertainty/keyboard.json index d8a1b81f92..5f35a144d8 100644 --- a/keyboards/vinhcatba/uncertainty/keyboard.json +++ b/keyboards/vinhcatba/uncertainty/keyboard.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "wpm": true, "encoder": true, "extrakey": true, @@ -45,8 +47,10 @@ "override_rgb": true }, "led_count": 14, + "max_brightness": 255, "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/vitamins_included/info.json b/keyboards/vitamins_included/info.json index 305c740475..60907cdba3 100644 --- a/keyboards/vitamins_included/info.json +++ b/keyboards/vitamins_included/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Vitamins Included", "manufacturer": "Duckle29", + "url": "", "maintainer": "Duckle29", "build": { "lto": true @@ -8,6 +9,8 @@ "features": { "audio": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/vitamins_included/rev2/rev2.c b/keyboards/vitamins_included/rev2/rev2.c index 28bd73cc75..e445a3da45 100644 --- a/keyboards/vitamins_included/rev2/rev2.c +++ b/keyboards/vitamins_included/rev2/rev2.c @@ -12,7 +12,7 @@ bool is_keyboard_left(void) { gpio_set_pin_input(SPLIT_HAND_PIN); return x; #elif defined(EE_HANDS) - return eeconfig_read_handedness(); + return eeprom_read_byte(EECONFIG_HANDEDNESS); #endif return is_keyboard_master(); diff --git a/keyboards/vitamins_included/rules.mk b/keyboards/vitamins_included/rules.mk new file mode 100644 index 0000000000..e3452d41db --- /dev/null +++ b/keyboards/vitamins_included/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = vitamins_included/rev2 diff --git a/keyboards/void/voidhhkb_hotswap/keyboard.json b/keyboards/void/voidhhkb_hotswap/keyboard.json deleted file mode 100644 index f2bdcd246e..0000000000 --- a/keyboards/void/voidhhkb_hotswap/keyboard.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "manufacturer": "James Wilson", - "keyboard_name": "voidhhkb_hotswap", - "maintainer": "JamesWilson1996", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["B12", "B13", "A3", "A4", "B14", "B15", "A8", "A5", "A9", "A10", "A6", "A7", "A15", "B3", "B4"], - "rows": ["B11", "B10", "B2", "B1", "B0"] - }, - "processor": "STM32F072", - "usb": { - "device_version": "1.0.0", - "pid": "0x0002", - "vid": "0x4A57" - }, - "community_layouts": [ "60_hhkb" ], - "layouts": { - "LAYOUT_60_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 2], "x": 1.5, "y": 1}, - {"matrix": [1, 3], "x": 2.5, "y": 1}, - {"matrix": [1, 4], "x": 3.5, "y": 1}, - {"matrix": [1, 5], "x": 4.5, "y": 1}, - {"matrix": [1, 6], "x": 5.5, "y": 1}, - {"matrix": [1, 7], "x": 6.5, "y": 1}, - {"matrix": [1, 8], "x": 7.5, "y": 1}, - {"matrix": [1, 9], "x": 8.5, "y": 1}, - {"matrix": [1, 10], "x": 9.5, "y": 1}, - {"matrix": [1, 11], "x": 10.5, "y": 1}, - {"matrix": [1, 12], "x": 11.5, "y": 1}, - {"matrix": [1, 13], "x": 12.5, "y": 1}, - {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 1.75, "y": 2}, - {"matrix": [2, 3], "x": 2.75, "y": 2}, - {"matrix": [2, 4], "x": 3.75, "y": 2}, - {"matrix": [2, 5], "x": 4.75, "y": 2}, - {"matrix": [2, 6], "x": 5.75, "y": 2}, - {"matrix": [2, 7], "x": 6.75, "y": 2}, - {"matrix": [2, 8], "x": 7.75, "y": 2}, - {"matrix": [2, 9], "x": 8.75, "y": 2}, - {"matrix": [2, 10], "x": 9.75, "y": 2}, - {"matrix": [2, 11], "x": 10.75, "y": 2}, - {"matrix": [2, 12], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 1], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 14], "x": 14.0, "y": 3}, - - {"matrix": [4, 2], "x": 1.5, "y": 4}, - {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 6}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 11.5, "y": 4} - ] - } - } -} diff --git a/keyboards/void/voidhhkb_hotswap/keymaps/default/keymap.c b/keyboards/void/voidhhkb_hotswap/keymaps/default/keymap.c deleted file mode 100644 index 3b28a0c1c2..0000000000 --- a/keyboards/void/voidhhkb_hotswap/keymaps/default/keymap.c +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_hhkb( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT - ), - [1] = LAYOUT_60_hhkb( - KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_NO, KC_CLAG, - KC_NO, KC_VOLU, KC_VOLD, KC_MUTE, KC_EJCT, KC_NO, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_RETN, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_NO, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_MSTP, KC_NO - ) -}; diff --git a/keyboards/void/voidhhkb_hotswap/readme.md b/keyboards/void/voidhhkb_hotswap/readme.md deleted file mode 100644 index a9b78eefe7..0000000000 --- a/keyboards/void/voidhhkb_hotswap/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# VoidHHKB-Hotswap - -![VoidHHKB-Hotswap)](https://i.imgur.com/dxTs8gB.jpeg) - -VoidHHKB-Hotswap 60% PCB designed for the [HSKB project](https://github.com/Dev01-D/HSKB). - -* Keyboard Maintainer: [James Wilson](https://github.com/JamesWilson1996) -* Hardware Supported: STM32F072CBT6 -* Hardware Availability: [HSKB](https://github.com/Dev01-D/HSKB) - -# Compiling - -Make example for this keyboard (after setting up your build environment): - - make void/voidhhkb_hotswap:default - -Flashing example for this keyboard: - - make void/voidhhkb_hotswap:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -# Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/vt40/keyboard.json b/keyboards/vt40/keyboard.json index 4d4455d35c..4a8178b8d5 100644 --- a/keyboards/vt40/keyboard.json +++ b/keyboards/vt40/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/waldo/keyboard.json b/keyboards/waldo/keyboard.json index f2107fea31..b3076d79cc 100644 --- a/keyboards/waldo/keyboard.json +++ b/keyboards/waldo/keyboard.json @@ -10,6 +10,7 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/walletburner/cajal/keyboard.json b/keyboards/walletburner/cajal/keyboard.json index 03fb89b23e..e11c62ec87 100644 --- a/keyboards/walletburner/cajal/keyboard.json +++ b/keyboards/walletburner/cajal/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/walletburner/neuron/keyboard.json b/keyboards/walletburner/neuron/keyboard.json index d353b0b623..1d9ce89387 100644 --- a/keyboards/walletburner/neuron/keyboard.json +++ b/keyboards/walletburner/neuron/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/waterfowl/keyboard.json b/keyboards/waterfowl/keyboard.json index 9e08da57c0..73f62a77eb 100644 --- a/keyboards/waterfowl/keyboard.json +++ b/keyboards/waterfowl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Waterfowl", "manufacturer": "CyanDuck", + "url": "", "maintainer": "JW2586", "usb": { "vid": "0xFEED", diff --git a/keyboards/waveshare/rp2040_keyboard_3/keyboard.json b/keyboards/waveshare/rp2040_keyboard_3/keyboard.json deleted file mode 100644 index 1c8bd11de5..0000000000 --- a/keyboards/waveshare/rp2040_keyboard_3/keyboard.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "manufacturer": "Waveshare", - "keyboard_name": "RP2040-Keyboard-3", - "maintainer": "zvecr", - "url": "https://www.waveshare.com/wiki/RP2040-Keyboard-3", - "processor": "RP2040", - "bootloader": "rp2040", - "usb": { - "vid": "0xFEED", - "pid": "0x0000", - "device_version": "1.0.0" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "rgb_matrix": true - }, - "rgb_matrix": { - "driver": "ws2812", - "animations": { - "gradient_left_right": true, - "breathing": true, - "band_sat": true, - "band_val": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "rainbow_moving_chevron": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "dual_beacon": true, - "rainbow_beacon": true, - "rainbow_pinwheels": true, - "raindrops": true, - "jellybean_raindrops": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "pixel_fractal": true, - "pixel_flow": true, - "pixel_rain": true, - "typing_heatmap": true, - "digital_rain": true, - "solid_reactive_simple": true, - "solid_reactive": true, - "solid_reactive_wide": true, - "solid_reactive_multiwide": true, - "splash": true, - "multisplash": true, - "solid_splash": true, - "solid_multisplash": true - }, - "layout": [ - {"flags": 4, "matrix": [0, 0], "x": 50, "y": 20}, - {"flags": 4, "matrix": [0, 1], "x": 112, "y": 20}, - {"flags": 4, "matrix": [0, 2], "x": 162, "y": 20} - ], - "sleep": true - }, - "ws2812": { - "driver": "vendor", - "pin": "GP18" - }, - "matrix_pins": { - "direct": [ - ["GP14", "GP13", "GP12"] - ] - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0} - ] - } - } -} diff --git a/keyboards/waveshare/rp2040_keyboard_3/keymaps/default/keymap.c b/keyboards/waveshare/rp2040_keyboard_3/keymaps/default/keymap.c deleted file mode 100644 index 4b95bf189e..0000000000 --- a/keyboards/waveshare/rp2040_keyboard_3/keymaps/default/keymap.c +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(KC_LCTL, KC_C, KC_V) -}; diff --git a/keyboards/waveshare/rp2040_keyboard_3/readme.md b/keyboards/waveshare/rp2040_keyboard_3/readme.md deleted file mode 100644 index c6f5f5e122..0000000000 --- a/keyboards/waveshare/rp2040_keyboard_3/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# RP2040-Keyboard-3 - -![waveshare/rp2040_keyboard_3](https://i.imgur.com/HYoHwVk.jpeg) - -RP2040-Keyboard-3 is a high-performance, cost-effective three-key keyboard development board designed by Waveshare. -It features programmable custom key functions and RGB lighting effects. - -* Keyboard Maintainer: [zvecr](https://github.com/zvecr) -* Hardware Supported: -* Hardware Availability: - -Make example for this keyboard (after setting up your build environment): - - make waveshare/rp2040_keyboard_3:default - -Flashing example for this keyboard: - - make waveshare/rp2040_keyboard_3:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard -* **Physical reset button**: Press and hold the `BOOT` button, then briefly press the `RESET` button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/wavtype/foundation/keyboard.json b/keyboards/wavtype/foundation/keyboard.json index 49c097d27a..4b1dd1d348 100644 --- a/keyboards/wavtype/foundation/keyboard.json +++ b/keyboards/wavtype/foundation/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "foundation", "manufacturer": "protozoa.studio", + "url": "", "maintainer": "wavtype", "usb": { "vid": "0x03A7", @@ -30,6 +31,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/wavtype/p01_ultra/keyboard.json b/keyboards/wavtype/p01_ultra/keyboard.json index ac56e454a8..c44f0bd3bd 100644 --- a/keyboards/wavtype/p01_ultra/keyboard.json +++ b/keyboards/wavtype/p01_ultra/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "p01_ultra", "manufacturer": "wavtype", + "url": "", "maintainer": "wavtype", "usb": { "vid": "0x03A7", @@ -29,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/weirdo/geminate60/keyboard.json b/keyboards/weirdo/geminate60/keyboard.json index 3008e2e7c6..12bc42b30d 100644 --- a/keyboards/weirdo/geminate60/keyboard.json +++ b/keyboards/weirdo/geminate60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Geminate60", "manufacturer": "Weirdo", + "url": "", "maintainer": "Weirdo-F", "usb": { "vid": "0x7764", @@ -15,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/weirdo/kelowna/rgb64/keyboard.json b/keyboards/weirdo/kelowna/rgb64/keyboard.json index 3b56deb894..4822f979fe 100644 --- a/keyboards/weirdo/kelowna/rgb64/keyboard.json +++ b/keyboards/weirdo/kelowna/rgb64/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "kelownaRGB64", "manufacturer": "Weirdo", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7764", @@ -15,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/weirdo/ls_60/keyboard.json b/keyboards/weirdo/ls_60/keyboard.json index 871d1a4929..7ab1f2f6cb 100644 --- a/keyboards/weirdo/ls_60/keyboard.json +++ b/keyboards/weirdo/ls_60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "LS_60", "manufacturer": "Weirdo", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7764", @@ -15,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/weirdo/naiping/np64/keyboard.json b/keyboards/weirdo/naiping/np64/keyboard.json index dc7ad18572..f620fb1169 100644 --- a/keyboards/weirdo/naiping/np64/keyboard.json +++ b/keyboards/weirdo/naiping/np64/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NP64", "manufacturer": "Weirdo", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7764", @@ -15,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/weirdo/naiping/nphhkb/keyboard.json b/keyboards/weirdo/naiping/nphhkb/keyboard.json index 870ad3950e..cc791374b4 100644 --- a/keyboards/weirdo/naiping/nphhkb/keyboard.json +++ b/keyboards/weirdo/naiping/nphhkb/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NPhhkb", "manufacturer": "Weirdo", + "url": "", "maintainer": "weirdo-f", "usb": { "vid": "0x7764", @@ -15,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/weirdo/naiping/npminila/keyboard.json b/keyboards/weirdo/naiping/npminila/keyboard.json index 5e8c8d8947..b4048a52cf 100644 --- a/keyboards/weirdo/naiping/npminila/keyboard.json +++ b/keyboards/weirdo/naiping/npminila/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NPminila", "manufacturer": "Weirdo", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7764", @@ -15,6 +16,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/weirdo/tiger910/keyboard.json b/keyboards/weirdo/tiger910/keyboard.json index 34bd01970a..ca24561ebd 100644 --- a/keyboards/weirdo/tiger910/keyboard.json +++ b/keyboards/weirdo/tiger910/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "tiger910", "manufacturer": "Weirdo", + "url": "", "maintainer": "Weirdo", "usb": { "vid": "0x7764", diff --git a/keyboards/wekey/polaris/keyboard.json b/keyboards/wekey/polaris/keyboard.json index b24a3076f9..c3fe12f144 100644 --- a/keyboards/wekey/polaris/keyboard.json +++ b/keyboards/wekey/polaris/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Polaris", "manufacturer": "@wekey", + "url": "", "maintainer": "@wekey.dev", "usb": { "vid": "0x5559", @@ -12,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/wekey/we27/keyboard.json b/keyboards/wekey/we27/keyboard.json index 91731cdc39..d8cb7b0f80 100644 --- a/keyboards/wekey/we27/keyboard.json +++ b/keyboards/wekey/we27/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "We27", "manufacturer": "@wekey", + "url": "", "maintainer": "@wekey.dev", "usb": { "vid": "0x5559", diff --git a/keyboards/werk_technica/one/board.h b/keyboards/werk_technica/one/board.h deleted file mode 100644 index 3ad450d023..0000000000 --- a/keyboards/werk_technica/one/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2022 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/werk_technica/one/config.h b/keyboards/werk_technica/one/config.h new file mode 100644 index 0000000000..765e70851b --- /dev/null +++ b/keyboards/werk_technica/one/config.h @@ -0,0 +1,7 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Set HSE clock since it differs from F411 default */ +#define STM32_HSECLK 16000000 \ No newline at end of file diff --git a/keyboards/werk_technica/one/keyboard.json b/keyboards/werk_technica/one/keyboard.json index ba5df0b136..4933c7fd7c 100644 --- a/keyboards/werk_technica/one/keyboard.json +++ b/keyboards/werk_technica/one/keyboard.json @@ -14,6 +14,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/westfoxtrot/aanzee/keyboard.json b/keyboards/westfoxtrot/aanzee/keyboard.json index 03990a3929..3a15014c4e 100644 --- a/keyboards/westfoxtrot/aanzee/keyboard.json +++ b/keyboards/westfoxtrot/aanzee/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "aanzee", "manufacturer": "westfoxtrot", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x21FF", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/westfoxtrot/cyclops/keyboard.json b/keyboards/westfoxtrot/cyclops/keyboard.json index 952b81d0e5..a74926511d 100644 --- a/keyboards/westfoxtrot/cyclops/keyboard.json +++ b/keyboards/westfoxtrot/cyclops/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "cyclops", "manufacturer": "westfoxtrot", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x21FF", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/westfoxtrot/cypher/rev1/keyboard.json b/keyboards/westfoxtrot/cypher/rev1/keyboard.json index a02c612154..30dcc625de 100644 --- a/keyboards/westfoxtrot/cypher/rev1/keyboard.json +++ b/keyboards/westfoxtrot/cypher/rev1/keyboard.json @@ -9,6 +9,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/westfoxtrot/cypher/rev5/keyboard.json b/keyboards/westfoxtrot/cypher/rev5/keyboard.json index b33222df97..278ff94b06 100644 --- a/keyboards/westfoxtrot/cypher/rev5/keyboard.json +++ b/keyboards/westfoxtrot/cypher/rev5/keyboard.json @@ -9,6 +9,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/westfoxtrot/prophet/keyboard.json b/keyboards/westfoxtrot/prophet/keyboard.json index 64a952e286..b431adddae 100644 --- a/keyboards/westfoxtrot/prophet/keyboard.json +++ b/keyboards/westfoxtrot/prophet/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "prophet", "manufacturer": "westfoxtrot", + "url": "", "maintainer": "westfoxtrot", "usb": { "vid": "0xFF21", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/westm/westm68/rev1/rules.mk b/keyboards/westm/westm68/rev1/rules.mk deleted file mode 100644 index 0ab54aaaf7..0000000000 --- a/keyboards/westm/westm68/rev1/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/westm/westm68/rev2/rules.mk b/keyboards/westm/westm68/rev2/rules.mk deleted file mode 100644 index 0ab54aaaf7..0000000000 --- a/keyboards/westm/westm68/rev2/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/cannonkeys/db60/rev2/rules.mk b/keyboards/westm/westm68/rules.mk similarity index 63% rename from keyboards/cannonkeys/db60/rev2/rules.mk rename to keyboards/westm/westm68/rules.mk index 0ab54aaaf7..2a716f41c4 100644 --- a/keyboards/cannonkeys/db60/rev2/rules.mk +++ b/keyboards/westm/westm68/rules.mk @@ -1,2 +1,4 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF + +DEFAULT_FOLDER = westm/westm68/rev2 diff --git a/keyboards/westm/westm9/rev1/rules.mk b/keyboards/westm/westm9/rev1/rules.mk deleted file mode 100644 index 0ab54aaaf7..0000000000 --- a/keyboards/westm/westm9/rev1/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/westm/westm9/rev2/rules.mk b/keyboards/westm/westm9/rev2/rules.mk deleted file mode 100644 index 0ab54aaaf7..0000000000 --- a/keyboards/westm/westm9/rev2/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/cannonkeys/db60/j02/rules.mk b/keyboards/westm/westm9/rules.mk similarity index 64% rename from keyboards/cannonkeys/db60/j02/rules.mk rename to keyboards/westm/westm9/rules.mk index 0ab54aaaf7..3ff78857b3 100644 --- a/keyboards/cannonkeys/db60/j02/rules.mk +++ b/keyboards/westm/westm9/rules.mk @@ -1,2 +1,4 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF + +DEFAULT_FOLDER = westm/westm9/rev2 diff --git a/keyboards/whale/sk/rules.mk b/keyboards/whale/sk/rules.mk new file mode 100644 index 0000000000..1a4ddedfa7 --- /dev/null +++ b/keyboards/whale/sk/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = whale/sk/v3 diff --git a/keyboards/wilba_tech/rama_works_m10_b/keyboard.json b/keyboards/wilba_tech/rama_works_m10_b/keyboard.json index 43df7942cb..157baa1c5a 100644 --- a/keyboards/wilba_tech/rama_works_m10_b/keyboard.json +++ b/keyboards/wilba_tech/rama_works_m10_b/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/rama_works_m50_ax/keyboard.json b/keyboards/wilba_tech/rama_works_m50_ax/keyboard.json index 9018086906..c44032f97c 100644 --- a/keyboards/wilba_tech/rama_works_m50_ax/keyboard.json +++ b/keyboards/wilba_tech/rama_works_m50_ax/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt60_g/keyboard.json b/keyboards/wilba_tech/wt60_g/keyboard.json index 1838cb4809..526a6a9d72 100644 --- a/keyboards/wilba_tech/wt60_g/keyboard.json +++ b/keyboards/wilba_tech/wt60_g/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt60_g2/keyboard.json b/keyboards/wilba_tech/wt60_g2/keyboard.json index a8a8b186a8..5f62d9d52b 100644 --- a/keyboards/wilba_tech/wt60_g2/keyboard.json +++ b/keyboards/wilba_tech/wt60_g2/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt60_h1/keyboard.json b/keyboards/wilba_tech/wt60_h1/keyboard.json index bd8d687a57..2832cf3cd7 100644 --- a/keyboards/wilba_tech/wt60_h1/keyboard.json +++ b/keyboards/wilba_tech/wt60_h1/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt60_h2/keyboard.json b/keyboards/wilba_tech/wt60_h2/keyboard.json index 76c1385fcd..f48e03940c 100644 --- a/keyboards/wilba_tech/wt60_h2/keyboard.json +++ b/keyboards/wilba_tech/wt60_h2/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt60_h3/keyboard.json b/keyboards/wilba_tech/wt60_h3/keyboard.json index cf75517fb1..9078fa9242 100644 --- a/keyboards/wilba_tech/wt60_h3/keyboard.json +++ b/keyboards/wilba_tech/wt60_h3/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt60_xt/keyboard.json b/keyboards/wilba_tech/wt60_xt/keyboard.json index 55229a2400..ba8e8000db 100644 --- a/keyboards/wilba_tech/wt60_xt/keyboard.json +++ b/keyboards/wilba_tech/wt60_xt/keyboard.json @@ -11,6 +11,8 @@ "features": { "audio": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt65_d/keyboard.json b/keyboards/wilba_tech/wt65_d/keyboard.json index e4e22b1eea..3754b3788b 100644 --- a/keyboards/wilba_tech/wt65_d/keyboard.json +++ b/keyboards/wilba_tech/wt65_d/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt65_f/keyboard.json b/keyboards/wilba_tech/wt65_f/keyboard.json index b97e180fde..fb79856578 100644 --- a/keyboards/wilba_tech/wt65_f/keyboard.json +++ b/keyboards/wilba_tech/wt65_f/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt65_fx/keyboard.json b/keyboards/wilba_tech/wt65_fx/keyboard.json index a914a804e1..f53332b6af 100644 --- a/keyboards/wilba_tech/wt65_fx/keyboard.json +++ b/keyboards/wilba_tech/wt65_fx/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt65_g/keyboard.json b/keyboards/wilba_tech/wt65_g/keyboard.json index fee51985f2..e097477074 100644 --- a/keyboards/wilba_tech/wt65_g/keyboard.json +++ b/keyboards/wilba_tech/wt65_g/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt65_g2/keyboard.json b/keyboards/wilba_tech/wt65_g2/keyboard.json index 7c5610a3b4..8a7862dcbe 100644 --- a/keyboards/wilba_tech/wt65_g2/keyboard.json +++ b/keyboards/wilba_tech/wt65_g2/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt65_h1/keyboard.json b/keyboards/wilba_tech/wt65_h1/keyboard.json index f43f4bb8d6..d56321ce5f 100644 --- a/keyboards/wilba_tech/wt65_h1/keyboard.json +++ b/keyboards/wilba_tech/wt65_h1/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt65_xt/keyboard.json b/keyboards/wilba_tech/wt65_xt/keyboard.json index bc5785c3f1..5331856269 100644 --- a/keyboards/wilba_tech/wt65_xt/keyboard.json +++ b/keyboards/wilba_tech/wt65_xt/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt65_xtx/keyboard.json b/keyboards/wilba_tech/wt65_xtx/keyboard.json index 63660aa750..7d60043b91 100644 --- a/keyboards/wilba_tech/wt65_xtx/keyboard.json +++ b/keyboards/wilba_tech/wt65_xtx/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt70_jb/keyboard.json b/keyboards/wilba_tech/wt70_jb/keyboard.json index 8204b1850b..f922810600 100644 --- a/keyboards/wilba_tech/wt70_jb/keyboard.json +++ b/keyboards/wilba_tech/wt70_jb/keyboard.json @@ -33,6 +33,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/wilba_tech/wt80_g/keyboard.json b/keyboards/wilba_tech/wt80_g/keyboard.json index 27526e4e1f..cc148a9fa0 100644 --- a/keyboards/wilba_tech/wt80_g/keyboard.json +++ b/keyboards/wilba_tech/wt80_g/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/wilba_tech/wt_main.c b/keyboards/wilba_tech/wt_main.c index 7e56d98356..92c43c794d 100644 --- a/keyboards/wilba_tech/wt_main.c +++ b/keyboards/wilba_tech/wt_main.c @@ -33,7 +33,7 @@ // Called from via_init() if VIA_ENABLE // Called from matrix_init_kb() if not VIA_ENABLE -void wt_main_init(void) +void via_init_kb(void) { // This checks both an EEPROM reset (from bootmagic lite, keycodes) // and also firmware build date (from via_eeprom_is_valid()) @@ -64,9 +64,11 @@ void wt_main_init(void) void matrix_init_kb(void) { // If VIA is disabled, we still need to load backlight settings. - // Call via_init_kb() the same way as via_init_kb() does. + // Call via_init_kb() the same way as via_init(), with setting + // EEPROM valid afterwards. #ifndef VIA_ENABLE - wt_main_init(); + via_init_kb(); + via_eeprom_set_valid(true); #endif // VIA_ENABLE matrix_init_user(); @@ -107,10 +109,6 @@ void suspend_wakeup_init_kb(void) // Moving this to the bottom of this source file is a workaround // for an intermittent compiler error for Atmel compiler. #ifdef VIA_ENABLE -void via_init_kb(void) { - wt_main_init(); -} - void via_custom_value_command_kb(uint8_t *data, uint8_t length) { uint8_t *command_id = &(data[0]); uint8_t *channel_id = &(data[1]); @@ -161,3 +159,50 @@ void via_set_device_indication(uint8_t value) } #endif // VIA_ENABLE + +// +// In the case of VIA being disabled, we still need to check if +// keyboard level EEPROM memory is valid before loading. +// Thus these are copies of the same functions in VIA, since +// the backlight settings reuse VIA's EEPROM magic/version, +// and the ones in via.c won't be compiled in. +// +// Yes, this is sub-optimal, and is only here for completeness +// (i.e. catering to the 1% of people that want wilba.tech LED bling +// AND want persistent settings BUT DON'T want to use dynamic keymaps/VIA). +// +#ifndef VIA_ENABLE + +bool via_eeprom_is_valid(void) +{ + char *p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" + uint8_t magic0 = ( ( p[2] & 0x0F ) << 4 ) | ( p[3] & 0x0F ); + uint8_t magic1 = ( ( p[5] & 0x0F ) << 4 ) | ( p[6] & 0x0F ); + uint8_t magic2 = ( ( p[8] & 0x0F ) << 4 ) | ( p[9] & 0x0F ); + + return (eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+0 ) == magic0 && + eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+1 ) == magic1 && + eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+2 ) == magic2 ); +} + +void via_eeprom_set_valid(bool valid) +{ + char *p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" + uint8_t magic0 = ( ( p[2] & 0x0F ) << 4 ) | ( p[3] & 0x0F ); + uint8_t magic1 = ( ( p[5] & 0x0F ) << 4 ) | ( p[6] & 0x0F ); + uint8_t magic2 = ( ( p[8] & 0x0F ) << 4 ) | ( p[9] & 0x0F ); + + eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+0, valid ? magic0 : 0xFF); + eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+1, valid ? magic1 : 0xFF); + eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+2, valid ? magic2 : 0xFF); +} + +void via_eeprom_reset(void) +{ + // Set the VIA specific EEPROM state as invalid. + via_eeprom_set_valid(false); + // Set the TMK/QMK EEPROM state as invalid. + eeconfig_disable(); +} + +#endif // VIA_ENABLE diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c index 8359aab135..01fefc8ecc 100644 --- a/keyboards/wilba_tech/wt_mono_backlight.c +++ b/keyboards/wilba_tech/wt_mono_backlight.c @@ -25,8 +25,6 @@ #include "progmem.h" #include "eeprom.h" -#include "nvm_eeprom_eeconfig_internal.h" // expose EEPROM addresses, no appetite to move legacy/deprecated code to nvm -#include "nvm_eeprom_via_internal.h" // expose EEPROM addresses, no appetite to move legacy/deprecated code to nvm #include "via.h" // uses EEPROM address, lighting value IDs #define MONO_BACKLIGHT_CONFIG_EEPROM_ADDR (VIA_EEPROM_CUSTOM_CONFIG_ADDR) diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c index 744bcb262d..e52d002060 100644 --- a/keyboards/wilba_tech/wt_rgb_backlight.c +++ b/keyboards/wilba_tech/wt_rgb_backlight.c @@ -66,8 +66,6 @@ #include "quantum/color.h" #include "eeprom.h" -#include "nvm_eeprom_eeconfig_internal.h" // expose EEPROM addresses, no appetite to move legacy/deprecated code to nvm -#include "nvm_eeprom_via_internal.h" // expose EEPROM addresses, no appetite to move legacy/deprecated code to nvm #include "via.h" // uses EEPROM address, lighting value IDs #define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR (VIA_EEPROM_CUSTOM_CONFIG_ADDR) diff --git a/keyboards/willoucom/keypad/keyboard.json b/keyboards/willoucom/keypad/keyboard.json index 1d070ea4e2..dc517ccc16 100644 --- a/keyboards/willoucom/keypad/keyboard.json +++ b/keyboards/willoucom/keypad/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/windstudio/wind_x/r1/keyboard.json b/keyboards/windstudio/wind_x/r1/keyboard.json index 44202e9685..1b5f34fe3e 100644 --- a/keyboards/windstudio/wind_x/r1/keyboard.json +++ b/keyboards/windstudio/wind_x/r1/keyboard.json @@ -15,6 +15,7 @@ "rows": ["F0", "F1", "D2", "D1", "D0"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x6801", diff --git a/keyboards/winkeyless/b87/keyboard.json b/keyboards/winkeyless/b87/keyboard.json index 82ef8555ac..a941445d72 100644 --- a/keyboards/winkeyless/b87/keyboard.json +++ b/keyboards/winkeyless/b87/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "B87", "manufacturer": "Winkeyless", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/winkeyless/bface/keyboard.json b/keyboards/winkeyless/bface/keyboard.json index 1f9685c98f..cc5194ef34 100644 --- a/keyboards/winkeyless/bface/keyboard.json +++ b/keyboards/winkeyless/bface/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "B.face", "manufacturer": "Winkeyless", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/winkeyless/bmini/keyboard.json b/keyboards/winkeyless/bmini/keyboard.json index 644870e8bc..6fdaf62182 100644 --- a/keyboards/winkeyless/bmini/keyboard.json +++ b/keyboards/winkeyless/bmini/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "B.mini", "manufacturer": "Winkeyless", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/winkeyless/bminiex/keyboard.json b/keyboards/winkeyless/bminiex/keyboard.json index 2794622fc6..9e213bd1f8 100644 --- a/keyboards/winkeyless/bminiex/keyboard.json +++ b/keyboards/winkeyless/bminiex/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/winkeys/mini_winni/keyboard.json b/keyboards/winkeys/mini_winni/keyboard.json index 5bc83c5459..8f80960f24 100644 --- a/keyboards/winkeys/mini_winni/keyboard.json +++ b/keyboards/winkeys/mini_winni/keyboard.json @@ -11,6 +11,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/winry/winry25tc/keyboard.json b/keyboards/winry/winry25tc/keyboard.json index c2682daa9a..9a83aded2c 100644 --- a/keyboards/winry/winry25tc/keyboard.json +++ b/keyboards/winry/winry25tc/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Winry 25tc", "manufacturer": "SpiderIsland", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -21,6 +22,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "key_lock": true, "mousekey": false, diff --git a/keyboards/winry/winry25tc/keymaps/lightsout/keymap.c b/keyboards/winry/winry25tc/keymaps/lightsout/keymap.c index 4e22b6b751..f175f36b91 100644 --- a/keyboards/winry/winry25tc/keymaps/lightsout/keymap.c +++ b/keyboards/winry/winry25tc/keymaps/lightsout/keymap.c @@ -82,9 +82,9 @@ void refresh_leds(void) { uint8_t tile = tiles[x][y]; uint8_t index = (y * 5) + x; if (tile) { - rgblight_setrgb_at(RGB_RED, remap[index]); + setrgb(RGB_RED, &led[remap[index]]); } else { - rgblight_setrgb_at(RGB_WHITE, remap[index]); + setrgb(RGB_WHITE, &led[remap[index]]); } } } diff --git a/keyboards/winry/winry315/keyboard.json b/keyboards/winry/winry315/keyboard.json index 44b51791e1..81971b339f 100644 --- a/keyboards/winry/winry315/keyboard.json +++ b/keyboards/winry/winry315/keyboard.json @@ -2,6 +2,7 @@ "manufacturer": "Winry", "keyboard_name": "Winry315", "maintainer": "sigprof", + "url": "", "usb": { "device_version": "0.0.1", "pid": "0x0315", @@ -83,6 +84,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/wiredin/protagonist/pro_h/config.h b/keyboards/wiredin/protagonist/pro_h/config.h deleted file mode 100644 index ba515a74a2..0000000000 --- a/keyboards/wiredin/protagonist/pro_h/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2024 Gondolindrim - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define WS2812_PWM_COMPLEMENTARY_OUTPUT -#define WS2812_PWM_DRIVER PWMD1 -#define WS2812_PWM_CHANNEL 3 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_DMA_STREAM STM32_DMA2_STREAM5 -#define WS2812_DMA_CHANNEL 6 diff --git a/keyboards/wiredin/protagonist/pro_h/halconf.h b/keyboards/wiredin/protagonist/pro_h/halconf.h deleted file mode 100644 index 77e63e63ea..0000000000 --- a/keyboards/wiredin/protagonist/pro_h/halconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2024 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define HAL_USE_PWM TRUE -#define HAL_USE_PAL TRUE - -#include_next diff --git a/keyboards/wiredin/protagonist/pro_h/keyboard.json b/keyboards/wiredin/protagonist/pro_h/keyboard.json deleted file mode 100644 index 75c60f6ab9..0000000000 --- a/keyboards/wiredin/protagonist/pro_h/keyboard.json +++ /dev/null @@ -1,372 +0,0 @@ -{ - "manufacturer": "WiredIn", - "keyboard_name": "Protagonist PRO-H", - "maintainer": "Gondolindrim", - "bootloader": "stm32-dfu", - "build": { - "lto": true - }, - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["A4", "A3", "A2", "A10", "A8", "B12", "A15", "B3", "B4", "B5", "C15", "C14", "B9", "C13"], - "rows": ["B1", "B10", "B14", "B8", "A0", "A1"] - }, - "processor": "STM32F411", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "rgb_test": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 22 - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x5048", - "vid": "0x5749" - }, - "ws2812": { - "driver": "pwm", - "pin": "B15" - }, - "community_layouts": ["60_ansi_tsangan", "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb"], - "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift" - }, - "layouts": { - "LAYOUT_60_ansi_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 4}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [4, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 4}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_wkl": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [4, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [4, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [5, 1], "x": 1.5, "y": 4}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4} - ] - } - } -} diff --git a/keyboards/wiredin/protagonist/pro_h/keymaps/default/keymap.c b/keyboards/wiredin/protagonist/pro_h/keymaps/default/keymap.c deleted file mode 100644 index b152af99bc..0000000000 --- a/keyboards/wiredin/protagonist/pro_h/keymaps/default/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2020 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL - ), - [1] = LAYOUT_all( - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), -}; diff --git a/keyboards/wiredin/protagonist/pro_h/mcuconf.h b/keyboards/wiredin/protagonist/pro_h/mcuconf.h deleted file mode 100644 index 1474fe4f97..0000000000 --- a/keyboards/wiredin/protagonist/pro_h/mcuconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2024 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef STM32_PWM_USE_TIM1 -#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/wiredin/protagonist/pro_s/config.h b/keyboards/wiredin/protagonist/pro_s/config.h deleted file mode 100644 index 90b01da8cc..0000000000 --- a/keyboards/wiredin/protagonist/pro_s/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2024 Gondolindrim - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 4 - -#define WS2812_PWM_COMPLEMENTARY_OUTPUT -#define WS2812_PWM_DRIVER PWMD1 -#define WS2812_PWM_CHANNEL 3 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_DMA_STREAM STM32_DMA2_STREAM5 -#define WS2812_DMA_CHANNEL 6 diff --git a/keyboards/wiredin/protagonist/pro_s/halconf.h b/keyboards/wiredin/protagonist/pro_s/halconf.h deleted file mode 100644 index 77e63e63ea..0000000000 --- a/keyboards/wiredin/protagonist/pro_s/halconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2024 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define HAL_USE_PWM TRUE -#define HAL_USE_PAL TRUE - -#include_next diff --git a/keyboards/wiredin/protagonist/pro_s/keyboard.json b/keyboards/wiredin/protagonist/pro_s/keyboard.json deleted file mode 100644 index 01b1cb3daf..0000000000 --- a/keyboards/wiredin/protagonist/pro_s/keyboard.json +++ /dev/null @@ -1,703 +0,0 @@ -{ - "manufacturer": "WiredIn", - "keyboard_name": "Protagonist PRO-S", - "maintainer": "Gondolindrim", - "backlight": { - "as_caps_lock": true, - "levels": 20, - "pin": "B1" - }, - "bootloader": "stm32-dfu", - "build": { - "lto": true - }, - "diode_direction": "COL2ROW", - "features": { - "backlight": true, - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["A3", "A2", "A1", "B14", "B12", "A10", "A8", "B4", "B3", "A15", "C15", "C14", "C13", "B8"], - "rows": ["A4", "A7", "B0", "B5", "B9", "A0", "B10"] - }, - "processor": "STM32F411", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "rgb_test": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 22 - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x5053", - "vid": "0x5749" - }, - "ws2812": { - "driver": "pwm", - "pin": "B15" - }, - "community_layouts": ["60_ansi_tsangan", "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], - "layouts": { - "LAYOUT_60_ansi_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [6, 2], "x": 2.25, "y": 3}, - {"matrix": [6, 3], "x": 3.25, "y": 3}, - {"matrix": [6, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 4}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [4, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [6, 2], "x": 2.25, "y": 3}, - {"matrix": [6, 3], "x": 3.25, "y": 3}, - {"matrix": [6, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 4}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_wkl": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [6, 2], "x": 2.25, "y": 3}, - {"matrix": [6, 3], "x": 3.25, "y": 3}, - {"matrix": [6, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [4, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [6, 2], "x": 2.25, "y": 3}, - {"matrix": [6, 3], "x": 3.25, "y": 3}, - {"matrix": [6, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [4, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [6, 2], "x": 2.25, "y": 3}, - {"matrix": [6, 3], "x": 3.25, "y": 3}, - {"matrix": [6, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [5, 1], "x": 1.5, "y": 4}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4} - ] - }, - "LAYOUT_60_iso_tsangan": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [6, 1], "x": 1.25, "y": 3}, - {"matrix": [6, 2], "x": 2.25, "y": 3}, - {"matrix": [6, 3], "x": 3.25, "y": 3}, - {"matrix": [6, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 4}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [4, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [6, 1], "x": 1.25, "y": 3}, - {"matrix": [6, 2], "x": 2.25, "y": 3}, - {"matrix": [6, 3], "x": 3.25, "y": 3}, - {"matrix": [6, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 4}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso_wkl": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [6, 1], "x": 1.25, "y": 3}, - {"matrix": [6, 2], "x": 2.25, "y": 3}, - {"matrix": [6, 3], "x": 3.25, "y": 3}, - {"matrix": [6, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_iso_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [4, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [6, 1], "x": 1.25, "y": 3}, - {"matrix": [6, 2], "x": 2.25, "y": 3}, - {"matrix": [6, 3], "x": 3.25, "y": 3}, - {"matrix": [6, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [4, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, - {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [6, 1], "x": 1.25, "y": 3}, - {"matrix": [6, 2], "x": 2.25, "y": 3}, - {"matrix": [6, 3], "x": 3.25, "y": 3}, - {"matrix": [6, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 4}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/wiredin/protagonist/pro_s/keymaps/default/keymap.c b/keyboards/wiredin/protagonist/pro_s/keymaps/default/keymap.c deleted file mode 100644 index 68bc778caa..0000000000 --- a/keyboards/wiredin/protagonist/pro_s/keymaps/default/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2020 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all(/* Base */ - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL - ), - [1] = LAYOUT_all( - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), -}; diff --git a/keyboards/wiredin/protagonist/pro_s/mcuconf.h b/keyboards/wiredin/protagonist/pro_s/mcuconf.h deleted file mode 100644 index 0b2d6e95d8..0000000000 --- a/keyboards/wiredin/protagonist/pro_s/mcuconf.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2024 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 TRUE - -#undef STM32_PWM_USE_TIM1 -#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/wiredin/protagonist/readme.md b/keyboards/wiredin/protagonist/readme.md deleted file mode 100644 index 153c3fb734..0000000000 --- a/keyboards/wiredin/protagonist/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# WiredIn Protagonist - -* Keyboard Maintainer: [Gondolindrim](https://github.com/Gondolindrim) -* Hardware Supported: proprietary PCB using STM32F411 microcontroller; -* Hardware Availability: the Protagonist entered Group Buy in february 2024 and as of april 2025 there were no more public sales. - -The Protagonist is a 60% keyboard designed by WiredIn and PCB designed by [Gondolindrim](http://github.com/Gondolindrim), who is also the firwmare maintainer. - -## How to flash - -### Enter bootloader - -The DFU state in the bootloader can be accessed in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (escape in the default keymap) and plug in the keyboard; -* **Physical reset button**: press the button on the back of the PCB and hold it for 5 seconds; -* **Keycode in layout**: Press the key mapped to `RESET`; in the default layout, that is top left key ('escape') in layer 1. - -### How to compile and flash - -The Protagonist has two PCB versions: PRO-S (solderable) and PRO-H (hotswap). After checking what PCB you own and setting up your build environment, you can compile the default keymap by using one of the options below. - - make wiredin/protagonist/:default - -Where `` can be `pro_s` or `pro_h`. And use dfu-util in the command line or through a GUI like QMK toolbox to upload the firmware to the PCB. To directly flash the PCB after it is put into a DFU state, use: - - make wiredin/protagonist/:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/wolf/frogpad/keyboard.json b/keyboards/wolf/frogpad/keyboard.json index b6ed0503a2..061b9221a7 100644 --- a/keyboards/wolf/frogpad/keyboard.json +++ b/keyboards/wolf/frogpad/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/wolf/kuku65/keyboard.json b/keyboards/wolf/kuku65/keyboard.json index 93321a2e0b..5146d77d1b 100644 --- a/keyboards/wolf/kuku65/keyboard.json +++ b/keyboards/wolf/kuku65/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "kuku65", "manufacturer": "ToastyStoemp", + "url": "", "maintainer": "ToastyStoemp", "usb": { "vid": "0x5453", diff --git a/keyboards/wolf/m60_b/keyboard.json b/keyboards/wolf/m60_b/keyboard.json index df2d0e2a2f..474974d383 100644 --- a/keyboards/wolf/m60_b/keyboard.json +++ b/keyboards/wolf/m60_b/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -132,6 +134,7 @@ "max_brightness": 120, "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0059", diff --git a/keyboards/wolf/m6_c/keyboard.json b/keyboards/wolf/m6_c/keyboard.json index c1d3d1302a..f6f2416902 100644 --- a/keyboards/wolf/m6_c/keyboard.json +++ b/keyboards/wolf/m6_c/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -80,6 +82,7 @@ ], "sleep": true }, + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0060", diff --git a/keyboards/wolf/neely65/keyboard.json b/keyboards/wolf/neely65/keyboard.json index b7e0d3b13a..9a90105b96 100644 --- a/keyboards/wolf/neely65/keyboard.json +++ b/keyboards/wolf/neely65/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["D5", "D3", "D2", "D1", "D0"] }, "processor": "atmega32u4", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0071", diff --git a/keyboards/wolf/ryujin/keyboard.json b/keyboards/wolf/ryujin/keyboard.json index f34cebb4f6..8e72cccd9e 100644 --- a/keyboards/wolf/ryujin/keyboard.json +++ b/keyboards/wolf/ryujin/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ryujin", "manufacturer": "Miroticaps", + "url": "", "maintainer": "ToastyStoemp", "usb": { "vid": "0x5453", diff --git a/keyboards/wolf/sabre/keyboard.json b/keyboards/wolf/sabre/keyboard.json index 02c298a59e..11b235efe7 100644 --- a/keyboards/wolf/sabre/keyboard.json +++ b/keyboards/wolf/sabre/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Sabre", "manufacturer": "ToastyStoemp", + "url": "", "maintainer": "ToastyStoemp", "usb": { "vid": "0x5453", diff --git a/keyboards/wolf/silhouette/keyboard.json b/keyboards/wolf/silhouette/keyboard.json index e71d0fa38c..548a89aa19 100644 --- a/keyboards/wolf/silhouette/keyboard.json +++ b/keyboards/wolf/silhouette/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -18,6 +20,7 @@ "rows": ["GP27", "GP26", "GP25", "GP13", "GP3"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0080", diff --git a/keyboards/wolf/twilight/keyboard.json b/keyboards/wolf/twilight/keyboard.json index c0bd31bbbe..ed426e85d9 100644 --- a/keyboards/wolf/twilight/keyboard.json +++ b/keyboards/wolf/twilight/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["GP28", "GP27", "GP26", "GP25", "GP13", "GP3"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0077", diff --git a/keyboards/wolf/ziggurat/keyboard.json b/keyboards/wolf/ziggurat/keyboard.json index 3f4eb94e8e..bb12d5ab2f 100644 --- a/keyboards/wolf/ziggurat/keyboard.json +++ b/keyboards/wolf/ziggurat/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true @@ -15,6 +17,7 @@ "rows": ["GP11", "GP10", "GP7", "GP6", "GP23", "GP24", "GP25", "GP26", "GP19", "GP18"] }, "processor": "RP2040", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0084", diff --git a/keyboards/wolfmarkclub/wm1/keyboard.json b/keyboards/wolfmarkclub/wm1/keyboard.json index 6b0c896266..0cea5546c8 100644 --- a/keyboards/wolfmarkclub/wm1/keyboard.json +++ b/keyboards/wolfmarkclub/wm1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "WM1", "manufacturer": "Wolfmark Club", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/woodkeys/bigseries/1key/keyboard.json b/keyboards/woodkeys/bigseries/1key/keyboard.json index c3f545e53c..2440b1974b 100644 --- a/keyboards/woodkeys/bigseries/1key/keyboard.json +++ b/keyboards/woodkeys/bigseries/1key/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BigSeries 1-Key", "manufacturer": "WoodKeys.click", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/woodkeys/bigseries/2key/keyboard.json b/keyboards/woodkeys/bigseries/2key/keyboard.json index bb4ac4db64..9c8c34914a 100644 --- a/keyboards/woodkeys/bigseries/2key/keyboard.json +++ b/keyboards/woodkeys/bigseries/2key/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BigSeries 2-Key", "manufacturer": "WoodKeys.click", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/woodkeys/bigseries/3key/keyboard.json b/keyboards/woodkeys/bigseries/3key/keyboard.json index 35f94cb27f..17870d98ad 100644 --- a/keyboards/woodkeys/bigseries/3key/keyboard.json +++ b/keyboards/woodkeys/bigseries/3key/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BigSeries 3-Key", "manufacturer": "WoodKeys.click", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/woodkeys/bigseries/4key/keyboard.json b/keyboards/woodkeys/bigseries/4key/keyboard.json index 5637e1ab5a..1e44fc2375 100644 --- a/keyboards/woodkeys/bigseries/4key/keyboard.json +++ b/keyboards/woodkeys/bigseries/4key/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BigSeries 4-Key", "manufacturer": "WoodKeys.click", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/woodkeys/meira/featherble/rules.mk b/keyboards/woodkeys/meira/featherble/rules.mk index 44ebb2c1fe..3437a35bdf 100644 --- a/keyboards/woodkeys/meira/featherble/rules.mk +++ b/keyboards/woodkeys/meira/featherble/rules.mk @@ -1,5 +1,2 @@ # Processor frequency F_CPU = 8000000 - -CUSTOM_MATRIX = yes -SRC += matrix.c diff --git a/keyboards/woodkeys/meira/info.json b/keyboards/woodkeys/meira/info.json index 0b73ffd7e6..3ad2918d8e 100644 --- a/keyboards/woodkeys/meira/info.json +++ b/keyboards/woodkeys/meira/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Meira", "manufacturer": "WoodKeys.click", + "url": "", "maintainer": "colemarkham", "usb": { "vid": "0xFEED", diff --git a/keyboards/woodkeys/meira/promicro/rules.mk b/keyboards/woodkeys/meira/promicro/rules.mk index 32a05accc5..09057bea54 100644 --- a/keyboards/woodkeys/meira/promicro/rules.mk +++ b/keyboards/woodkeys/meira/promicro/rules.mk @@ -1,6 +1,3 @@ -CUSTOM_MATRIX = yes -SRC += matrix.c - # Disable unsupported hardware RGBLIGHT_SUPPORTED = no AUDIO_SUPPORTED = no diff --git a/keyboards/woodkeys/meira/rules.mk b/keyboards/woodkeys/meira/rules.mk new file mode 100644 index 0000000000..423c14cfb7 --- /dev/null +++ b/keyboards/woodkeys/meira/rules.mk @@ -0,0 +1,4 @@ +CUSTOM_MATRIX = yes +SRC += matrix.c + +DEFAULT_FOLDER = woodkeys/meira/promicro diff --git a/keyboards/woodkeys/scarletbandana/keyboard.json b/keyboards/woodkeys/scarletbandana/keyboard.json index 439c59e38d..f6c4342efa 100644 --- a/keyboards/woodkeys/scarletbandana/keyboard.json +++ b/keyboards/woodkeys/scarletbandana/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Scarlet Bandana Version IV Mark 2", "manufacturer": "WoodKeys.click", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -31,6 +32,8 @@ "features": { "audio": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/work_louder/loop/post_rules.mk b/keyboards/work_louder/loop/post_rules.mk deleted file mode 100644 index e0822c009b..0000000000 --- a/keyboards/work_louder/loop/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -SRC += rgb_functions.c diff --git a/keyboards/work_louder/loop/rules.mk b/keyboards/work_louder/loop/rules.mk new file mode 100644 index 0000000000..53c3227972 --- /dev/null +++ b/keyboards/work_louder/loop/rules.mk @@ -0,0 +1,3 @@ +SRC += rgb_functions.c + +DEFAULT_FOLDER = work_louder/loop/rev3 diff --git a/keyboards/work_louder/micro/keyboard.json b/keyboards/work_louder/micro/keyboard.json index b8da74dd92..1b57ca82e8 100644 --- a/keyboards/work_louder/micro/keyboard.json +++ b/keyboards/work_louder/micro/keyboard.json @@ -5,6 +5,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -36,6 +38,7 @@ "hue": 213 }, "brightness_steps": 8, + "hue_steps": 8, "led_count": 8, "max_brightness": 150, "saturation_steps": 8, diff --git a/keyboards/work_louder/numpad/keyboard.json b/keyboards/work_louder/numpad/keyboard.json index fa4f3be9fe..bd615c4080 100644 --- a/keyboards/work_louder/numpad/keyboard.json +++ b/keyboards/work_louder/numpad/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -97,6 +99,7 @@ "hue": 213 }, "brightness_steps": 8, + "hue_steps": 8, "led_count": 8, "max_brightness": 120, "saturation_steps": 8, diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c index b0d89d8511..15d0f432a0 100644 --- a/keyboards/work_louder/rgb_functions.c +++ b/keyboards/work_louder/rgb_functions.c @@ -14,10 +14,10 @@ * along with this program. If not, see . */ -#ifdef RGBLIGHT_ENABLE - #include "rgblight.h" +#include "rgb_matrix.h" +#ifdef RGBLIGHT_ENABLE #undef WS2812_DI_PIN #define WS2812_DI_PIN RGBLIGHT_DI_PIN diff --git a/keyboards/work_louder/work_board/post_rules.mk b/keyboards/work_louder/work_board/post_rules.mk deleted file mode 100644 index e0822c009b..0000000000 --- a/keyboards/work_louder/work_board/post_rules.mk +++ /dev/null @@ -1 +0,0 @@ -SRC += rgb_functions.c diff --git a/keyboards/work_louder/work_board/rules.mk b/keyboards/work_louder/work_board/rules.mk new file mode 100644 index 0000000000..a4c45393c0 --- /dev/null +++ b/keyboards/work_louder/work_board/rules.mk @@ -0,0 +1,3 @@ +SRC += rgb_functions.c + +DEFAULT_FOLDER = work_louder/work_board/rev3 diff --git a/keyboards/wsk/alpha9/keyboard.json b/keyboards/wsk/alpha9/keyboard.json index ff9e26b0d2..41b95130c6 100644 --- a/keyboards/wsk/alpha9/keyboard.json +++ b/keyboards/wsk/alpha9/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Alpha9", "manufacturer": "Worldspawn00", + "url": "", "maintainer": "Worldspawn00", "usb": { "vid": "0x5753", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -49,7 +52,8 @@ "ws2812": { "pin": "F4" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/wsk/g4m3ralpha/keyboard.json b/keyboards/wsk/g4m3ralpha/keyboard.json index f008a77a26..b5cdb7ce10 100644 --- a/keyboards/wsk/g4m3ralpha/keyboard.json +++ b/keyboards/wsk/g4m3ralpha/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "G4M3Ralpha", "manufacturer": "Worldspawn00", + "url": "", "maintainer": "Worldspawn00", "usb": { "vid": "0x5753", @@ -34,6 +35,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -50,7 +53,8 @@ "rows": ["D4", "B4", "B5", "D1"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/wsk/houndstooth/keyboard.json b/keyboards/wsk/houndstooth/keyboard.json index d7596b151a..2be2b36968 100644 --- a/keyboards/wsk/houndstooth/keyboard.json +++ b/keyboards/wsk/houndstooth/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/wsk/jerkin/keyboard.json b/keyboards/wsk/jerkin/keyboard.json index 4ff9701f6e..43fc8d107d 100644 --- a/keyboards/wsk/jerkin/keyboard.json +++ b/keyboards/wsk/jerkin/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true @@ -25,7 +27,8 @@ "rows": ["B3", "B4", "B5"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/wsk/kodachi50/keyboard.json b/keyboards/wsk/kodachi50/keyboard.json index d37eb965e2..3f5843fd1a 100644 --- a/keyboards/wsk/kodachi50/keyboard.json +++ b/keyboards/wsk/kodachi50/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -46,7 +48,8 @@ "rows": ["D2", "B5", "B6", "B2", "B3", "B1", "F7", "F6"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/wsk/pain27/keyboard.json b/keyboards/wsk/pain27/keyboard.json index 43a9ce5f59..a01e887e99 100644 --- a/keyboards/wsk/pain27/keyboard.json +++ b/keyboards/wsk/pain27/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -46,7 +48,8 @@ "rows": ["F4", "F5", "D0"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/wsk/sl40/keyboard.json b/keyboards/wsk/sl40/keyboard.json index 9c6752b98c..aba29855dd 100644 --- a/keyboards/wsk/sl40/keyboard.json +++ b/keyboards/wsk/sl40/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/wsk/tkl30/keyboard.json b/keyboards/wsk/tkl30/keyboard.json index 4a767c1da8..909f72d4cf 100644 --- a/keyboards/wsk/tkl30/keyboard.json +++ b/keyboards/wsk/tkl30/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/wuque/creek70/keyboard.json b/keyboards/wuque/creek70/keyboard.json index 23207bf2e9..e7227ace8e 100644 --- a/keyboards/wuque/creek70/keyboard.json +++ b/keyboards/wuque/creek70/keyboard.json @@ -7,6 +7,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/wuque/ikki68/keyboard.json b/keyboards/wuque/ikki68/keyboard.json index a8ec08fd61..d666b0b5de 100644 --- a/keyboards/wuque/ikki68/keyboard.json +++ b/keyboards/wuque/ikki68/keyboard.json @@ -36,6 +36,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/wuque/mammoth20x/keyboard.json b/keyboards/wuque/mammoth20x/keyboard.json index 0626a4d4a9..6c8e252541 100644 --- a/keyboards/wuque/mammoth20x/keyboard.json +++ b/keyboards/wuque/mammoth20x/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/wuque/mammoth75x/keyboard.json b/keyboards/wuque/mammoth75x/keyboard.json index f276715960..1e0028dfe9 100644 --- a/keyboards/wuque/mammoth75x/keyboard.json +++ b/keyboards/wuque/mammoth75x/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "encoder": true, "extrakey": true, diff --git a/keyboards/wuque/nemui65/keyboard.json b/keyboards/wuque/nemui65/keyboard.json index 49c58aea06..239fe991bb 100644 --- a/keyboards/wuque/nemui65/keyboard.json +++ b/keyboards/wuque/nemui65/keyboard.json @@ -13,6 +13,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/wuque/promise87/ansi/keyboard.json b/keyboards/wuque/promise87/ansi/keyboard.json index e4a212a3d8..2c7008b646 100644 --- a/keyboards/wuque/promise87/ansi/keyboard.json +++ b/keyboards/wuque/promise87/ansi/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/wuque/promise87/wkl/keyboard.json b/keyboards/wuque/promise87/wkl/keyboard.json index b9e4396f2d..4849b238e1 100644 --- a/keyboards/wuque/promise87/wkl/keyboard.json +++ b/keyboards/wuque/promise87/wkl/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/wuque/tata80/wk/keyboard.json b/keyboards/wuque/tata80/wk/keyboard.json index 5b5b1fe50e..957a635dcb 100644 --- a/keyboards/wuque/tata80/wk/keyboard.json +++ b/keyboards/wuque/tata80/wk/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/wuque/tata80/wkl/keyboard.json b/keyboards/wuque/tata80/wkl/keyboard.json index d8633e99f9..4613f97f67 100644 --- a/keyboards/wuque/tata80/wkl/keyboard.json +++ b/keyboards/wuque/tata80/wkl/keyboard.json @@ -11,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false diff --git a/keyboards/x16/keyboard.json b/keyboards/x16/keyboard.json index 32c6581237..4d407e5332 100644 --- a/keyboards/x16/keyboard.json +++ b/keyboards/x16/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "x16", "manufacturer": "yinxianwei", + "url": "", "maintainer": "yinxianwei", "usb": { "vid": "0x4B50", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/x16/readme.md b/keyboards/x16/readme.md index cfe83905d7..6434af99c7 100644 --- a/keyboards/x16/readme.md +++ b/keyboards/x16/readme.md @@ -3,6 +3,7 @@ A 16 key macropad, with USB C * Keyboard Maintainer: QMK Community +* Hardware Supported: The PCBs, controllers supported * Hardware Availability: The x16 was discontinued by [x16](https://yinxianwei.github.io/x16/) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/xbows/knight/keyboard.json b/keyboards/xbows/knight/keyboard.json index d7f0559370..b675ee1946 100644 --- a/keyboards/xbows/knight/keyboard.json +++ b/keyboards/xbows/knight/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KNIGHT", "manufacturer": "X-BOWS", + "url": "", "maintainer": "xbows-qmk", "usb": { "vid": "0x5842", @@ -34,6 +35,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/xbows/knight_plus/keyboard.json b/keyboards/xbows/knight_plus/keyboard.json index 674cead21f..0d1600c614 100644 --- a/keyboards/xbows/knight_plus/keyboard.json +++ b/keyboards/xbows/knight_plus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KNIGHT_PLUS", "manufacturer": "X-BOWS", + "url": "", "maintainer": "xbows-qmk", "usb": { "vid": "0x5842", @@ -34,6 +35,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/xbows/nature/keyboard.json b/keyboards/xbows/nature/keyboard.json index 46080476ea..6e28c9de30 100644 --- a/keyboards/xbows/nature/keyboard.json +++ b/keyboards/xbows/nature/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NATURE", "manufacturer": "X-BOWS", + "url": "", "maintainer": "xbows-qmk", "usb": { "vid": "0x5842", @@ -34,6 +35,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/xbows/numpad/keyboard.json b/keyboards/xbows/numpad/keyboard.json index e2e76185ab..070cc3a288 100644 --- a/keyboards/xbows/numpad/keyboard.json +++ b/keyboards/xbows/numpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "NUMPAD", "manufacturer": "X-BOWS", + "url": "", "maintainer": "xbows-qmk", "usb": { "vid": "0x5842", @@ -34,6 +35,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/xbows/ranger/keyboard.json b/keyboards/xbows/ranger/keyboard.json index 60b7f5b892..945eaafcba 100644 --- a/keyboards/xbows/ranger/keyboard.json +++ b/keyboards/xbows/ranger/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ranger", "manufacturer": "X-BOWS", + "url": "", "maintainer": "xbows-qmk", "usb": { "vid": "0x5842", @@ -34,6 +35,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/xbows/woody/keyboard.json b/keyboards/xbows/woody/keyboard.json index da403bacaf..538354507e 100644 --- a/keyboards/xbows/woody/keyboard.json +++ b/keyboards/xbows/woody/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "WOO-DY", "manufacturer": "X-BOWS", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/xelus/akis/keyboard.json b/keyboards/xelus/akis/keyboard.json index 25b4f958d7..da072b6379 100644 --- a/keyboards/xelus/akis/keyboard.json +++ b/keyboards/xelus/akis/keyboard.json @@ -34,6 +34,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/xelus/dawn60/info.json b/keyboards/xelus/dawn60/info.json index 2eca36e46c..2c71fef898 100644 --- a/keyboards/xelus/dawn60/info.json +++ b/keyboards/xelus/dawn60/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dawn60", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/dharma/keyboard.json b/keyboards/xelus/dharma/keyboard.json index adedaedba4..8d6b746527 100644 --- a/keyboards/xelus/dharma/keyboard.json +++ b/keyboards/xelus/dharma/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dharma", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", @@ -10,6 +11,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/xelus/la_plus/keyboard.json b/keyboards/xelus/la_plus/keyboard.json index 78e16d59dc..902364471f 100644 --- a/keyboards/xelus/la_plus/keyboard.json +++ b/keyboards/xelus/la_plus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MechaMaker La+", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/la_plus/rgb_matrix_kb.inc b/keyboards/xelus/la_plus/rgb_matrix_kb.inc index 93d52ec9d0..88dd2ab0a2 100644 --- a/keyboards/xelus/la_plus/rgb_matrix_kb.inc +++ b/keyboards/xelus/la_plus/rgb_matrix_kb.inc @@ -31,7 +31,7 @@ static void startup_animation_setleds(effect_params_t* params, bool dots) { } else if (num == 0 || num == 1 || num == 2) { return; } else if (num >= 22) { - eeconfig_read_rgb_matrix(&rgb_matrix_config); + eeprom_read_block(&rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_matrix_config)); rgb_matrix_mode_noeeprom(rgb_matrix_config.mode); return; } diff --git a/keyboards/xelus/ninjin/keyboard.json b/keyboards/xelus/ninjin/keyboard.json index cf601d8a80..2e7b1640df 100644 --- a/keyboards/xelus/ninjin/keyboard.json +++ b/keyboards/xelus/ninjin/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ninjin", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/pachi/mini_32u4/keyboard.json b/keyboards/xelus/pachi/mini_32u4/keyboard.json index 2156e10101..590b32de6b 100644 --- a/keyboards/xelus/pachi/mini_32u4/keyboard.json +++ b/keyboards/xelus/pachi/mini_32u4/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pachi Mini", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/xelus/pachi/rev1/keyboard.json b/keyboards/xelus/pachi/rev1/keyboard.json index 84e0fee39a..98b59c8641 100644 --- a/keyboards/xelus/pachi/rev1/keyboard.json +++ b/keyboards/xelus/pachi/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pachi Rev 1", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/xelus/pachi/rgb/info.json b/keyboards/xelus/pachi/rgb/info.json index 20c895f4bc..9bf3ca04ef 100644 --- a/keyboards/xelus/pachi/rgb/info.json +++ b/keyboards/xelus/pachi/rgb/info.json @@ -4,6 +4,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/xelus/pachi/rgb/rev1/keyboard.json b/keyboards/xelus/pachi/rgb/rev1/keyboard.json index a27bcae0fc..fe88e695be 100644 --- a/keyboards/xelus/pachi/rgb/rev1/keyboard.json +++ b/keyboards/xelus/pachi/rgb/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pachi RGB Rev 1", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/pachi/rgb/rev2/keyboard.json b/keyboards/xelus/pachi/rgb/rev2/keyboard.json index 8d97dfe49b..ea712b78d8 100644 --- a/keyboards/xelus/pachi/rgb/rev2/keyboard.json +++ b/keyboards/xelus/pachi/rgb/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Pachi RGB Rev 2", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/rs108/board.h b/keyboards/xelus/rs108/board.h deleted file mode 100644 index cce4af40f9..0000000000 --- a/keyboards/xelus/rs108/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2022 Harrison Chan (Xelus) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/xelus/rs108/config.h b/keyboards/xelus/rs108/config.h index 883ed2b9aa..3d3bc49228 100644 --- a/keyboards/xelus/rs108/config.h +++ b/keyboards/xelus/rs108/config.h @@ -28,3 +28,6 @@ // Hardware Defines #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE + +// HSE CLK +#define STM32_HSECLK 16000000 diff --git a/keyboards/xelus/rs108/keyboard.json b/keyboards/xelus/rs108/keyboard.json index c524ae09ed..12ffbb3fdc 100644 --- a/keyboards/xelus/rs108/keyboard.json +++ b/keyboards/xelus/rs108/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RS108", "manufacturer": "Xelus", + "url": "", "maintainer": "xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/rs60/info.json b/keyboards/xelus/rs60/info.json index a62157826e..c36d968d37 100644 --- a/keyboards/xelus/rs60/info.json +++ b/keyboards/xelus/rs60/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "RS60", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/rs60/rev1/keyboard.json b/keyboards/xelus/rs60/rev1/keyboard.json index 4f894056f6..f8b3673431 100644 --- a/keyboards/xelus/rs60/rev1/keyboard.json +++ b/keyboards/xelus/rs60/rev1/keyboard.json @@ -5,6 +5,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/xelus/rs60/rev2_0/board.h b/keyboards/xelus/rs60/rev2_0/board.h deleted file mode 100644 index cce4af40f9..0000000000 --- a/keyboards/xelus/rs60/rev2_0/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2022 Harrison Chan (Xelus) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/xelus/rs60/rev2_0/config.h b/keyboards/xelus/rs60/rev2_0/config.h index 883ed2b9aa..3d3bc49228 100644 --- a/keyboards/xelus/rs60/rev2_0/config.h +++ b/keyboards/xelus/rs60/rev2_0/config.h @@ -28,3 +28,6 @@ // Hardware Defines #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE + +// HSE CLK +#define STM32_HSECLK 16000000 diff --git a/keyboards/xelus/rs60/rev2_0/keyboard.json b/keyboards/xelus/rs60/rev2_0/keyboard.json index e5506e0040..754225b17c 100644 --- a/keyboards/xelus/rs60/rev2_0/keyboard.json +++ b/keyboards/xelus/rs60/rev2_0/keyboard.json @@ -8,6 +8,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/xelus/rs60/rev2_1/keyboard.json b/keyboards/xelus/rs60/rev2_1/keyboard.json index c116abc30b..12f6e42823 100644 --- a/keyboards/xelus/rs60/rev2_1/keyboard.json +++ b/keyboards/xelus/rs60/rev2_1/keyboard.json @@ -8,6 +8,7 @@ }, "features": { "bootmagic": true, + "command": false, "console": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/xelus/snap96/keyboard.json b/keyboards/xelus/snap96/keyboard.json index eb0538eff4..0be9968c5a 100644 --- a/keyboards/xelus/snap96/keyboard.json +++ b/keyboards/xelus/snap96/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Snap96", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/xelus/trinityxttkl/keyboard.json b/keyboards/xelus/trinityxttkl/keyboard.json index c650626e4b..eea94c5979 100644 --- a/keyboards/xelus/trinityxttkl/keyboard.json +++ b/keyboards/xelus/trinityxttkl/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Trinity XT TKL", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/valor/rev1/keyboard.json b/keyboards/xelus/valor/rev1/keyboard.json index cb69b0eef2..5b5695f34b 100644 --- a/keyboards/xelus/valor/rev1/keyboard.json +++ b/keyboards/xelus/valor/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Valor Rev1", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", @@ -31,6 +32,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/xelus/valor/rev2/keyboard.json b/keyboards/xelus/valor/rev2/keyboard.json index 451eeb99ff..21de5fb4a2 100644 --- a/keyboards/xelus/valor/rev2/keyboard.json +++ b/keyboards/xelus/valor/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Valor Rev2", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/valor/rev3/keyboard.json b/keyboards/xelus/valor/rev3/keyboard.json deleted file mode 100644 index 002cdeff5c..0000000000 --- a/keyboards/xelus/valor/rev3/keyboard.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "manufacturer": "Xelus", - "keyboard_name": "Valor Rev3", - "maintainer": "Xelus22", - "bootloader": "atmel-dfu", - "build": { - "lto": true - }, - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], - "rows": ["B1", "B2", "C7", "C6", "B6"] - }, - "processor": "atmega32u4", - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "rgblight": { - "default": { - "animation": "rainbow_swirl" - }, - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "rgb_test": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 32, - "max_brightness": 200, - "saturation_steps": 8 - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x5652", - "vid": "0x5845" - }, - "ws2812": { - "pin": "B0" - }, - "community_layouts": ["alice_split_bs"], - "layouts": { - "LAYOUT_alice_split_bs": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.25, "y": 0}, - {"matrix": [0, 2], "x": 2.25, "y": 0}, - {"matrix": [0, 3], "x": 3.25, "y": 0}, - {"matrix": [0, 4], "x": 4.25, "y": 0}, - {"matrix": [0, 5], "x": 5.25, "y": 0}, - {"matrix": [0, 6], "x": 6.25, "y": 0}, - {"matrix": [0, 7], "x": 7.25, "y": 0}, - {"matrix": [0, 8], "x": 10.25, "y": 0}, - {"matrix": [0, 9], "x": 11.25, "y": 0}, - {"matrix": [0, 10], "x": 12.25, "y": 0}, - {"matrix": [0, 11], "x": 13.25, "y": 0}, - {"matrix": [0, 12], "x": 14.25, "y": 0}, - {"matrix": [0, 13], "x": 15.25, "y": 0}, - {"matrix": [0, 14], "x": 16.25, "y": 0}, - {"matrix": [2, 14], "x": 17.25, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, - {"matrix": [1, 2], "x": 2.75, "y": 1}, - {"matrix": [1, 3], "x": 3.75, "y": 1}, - {"matrix": [1, 4], "x": 4.75, "y": 1}, - {"matrix": [1, 5], "x": 5.75, "y": 1}, - {"matrix": [1, 6], "x": 6.75, "y": 1}, - {"matrix": [1, 7], "x": 9.75, "y": 1}, - {"matrix": [1, 8], "x": 10.75, "y": 1}, - {"matrix": [1, 9], "x": 11.75, "y": 1}, - {"matrix": [1, 10], "x": 12.75, "y": 1}, - {"matrix": [1, 11], "x": 13.75, "y": 1}, - {"matrix": [1, 12], "x": 14.75, "y": 1}, - {"matrix": [1, 13], "x": 15.75, "y": 1}, - {"matrix": [1, 14], "x": 16.75, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 3, "y": 2}, - {"matrix": [2, 3], "x": 4, "y": 2}, - {"matrix": [2, 4], "x": 5, "y": 2}, - {"matrix": [2, 5], "x": 6, "y": 2}, - {"matrix": [2, 6], "x": 7, "y": 2}, - {"matrix": [2, 7], "x": 10, "y": 2}, - {"matrix": [2, 8], "x": 11, "y": 2}, - {"matrix": [2, 9], "x": 12, "y": 2}, - {"matrix": [2, 10], "x": 13, "y": 2}, - {"matrix": [2, 11], "x": 14, "y": 2}, - {"matrix": [2, 12], "x": 15, "y": 2}, - {"matrix": [2, 13], "x": 16, "y": 2, "w": 2.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 3.5, "y": 3}, - {"matrix": [3, 3], "x": 4.5, "y": 3}, - {"matrix": [3, 4], "x": 5.5, "y": 3}, - {"matrix": [3, 5], "x": 6.5, "y": 3}, - {"matrix": [3, 6], "x": 7.5, "y": 3}, - {"matrix": [3, 7], "x": 9.5, "y": 3}, - {"matrix": [3, 8], "x": 10.5, "y": 3}, - {"matrix": [3, 9], "x": 11.5, "y": 3}, - {"matrix": [3, 10], "x": 12.5, "y": 3}, - {"matrix": [3, 11], "x": 13.5, "y": 3}, - {"matrix": [3, 12], "x": 14.5, "y": 3}, - {"matrix": [3, 13], "x": 15.5, "y": 3, "w": 1.75}, - {"matrix": [3, 14], "x": 17.25, "y": 3}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, - {"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.5}, - {"matrix": [4, 5], "x": 5.75, "y": 4, "w": 2}, - {"matrix": [4, 6], "x": 7.75, "y": 4, "w": 1.25}, - {"matrix": [4, 8], "x": 9.5, "y": 4, "w": 2.75}, - {"matrix": [4, 10], "x": 12.25, "y": 4, "w": 1.5}, - {"matrix": [4, 13], "x": 16.75, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/xelus/valor/rev3/keymaps/default/keymap.c b/keyboards/xelus/valor/rev3/keymaps/default/keymap.c deleted file mode 100644 index f663bc9589..0000000000 --- a/keyboards/xelus/valor/rev3/keymaps/default/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2023 Harrison Chan (Xelus) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_alice_split_bs( - KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, - KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI, - KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL - ), - - [1] = LAYOUT_alice_split_bs( - UG_TOGG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - UG_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/xelus/valor/rev3/readme.md b/keyboards/xelus/valor/rev3/readme.md deleted file mode 100644 index 63b938003e..0000000000 --- a/keyboards/xelus/valor/rev3/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# Valor Rev 3 - -An Alice replacement keyboard PCB. - -* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) -* Hardware Supported: Valor Rev 3 -* Hardware Availability: Custom keyboard group buys - -Make example for this keyboard (after setting up your build environment): - - make xelus/valor/rev3:default - -Flashing example for this keyboard: - - make xelus/valor/rev3:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top left key and plug in the keyboard -* **Physical Reset**: The AVR ISP is exposed. Short the RST pad with GND. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` diff --git a/keyboards/xelus/valor_frl_tkl/info.json b/keyboards/xelus/valor_frl_tkl/info.json index 9c909634f7..a0b7a70a89 100644 --- a/keyboards/xelus/valor_frl_tkl/info.json +++ b/keyboards/xelus/valor_frl_tkl/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/board.h b/keyboards/xelus/valor_frl_tkl/rev2_0/board.h deleted file mode 100644 index cce4af40f9..0000000000 --- a/keyboards/xelus/valor_frl_tkl/rev2_0/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2022 Harrison Chan (Xelus) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/tests/keycode_string/config.h b/keyboards/xelus/valor_frl_tkl/rev2_0/config.h similarity index 90% rename from tests/keycode_string/config.h rename to keyboards/xelus/valor_frl_tkl/rev2_0/config.h index 7fc76d7c2e..b085b99d88 100644 --- a/tests/keycode_string/config.h +++ b/keyboards/xelus/valor_frl_tkl/rev2_0/config.h @@ -1,4 +1,4 @@ -/* Copyright 2017 Fred Sundvik +/* Copyright 2022 Harrison Chan (Xelus) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,4 +16,4 @@ #pragma once -#include "test_common.h" +#define STM32_HSECLK 16000000 diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/keyboard.json b/keyboards/xelus/valor_frl_tkl/rev2_0/keyboard.json index 17e3191da0..36db1d4398 100644 --- a/keyboards/xelus/valor_frl_tkl/rev2_0/keyboard.json +++ b/keyboards/xelus/valor_frl_tkl/rev2_0/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/board.h b/keyboards/xelus/valor_frl_tkl/rev2_1/board.h deleted file mode 100644 index cce4af40f9..0000000000 --- a/keyboards/xelus/valor_frl_tkl/rev2_1/board.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2022 Harrison Chan (Xelus) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/kinesis/kint32/config.h b/keyboards/xelus/valor_frl_tkl/rev2_1/config.h similarity index 90% rename from keyboards/kinesis/kint32/config.h rename to keyboards/xelus/valor_frl_tkl/rev2_1/config.h index a794b4d8b0..b085b99d88 100644 --- a/keyboards/kinesis/kint32/config.h +++ b/keyboards/xelus/valor_frl_tkl/rev2_1/config.h @@ -1,4 +1,4 @@ -/* Copyright 2020 QMK +/* Copyright 2022 Harrison Chan (Xelus) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,4 +16,4 @@ #pragma once -#define EEPROM_SIZE 2048 +#define STM32_HSECLK 16000000 diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/keyboard.json b/keyboards/xelus/valor_frl_tkl/rev2_1/keyboard.json index 378511474d..376d73a429 100644 --- a/keyboards/xelus/valor_frl_tkl/rev2_1/keyboard.json +++ b/keyboards/xelus/valor_frl_tkl/rev2_1/keyboard.json @@ -8,6 +8,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/xelus/xs108/keyboard.json b/keyboards/xelus/xs108/keyboard.json index d4a022ce7f..14d442d197 100644 --- a/keyboards/xelus/xs108/keyboard.json +++ b/keyboards/xelus/xs108/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XS108", "manufacturer": "Xelus", + "url": "", "maintainer": "xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/xs60/hotswap/keyboard.json b/keyboards/xelus/xs60/hotswap/keyboard.json index 3cceb144ae..45a5e57542 100644 --- a/keyboards/xelus/xs60/hotswap/keyboard.json +++ b/keyboards/xelus/xs60/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XS60 Hotswap", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/xs60/soldered/keyboard.json b/keyboards/xelus/xs60/soldered/keyboard.json index 8dace88ce8..41af87ba7c 100644 --- a/keyboards/xelus/xs60/soldered/keyboard.json +++ b/keyboards/xelus/xs60/soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XS60 Soldered", "manufacturer": "Xelus", + "url": "", "maintainer": "Xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xenon/keyboard.json b/keyboards/xenon/keyboard.json index 72d2a5b0d8..0229f73ebd 100644 --- a/keyboards/xenon/keyboard.json +++ b/keyboards/xenon/keyboard.json @@ -39,7 +39,8 @@ "pin": "D2" } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/xiaomi/mk02/keyboard.json b/keyboards/xiaomi/mk02/keyboard.json index 60326a335b..28d5d8a17d 100644 --- a/keyboards/xiaomi/mk02/keyboard.json +++ b/keyboards/xiaomi/mk02/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MK02", "manufacturer": "Xiaomi", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/xiudi/xd004/v1/keyboard.json b/keyboards/xiudi/xd004/v1/keyboard.json index 7dc5c9fffc..a6211edfec 100644 --- a/keyboards/xiudi/xd004/v1/keyboard.json +++ b/keyboards/xiudi/xd004/v1/keyboard.json @@ -12,6 +12,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/xiudi/xd60/rev2/keyboard.json b/keyboards/xiudi/xd60/rev2/keyboard.json index f4c550c806..8e03fdba20 100644 --- a/keyboards/xiudi/xd60/rev2/keyboard.json +++ b/keyboards/xiudi/xd60/rev2/keyboard.json @@ -6,6 +6,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/xiudi/xd60/rev3/keyboard.json b/keyboards/xiudi/xd60/rev3/keyboard.json index 1320ef80f4..09af3681af 100644 --- a/keyboards/xiudi/xd60/rev3/keyboard.json +++ b/keyboards/xiudi/xd60/rev3/keyboard.json @@ -6,6 +6,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/xiudi/xd68/keyboard.json b/keyboards/xiudi/xd68/keyboard.json index 828aa1888d..620c0b5963 100644 --- a/keyboards/xiudi/xd68/keyboard.json +++ b/keyboards/xiudi/xd68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XD68", "manufacturer": "xiudi", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7844", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/xiudi/xd75/keyboard.json b/keyboards/xiudi/xd75/keyboard.json index 4644c9f826..df1ec33577 100644 --- a/keyboards/xiudi/xd75/keyboard.json +++ b/keyboards/xiudi/xd75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XD75", "manufacturer": "xiudi", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7844", @@ -10,6 +11,7 @@ "features": { "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/xiudi/xd84/keyboard.json b/keyboards/xiudi/xd84/keyboard.json index 7c9fc32865..0411869633 100644 --- a/keyboards/xiudi/xd84/keyboard.json +++ b/keyboards/xiudi/xd84/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XD84", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7844", diff --git a/keyboards/xiudi/xd84pro/keyboard.json b/keyboards/xiudi/xd84pro/keyboard.json index 54c45774dd..5388d8f7c2 100644 --- a/keyboards/xiudi/xd84pro/keyboard.json +++ b/keyboards/xiudi/xd84pro/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XD84 Pro", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7844", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/xiudi/xd96/keyboard.json b/keyboards/xiudi/xd96/keyboard.json index cae3f223b0..df1fd1cfd4 100644 --- a/keyboards/xiudi/xd96/keyboard.json +++ b/keyboards/xiudi/xd96/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XD96", "manufacturer": "KPrepublic", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7844", diff --git a/keyboards/xmmx/keyboard.json b/keyboards/xmmx/keyboard.json index d75b6f21a1..2e6813520c 100644 --- a/keyboards/xmmx/keyboard.json +++ b/keyboards/xmmx/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XMMX", "manufacturer": "farmakon", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/xw60/keyboard.json b/keyboards/xw60/keyboard.json index 5c428f4f5b..3bd11e21c1 100644 --- a/keyboards/xw60/keyboard.json +++ b/keyboards/xw60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XW60", "manufacturer": "Drclick", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/yampad/keyboard.json b/keyboards/yampad/keyboard.json index becdc2204d..76efef72ad 100644 --- a/keyboards/yampad/keyboard.json +++ b/keyboards/yampad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Yampad", "manufacturer": "Mattia Dal Ben", + "url": "", "maintainer": "mattdibi", "usb": { "vid": "0x5950", @@ -40,7 +41,8 @@ "rows": ["C6", "D7", "E6", "B4", "B5"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "debounce": 2, "layouts": { "LAYOUT": { diff --git a/keyboards/yandrstudio/nz64/keyboard.json b/keyboards/yandrstudio/nz64/keyboard.json index 8c36b73c1e..8169449a10 100644 --- a/keyboards/yandrstudio/nz64/keyboard.json +++ b/keyboards/yandrstudio/nz64/keyboard.json @@ -64,6 +64,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/yandrstudio/transition80/keyboard.json b/keyboards/yandrstudio/transition80/keyboard.json index e0a9eb7588..7f9364a18f 100644 --- a/keyboards/yandrstudio/transition80/keyboard.json +++ b/keyboards/yandrstudio/transition80/keyboard.json @@ -22,7 +22,8 @@ }, "indicators": { "caps_lock": "A15", - "scroll_lock": "B14" + "scroll_lock": "B14", + "on_state": 1 }, "layout_aliases": { "LAYOUT": "LAYOUT_all" diff --git a/keyboards/yandrstudio/zhou65/keyboard.json b/keyboards/yandrstudio/zhou65/keyboard.json index 6e65bacea2..f15cdfb0a2 100644 --- a/keyboards/yandrstudio/zhou65/keyboard.json +++ b/keyboards/yandrstudio/zhou65/keyboard.json @@ -7,6 +7,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/yanghu/unicorne/rules.mk b/keyboards/yanghu/unicorne/rules.mk new file mode 100644 index 0000000000..96852c8abf --- /dev/null +++ b/keyboards/yanghu/unicorne/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = yanghu/unicorne/f411 diff --git a/keyboards/yatara/drink_me/keyboard.json b/keyboards/yatara/drink_me/keyboard.json index c297867709..970aa4f5d3 100644 --- a/keyboards/yatara/drink_me/keyboard.json +++ b/keyboards/yatara/drink_me/keyboard.json @@ -12,6 +12,8 @@ "bootloader": "atmel-dfu", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false diff --git a/keyboards/ydkb/chili/keyboard.json b/keyboards/ydkb/chili/keyboard.json index c9d4540f64..92552d96a3 100644 --- a/keyboards/ydkb/chili/keyboard.json +++ b/keyboards/ydkb/chili/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Chili", "manufacturer": "YDKB", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5945", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ydkb/just60/keyboard.json b/keyboards/ydkb/just60/keyboard.json index f8bd5a3503..586ea80f21 100644 --- a/keyboards/ydkb/just60/keyboard.json +++ b/keyboards/ydkb/just60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Just60", "manufacturer": "YDKB", + "url": "", "maintainer": "thinxer", "usb": { "vid": "0xFEED", diff --git a/keyboards/ydkb/yd68/keyboard.json b/keyboards/ydkb/yd68/keyboard.json index 6b28f1b0bf..a3542e72c2 100644 --- a/keyboards/ydkb/yd68/keyboard.json +++ b/keyboards/ydkb/yd68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "YD68v2", "manufacturer": "YANG", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/ydkb/ydpm40/keyboard.json b/keyboards/ydkb/ydpm40/keyboard.json index 1f750060ac..b0916f297c 100644 --- a/keyboards/ydkb/ydpm40/keyboard.json +++ b/keyboards/ydkb/ydpm40/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false @@ -15,6 +17,7 @@ "rows": ["D4", "D5", "D6", "D7"] }, "processor": "atmega328p", + "url": "", "usb": { "device_version": "1.0.0", "pid": "0x0240", diff --git a/keyboards/yeehaw/keyboard.json b/keyboards/yeehaw/keyboard.json index 86db217fe1..aa20239c9d 100644 --- a/keyboards/yeehaw/keyboard.json +++ b/keyboards/yeehaw/keyboard.json @@ -34,9 +34,12 @@ "ws2812": { "pin": "B2" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/ymdk/bface/keyboard.json b/keyboards/ymdk/bface/keyboard.json index 42c5ef5461..8a0025c01a 100644 --- a/keyboards/ymdk/bface/keyboard.json +++ b/keyboards/ymdk/bface/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "B.face", "manufacturer": "YMDK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x594D", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": false, "command": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/ymdk/id75/f103/board.h b/keyboards/ymdk/id75/board.h similarity index 100% rename from keyboards/ymdk/id75/f103/board.h rename to keyboards/ymdk/id75/board.h diff --git a/keyboards/ymdk/id75/f103/config.h b/keyboards/ymdk/id75/config.h similarity index 100% rename from keyboards/ymdk/id75/f103/config.h rename to keyboards/ymdk/id75/config.h diff --git a/keyboards/ymdk/id75/f103/halconf.h b/keyboards/ymdk/id75/f103/halconf.h deleted file mode 100644 index 612ce4fc4a..0000000000 --- a/keyboards/ymdk/id75/f103/halconf.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/ymdk/id75/f103/keyboard.json b/keyboards/ymdk/id75/f103/keyboard.json deleted file mode 100644 index 07088ee7cc..0000000000 --- a/keyboards/ymdk/id75/f103/keyboard.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "bootloader": "uf2boot", - "matrix_pins": { - "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "A5", "A6", "A4", "A3", "A2", "A1", "A0", "A15"], - "rows": ["B2", "B1", "B0", "A7", "B10"] - }, - "processor": "STM32F103", - "ws2812": { - "driver": "pwm", - "pin": "B9" - } -} diff --git a/keyboards/typek/halconf.h b/keyboards/ymdk/id75/halconf.h similarity index 100% rename from keyboards/typek/halconf.h rename to keyboards/ymdk/id75/halconf.h diff --git a/keyboards/ymdk/id75/info.json b/keyboards/ymdk/id75/keyboard.json similarity index 56% rename from keyboards/ymdk/id75/info.json rename to keyboards/ymdk/id75/keyboard.json index e409743abb..db0c108542 100644 --- a/keyboards/ymdk/id75/info.json +++ b/keyboards/ymdk/id75/keyboard.json @@ -2,7 +2,7 @@ "manufacturer": "YMDK", "keyboard_name": "Idobao x YMDK ID75", "maintainer": "qmk", - "bootloader_instructions": "Press the button on the back of the PCB twice in quick succession.", + "bootloader": "uf2boot", "diode_direction": "ROW2COL", "features": { "bootmagic": true, @@ -11,143 +11,152 @@ "nkro": true, "rgb_matrix": true }, + "matrix_pins": { + "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "A5", "A6", "A4", "A3", "A2", "A1", "A0", "A15"], + "rows": ["B2", "B1", "B0", "A7", "B10"] + }, + "processor": "STM32F103", + "ws2812": { + "driver": "pwm", + "pin": "B9" + }, "rgb_matrix": { "animations": { "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, "band_pinwheel_sat": true, "band_pinwheel_val": true, - "band_sat": true, "band_spiral_sat": true, "band_spiral_val": true, - "band_val": true, - "breathing": true, "cycle_all": true, "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, "cycle_out_in": true, "cycle_out_in_dual": true, "cycle_pinwheel": true, "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, "dual_beacon": true, - "gradient_left_right": true, - "gradient_up_down": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, "hue_breathing": true, "hue_pendulum": true, "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, + "pixel_rain": true, "pixel_flow": true, "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_multisplash": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, "solid_reactive_cross": true, "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, + "solid_reactive_multinexus": true, "splash": true, - "typing_heatmap": true + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true }, "driver": "ws2812", "layout": [ - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 208, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 192, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 176, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 160, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 144, "y": 64, "flags": 4}, - {"matrix": [4, 8], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 7], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 4], "x": 64, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 32, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 208, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 38, "y": 64, "flags": 2}, - {"x": 76, "y": 64, "flags": 2}, - {"x": 114, "y": 64, "flags": 2}, - {"x": 152, "y": 64, "flags": 2}, - {"x": 190, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 38, "y": 0, "flags": 2}, - {"x": 76, "y": 0, "flags": 2}, - {"x": 114, "y": 0, "flags": 2}, - {"x": 152, "y": 0, "flags": 2}, - {"x": 190, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2} + {"flags": 4, "matrix": [4, 14], "x": 224, "y": 64}, + {"flags": 4, "matrix": [4, 13], "x": 208, "y": 64}, + {"flags": 4, "matrix": [4, 12], "x": 192, "y": 64}, + {"flags": 4, "matrix": [4, 11], "x": 176, "y": 64}, + {"flags": 4, "matrix": [4, 10], "x": 160, "y": 64}, + {"flags": 4, "matrix": [4, 9], "x": 144, "y": 64}, + {"flags": 4, "matrix": [4, 8], "x": 128, "y": 64}, + {"flags": 4, "matrix": [4, 7], "x": 112, "y": 64}, + {"flags": 4, "matrix": [4, 6], "x": 96, "y": 64}, + {"flags": 4, "matrix": [4, 5], "x": 80, "y": 64}, + {"flags": 4, "matrix": [4, 4], "x": 64, "y": 64}, + {"flags": 4, "matrix": [4, 3], "x": 48, "y": 64}, + {"flags": 4, "matrix": [4, 2], "x": 32, "y": 64}, + {"flags": 4, "matrix": [4, 1], "x": 16, "y": 64}, + {"flags": 4, "matrix": [4, 0], "x": 0, "y": 64}, + {"flags": 4, "matrix": [3, 14], "x": 224, "y": 48}, + {"flags": 4, "matrix": [3, 13], "x": 208, "y": 48}, + {"flags": 4, "matrix": [3, 12], "x": 192, "y": 48}, + {"flags": 4, "matrix": [3, 11], "x": 176, "y": 48}, + {"flags": 4, "matrix": [3, 10], "x": 160, "y": 48}, + {"flags": 4, "matrix": [3, 9], "x": 144, "y": 48}, + {"flags": 4, "matrix": [3, 8], "x": 128, "y": 48}, + {"flags": 4, "matrix": [3, 7], "x": 112, "y": 48}, + {"flags": 4, "matrix": [3, 6], "x": 96, "y": 48}, + {"flags": 4, "matrix": [3, 5], "x": 80, "y": 48}, + {"flags": 4, "matrix": [3, 4], "x": 64, "y": 48}, + {"flags": 4, "matrix": [3, 3], "x": 48, "y": 48}, + {"flags": 4, "matrix": [3, 2], "x": 32, "y": 48}, + {"flags": 4, "matrix": [3, 1], "x": 16, "y": 48}, + {"flags": 4, "matrix": [3, 0], "x": 0, "y": 48}, + {"flags": 4, "matrix": [2, 14], "x": 224, "y": 32}, + {"flags": 4, "matrix": [2, 13], "x": 208, "y": 32}, + {"flags": 4, "matrix": [2, 12], "x": 192, "y": 32}, + {"flags": 4, "matrix": [2, 11], "x": 176, "y": 32}, + {"flags": 4, "matrix": [2, 10], "x": 160, "y": 32}, + {"flags": 4, "matrix": [2, 9], "x": 144, "y": 32}, + {"flags": 4, "matrix": [2, 8], "x": 128, "y": 32}, + {"flags": 4, "matrix": [2, 7], "x": 112, "y": 32}, + {"flags": 4, "matrix": [2, 6], "x": 96, "y": 32}, + {"flags": 4, "matrix": [2, 5], "x": 80, "y": 32}, + {"flags": 4, "matrix": [2, 4], "x": 64, "y": 32}, + {"flags": 4, "matrix": [2, 3], "x": 48, "y": 32}, + {"flags": 4, "matrix": [2, 2], "x": 32, "y": 32}, + {"flags": 4, "matrix": [2, 1], "x": 16, "y": 32}, + {"flags": 4, "matrix": [2, 0], "x": 0, "y": 32}, + {"flags": 4, "matrix": [1, 14], "x": 224, "y": 16}, + {"flags": 4, "matrix": [1, 13], "x": 208, "y": 16}, + {"flags": 4, "matrix": [1, 12], "x": 192, "y": 16}, + {"flags": 4, "matrix": [1, 11], "x": 176, "y": 16}, + {"flags": 4, "matrix": [1, 10], "x": 160, "y": 16}, + {"flags": 4, "matrix": [1, 9], "x": 144, "y": 16}, + {"flags": 4, "matrix": [1, 8], "x": 128, "y": 16}, + {"flags": 4, "matrix": [1, 7], "x": 112, "y": 16}, + {"flags": 4, "matrix": [1, 6], "x": 96, "y": 16}, + {"flags": 4, "matrix": [1, 5], "x": 80, "y": 16}, + {"flags": 4, "matrix": [1, 4], "x": 64, "y": 16}, + {"flags": 4, "matrix": [1, 3], "x": 48, "y": 16}, + {"flags": 4, "matrix": [1, 2], "x": 32, "y": 16}, + {"flags": 4, "matrix": [1, 1], "x": 16, "y": 16}, + {"flags": 4, "matrix": [1, 0], "x": 0, "y": 16}, + {"flags": 4, "matrix": [0, 14], "x": 224, "y": 0}, + {"flags": 4, "matrix": [0, 13], "x": 208, "y": 0}, + {"flags": 4, "matrix": [0, 12], "x": 192, "y": 0}, + {"flags": 4, "matrix": [0, 11], "x": 176, "y": 0}, + {"flags": 4, "matrix": [0, 10], "x": 160, "y": 0}, + {"flags": 4, "matrix": [0, 9], "x": 144, "y": 0}, + {"flags": 4, "matrix": [0, 8], "x": 128, "y": 0}, + {"flags": 4, "matrix": [0, 7], "x": 112, "y": 0}, + {"flags": 4, "matrix": [0, 6], "x": 96, "y": 0}, + {"flags": 4, "matrix": [0, 5], "x": 80, "y": 0}, + {"flags": 4, "matrix": [0, 4], "x": 64, "y": 0}, + {"flags": 4, "matrix": [0, 3], "x": 48, "y": 0}, + {"flags": 4, "matrix": [0, 2], "x": 32, "y": 0}, + {"flags": 4, "matrix": [0, 1], "x": 16, "y": 0}, + {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, + {"flags": 2, "x": 0, "y": 64}, + {"flags": 2, "x": 38, "y": 64}, + {"flags": 2, "x": 76, "y": 64}, + {"flags": 2, "x": 114, "y": 64}, + {"flags": 2, "x": 152, "y": 64}, + {"flags": 2, "x": 190, "y": 64}, + {"flags": 2, "x": 224, "y": 64}, + {"flags": 2, "x": 0, "y": 0}, + {"flags": 2, "x": 38, "y": 0}, + {"flags": 2, "x": 76, "y": 0}, + {"flags": 2, "x": 114, "y": 0}, + {"flags": 2, "x": 152, "y": 0}, + {"flags": 2, "x": 190, "y": 0}, + {"flags": 2, "x": 224, "y": 0} ], "max_brightness": 128, "sleep": true diff --git a/keyboards/ymdk/id75/keymaps/default/keymap.json b/keyboards/ymdk/id75/keymaps/default/keymap.json index 595841449e..7d0664c0a6 100644 --- a/keyboards/ymdk/id75/keymaps/default/keymap.json +++ b/keyboards/ymdk/id75/keymaps/default/keymap.json @@ -2,7 +2,7 @@ "version": 1, "author": "qmk", "notes": "", - "keyboard": "ymdk/id75/f103", + "keyboard": "ymdk/id75", "keymap": "default", "layout": "LAYOUT_ortho_5x15", "layers": [ diff --git a/keyboards/ymdk/id75/f103/mcuconf.h b/keyboards/ymdk/id75/mcuconf.h similarity index 100% rename from keyboards/ymdk/id75/f103/mcuconf.h rename to keyboards/ymdk/id75/mcuconf.h diff --git a/keyboards/ymdk/id75/readme.md b/keyboards/ymdk/id75/readme.md index f94d4c14cf..9315745f71 100644 --- a/keyboards/ymdk/id75/readme.md +++ b/keyboards/ymdk/id75/readme.md @@ -5,21 +5,17 @@ A 75-key, 5-row ortholinear keyboard with per-key and underglow RGB LEDs. * Keyboard Maintainer: [The QMK Community](https://github.com/qmk) -* Hardware Supported: [Idobao x YMDK ID75](https://www.aliexpress.com/item/3256804537842097.html). **This is not the same PCB as `idobao/id75` or `ymdk/ymd75`.** - This keyboard has had multiple PCB revisions, some of which may not work with the firmware in this repository. **Check your PCB before flashing.** - * `f103`: (Geehy APM32F103CBT6, uf2boot) - * `rp2040`: (RP2040, rp2040) +* Hardware Supported: [Idobao x YMDK ID75 PCB (APM32F103CBT6)](https://www.aliexpress.com/item/3256804537842097.html) + * This PCB uses an ARM Cortex-M3 MCU with 128kb flash. **It is not the same as `idobao/id75` or `ymdk/ymd75`.** * Hardware Availability: [YMDK](https://ymdkey.com/products/id75-75-keys-ortholinear-layout-qmk-anodized-aluminum-case-plate-hot-swappable-hot-swap-type-c-pcb-mechanical-keyboard-kit), [AliExpress (YMDK Store)](https://www.aliexpress.com/item/2255800125183974.html), [Amazon](https://www.amazon.com/Ortholinear-Anodized-Aluminum-hot-swappable-Mechanical/dp/B07ZQ8CD88) Make example for this keyboard (after setting up your build environment): - make ymdk/id75/f103:default - make ymdk/id75/rp2040:default + make ymdk/id75:default Flashing example for this keyboard: - make ymdk/id75/f103:default:flash - make ymdk/id75/rp2040:default:flash + make ymdk/id75:default:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). @@ -31,6 +27,4 @@ Enter the bootloader in 3 ways: * **Physical reset button**: Press the button on the back of the PCB twice in quick succession. * **Keycode in layout**: Press the key mapped to `QK_BOOT`. In the pre-supplied keymaps it is on the second layer, in the bottom-right corner. -After entering the bootloader through one of the three methods above, the keyboard will appear as a USB mass storage device. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded. -- `f103`: The volume name is `MT.KEY`. -- `rp2040`: The volume name is `RPI-RP2`. +After entering the bootloader through one of the three methods above, the keyboard will appear as a USB mass storage device named `MT.KEY`. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded. diff --git a/keyboards/ymdk/id75/rp2040/config.h b/keyboards/ymdk/id75/rp2040/config.h deleted file mode 100644 index b7a25de160..0000000000 --- a/keyboards/ymdk/id75/rp2040/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 Mike Tsao - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/ymdk/id75/rp2040/keyboard.json b/keyboards/ymdk/id75/rp2040/keyboard.json deleted file mode 100644 index f153203cd0..0000000000 --- a/keyboards/ymdk/id75/rp2040/keyboard.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "bootloader": "rp2040", - "matrix_pins": { - "cols": ["GP26", "GP27", "GP4", "GP5", "GP1", "GP23", "GP22", "GP21", "GP28", "GP3", "GP7", "GP12", "GP13", "GP14", "GP15"], - "rows": ["GP8", "GP6", "GP19", "GP20", "GP18"] - }, - "processor": "RP2040", - "ws2812": { - "driver": "vendor", - "pin": "GP2" - } -} diff --git a/keyboards/ymdk/id75/f103/rules.mk b/keyboards/ymdk/id75/rules.mk similarity index 100% rename from keyboards/ymdk/id75/f103/rules.mk rename to keyboards/ymdk/id75/rules.mk diff --git a/keyboards/ymdk/melody96/hotswap/keyboard.json b/keyboards/ymdk/melody96/hotswap/keyboard.json index f9b0c723e9..6a00e05050 100644 --- a/keyboards/ymdk/melody96/hotswap/keyboard.json +++ b/keyboards/ymdk/melody96/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Melody96 Hotswap", "manufacturer": "YMDK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x594D", @@ -15,6 +16,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/ymdk/melody96/rules.mk b/keyboards/ymdk/melody96/rules.mk new file mode 100644 index 0000000000..806543977b --- /dev/null +++ b/keyboards/ymdk/melody96/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = ymdk/melody96/soldered diff --git a/keyboards/ymdk/melody96/soldered/keyboard.json b/keyboards/ymdk/melody96/soldered/keyboard.json index 6a47c6c685..dbb2ddc32b 100644 --- a/keyboards/ymdk/melody96/soldered/keyboard.json +++ b/keyboards/ymdk/melody96/soldered/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Melody96 Soldered", "manufacturer": "YMDK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x594D", diff --git a/keyboards/ymdk/np21/keyboard.json b/keyboards/ymdk/np21/keyboard.json index 8527fc5596..a1997161ee 100644 --- a/keyboards/ymdk/np21/keyboard.json +++ b/keyboards/ymdk/np21/keyboard.json @@ -12,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/ymdk/np24/u4rgb6/keyboard.json b/keyboards/ymdk/np24/u4rgb6/keyboard.json index 41ae2fd27b..3dcd9d63b3 100644 --- a/keyboards/ymdk/np24/u4rgb6/keyboard.json +++ b/keyboards/ymdk/np24/u4rgb6/keyboard.json @@ -10,6 +10,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": false, diff --git a/keyboards/ymdk/sp64/keyboard.json b/keyboards/ymdk/sp64/keyboard.json index d1d0d8296c..bfb140873a 100644 --- a/keyboards/ymdk/sp64/keyboard.json +++ b/keyboards/ymdk/sp64/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SP64", "manufacturer": "YMDK", + "url": "", "maintainer": "walston", "usb": { "vid": "0x594D", diff --git a/keyboards/ymdk/wings/keyboard.json b/keyboards/ymdk/wings/keyboard.json index 304f2a1e95..30c8439b45 100644 --- a/keyboards/ymdk/wings/keyboard.json +++ b/keyboards/ymdk/wings/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/ymdk/wingshs/keyboard.json b/keyboards/ymdk/wingshs/keyboard.json index a2b8be2c4e..487d61cc2e 100644 --- a/keyboards/ymdk/wingshs/keyboard.json +++ b/keyboards/ymdk/wingshs/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/ymdk/yd60mq/info.json b/keyboards/ymdk/yd60mq/info.json index 7fa7b6b4f3..1af04be687 100644 --- a/keyboards/ymdk/yd60mq/info.json +++ b/keyboards/ymdk/yd60mq/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "YD60MQ", "manufacturer": "YMDK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x594D", @@ -9,6 +10,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/ymdk/yd60mq/rules.mk b/keyboards/ymdk/yd60mq/rules.mk new file mode 100644 index 0000000000..c37722c8bb --- /dev/null +++ b/keyboards/ymdk/yd60mq/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = ymdk/yd60mq/12led diff --git a/keyboards/ymdk/ym68/keyboard.json b/keyboards/ymdk/ym68/keyboard.json index 4deb5e0cfa..5bea9b2e48 100644 --- a/keyboards/ymdk/ym68/keyboard.json +++ b/keyboards/ymdk/ym68/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "YM68", "manufacturer": "YMDK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x594D", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/ymdk/ymd09/keyboard.json b/keyboards/ymdk/ymd09/keyboard.json index 644b4fb8f4..571aa8c45f 100644 --- a/keyboards/ymdk/ymd09/keyboard.json +++ b/keyboards/ymdk/ymd09/keyboard.json @@ -19,6 +19,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/ymdk/ymd21/v2/keyboard.json b/keyboards/ymdk/ymd21/v2/keyboard.json index e292fca3de..3e2e992ccc 100644 --- a/keyboards/ymdk/ymd21/v2/keyboard.json +++ b/keyboards/ymdk/ymd21/v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "YMD21 v2", "manufacturer": "YMDK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x45D4", @@ -10,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, diff --git a/keyboards/ymdk/ymd40/air40/keyboard.json b/keyboards/ymdk/ymd40/air40/keyboard.json index 0adc965cc7..aaca80156b 100644 --- a/keyboards/ymdk/ymd40/air40/keyboard.json +++ b/keyboards/ymdk/ymd40/air40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "YMDK Air40", "manufacturer": "YMDK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x45D4", diff --git a/keyboards/ymdk/ymd40/v2/keyboard.json b/keyboards/ymdk/ymd40/v2/keyboard.json index baecfbb579..08f5f0a4e3 100644 --- a/keyboards/ymdk/ymd40/v2/keyboard.json +++ b/keyboards/ymdk/ymd40/v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "YMD40 v2", "manufacturer": "YMDK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x594D", diff --git a/keyboards/ymdk/ymd67/keyboard.json b/keyboards/ymdk/ymd67/keyboard.json index 4818a79b50..5f9ba275f9 100644 --- a/keyboards/ymdk/ymd67/keyboard.json +++ b/keyboards/ymdk/ymd67/keyboard.json @@ -12,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, diff --git a/keyboards/ymdk/ymd75/rev1/keyboard.json b/keyboards/ymdk/ymd75/rev1/keyboard.json index 3c9022ccdb..f2b664c67f 100644 --- a/keyboards/ymdk/ymd75/rev1/keyboard.json +++ b/keyboards/ymdk/ymd75/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "YMD75 / MT84", "manufacturer": "YMDK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "key_lock": true, "mousekey": false, diff --git a/keyboards/ymdk/ymd75/rev2/keyboard.json b/keyboards/ymdk/ymd75/rev2/keyboard.json index 8bfebf0207..272140fd82 100644 --- a/keyboards/ymdk/ymd75/rev2/keyboard.json +++ b/keyboards/ymdk/ymd75/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "YMD75 / MT84", "manufacturer": "YMDK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "key_lock": true, "mousekey": false, diff --git a/keyboards/ymdk/ymd75/rev3/keyboard.json b/keyboards/ymdk/ymd75/rev3/keyboard.json index eb5979c566..ae8c20990b 100644 --- a/keyboards/ymdk/ymd75/rev3/keyboard.json +++ b/keyboards/ymdk/ymd75/rev3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "YMD75 / MT84", "manufacturer": "YMDK", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x20A0", @@ -11,6 +12,7 @@ "backlight": true, "bootmagic": true, "command": true, + "console": false, "extrakey": true, "key_lock": true, "mousekey": false, diff --git a/keyboards/ymdk/ymd75/rev4/iso/keyboard.json b/keyboards/ymdk/ymd75/rev4/iso/keyboard.json index 1ff9130019..180c68beaa 100644 --- a/keyboards/ymdk/ymd75/rev4/iso/keyboard.json +++ b/keyboards/ymdk/ymd75/rev4/iso/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "YMD75 V4", "manufacturer": "YMDK", + "url": "", "maintainer": "zvecr", "processor": "STM32F103", "bootloader": "uf2boot", @@ -17,6 +18,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/ymdk/ymd96/keyboard.json b/keyboards/ymdk/ymd96/keyboard.json index 437609f8c8..ed7edd490a 100644 --- a/keyboards/ymdk/ymd96/keyboard.json +++ b/keyboards/ymdk/ymd96/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "YMD96", "manufacturer": "YMDK", + "url": "", "maintainer": "sparkyman215", "usb": { "vid": "0x20A0", @@ -11,6 +12,8 @@ "features": { "backlight": true, "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "key_lock": true, "mousekey": false, diff --git a/keyboards/yncognito/batpad/keyboard.json b/keyboards/yncognito/batpad/keyboard.json index 3e62042a4e..06a1f9b090 100644 --- a/keyboards/yncognito/batpad/keyboard.json +++ b/keyboards/yncognito/batpad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Batpad", "manufacturer": "Yncognito", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x7979", @@ -64,6 +65,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/yoichiro/lunakey_macro/keyboard.json b/keyboards/yoichiro/lunakey_macro/keyboard.json index c41f7e9d3c..7268dd3143 100644 --- a/keyboards/yoichiro/lunakey_macro/keyboard.json +++ b/keyboards/yoichiro/lunakey_macro/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lunakey Macro", "manufacturer": "yoichiro", + "url": "", "maintainer": "Yoichiro Tanaka", "usb": { "vid": "0x5954", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": false, "mousekey": false, "nkro": false diff --git a/keyboards/yoichiro/lunakey_mini/keyboard.json b/keyboards/yoichiro/lunakey_mini/keyboard.json index 41503fe598..177b3afaa6 100644 --- a/keyboards/yoichiro/lunakey_mini/keyboard.json +++ b/keyboards/yoichiro/lunakey_mini/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Lunakey Mini", "manufacturer": "yoichiro", + "url": "", "maintainer": "qmk", "usb": { "vid": "0x5954", diff --git a/keyboards/yoichiro/lunakey_pico/keyboard.json b/keyboards/yoichiro/lunakey_pico/keyboard.json index e8326706dc..39070d615a 100644 --- a/keyboards/yoichiro/lunakey_pico/keyboard.json +++ b/keyboards/yoichiro/lunakey_pico/keyboard.json @@ -8,6 +8,8 @@ "bootmagic": false, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": false, "rgblight": true }, @@ -39,8 +41,10 @@ "static_gradient": true, "twinkle": true }, + "hue_steps": 8, "saturation_steps": 8, - "brightness_steps": 8 + "brightness_steps": 8, + "max_brightness": 255 }, "split": { "enabled": true, diff --git a/keyboards/yosino58/rev1/keyboard.json b/keyboards/yosino58/rev1/keyboard.json index 939a11c49d..ffc1a5d827 100644 --- a/keyboards/yosino58/rev1/keyboard.json +++ b/keyboards/yosino58/rev1/keyboard.json @@ -25,7 +25,8 @@ "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/yosino58/rules.mk b/keyboards/yosino58/rules.mk new file mode 100644 index 0000000000..c700b6f5b5 --- /dev/null +++ b/keyboards/yosino58/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = yosino58/rev1 diff --git a/keyboards/yushakobo/ergo68/keyboard.json b/keyboards/yushakobo/ergo68/keyboard.json index ac86eae70b..bc61e979b7 100644 --- a/keyboards/yushakobo/ergo68/keyboard.json +++ b/keyboards/yushakobo/ergo68/keyboard.json @@ -14,6 +14,7 @@ "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"], "rows": ["D4", "C6", "D7", "E6", "B4"] }, + "url": "", "usb": { "vid": "0x3265", "pid": "0x0011", diff --git a/keyboards/yushakobo/navpad/10/info.json b/keyboards/yushakobo/navpad/10/info.json index 355cec2347..e28a2e2cb1 100644 --- a/keyboards/yushakobo/navpad/10/info.json +++ b/keyboards/yushakobo/navpad/10/info.json @@ -37,5 +37,6 @@ "rgb_test": true } }, - "development_board": "promicro" + "processor": "atmega32u4", + "bootloader": "caterina" } diff --git a/keyboards/yushakobo/navpad/10/rules.mk b/keyboards/yushakobo/navpad/10/rules.mk new file mode 100644 index 0000000000..32daeef814 --- /dev/null +++ b/keyboards/yushakobo/navpad/10/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = yushakobo/navpad/10/rev1 diff --git a/keyboards/yushakobo/navpad/10_helix_r/keyboard.json b/keyboards/yushakobo/navpad/10_helix_r/keyboard.json index 89004dd0d3..e91f96f0ac 100644 --- a/keyboards/yushakobo/navpad/10_helix_r/keyboard.json +++ b/keyboards/yushakobo/navpad/10_helix_r/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "navpad 1.0 with helix keyboard", "manufacturer": "yushakobo", + "url": "", "maintainer": "yushakobo", "usb": { "vid": "0x3265", @@ -63,7 +64,8 @@ "rgb_test": true } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/yushakobo/quick17/keyboard.json b/keyboards/yushakobo/quick17/keyboard.json index 627642a179..aa0d39756d 100644 --- a/keyboards/yushakobo/quick17/keyboard.json +++ b/keyboards/yushakobo/quick17/keyboard.json @@ -51,7 +51,8 @@ "ws2812": { "pin": "D2" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/yushakobo/quick7/keyboard.json b/keyboards/yushakobo/quick7/keyboard.json index 4bd42a2f16..ba4854015b 100644 --- a/keyboards/yushakobo/quick7/keyboard.json +++ b/keyboards/yushakobo/quick7/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "quick7", "manufacturer": "yushakobo", + "url": "", "maintainer": "yushakobo", "usb": { "vid": "0x3265", @@ -28,7 +29,8 @@ "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "features": { "bootmagic": true, "command": true, diff --git a/keyboards/yynmt/acperience12/rules.mk b/keyboards/yynmt/acperience12/rules.mk new file mode 100644 index 0000000000..cfe8b8ac18 --- /dev/null +++ b/keyboards/yynmt/acperience12/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = yynmt/acperience12/rev1 diff --git a/keyboards/yynmt/dozen0/keyboard.json b/keyboards/yynmt/dozen0/keyboard.json index 84b62cce5c..1ad2b13be0 100644 --- a/keyboards/yynmt/dozen0/keyboard.json +++ b/keyboards/yynmt/dozen0/keyboard.json @@ -30,6 +30,8 @@ }, "features": { "bootmagic": false, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -46,7 +48,8 @@ "rows": ["F4"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/zeix/eden/keyboard.json b/keyboards/zeix/eden/keyboard.json index ba0faeac27..3d44a663b9 100644 --- a/keyboards/zeix/eden/keyboard.json +++ b/keyboards/zeix/eden/keyboard.json @@ -13,10 +13,13 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "indicators": { - "caps_lock": "GP29" + "caps_lock": "GP29", + "on_state": 1 }, "diode_direction": "COL2ROW", "matrix_pins": { diff --git a/keyboards/zeix/qwertyqop60hs/keyboard.json b/keyboards/zeix/qwertyqop60hs/keyboard.json index f28fe49ca1..6397551ff7 100644 --- a/keyboards/zeix/qwertyqop60hs/keyboard.json +++ b/keyboards/zeix/qwertyqop60hs/keyboard.json @@ -13,6 +13,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "diode_direction": "COL2ROW", diff --git a/keyboards/zfrontier/big_switch/keyboard.json b/keyboards/zfrontier/big_switch/keyboard.json index 48b6336887..2b2ceec094 100644 --- a/keyboards/zfrontier/big_switch/keyboard.json +++ b/keyboards/zfrontier/big_switch/keyboard.json @@ -10,6 +10,7 @@ }, "features": { "bootmagic": false, + "command": false, "console": true, "extrakey": false, "mousekey": false, diff --git a/keyboards/zicodia/tklfrlnrlmlao/keyboard.json b/keyboards/zicodia/tklfrlnrlmlao/keyboard.json index 6c592295e0..e7c7322f7e 100644 --- a/keyboards/zicodia/tklfrlnrlmlao/keyboard.json +++ b/keyboards/zicodia/tklfrlnrlmlao/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/ziggurat/keyboard.json b/keyboards/ziggurat/keyboard.json index 873760bade..11ae657256 100644 --- a/keyboards/ziggurat/keyboard.json +++ b/keyboards/ziggurat/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Ziggurat", "manufacturer": "LaminarWoob", + "url": "", "maintainer": "kb-elmo", "usb": { "vid": "0x8F5D", @@ -9,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false diff --git a/keyboards/zigotica/z12/keyboard.json b/keyboards/zigotica/z12/keyboard.json index 9af7b86eb0..2d3e92d6e2 100644 --- a/keyboards/zigotica/z12/keyboard.json +++ b/keyboards/zigotica/z12/keyboard.json @@ -14,12 +14,15 @@ {"pin_a": "B6", "pin_b": "B2"} ] }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "build": { "lto": true }, "features": { "bootmagic": false, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": false, diff --git a/keyboards/zigotica/z34/keyboard.json b/keyboards/zigotica/z34/keyboard.json index c5d2cc8ae9..0a96fa0091 100644 --- a/keyboards/zigotica/z34/keyboard.json +++ b/keyboards/zigotica/z34/keyboard.json @@ -20,7 +20,8 @@ "resync": true } }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "caterina", "matrix_pins": { "direct": [ ["C6", "F7", "F6", "F5", "F4"], diff --git a/keyboards/ziptyze/lets_split_v3/keyboard.json b/keyboards/ziptyze/lets_split_v3/keyboard.json index b3a22c8b2f..ca53b42240 100644 --- a/keyboards/ziptyze/lets_split_v3/keyboard.json +++ b/keyboards/ziptyze/lets_split_v3/keyboard.json @@ -7,6 +7,8 @@ "processor": "RP2040", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "rgb_matrix": true diff --git a/keyboards/zj68/keyboard.json b/keyboards/zj68/keyboard.json index cc53f87cf6..9273b81cd5 100644 --- a/keyboards/zj68/keyboard.json +++ b/keyboards/zj68/keyboard.json @@ -10,6 +10,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true diff --git a/keyboards/zlant/keyboard.json b/keyboards/zlant/keyboard.json index 4185d22d94..965a259c3b 100644 --- a/keyboards/zlant/keyboard.json +++ b/keyboards/zlant/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Zlant", "manufacturer": "Matthew Cordier", + "url": "", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/zoo/wampus/keyboard.json b/keyboards/zoo/wampus/keyboard.json index 966adbf592..3e65c50231 100644 --- a/keyboards/zoo/wampus/keyboard.json +++ b/keyboards/zoo/wampus/keyboard.json @@ -11,6 +11,8 @@ "features": { "backlight": true, "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/zos/65s/keyboard.json b/keyboards/zos/65s/keyboard.json index dbaa2ac418..eaf8a97f86 100644 --- a/keyboards/zos/65s/keyboard.json +++ b/keyboards/zos/65s/keyboard.json @@ -6,6 +6,8 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/zsa/moonlander/matrix.c b/keyboards/zsa/moonlander/matrix.c index 4e5c120950..867fa85a66 100644 --- a/keyboards/zsa/moonlander/matrix.c +++ b/keyboards/zsa/moonlander/matrix.c @@ -127,7 +127,7 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { matrix_io_delay(); } // read col data - data = ((gpio_read_pin(A0) << 0) | (gpio_read_pin(A1) << 1) | (gpio_read_pin(A2) << 2) | (gpio_read_pin(A3) << 3) | (gpio_read_pin(A6) << 4) | (gpio_read_pin(A7) << 5) | (gpio_read_pin(B0) << 6)); + data = ((readPin(A0) << 0) | (readPin(A1) << 1) | (readPin(A2) << 2) | (readPin(A3) << 3) | (readPin(A6) << 4) | (readPin(A7) << 5) | (readPin(B0) << 6)); // unstrobe row switch (row) { case 0: diff --git a/keyboards/zsa/planck_ez/base/rules.mk b/keyboards/zsa/planck_ez/base/rules.mk deleted file mode 100644 index c0b951fba9..0000000000 --- a/keyboards/zsa/planck_ez/base/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -RGBLIGHT_SUPPORTED = no -BACKLIGHT_SUPPORTED = no diff --git a/keyboards/zsa/planck_ez/glow/rules.mk b/keyboards/zsa/planck_ez/glow/rules.mk deleted file mode 100644 index c0b951fba9..0000000000 --- a/keyboards/zsa/planck_ez/glow/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -RGBLIGHT_SUPPORTED = no -BACKLIGHT_SUPPORTED = no diff --git a/keyboards/zsa/planck_ez/rules.mk b/keyboards/zsa/planck_ez/rules.mk new file mode 100644 index 0000000000..67921c96ed --- /dev/null +++ b/keyboards/zsa/planck_ez/rules.mk @@ -0,0 +1,4 @@ +RGBLIGHT_SUPPORTED = no +BAKCLIGHT_SUPPORTED = no + +DEFAULT_FOLDER = zsa/planck_ez/base diff --git a/keyboards/zsa/voyager/voyager.c b/keyboards/zsa/voyager/voyager.c index b7ca8f748f..6d4f6c5f26 100644 --- a/keyboards/zsa/voyager/voyager.c +++ b/keyboards/zsa/voyager/voyager.c @@ -121,7 +121,7 @@ layer_state_t layer_state_set_kb(layer_state_t state) { #ifdef RGB_MATRIX_ENABLE // clang-format off -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/ztboards/after/keyboard.json b/keyboards/ztboards/after/keyboard.json index fe80cd848e..1b02390837 100644 --- a/keyboards/ztboards/after/keyboard.json +++ b/keyboards/ztboards/after/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "encoder": true, "extrakey": true, "mousekey": true, diff --git a/keyboards/ztboards/noon/keyboard.json b/keyboards/ztboards/noon/keyboard.json index e0f8253394..a3f9912acc 100644 --- a/keyboards/ztboards/noon/keyboard.json +++ b/keyboards/ztboards/noon/keyboard.json @@ -10,6 +10,8 @@ }, "features": { "bootmagic": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/zvecr/split_blackpill/keyboard.json b/keyboards/zvecr/split_blackpill/keyboard.json index 407314b71a..d22914d3bd 100644 --- a/keyboards/zvecr/split_blackpill/keyboard.json +++ b/keyboards/zvecr/split_blackpill/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "split_blackpill", "manufacturer": "zvecr", + "url": "", "maintainer": "zvecr", "usb": { "vid": "0x5A56", diff --git a/keyboards/zvecr/zv48/info.json b/keyboards/zvecr/zv48/info.json index 0a6e8f7ae9..39a05a61e6 100644 --- a/keyboards/zvecr/zv48/info.json +++ b/keyboards/zvecr/zv48/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "zv48", "manufacturer": "zvecr", + "url": "", "maintainer": "zvecr", "usb": { "vid": "0x5A56", diff --git a/keyboards/zwag/zwag75/keyboard.json b/keyboards/zwag/zwag75/keyboard.json index 646431dcfe..03b97cefc8 100644 --- a/keyboards/zwag/zwag75/keyboard.json +++ b/keyboards/zwag/zwag75/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Zwag75", "manufacturer": "Zwag.gg", + "url": "", "maintainer": "DeskDaily", "usb": { "vid": "0x5102", @@ -18,6 +19,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": false, "rgblight": true }, diff --git a/keyboards/zwerg/keyboard.json b/keyboards/zwerg/keyboard.json deleted file mode 100644 index 8239269b79..0000000000 --- a/keyboards/zwerg/keyboard.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "manufacturer": "floookay", - "keyboard_name": "zwerg", - "maintainer": "floookay", - "bootloader_instructions": "Press the reset button on the Gemini controller or right-side-bottom-right + esc", - "tags": ["ortho", "split", "40%", "OSHW"], - "processor": "RP2040", - "bootloader": "rp2040", - "diode_direction": "ROW2COL", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["GP8", "GP7", "GP6", "GP5", "GP4", "GP3"], - "rows": ["GP28", "GP27", "GP26", "GP15", "GP14"] - }, - "split": { - "enabled": true, - "serial": { - "driver": "vendor", - "pin": "GP13" - } - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x7EEE", - "vid": "0xF100" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - - {"matrix": [5, 5], "x": 8, "y": 0}, - {"matrix": [5, 4], "x": 9, "y": 0}, - {"matrix": [5, 3], "x": 10, "y": 0}, - {"matrix": [5, 2], "x": 11, "y": 0}, - {"matrix": [5, 1], "x": 12, "y": 0}, - {"matrix": [5, 0], "x": 13, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - - {"matrix": [6, 5], "x": 8, "y": 1}, - {"matrix": [6, 4], "x": 9, "y": 1}, - {"matrix": [6, 3], "x": 10, "y": 1}, - {"matrix": [6, 2], "x": 11, "y": 1}, - {"matrix": [6, 1], "x": 12, "y": 1}, - {"matrix": [6, 0], "x": 13, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - - {"matrix": [7, 5], "x": 8, "y": 2}, - {"matrix": [7, 4], "x": 9, "y": 2}, - {"matrix": [7, 3], "x": 10, "y": 2}, - {"matrix": [7, 2], "x": 11, "y": 2}, - {"matrix": [7, 1], "x": 12, "y": 2}, - {"matrix": [7, 0], "x": 13, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - - {"matrix": [8, 4], "x": 9, "y": 3}, - {"matrix": [8, 3], "x": 10, "y": 3}, - {"matrix": [8, 2], "x": 11, "y": 3}, - {"matrix": [8, 1], "x": 12, "y": 3}, - {"matrix": [8, 0], "x": 13, "y": 3}, - - {"matrix": [4, 4], "x": 5, "y": 5, "h": 1.5}, - {"matrix": [4, 5], "x": 6, "y": 5, "h": 1.5}, - - {"matrix": [9, 5], "x": 8, "y": 5, "h": 1.5}, - {"matrix": [9, 4], "x": 9, "y": 5, "h": 1.5} - ] - } - } -} diff --git a/keyboards/zwerg/keymaps/default/keymap.c b/keyboards/zwerg/keymaps/default/keymap.c deleted file mode 100644 index 81132bbe96..0000000000 --- a/keyboards/zwerg/keymaps/default/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┐ - * │Tab│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │Bsp│ - * ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤ - * │Ctl│ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ - * ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤ - * │Sft│ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │Sft│ - * ├───┼───┼───┼───┼───┼───┘ └───┼───┼───┼───┼───┼───┤ - * │Esc│lsu│rcl│Alt│Rai| ┌───┬───┐ ┌───┬───┐ │Low│AGr│Men│rcl│Cnf│ - * └───┴───┴───┴───┴───┘ │Spc│Del│ │Ent│Spc│ └───┴───┴───┴───┴───┘ - * │ │ │ │ │ │ - * └───┴───┘ └───┴───┘ - */ - [0] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_ESC, KC_LGUI, KC_RCTL, KC_LALT, MO(2), MO(1), KC_RALT, KC_APP, KC_RCTL, MO(3), - KC_SPC, KC_DEL, KC_ENT, KC_SPC - ), - [1] = LAYOUT( - _______, _______, KC_VOLU, KC_MUTE, KC_VOLD, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, - _______, _______, _______, KC_MSTP, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - [2] = LAYOUT( - KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ) -}; diff --git a/keyboards/zwerg/readme.md b/keyboards/zwerg/readme.md deleted file mode 100644 index 5fe045bffc..0000000000 --- a/keyboards/zwerg/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# zwerg - -![zwerg](https://i.imgur.com/hkFLvd2.jpeg) - -A 40% ortholinear split keyboard. - -* Keyboard Maintainer: [floookay](https://github.com/floookay) -* Hardware Supported: zwerg pcbs with 0xcb Gemini -* Hardware Availability: - -Make example for this keyboard (after setting up your build environment): - - make zwerg:default - -Flashing example for this keyboard: - - make zwerg:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the Gemini controller -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/zykrah/fuyu/keyboard.json b/keyboards/zykrah/fuyu/keyboard.json index db4236b698..01053d4821 100644 --- a/keyboards/zykrah/fuyu/keyboard.json +++ b/keyboards/zykrah/fuyu/keyboard.json @@ -13,6 +13,8 @@ "bootmagic": false, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true, "rgb_matrix": true }, diff --git a/keyboards/zykrah/slime88/keyboard.json b/keyboards/zykrah/slime88/keyboard.json index e3c946b776..8b15524cca 100644 --- a/keyboards/zykrah/slime88/keyboard.json +++ b/keyboards/zykrah/slime88/keyboard.json @@ -13,6 +13,8 @@ "bootmagic": true, "mousekey": true, "extrakey": true, + "console": false, + "command": false, "nkro": true }, "diode_direction": "COL2ROW", diff --git a/layouts/community/75_ansi/layout.json b/layouts/community/75_ansi/layout.json index 72be23b486..4b7c5a0d88 100644 --- a/layouts/community/75_ansi/layout.json +++ b/layouts/community/75_ansi/layout.json @@ -3,4 +3,4 @@ [{w:1.5},"","","","","","","","","","","","","",{w:1.5},"",""], [{w:1.75},"","","","","","","","","","","","",{w:2.25},"",""], [{w:2.25},"","","","","","","","","","","",{w:1.75},"","",""], -[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","","",""] +[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","","",""] \ No newline at end of file diff --git a/layouts/community/ortho_1x4/layout.json b/layouts/community/ortho_1x4/layout.json index 833ff19d4f..6103c7e248 100644 --- a/layouts/community/ortho_1x4/layout.json +++ b/layouts/community/ortho_1x4/layout.json @@ -1 +1 @@ -["","","",""] +["","","",""] \ No newline at end of file diff --git a/layouts/community/ortho_4x12/layout.json b/layouts/community/ortho_4x12/layout.json index 961b080642..9439b6e0be 100644 --- a/layouts/community/ortho_4x12/layout.json +++ b/layouts/community/ortho_4x12/layout.json @@ -1,4 +1,4 @@ ["","","","","","","","","","","",""], ["","","","","","","","","","","",""], ["","","","","","","","","","","",""], -["","","","","","","","","","","",""] +["","","","","","","","","","","",""] \ No newline at end of file diff --git a/layouts/default/60_ansi_arrow/layout.json b/layouts/default/60_ansi_arrow/layout.json index 163107fda4..7fc631c3d1 100644 --- a/layouts/default/60_ansi_arrow/layout.json +++ b/layouts/default/60_ansi_arrow/layout.json @@ -3,4 +3,4 @@ [{w:1.75},"","","","","","","","","","","","",{w:2.25},""], [{w:2.25},"","","","","","","","","","",{w:1.75},"","",""], [{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","",""] - + \ No newline at end of file diff --git a/layouts/default/fullsize_extended_jis/info.json b/layouts/default/fullsize_extended_jis/info.json index b410273cd9..8267b4c54f 100644 --- a/layouts/default/fullsize_extended_jis/info.json +++ b/layouts/default/fullsize_extended_jis/info.json @@ -48,8 +48,8 @@ {"x": 19.5, "y": 1.25}, {"x": 20.5, "y": 1.25}, {"x": 21.5, "y": 1.25}, - {"x": 0, "y": 2.25, "w": 1.5}, + {"x": 1.5, "y": 2.25}, {"x": 2.5, "y": 2.25}, {"x": 3.5, "y": 2.25}, @@ -62,7 +62,7 @@ {"x": 10.5, "y": 2.25}, {"x": 11.5, "y": 2.25}, {"x": 12.5, "y": 2.25}, - + {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, {"x": 15.25, "y": 2.25}, {"x": 16.25, "y": 2.25}, {"x": 17.25, "y": 2.25}, @@ -84,7 +84,6 @@ {"x": 10.75, "y": 3.25}, {"x": 11.75, "y": 3.25}, {"x": 12.75, "y": 3.25}, - {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, {"x": 18.5, "y": 3.25}, {"x": 19.5, "y": 3.25}, {"x": 20.5, "y": 3.25}, @@ -107,7 +106,7 @@ {"x": 19.5, "y": 4.25}, {"x": 20.5, "y": 4.25}, {"x": 21.5, "y": 4.25, "h": 2}, - + {"x": 0, "y": 5.25, "w": 1.25}, {"x": 1.25, "y": 5.25, "w": 1.25}, {"x": 2.5, "y": 5.25, "w": 1.25}, diff --git a/layouts/default/fullsize_jis/info.json b/layouts/default/fullsize_jis/info.json index f573125a08..8acd5f2fe3 100644 --- a/layouts/default/fullsize_jis/info.json +++ b/layouts/default/fullsize_jis/info.json @@ -44,8 +44,8 @@ {"x": 19.5, "y": 1.25}, {"x": 20.5, "y": 1.25}, {"x": 21.5, "y": 1.25}, - {"x": 0, "y": 2.25, "w": 1.5}, + {"x": 1.5, "y": 2.25}, {"x": 2.5, "y": 2.25}, {"x": 3.5, "y": 2.25}, @@ -58,6 +58,7 @@ {"x": 10.5, "y": 2.25}, {"x": 11.5, "y": 2.25}, {"x": 12.5, "y": 2.25}, + {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, {"x": 15.25, "y": 2.25}, {"x": 16.25, "y": 2.25}, {"x": 17.25, "y": 2.25}, @@ -79,7 +80,6 @@ {"x": 10.75, "y": 3.25}, {"x": 11.75, "y": 3.25}, {"x": 12.75, "y": 3.25}, - {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, {"x": 18.5, "y": 3.25}, {"x": 19.5, "y": 3.25}, {"x": 20.5, "y": 3.25}, @@ -102,7 +102,7 @@ {"x": 19.5, "y": 4.25}, {"x": 20.5, "y": 4.25}, {"x": 21.5, "y": 4.25, "h": 2}, - + {"x": 0, "y": 5.25, "w": 1.25}, {"x": 1.25, "y": 5.25, "w": 1.25}, {"x": 2.5, "y": 5.25, "w": 1.25}, diff --git a/layouts/default/ortho_5x5/readme.md b/layouts/default/ortho_5x5/readme.md index 2922976d3a..3dd75765d1 100644 --- a/layouts/default/ortho_5x5/readme.md +++ b/layouts/default/ortho_5x5/readme.md @@ -1,3 +1,3 @@ # ortho_5x5 - LAYOUT_ortho_5x5 + LAYOUT_ortho_5x5 \ No newline at end of file diff --git a/lib/chibios b/lib/chibios index 8bd61b8043..be44b3305f 160000 --- a/lib/chibios +++ b/lib/chibios @@ -1 +1 @@ -Subproject commit 8bd61b804303f1614d574546c2dd735eeabb09f5 +Subproject commit be44b3305f9a9fe5f2f49a4e7b978db322dc463e diff --git a/lib/chibios-contrib b/lib/chibios-contrib index 3ac181e4ca..77cb0a4f75 160000 --- a/lib/chibios-contrib +++ b/lib/chibios-contrib @@ -1 +1 @@ -Subproject commit 3ac181e4ca5cafddaf8b472baa1d09c2b24c77b6 +Subproject commit 77cb0a4f7589f89e724f5e6ecb1d76d514dd1212 diff --git a/lib/fnv/qmk_fnv_type_validation.c b/lib/fnv/qmk_fnv_type_validation.c index 5e8ef5c54c..e8576617ba 100644 --- a/lib/fnv/qmk_fnv_type_validation.c +++ b/lib/fnv/qmk_fnv_type_validation.c @@ -1,15 +1,14 @@ // Copyright 2022 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later #include "fnv.h" -#include "compiler_support.h" // This library was originally sourced from: // http://www.isthe.com/chongo/tech/comp/fnv/index.html // // Version at the time of retrieval on 2022-06-26: v5.0.3 -STATIC_ASSERT(sizeof(long long) == 8, "long long should be 64 bits"); -STATIC_ASSERT(sizeof(unsigned long long) == 8, "unsigned long long should be 64 bits"); +_Static_assert(sizeof(long long) == 8, "long long should be 64 bits"); +_Static_assert(sizeof(unsigned long long) == 8, "unsigned long long should be 64 bits"); -STATIC_ASSERT(sizeof(Fnv32_t) == 4, "Fnv32_t should be 32 bits"); -STATIC_ASSERT(sizeof(Fnv64_t) == 8, "Fnv64_t should be 64 bits"); +_Static_assert(sizeof(Fnv32_t) == 4, "Fnv32_t should be 32 bits"); +_Static_assert(sizeof(Fnv64_t) == 8, "Fnv64_t should be 64 bits"); diff --git a/lib/pico-sdk b/lib/pico-sdk index d0c5cac430..a3398d8d3a 160000 --- a/lib/pico-sdk +++ b/lib/pico-sdk @@ -1 +1 @@ -Subproject commit d0c5cac430cc955b65efa0e899748853d9a80928 +Subproject commit a3398d8d3a772f37fef44a74743a1de69770e9c2 diff --git a/lib/python/qmk/build_targets.py b/lib/python/qmk/build_targets.py index 35a5f89f91..e2df029490 100644 --- a/lib/python/qmk/build_targets.py +++ b/lib/python/qmk/build_targets.py @@ -11,8 +11,7 @@ from qmk.commands import find_make, get_make_parallel_args, parse_configurator_j from qmk.keyboard import keyboard_folder from qmk.info import keymap_json from qmk.keymap import locate_keymap -from qmk.path import is_under_qmk_firmware, is_under_qmk_userspace, unix_style_path -from qmk.compilation_database import write_compilation_database +from qmk.path import is_under_qmk_firmware, is_under_qmk_userspace # These must be kept in the order in which they're applied to $(TARGET) in the makefiles in order to ensure consistency. TARGET_FILENAME_MODIFIERS = ['FORCE_LAYOUT', 'CONVERT_TO'] @@ -151,6 +150,7 @@ class BuildTarget: def generate_compilation_database(self, build_target: str = None, skip_clean: bool = False, **env_vars) -> None: self.prepare_build(build_target=build_target, **env_vars) command = self.compile_command(build_target=build_target, dry_run=True, **env_vars) + from qmk.cli.generate.compilation_database import write_compilation_database # Lazy load due to circular references output_path = QMK_FIRMWARE / 'compile_commands.json' ret = write_compilation_database(command=command, output_path=output_path, skip_clean=skip_clean, **env_vars) if ret and output_path.exists() and HAS_QMK_USERSPACE: @@ -204,11 +204,11 @@ class KeyboardKeymapBuildTarget(BuildTarget): if is_under_qmk_userspace(keymap_location) and not is_under_qmk_firmware(keymap_location): keymap_directory = keymap_location.parent compile_args.extend([ - f'MAIN_KEYMAP_PATH_1={unix_style_path(keymap_directory)}', - f'MAIN_KEYMAP_PATH_2={unix_style_path(keymap_directory)}', - f'MAIN_KEYMAP_PATH_3={unix_style_path(keymap_directory)}', - f'MAIN_KEYMAP_PATH_4={unix_style_path(keymap_directory)}', - f'MAIN_KEYMAP_PATH_5={unix_style_path(keymap_directory)}', + f'MAIN_KEYMAP_PATH_1={keymap_directory}', + f'MAIN_KEYMAP_PATH_2={keymap_directory}', + f'MAIN_KEYMAP_PATH_3={keymap_directory}', + f'MAIN_KEYMAP_PATH_4={keymap_directory}', + f'MAIN_KEYMAP_PATH_5={keymap_directory}', ]) return compile_args @@ -267,11 +267,11 @@ class JsonKeymapBuildTarget(BuildTarget): generated_files_path = intermediate_output / 'src' keymap_json = generated_files_path / 'keymap.json' compile_args.extend([ - f'MAIN_KEYMAP_PATH_1={unix_style_path(intermediate_output)}', - f'MAIN_KEYMAP_PATH_2={unix_style_path(intermediate_output)}', - f'MAIN_KEYMAP_PATH_3={unix_style_path(intermediate_output)}', - f'MAIN_KEYMAP_PATH_4={unix_style_path(intermediate_output)}', - f'MAIN_KEYMAP_PATH_5={unix_style_path(intermediate_output)}', + f'MAIN_KEYMAP_PATH_1={intermediate_output}', + f'MAIN_KEYMAP_PATH_2={intermediate_output}', + f'MAIN_KEYMAP_PATH_3={intermediate_output}', + f'MAIN_KEYMAP_PATH_4={intermediate_output}', + f'MAIN_KEYMAP_PATH_5={intermediate_output}', f'KEYMAP_JSON={keymap_json}', f'KEYMAP_PATH={generated_files_path}', ]) diff --git a/lib/python/qmk/c_parse.py b/lib/python/qmk/c_parse.py index 785b940456..08d23cf5ba 100644 --- a/lib/python/qmk/c_parse.py +++ b/lib/python/qmk/c_parse.py @@ -24,7 +24,7 @@ def _get_chunks(it, size): return iter(lambda: tuple(islice(it, size)), ()) -def preprocess_c_file(file): +def _preprocess_c_file(file): """Load file and strip comments """ file_contents = file.read_text(encoding='utf-8') @@ -66,7 +66,7 @@ def find_layouts(file): parsed_layouts = {} # Search the file for LAYOUT macros and aliases - file_contents = preprocess_c_file(file) + file_contents = _preprocess_c_file(file) for line in file_contents.split('\n'): if layout_macro_define_regex.match(line.lstrip()) and '(' in line and 'LAYOUT' in line: @@ -248,7 +248,7 @@ def _parse_led_config(file, matrix_cols, matrix_rows): current_row_index = 0 current_row = [] - for _type, value in lex(preprocess_c_file(file), CLexer()): + for _type, value in lex(_preprocess_c_file(file), CLexer()): if not found_g_led_config: # Check for type if value == 'led_config_t': diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py index 26905ec134..2d63dfb447 100644 --- a/lib/python/qmk/cli/__init__.py +++ b/lib/python/qmk/cli/__init__.py @@ -49,7 +49,6 @@ subcommands = [ 'qmk.cli.generate.api', 'qmk.cli.generate.autocorrect_data', 'qmk.cli.generate.compilation_database', - 'qmk.cli.generate.community_modules', 'qmk.cli.generate.config_h', 'qmk.cli.generate.develop_pr_list', 'qmk.cli.generate.dfu_header', @@ -58,6 +57,7 @@ subcommands = [ 'qmk.cli.generate.keyboard_c', 'qmk.cli.generate.keyboard_h', 'qmk.cli.generate.keycodes', + 'qmk.cli.generate.keycodes_tests', 'qmk.cli.generate.keymap_h', 'qmk.cli.generate.make_dependencies', 'qmk.cli.generate.rgb_breathe_table', @@ -82,7 +82,6 @@ subcommands = [ 'qmk.cli.new.keymap', 'qmk.cli.painter', 'qmk.cli.pytest', - 'qmk.cli.resolve_alias', 'qmk.cli.test.c', 'qmk.cli.userspace.add', 'qmk.cli.userspace.compile', @@ -214,7 +213,7 @@ if sys.version_info[0] != 3 or sys.version_info[1] < 9: milc_version = __VERSION__.split('.') -if int(milc_version[0]) < 2 and int(milc_version[1]) < 9: +if int(milc_version[0]) < 2 and int(milc_version[1]) < 4: requirements = Path('requirements.txt').resolve() _eprint(f'Your MILC library is too old! Please upgrade: python3 -m pip install -U -r {str(requirements)}') diff --git a/lib/python/qmk/cli/docs.py b/lib/python/qmk/cli/docs.py index da02ebf95e..d28dddf194 100644 --- a/lib/python/qmk/cli/docs.py +++ b/lib/python/qmk/cli/docs.py @@ -6,8 +6,6 @@ from qmk.docs import prepare_docs_build_area, run_docs_command from milc import cli -@cli.argument('-p', '--port', default=8936, type=int, help='Port number to use.') -@cli.argument('-b', '--browser', action='store_true', help='Open the docs in the default browser.') @cli.subcommand('Run a local webserver for QMK documentation.', hidden=False if cli.config.user.developer else True) def docs(cli): """Spin up a local HTTP server for the QMK docs. @@ -24,7 +22,6 @@ def docs(cli): if not prepare_docs_build_area(is_production=False): return False - cmd = ['docs:dev', '--port', f'{cli.args.port}'] - if cli.args.browser: - cmd.append('--open') - run_docs_command('run', cmd) + if not cli.config.general.verbose: + cli.log.info('Serving docs at http://localhost:5173/ (Ctrl+C to stop)') + run_docs_command('run', 'docs:dev') diff --git a/lib/python/qmk/cli/doctor/check.py b/lib/python/qmk/cli/doctor/check.py index 51b0f0c80a..2804a1d7df 100644 --- a/lib/python/qmk/cli/doctor/check.py +++ b/lib/python/qmk/cli/doctor/check.py @@ -54,13 +54,10 @@ def _check_arm_gcc_installation(): """Returns OK if the arm-none-eabi-gcc is fully installed and can produce binaries. """ with TemporaryDirectory() as temp_dir: - temp_in = Path(temp_dir) / 'test.c' - temp_out = Path(temp_dir) / 'test.elf' + temp_file = Path(temp_dir) / 'test.elf' - temp_in.write_text('#include \nint main() { return __NEWLIB__ * __NEWLIB_MINOR__ * __NEWLIB_PATCHLEVEL__; }', encoding='utf-8') - - args = ['arm-none-eabi-gcc', '-mcpu=cortex-m0', '-mthumb', '-mno-thumb-interwork', '--specs=nosys.specs', '--specs=nano.specs', '-x', 'c', '-o', str(temp_out), str(temp_in)] - result = cli.run(args, stdout=None, stderr=None) + args = ['arm-none-eabi-gcc', '-mcpu=cortex-m0', '-mthumb', '-mno-thumb-interwork', '--specs=nosys.specs', '--specs=nano.specs', '-x', 'c', '-o', str(temp_file), '-'] + result = cli.run(args, stdin=None, stdout=None, stderr=None, input='#include \nint main() { return __NEWLIB__ * __NEWLIB_MINOR__ * __NEWLIB_PATCHLEVEL__; }') if result.returncode == 0: cli.log.info('Successfully compiled using arm-none-eabi-gcc') else: @@ -68,8 +65,8 @@ def _check_arm_gcc_installation(): cli.log.error(f'Command: {" ".join(args)}') return CheckStatus.ERROR - args = ['arm-none-eabi-size', str(temp_out)] - result = cli.run(args, stdout=None, stderr=None) + args = ['arm-none-eabi-size', str(temp_file)] + result = cli.run(args, stdin=None, stdout=None, stderr=None) if result.returncode == 0: cli.log.info('Successfully tested arm-none-eabi-binutils using arm-none-eabi-size') else: @@ -94,13 +91,10 @@ def _check_avr_gcc_installation(): """Returns OK if the avr-gcc is fully installed and can produce binaries. """ with TemporaryDirectory() as temp_dir: - temp_in = Path(temp_dir) / 'test.c' - temp_out = Path(temp_dir) / 'test.elf' + temp_file = Path(temp_dir) / 'test.elf' - temp_in.write_text('int main() { return 0; }', encoding='utf-8') - - args = ['avr-gcc', '-mmcu=atmega32u4', '-x', 'c', '-o', str(temp_out), str(temp_in)] - result = cli.run(args, stdout=None, stderr=None) + args = ['avr-gcc', '-mmcu=atmega32u4', '-x', 'c', '-o', str(temp_file), '-'] + result = cli.run(args, stdin=None, stdout=None, stderr=None, input='int main() { return 0; }') if result.returncode == 0: cli.log.info('Successfully compiled using avr-gcc') else: @@ -108,8 +102,8 @@ def _check_avr_gcc_installation(): cli.log.error(f'Command: {" ".join(args)}') return CheckStatus.ERROR - args = ['avr-size', str(temp_out)] - result = cli.run(args, stdout=None, stderr=None) + args = ['avr-size', str(temp_file)] + result = cli.run(args, stdin=None, stdout=None, stderr=None) if result.returncode == 0: cli.log.info('Successfully tested avr-binutils using avr-size') else: diff --git a/lib/python/qmk/cli/format/c.py b/lib/python/qmk/cli/format/c.py index 65818155b0..a58aef3fbc 100644 --- a/lib/python/qmk/cli/format/c.py +++ b/lib/python/qmk/cli/format/c.py @@ -10,7 +10,7 @@ from qmk.path import normpath from qmk.c_parse import c_source_files c_file_suffixes = ('c', 'h', 'cpp', 'hpp') -core_dirs = ('drivers', 'quantum', 'tests', 'tmk_core', 'platforms', 'modules') +core_dirs = ('drivers', 'quantum', 'tests', 'tmk_core', 'platforms') ignored = ('tmk_core/protocol/usb_hid', 'platforms/chibios/boards') diff --git a/lib/python/qmk/cli/format/json.py b/lib/python/qmk/cli/format/json.py index 61f5254184..3670294434 100755 --- a/lib/python/qmk/cli/format/json.py +++ b/lib/python/qmk/cli/format/json.py @@ -9,7 +9,7 @@ from milc import cli from qmk.info import info_json from qmk.json_schema import json_load, validate -from qmk.json_encoders import InfoJSONEncoder, KeymapJSONEncoder, UserspaceJSONEncoder, CommunityModuleJSONEncoder +from qmk.json_encoders import InfoJSONEncoder, KeymapJSONEncoder, UserspaceJSONEncoder from qmk.path import normpath @@ -30,13 +30,6 @@ def _detect_json_format(file, json_data): except ValidationError: pass - if json_encoder is None: - try: - validate(json_data, 'qmk.community_module.v1') - json_encoder = CommunityModuleJSONEncoder - except ValidationError: - pass - if json_encoder is None: try: validate(json_data, 'qmk.keyboard.v1') @@ -61,8 +54,6 @@ def _get_json_encoder(file, json_data): json_encoder = KeymapJSONEncoder elif cli.args.format == 'userspace': json_encoder = UserspaceJSONEncoder - elif cli.args.format == 'community_module': - json_encoder = CommunityModuleJSONEncoder else: # This should be impossible cli.log.error('Unknown format: %s', cli.args.format) @@ -70,7 +61,7 @@ def _get_json_encoder(file, json_data): @cli.argument('json_file', arg_only=True, type=normpath, help='JSON file to format') -@cli.argument('-f', '--format', choices=['auto', 'keyboard', 'keymap', 'userspace', 'community_module'], default='auto', arg_only=True, help='JSON formatter to use (Default: autodetect)') +@cli.argument('-f', '--format', choices=['auto', 'keyboard', 'keymap', 'userspace'], default='auto', arg_only=True, help='JSON formatter to use (Default: autodetect)') @cli.argument('-i', '--inplace', action='store_true', arg_only=True, help='If set, will operate in-place on the input file') @cli.argument('-p', '--print', action='store_true', arg_only=True, help='If set, will print the formatted json to stdout ') @cli.subcommand('Generate an info.json file for a keyboard.', hidden=False if cli.config.user.developer else True) diff --git a/lib/python/qmk/cli/format/text.py b/lib/python/qmk/cli/format/text.py index 344631081b..6dd4511896 100644 --- a/lib/python/qmk/cli/format/text.py +++ b/lib/python/qmk/cli/format/text.py @@ -18,7 +18,7 @@ def _get_chunks(it, size): def dos2unix_run(files): """Spawn multiple dos2unix subprocess avoiding too long commands on formatting everything """ - for chunk in _get_chunks([normpath(file).as_posix() for file in files], 10): + for chunk in _get_chunks(files, 10): dos2unix = cli.run(['dos2unix', *chunk]) if dos2unix.returncode: diff --git a/lib/python/qmk/cli/generate/api.py b/lib/python/qmk/cli/generate/api.py index 7f7c05f6e2..8311818476 100755 --- a/lib/python/qmk/cli/generate/api.py +++ b/lib/python/qmk/cli/generate/api.py @@ -131,11 +131,6 @@ def generate_api(cli): if keymap_rel is None: cli.log.debug('Skipping keymap %s (not in qmk_firmware)', keymap) continue - - if (keymap_rel / 'keymap.c').exists(): - cli.log.debug('Skipping keymap %s (not pure dd keymap)', keymap) - continue - kb_json['keymaps'][keymap.name] = { # TODO: deprecate 'url' as consumer needs to know its potentially hjson 'url': f'https://raw.githubusercontent.com/qmk/qmk_firmware/master/{keymap_rel}/keymap.json', diff --git a/lib/python/qmk/cli/generate/community_modules.py b/lib/python/qmk/cli/generate/community_modules.py deleted file mode 100644 index a5ab61f9bd..0000000000 --- a/lib/python/qmk/cli/generate/community_modules.py +++ /dev/null @@ -1,341 +0,0 @@ -import contextlib -from argcomplete.completers import FilesCompleter -from pathlib import Path - -from milc import cli - -import qmk.path -from qmk.info import get_modules -from qmk.keyboard import keyboard_completer, keyboard_folder -from qmk.commands import dump_lines -from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, GPL2_HEADER_SH_LIKE, GENERATED_HEADER_SH_LIKE -from qmk.community_modules import module_api_list, load_module_jsons, find_module_path - - -@contextlib.contextmanager -def _render_api_guard(lines, api): - if api.guard: - lines.append(f'#if {api.guard}') - yield - if api.guard: - lines.append(f'#endif // {api.guard}') - - -def _render_api_header(api): - lines = [] - if api.header: - lines.append('') - with _render_api_guard(lines, api): - lines.append(f'#include <{api.header}>') - return lines - - -def _render_keycodes(module_jsons): - lines = [] - lines.append('') - lines.append('enum {') - first = True - for module_json in module_jsons: - module_name = Path(module_json['module']).name - keycodes = module_json.get('keycodes', []) - if len(keycodes) > 0: - lines.append(f' // From module: {module_name}') - for keycode in keycodes: - key = keycode.get('key', None) - if first: - lines.append(f' {key} = QK_COMMUNITY_MODULE,') - first = False - else: - lines.append(f' {key},') - for alias in keycode.get('aliases', []): - lines.append(f' {alias} = {key},') - lines.append('') - lines.append(' LAST_COMMUNITY_MODULE_KEY') - lines.append('};') - lines.append('STATIC_ASSERT((int)LAST_COMMUNITY_MODULE_KEY <= (int)(QK_COMMUNITY_MODULE_MAX+1), "Too many community module keycodes");') - return lines - - -def _render_api_declarations(api, module, user_kb=True): - lines = [] - lines.append('') - with _render_api_guard(lines, api): - if user_kb: - lines.append(f'{api.ret_type} {api.name}_{module}_user({api.args});') - lines.append(f'{api.ret_type} {api.name}_{module}_kb({api.args});') - lines.append(f'{api.ret_type} {api.name}_{module}({api.args});') - return lines - - -def _render_api_implementations(api, module): - module_name = Path(module).name - lines = [] - lines.append('') - with _render_api_guard(lines, api): - # _user - lines.append(f'__attribute__((weak)) {api.ret_type} {api.name}_{module_name}_user({api.args}) {{') - if api.ret_type == 'bool': - lines.append(' return true;') - elif api.ret_type in ['layer_state_t', 'report_mouse_t']: - lines.append(f' return {api.call_params};') - else: - pass - lines.append('}') - lines.append('') - - # _kb - lines.append(f'__attribute__((weak)) {api.ret_type} {api.name}_{module_name}_kb({api.args}) {{') - if api.ret_type == 'bool': - lines.append(f' if(!{api.name}_{module_name}_user({api.call_params})) {{ return false; }}') - lines.append(' return true;') - elif api.ret_type in ['layer_state_t', 'report_mouse_t']: - lines.append(f' return {api.name}_{module_name}_user({api.call_params});') - else: - lines.append(f' {api.name}_{module_name}_user({api.call_params});') - lines.append('}') - lines.append('') - - # module (non-suffixed) - lines.append(f'__attribute__((weak)) {api.ret_type} {api.name}_{module_name}({api.args}) {{') - if api.ret_type == 'bool': - lines.append(f' if(!{api.name}_{module_name}_kb({api.call_params})) {{ return false; }}') - lines.append(' return true;') - elif api.ret_type in ['layer_state_t', 'report_mouse_t']: - lines.append(f' return {api.name}_{module_name}_kb({api.call_params});') - else: - lines.append(f' {api.name}_{module_name}_kb({api.call_params});') - lines.append('}') - return lines - - -def _render_core_implementation(api, modules): - lines = [] - lines.append('') - with _render_api_guard(lines, api): - lines.append(f'{api.ret_type} {api.name}_modules({api.args}) {{') - if api.ret_type == 'bool': - lines.append(' return true') - for module in modules: - module_name = Path(module).name - if api.ret_type == 'bool': - lines.append(f' && {api.name}_{module_name}({api.call_params})') - elif api.ret_type in ['layer_state_t', 'report_mouse_t']: - lines.append(f' {api.call_params} = {api.name}_{module_name}({api.call_params});') - else: - lines.append(f' {api.name}_{module_name}({api.call_params});') - if api.ret_type == 'bool': - lines.append(' ;') - elif api.ret_type in ['layer_state_t', 'report_mouse_t']: - lines.append(f' return {api.call_params};') - lines.append('}') - return lines - - -def _generate_features_rules(features_dict): - lines = [] - for feature, enabled in features_dict.items(): - feature = feature.upper() - enabled = 'yes' if enabled else 'no' - lines.append(f'{feature}_ENABLE={enabled}') - return lines - - -def _generate_modules_rules(keyboard, filename): - lines = [] - modules = get_modules(keyboard, filename) - if len(modules) > 0: - lines.append('') - lines.append('OPT_DEFS += -DCOMMUNITY_MODULES_ENABLE=TRUE') - for module in modules: - module_path = qmk.path.unix_style_path(find_module_path(module)) - if not module_path: - raise FileNotFoundError(f"Module '{module}' not found.") - lines.append('') - lines.append(f'COMMUNITY_MODULES += {module_path.name}') # use module_path here instead of module as it may be a subdirectory - lines.append(f'OPT_DEFS += -DCOMMUNITY_MODULE_{module_path.name.upper()}_ENABLE=TRUE') - lines.append(f'COMMUNITY_MODULE_PATHS += {module_path}') - lines.append(f'VPATH += {module_path}') - lines.append(f'SRC += $(wildcard {module_path}/{module_path.name}.c)') - lines.append(f'MODULE_NAME_{module_path.name.upper()} := {module_path.name}') - lines.append(f'MODULE_PATH_{module_path.name.upper()} := {module_path}') - lines.append(f'-include {module_path}/rules.mk') - - module_jsons = load_module_jsons(modules) - for module_json in module_jsons: - if 'features' in module_json: - lines.append('') - lines.append(f'# Module: {module_json["module_name"]}') - lines.extend(_generate_features_rules(module_json['features'])) - return lines - - -@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') -@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") -@cli.argument('-e', '--escape', arg_only=True, action='store_true', help="Escape spaces in quiet mode") -@cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate rules.mk for.') -@cli.argument('filename', nargs='?', arg_only=True, type=qmk.path.FileType('r'), completer=FilesCompleter('.json'), help='A configurator export JSON to be compiled and flashed or a pre-compiled binary firmware file (bin/hex) to be flashed.') -@cli.subcommand('Creates a community_modules_rules_mk from a keymap.json file.') -def generate_community_modules_rules_mk(cli): - - rules_mk_lines = [GPL2_HEADER_SH_LIKE, GENERATED_HEADER_SH_LIKE] - - rules_mk_lines.extend(_generate_modules_rules(cli.args.keyboard, cli.args.filename)) - - # Show the results - dump_lines(cli.args.output, rules_mk_lines) - - if cli.args.output: - if cli.args.quiet: - if cli.args.escape: - print(cli.args.output.as_posix().replace(' ', '\\ ')) - else: - print(cli.args.output) - else: - cli.log.info('Wrote rules.mk to %s.', cli.args.output) - - -@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') -@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") -@cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate community_modules.h for.') -@cli.argument('filename', nargs='?', type=qmk.path.FileType('r'), arg_only=True, completer=FilesCompleter('.json'), help='Configurator JSON file') -@cli.subcommand('Creates a community_modules.h from a keymap.json file.') -def generate_community_modules_h(cli): - """Creates a community_modules.h from a keymap.json file - """ - if cli.args.output and cli.args.output.name == '-': - cli.args.output = None - - api_list, api_version, ver_major, ver_minor, ver_patch = module_api_list() - - lines = [ - GPL2_HEADER_C_LIKE, - GENERATED_HEADER_C_LIKE, - '#pragma once', - '#include ', - '#include ', - '#include ', - '', - '#include "compiler_support.h"', - '', - '#define COMMUNITY_MODULES_API_VERSION_BUILDER(ver_major,ver_minor,ver_patch) (((((uint32_t)(ver_major))&0xFF) << 24) | ((((uint32_t)(ver_minor))&0xFF) << 16) | (((uint32_t)(ver_patch))&0xFF))', - f'#define COMMUNITY_MODULES_API_VERSION COMMUNITY_MODULES_API_VERSION_BUILDER({ver_major},{ver_minor},{ver_patch})', - f'#define ASSERT_COMMUNITY_MODULES_MIN_API_VERSION(ver_major,ver_minor,ver_patch) STATIC_ASSERT(COMMUNITY_MODULES_API_VERSION_BUILDER(ver_major,ver_minor,ver_patch) <= COMMUNITY_MODULES_API_VERSION, "Community module requires a newer version of QMK modules API -- needs: " #ver_major "." #ver_minor "." #ver_patch ", current: {api_version}.")', - '', - 'typedef struct keyrecord_t keyrecord_t; // forward declaration so we don\'t need to include quantum.h', - '', - ] - - modules = get_modules(cli.args.keyboard, cli.args.filename) - module_jsons = load_module_jsons(modules) - if len(modules) > 0: - lines.extend(_render_keycodes(module_jsons)) - - for api in api_list: - lines.extend(_render_api_header(api)) - - for module in modules: - lines.append('') - lines.append(f'// From module: {module}') - for api in api_list: - lines.extend(_render_api_declarations(api, Path(module).name)) - lines.append('') - - lines.append('// Core wrapper') - for api in api_list: - lines.extend(_render_api_declarations(api, 'modules', user_kb=False)) - - dump_lines(cli.args.output, lines, cli.args.quiet, remove_repeated_newlines=True) - - -@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') -@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") -@cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate community_modules.c for.') -@cli.argument('filename', nargs='?', type=qmk.path.FileType('r'), arg_only=True, completer=FilesCompleter('.json'), help='Configurator JSON file') -@cli.subcommand('Creates a community_modules.c from a keymap.json file.') -def generate_community_modules_c(cli): - """Creates a community_modules.c from a keymap.json file - """ - if cli.args.output and cli.args.output.name == '-': - cli.args.output = None - - api_list, _, _, _, _ = module_api_list() - - lines = [ - GPL2_HEADER_C_LIKE, - GENERATED_HEADER_C_LIKE, - '', - '#include "community_modules.h"', - ] - - modules = get_modules(cli.args.keyboard, cli.args.filename) - if len(modules) > 0: - - for module in modules: - for api in api_list: - lines.extend(_render_api_implementations(api, Path(module).name)) - - for api in api_list: - lines.extend(_render_core_implementation(api, modules)) - - dump_lines(cli.args.output, lines, cli.args.quiet, remove_repeated_newlines=True) - - -def _generate_include_per_module(cli, include_file_name): - """Generates C code to include "/include_file_name" for each module.""" - if cli.args.output and cli.args.output.name == '-': - cli.args.output = None - - lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE] - - for module in get_modules(cli.args.keyboard, cli.args.filename): - full_path = f'{find_module_path(module)}/{include_file_name}' - lines.append('') - lines.append(f'#if __has_include("{full_path}")') - lines.append(f'#include "{full_path}"') - lines.append(f'#endif // __has_include("{full_path}")') - - dump_lines(cli.args.output, lines, cli.args.quiet, remove_repeated_newlines=True) - - -@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') -@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") -@cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate community_modules_introspection.h for.') -@cli.argument('filename', nargs='?', type=qmk.path.FileType('r'), arg_only=True, completer=FilesCompleter('.json'), help='Configurator JSON file') -@cli.subcommand('Creates a community_modules_introspection.h from a keymap.json file.') -def generate_community_modules_introspection_h(cli): - """Creates a community_modules_introspection.h from a keymap.json file - """ - _generate_include_per_module(cli, 'introspection.h') - - -@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') -@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") -@cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate community_modules.c for.') -@cli.argument('filename', nargs='?', type=qmk.path.FileType('r'), arg_only=True, completer=FilesCompleter('.json'), help='Configurator JSON file') -@cli.subcommand('Creates a community_modules_introspection.c from a keymap.json file.') -def generate_community_modules_introspection_c(cli): - """Creates a community_modules_introspection.c from a keymap.json file - """ - _generate_include_per_module(cli, 'introspection.c') - - -@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') -@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") -@cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate led_matrix_community_modules.inc for.') -@cli.argument('filename', nargs='?', type=qmk.path.FileType('r'), arg_only=True, completer=FilesCompleter('.json'), help='Configurator JSON file') -@cli.subcommand('Creates an led_matrix_community_modules.inc from a keymap.json file.') -def generate_led_matrix_community_modules_inc(cli): - """Creates an led_matrix_community_modules.inc from a keymap.json file - """ - _generate_include_per_module(cli, 'led_matrix_module.inc') - - -@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') -@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") -@cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate rgb_matrix_community_modules.inc for.') -@cli.argument('filename', nargs='?', type=qmk.path.FileType('r'), arg_only=True, completer=FilesCompleter('.json'), help='Configurator JSON file') -@cli.subcommand('Creates an rgb_matrix_community_modules.inc from a keymap.json file.') -def generate_rgb_matrix_community_modules_inc(cli): - """Creates an rgb_matrix_community_modules.inc from a keymap.json file - """ - _generate_include_per_module(cli, 'rgb_matrix_module.inc') diff --git a/lib/python/qmk/cli/generate/compilation_database.py b/lib/python/qmk/cli/generate/compilation_database.py old mode 100644 new mode 100755 index 339b53c2c2..b9c716bf0c --- a/lib/python/qmk/cli/generate/compilation_database.py +++ b/lib/python/qmk/cli/generate/compilation_database.py @@ -1,9 +1,169 @@ -from milc import cli +"""Creates a compilation database for the given keyboard build. +""" + +import json +import os +import re +import shlex +import shutil +from functools import lru_cache +from pathlib import Path +from typing import Dict, Iterator, List, Union + +from milc import cli, MILC + +from qmk.commands import find_make +from qmk.constants import QMK_FIRMWARE +from qmk.decorators import automagic_keyboard, automagic_keymap +from qmk.keyboard import keyboard_completer, keyboard_folder +from qmk.keymap import keymap_completer +from qmk.build_targets import KeyboardKeymapBuildTarget -@cli.argument('-kb', '--keyboard', help='[unused] The keyboard\'s name') -@cli.argument('-km', '--keymap', help='[unused] The keymap\'s name') -@cli.subcommand('[deprecated] Create a compilation database.') -def generate_compilation_database(cli): - cli.log.error('This command is deprecated and has effectively been removed. Please use the `--compiledb` flag with `qmk compile` instead.') - return False +@lru_cache(maxsize=10) +def system_libs(binary: str) -> List[Path]: + """Find the system include directory that the given build tool uses. + """ + cli.log.debug("searching for system library directory for binary: %s", binary) + + # Actually query xxxxxx-gcc to find its include paths. + if binary.endswith("gcc") or binary.endswith("g++"): + # (TODO): Remove 'stdin' once 'input' no longer causes issues under MSYS + result = cli.run([binary, '-E', '-Wp,-v', '-'], capture_output=True, check=True, stdin=None, input='\n') + paths = [] + for line in result.stderr.splitlines(): + if line.startswith(" "): + paths.append(Path(line.strip()).resolve()) + return paths + + return list(Path(binary).resolve().parent.parent.glob("*/include")) if binary else [] + + +@lru_cache(maxsize=10) +def cpu_defines(binary: str, compiler_args: str) -> List[str]: + cli.log.debug("gathering definitions for compilation: %s %s", binary, compiler_args) + if binary.endswith("gcc") or binary.endswith("g++"): + invocation = [binary, '-dM', '-E'] + if binary.endswith("gcc"): + invocation.extend(['-x', 'c']) + elif binary.endswith("g++"): + invocation.extend(['-x', 'c++']) + compiler_args = shlex.split(compiler_args) + invocation.extend(compiler_args) + invocation.append('-') + result = cli.run(invocation, capture_output=True, check=True, stdin=None, input='\n') + define_args = [] + for line in result.stdout.splitlines(): + line_args = line.split(' ', 2) + if len(line_args) == 3 and line_args[0] == '#define': + define_args.append(f'-D{line_args[1]}={line_args[2]}') + elif len(line_args) == 2 and line_args[0] == '#define': + define_args.append(f'-D{line_args[1]}') + return list(sorted(set(define_args))) + return [] + + +file_re = re.compile(r'printf "Compiling: ([^"]+)') +cmd_re = re.compile(r'LOG=\$\((.+?)&&') + + +def parse_make_n(f: Iterator[str]) -> List[Dict[str, str]]: + """parse the output of `make -n ` + + This function makes many assumptions about the format of your build log. + This happens to work right now for qmk. + """ + + state = 'start' + this_file = None + records = [] + for line in f: + if state == 'start': + m = file_re.search(line) + if m: + this_file = m.group(1) + state = 'cmd' + + if state == 'cmd': + assert this_file + m = cmd_re.search(line) + if m: + # we have a hit! + this_cmd = m.group(1) + args = shlex.split(this_cmd) + binary = shutil.which(args[0]) + compiler_args = set(filter(lambda x: x.startswith('-m') or x.startswith('-f'), args)) + for s in system_libs(binary): + args += ['-isystem', '%s' % s] + args.extend(cpu_defines(binary, ' '.join(shlex.quote(s) for s in compiler_args))) + new_cmd = ' '.join(shlex.quote(s) for s in args) + records.append({"directory": str(QMK_FIRMWARE.resolve()), "command": new_cmd, "file": this_file}) + state = 'start' + + return records + + +def write_compilation_database(keyboard: str = None, keymap: str = None, output_path: Path = QMK_FIRMWARE / 'compile_commands.json', skip_clean: bool = False, command: List[str] = None, **env_vars) -> bool: + # Generate the make command for a specific keyboard/keymap. + if not command: + from qmk.build_targets import KeyboardKeymapBuildTarget # Lazy load due to circular references + target = KeyboardKeymapBuildTarget(keyboard, keymap) + command = target.compile_command(dry_run=True, **env_vars) + + if not command: + cli.log.error('You must supply both `--keyboard` and `--keymap`, or be in a directory for a keyboard or keymap.') + cli.echo('usage: qmk generate-compilation-database [-kb KEYBOARD] [-km KEYMAP]') + return False + + # remove any environment variable overrides which could trip us up + env = os.environ.copy() + env.pop("MAKEFLAGS", None) + + # re-use same executable as the main make invocation (might be gmake) + if not skip_clean: + clean_command = [find_make(), "clean"] + cli.log.info('Making clean with {fg_cyan}%s', ' '.join(clean_command)) + cli.run(clean_command, capture_output=False, check=True, env=env) + + cli.log.info('Gathering build instructions from {fg_cyan}%s', ' '.join(command)) + + result = cli.run(command, capture_output=True, check=True, env=env) + db = parse_make_n(result.stdout.splitlines()) + if not db: + cli.log.error("Failed to parse output from make output:\n%s", result.stdout) + return False + + cli.log.info("Found %s compile commands", len(db)) + + cli.log.info(f"Writing build database to {output_path}") + output_path.write_text(json.dumps(db, indent=4)) + + return True + + +@cli.argument('-kb', '--keyboard', type=keyboard_folder, completer=keyboard_completer, help='The keyboard\'s name') +@cli.argument('-km', '--keymap', completer=keymap_completer, help='The keymap\'s name') +@cli.subcommand('Create a compilation database.') +@automagic_keyboard +@automagic_keymap +def generate_compilation_database(cli: MILC) -> Union[bool, int]: + """Creates a compilation database for the given keyboard build. + + Does a make clean, then a make -n for this target and uses the dry-run output to create + a compilation database (compile_commands.json). This file can help some IDEs and + IDE-like editors work better. For more information about this: + + https://clang.llvm.org/docs/JSONCompilationDatabase.html + """ + # check both config domains: the magic decorator fills in `generate_compilation_database` but the user is + # more likely to have set `compile` in their config file. + current_keyboard = cli.config.generate_compilation_database.keyboard or cli.config.user.keyboard + current_keymap = cli.config.generate_compilation_database.keymap or cli.config.user.keymap + + if not current_keyboard: + cli.log.error('Could not determine keyboard!') + elif not current_keymap: + cli.log.error('Could not determine keymap!') + + target = KeyboardKeymapBuildTarget(current_keyboard, current_keymap) + return target.generate_compilation_database() diff --git a/lib/python/qmk/cli/generate/docs.py b/lib/python/qmk/cli/generate/docs.py index 7abeca9d2a..5821d43b86 100644 --- a/lib/python/qmk/cli/generate/docs.py +++ b/lib/python/qmk/cli/generate/docs.py @@ -27,8 +27,10 @@ def generate_docs(cli): return False cli.log.info('Building vitepress docs') - run_docs_command('run', ['docs:build']) + run_docs_command('run', 'docs:build') cli.log.info('Successfully generated docs to %s.', BUILD_DOCS_PATH) if cli.args.serve: - run_docs_command('run', ['docs:preview']) + if not cli.config.general.verbose: + cli.log.info('Serving docs at http://localhost:4173/ (Ctrl+C to stop)') + run_docs_command('run', 'docs:preview') diff --git a/lib/python/qmk/cli/generate/keyboard_c.py b/lib/python/qmk/cli/generate/keyboard_c.py index 1978de4a22..228b320942 100755 --- a/lib/python/qmk/cli/generate/keyboard_c.py +++ b/lib/python/qmk/cli/generate/keyboard_c.py @@ -1,9 +1,5 @@ """Used by the make system to generate keyboard.c from info.json. """ -import bisect -import dataclasses -from typing import Optional - from milc import cli from qmk.info import info_json @@ -91,7 +87,6 @@ def _gen_matrix_mask(info_data): lines.append(f' 0b{"".join(reversed(mask[i]))},') lines.append('};') lines.append('#endif') - lines.append('') return lines @@ -127,128 +122,6 @@ def _gen_joystick_axes(info_data): lines.append('};') lines.append('#endif') - lines.append('') - - return lines - - -@dataclasses.dataclass -class LayoutKey: - """Geometric info for one key in a layout.""" - row: int - col: int - x: float - y: float - w: float = 1.0 - h: float = 1.0 - hand: Optional[str] = None - - @staticmethod - def from_json(key_json): - row, col = key_json['matrix'] - return LayoutKey( - row=row, - col=col, - x=key_json['x'], - y=key_json['y'], - w=key_json.get('w', 1.0), - h=key_json.get('h', 1.0), - hand=key_json.get('hand', None), - ) - - @property - def cx(self): - """Center x coordinate of the key.""" - return self.x + self.w / 2.0 - - @property - def cy(self): - """Center y coordinate of the key.""" - return self.y + self.h / 2.0 - - -class Layout: - """Geometric info of a layout.""" - def __init__(self, layout_json): - self.keys = [LayoutKey.from_json(key_json) for key_json in layout_json['layout']] - self.x_min = min(key.cx for key in self.keys) - self.x_max = max(key.cx for key in self.keys) - self.x_mid = (self.x_min + self.x_max) / 2 - # If there is one key with width >= 6u, it is probably the spacebar. - i = [i for i, key in enumerate(self.keys) if key.w >= 6.0] - self.spacebar = self.keys[i[0]] if len(i) == 1 else None - - def is_symmetric(self, tol: float = 0.02): - """Whether the key positions are symmetric about x_mid.""" - x = sorted([key.cx for key in self.keys]) - for i in range(len(x)): - x_i_mirrored = 2.0 * self.x_mid - x[i] - # Find leftmost x element greater than or equal to (x_i_mirrored - tol). - j = bisect.bisect_left(x, x_i_mirrored - tol) - if j == len(x) or abs(x[j] - x_i_mirrored) > tol: - return False - - return True - - def widest_horizontal_gap(self): - """Finds the x midpoint of the widest horizontal gap between keys.""" - x = sorted([key.cx for key in self.keys]) - x_mid = self.x_mid - max_sep = 0 - for i in range(len(x) - 1): - sep = x[i + 1] - x[i] - if sep > max_sep: - max_sep = sep - x_mid = (x[i + 1] + x[i]) / 2 - - return x_mid - - -def _gen_chordal_hold_layout(info_data): - """Convert info.json content to chordal_hold_layout - """ - # NOTE: If there are multiple layouts, only the first is read. - for layout_name, layout_json in info_data['layouts'].items(): - layout = Layout(layout_json) - break - - if layout.is_symmetric(): - # If the layout is symmetric (e.g. most split keyboards), guess the - # handedness based on the sign of (x - layout.x_mid). - hand_signs = [key.x - layout.x_mid for key in layout.keys] - elif layout.spacebar is not None: - # If the layout has a spacebar, form a dividing line through the spacebar, - # nearly vertical but with a slight angle to follow typical row stagger. - x0 = layout.spacebar.cx - 0.05 - y0 = layout.spacebar.cy - 1.0 - hand_signs = [(key.x - x0) - (key.y - y0) / 3.0 for key in layout.keys] - else: - # Fallback: assume handedness based on the widest horizontal separation. - x_mid = layout.widest_horizontal_gap() - hand_signs = [key.x - x_mid for key in layout.keys] - - for key, hand_sign in zip(layout.keys, hand_signs): - if key.hand is None: - if key == layout.spacebar or abs(hand_sign) <= 0.02: - key.hand = '*' - else: - key.hand = 'L' if hand_sign < 0.0 else 'R' - - lines = [] - lines.append('#ifdef CHORDAL_HOLD') - line = ('__attribute__((weak)) const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM = ' + layout_name + '(') - - x_prev = None - for key in layout.keys: - if x_prev is None or key.x < x_prev: - lines.append(line) - line = ' ' - line += f"'{key.hand}', " - x_prev = key.x - - lines.append(line[:-2]) - lines.append(');') - lines.append('#endif') return lines @@ -263,12 +136,11 @@ def generate_keyboard_c(cli): kb_info_json = info_json(cli.args.keyboard) # Build the layouts.h file. - keyboard_c_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#include QMK_KEYBOARD_H', ''] + keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#include QMK_KEYBOARD_H', ''] - keyboard_c_lines.extend(_gen_led_configs(kb_info_json)) - keyboard_c_lines.extend(_gen_matrix_mask(kb_info_json)) - keyboard_c_lines.extend(_gen_joystick_axes(kb_info_json)) - keyboard_c_lines.extend(_gen_chordal_hold_layout(kb_info_json)) + keyboard_h_lines.extend(_gen_led_configs(kb_info_json)) + keyboard_h_lines.extend(_gen_matrix_mask(kb_info_json)) + keyboard_h_lines.extend(_gen_joystick_axes(kb_info_json)) # Show the results - dump_lines(cli.args.output, keyboard_c_lines, cli.args.quiet) + dump_lines(cli.args.output, keyboard_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/cli/generate/keyboard_h.py b/lib/python/qmk/cli/generate/keyboard_h.py index cb9528d96b..5863a0983a 100755 --- a/lib/python/qmk/cli/generate/keyboard_h.py +++ b/lib/python/qmk/cli/generate/keyboard_h.py @@ -22,11 +22,6 @@ def _generate_layouts(keyboard, kb_info_json): row_num = kb_info_json['matrix_size']['rows'] lines = [] - lines.append('') - lines.append('// Layout content') - lines.append('') - lines.append('#define XXX KC_NO') - for layout_name, layout_data in kb_info_json['layouts'].items(): if layout_data['c_macro']: continue @@ -36,7 +31,7 @@ def _generate_layouts(keyboard, kb_info_json): continue layout_keys = [] - layout_matrix = [['XXX'] * col_num for _ in range(row_num)] + layout_matrix = [['KC_NO'] * col_num for _ in range(row_num)] for key_data in layout_data['layout']: row, col = key_data['matrix'] @@ -51,7 +46,7 @@ def _generate_layouts(keyboard, kb_info_json): lines.append('') lines.append(f'#define {layout_name}({", ".join(layout_keys)}) {{ \\') - rows = ', \\\n'.join([' { ' + ', '.join(row) + ' }' for row in layout_matrix]) + rows = ', \\\n'.join(['\t {' + ', '.join(row) + '}' for row in layout_matrix]) rows += ' \\' lines.append(rows) lines.append('}') @@ -72,9 +67,6 @@ def _generate_keycodes(kb_info_json): return [] lines = [] - lines.append('') - lines.append('// Keycode content') - lines.append('') lines.append('enum keyboard_keycodes {') for index, item in enumerate(kb_info_json.get('keycodes')): @@ -111,14 +103,17 @@ def generate_keyboard_h(cli): valid_config = dd_layouts or keyboard_h # Build the layouts.h file. - keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '', '#include "quantum.h"'] + keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '#include "quantum.h"'] + keyboard_h_lines.append('') + keyboard_h_lines.append('// Layout content') if dd_layouts: keyboard_h_lines.extend(dd_layouts) - if keyboard_h: keyboard_h_lines.append(f'#include "{Path(keyboard_h).name}"') + keyboard_h_lines.append('') + keyboard_h_lines.append('// Keycode content') if dd_keycodes: keyboard_h_lines.extend(dd_keycodes) diff --git a/lib/python/qmk/cli/generate/keycodes.py b/lib/python/qmk/cli/generate/keycodes.py index d686935fa8..719fced5d5 100644 --- a/lib/python/qmk/cli/generate/keycodes.py +++ b/lib/python/qmk/cli/generate/keycodes.py @@ -125,20 +125,6 @@ def _generate_aliases(lines, keycodes): lines.append(f'#define {alias} {value.get("key")}') -def _generate_version(lines, keycodes, prefix=''): - version = keycodes['version'] - major, minor, patch = map(int, version.split('.')) - - bcd = f'0x{major:02d}{minor:02d}{patch:04d}' - - lines.append('') - lines.append(f'#define QMK_{prefix}KEYCODES_VERSION "{version}"') - lines.append(f'#define QMK_{prefix}KEYCODES_VERSION_BCD {bcd}') - lines.append(f'#define QMK_{prefix}KEYCODES_VERSION_MAJOR {major}') - lines.append(f'#define QMK_{prefix}KEYCODES_VERSION_MINOR {minor}') - lines.append(f'#define QMK_{prefix}KEYCODES_VERSION_PATCH {patch}') - - @cli.argument('-v', '--version', arg_only=True, required=True, help='Version of keycodes to generate.') @cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to') @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") @@ -152,7 +138,6 @@ def generate_keycodes(cli): keycodes = load_spec(cli.args.version) - _generate_version(keycodes_h_lines, keycodes) _generate_ranges(keycodes_h_lines, keycodes) _generate_defines(keycodes_h_lines, keycodes) _generate_helpers(keycodes_h_lines, keycodes) @@ -175,7 +160,6 @@ def generate_keycode_extras(cli): keycodes = load_spec(cli.args.version, cli.args.lang) - _generate_version(keycodes_h_lines, keycodes, f'{cli.args.lang.upper()}_') _generate_aliases(keycodes_h_lines, keycodes) # Show the results diff --git a/lib/python/qmk/cli/generate/keycodes_tests.py b/lib/python/qmk/cli/generate/keycodes_tests.py new file mode 100644 index 0000000000..453b4693a7 --- /dev/null +++ b/lib/python/qmk/cli/generate/keycodes_tests.py @@ -0,0 +1,39 @@ +"""Used by the make system to generate a keycode lookup table from keycodes_{version}.json +""" +from milc import cli + +from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE +from qmk.commands import dump_lines +from qmk.path import normpath +from qmk.keycodes import load_spec + + +def _generate_defines(lines, keycodes): + lines.append('') + lines.append('std::map KEYCODE_ID_TABLE = {') + for key, value in keycodes["keycodes"].items(): + lines.append(f' {{{value.get("key")}, "{value.get("key")}"}},') + lines.append('};') + + +@cli.argument('-v', '--version', arg_only=True, required=True, help='Version of keycodes to generate.') +@cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to') +@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") +@cli.subcommand('Used by the make system to generate a keycode lookup table from keycodes_{version}.json', hidden=True) +def generate_keycodes_tests(cli): + """Generates a keycode to identifier lookup table for unit test output. + """ + + # Build the keycodes.h file. + keycodes_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '// clang-format off'] + keycodes_h_lines.append('extern "C" {\n#include \n}') + keycodes_h_lines.append('#include ') + keycodes_h_lines.append('#include ') + keycodes_h_lines.append('#include ') + + keycodes = load_spec(cli.args.version) + + _generate_defines(keycodes_h_lines, keycodes) + + # Show the results + dump_lines(cli.args.output, keycodes_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/cli/generate/make_dependencies.py b/lib/python/qmk/cli/generate/make_dependencies.py index 9548187888..331132a20f 100755 --- a/lib/python/qmk/cli/generate/make_dependencies.py +++ b/lib/python/qmk/cli/generate/make_dependencies.py @@ -8,7 +8,7 @@ from argcomplete.completers import FilesCompleter from qmk.commands import dump_lines from qmk.keyboard import keyboard_completer, keyboard_folder from qmk.keymap import keymap_completer, locate_keymap -from qmk.path import normpath, FileType, unix_style_path +from qmk.path import normpath, FileType @cli.argument('filename', nargs='?', arg_only=True, type=FileType('r'), completer=FilesCompleter('.json'), help='A configurator export JSON.') @@ -53,4 +53,4 @@ def generate_make_dependencies(cli): for file in interesting_files: check_files.append(Path('users') / cli.args.keymap / file) - dump_lines(cli.args.output, [f'generated-files: $(wildcard {unix_style_path(found)})\n' for found in check_files]) + dump_lines(cli.args.output, [f'generated-files: $(wildcard {found})\n' for found in check_files]) diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py index 358a22fd1d..5291556109 100755 --- a/lib/python/qmk/cli/generate/rules_mk.py +++ b/lib/python/qmk/cli/generate/rules_mk.py @@ -46,15 +46,6 @@ def process_mapping_rule(kb_info_json, rules_key, info_dict): return generate_rule(rules_key, rules_value) -def generate_features_rules(features_dict): - lines = [] - for feature, enabled in features_dict.items(): - feature = feature.upper() - enabled = 'yes' if enabled else 'no' - lines.append(generate_rule(f'{feature}_ENABLE', enabled)) - return lines - - @cli.argument('filename', nargs='?', arg_only=True, type=FileType('r'), completer=FilesCompleter('.json'), help='A configurator export JSON to be compiled and flashed or a pre-compiled binary firmware file (bin/hex) to be flashed.') @cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to') @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") @@ -89,7 +80,10 @@ def generate_rules_mk(cli): # Iterate through features to enable/disable them if 'features' in kb_info_json: - rules_mk_lines.extend(generate_features_rules(kb_info_json['features'])) + for feature, enabled in kb_info_json['features'].items(): + feature = feature.upper() + enabled = 'yes' if enabled else 'no' + rules_mk_lines.append(generate_rule(f'{feature}_ENABLE', enabled)) # Set SPLIT_TRANSPORT, if needed if kb_info_json.get('split', {}).get('transport', {}).get('protocol') == 'custom': diff --git a/lib/python/qmk/cli/info.py b/lib/python/qmk/cli/info.py index 5925b57258..e662407474 100755 --- a/lib/python/qmk/cli/info.py +++ b/lib/python/qmk/cli/info.py @@ -52,11 +52,6 @@ def show_keymap(kb_info_json, title_caps=True): if keymap_path and keymap_path.suffix == '.json': keymap_data = json.load(keymap_path.open(encoding='utf-8')) - - # cater for layout-less keymap.json - if 'layout' not in keymap_data: - return - layout_name = keymap_data['layout'] layout_name = kb_info_json.get('layout_aliases', {}).get(layout_name, layout_name) # Resolve alias names diff --git a/lib/python/qmk/cli/lint.py b/lib/python/qmk/cli/lint.py index 484ddb5bd9..efb29704ae 100644 --- a/lib/python/qmk/cli/lint.py +++ b/lib/python/qmk/cli/lint.py @@ -1,6 +1,5 @@ """Command to look over a keyboard/keymap and check for common mistakes. """ -from dotty_dict import dotty from pathlib import Path from milc import cli @@ -11,8 +10,7 @@ from qmk.keyboard import keyboard_completer, keyboard_folder_or_all, is_all_keyb from qmk.keymap import locate_keymap, list_keymaps from qmk.path import keyboard from qmk.git import git_get_ignored_files -from qmk.c_parse import c_source_files, preprocess_c_file -from qmk.json_schema import json_load +from qmk.c_parse import c_source_files CHIBIOS_CONF_CHECKS = ['chconf.h', 'halconf.h', 'mcuconf.h', 'board.h'] INVALID_KB_FEATURES = set(['encoder_map', 'dip_switch_map', 'combo', 'tap_dance', 'via']) @@ -28,71 +26,19 @@ def _list_defaultish_keymaps(kb): defaultish.extend(INVALID_KM_NAMES) keymaps = set() - for x in list_keymaps(kb, include_userspace=False): + for x in list_keymaps(kb): if x in defaultish or x.startswith('default'): keymaps.add(x) return keymaps -def _get_readme_files(kb, km=None): - """Return potential keyboard/keymap readme files - """ - search_path = locate_keymap(kb, km).parent if km else keyboard(kb) - - readme_files = [] - - if not km: - current_path = Path(search_path.parts[0]) - for path_part in search_path.parts[1:]: - current_path = current_path / path_part - readme_files.extend(current_path.glob('*readme.md')) - - for file in search_path.glob("**/*readme.md"): - # Ignore keymaps when only globing keyboard files - if not km and 'keymaps' in file.parts: - continue - readme_files.append(file) - - return set(readme_files) - - -def _get_build_files(kb, km=None): - """Return potential keyboard/keymap build files - """ - search_path = locate_keymap(kb, km).parent if km else keyboard(kb) - - build_files = [] - - if not km: - current_path = Path() - for path_part in search_path.parts: - current_path = current_path / path_part - build_files.extend(current_path.glob('*rules.mk')) - - for file in search_path.glob("**/*rules.mk"): - # Ignore keymaps when only globing keyboard files - if not km and 'keymaps' in file.parts: - continue - build_files.append(file) - - return set(build_files) - - def _get_code_files(kb, km=None): """Return potential keyboard/keymap code files """ search_path = locate_keymap(kb, km).parent if km else keyboard(kb) code_files = [] - - if not km: - current_path = Path() - for path_part in search_path.parts: - current_path = current_path / path_part - code_files.extend(current_path.glob('*.h')) - code_files.extend(current_path.glob('*.c')) - for file in c_source_files([search_path]): # Ignore keymaps when only globing keyboard files if not km and 'keymaps' in file.parts: @@ -102,43 +48,6 @@ def _get_code_files(kb, km=None): return code_files -def _is_invalid_readme(file): - """Check if file contains any unfilled content - """ - tokens = [ - '%KEYBOARD%', - '%REAL_NAME%', - '%USER_NAME%', - 'image replace me!', - 'A short description of the keyboard/project', - 'The PCBs, controllers supported', - 'Links to where you can find this hardware', - ] - - for line in file.read_text(encoding='utf-8').split("\n"): - if any(token in line for token in tokens): - return True - return False - - -def _is_empty_rules(file): - """Check if file contains any useful content - """ - for line in file.read_text(encoding='utf-8').split("\n"): - if len(line) > 0 and not line.isspace() and not line.startswith('#'): - return False - return True - - -def _is_empty_include(file): - """Check if file contains any useful content - """ - for line in preprocess_c_file(file).split("\n"): - if len(line) > 0 and not line.isspace() and not line.startswith('#pragma once'): - return False - return True - - def _has_license(file): """Check file has a license header """ @@ -173,14 +82,6 @@ def _handle_invalid_features(kb, info): return ok -def _handle_invalid_config(kb, info): - """Check for invalid keyboard level config - """ - if info.get('url') == "": - cli.log.warning(f'{kb}: Invalid keyboard level config detected - Optional field "url" should not be empty.') - return True - - def _chibios_conf_includenext_check(target): """Check the ChibiOS conf.h for the correct inclusion of the next conf.h """ @@ -190,58 +91,41 @@ def _chibios_conf_includenext_check(target): return None -def _rules_mk_assignment_only(rules_mk): +def _rules_mk_assignment_only(kb): """Check the keyboard-level rules.mk to ensure it only has assignments. """ + keyboard_path = keyboard(kb) + current_path = Path() errors = [] - continuation = None - for i, line in enumerate(rules_mk.open()): - line = line.strip() - if '#' in line: - line = line[:line.index('#')] + for path_part in keyboard_path.parts: + current_path = current_path / path_part + rules_mk = current_path / 'rules.mk' - if continuation: - line = continuation + line + if rules_mk.exists(): continuation = None - if line: - if line[-1] == '\\': - continuation = line[:-1] - continue + for i, line in enumerate(rules_mk.open()): + line = line.strip() - if line and '=' not in line: - errors.append(f'Non-assignment code on line +{i} {rules_mk}: {line}') + if '#' in line: + line = line[:line.index('#')] + + if continuation: + line = continuation + line + continuation = None + + if line: + if line[-1] == '\\': + continuation = line[:-1] + continue + + if line and '=' not in line: + errors.append(f'Non-assignment code on line +{i} {rules_mk}: {line}') return errors -def _handle_duplicating_code_defaults(kb, info): - def _collect_dotted_output(kb_info_json, prefix=''): - """Print the info.json in a plain text format with dot-joined keys. - """ - for key in sorted(kb_info_json): - new_prefix = f'{prefix}.{key}' if prefix else key - - if isinstance(kb_info_json[key], dict): - yield from _collect_dotted_output(kb_info_json[key], new_prefix) - elif isinstance(kb_info_json[key], list): - # TODO: handle non primitives? - yield (new_prefix, kb_info_json[key]) - else: - yield (new_prefix, kb_info_json[key]) - - defaults_map = json_load(Path('data/mappings/info_defaults.hjson')) - dotty_info = dotty(info) - - for key, v_default in _collect_dotted_output(defaults_map): - v_info = dotty_info.get(key) - if v_default == v_info: - cli.log.warning(f'{kb}: Option "{key}" duplicates default value of "{v_default}"') - - return True - - def keymap_check(kb, km): """Perform the keymap level checks. """ @@ -278,7 +162,7 @@ def keymap_check(kb, km): return ok -def keyboard_check(kb): # noqa C901 +def keyboard_check(kb): """Perform the keyboard level checks. """ ok = True @@ -291,11 +175,12 @@ def keyboard_check(kb): # noqa C901 if not _handle_invalid_features(kb, kb_info): ok = False - if not _handle_invalid_config(kb, kb_info): - ok = False - - if not _handle_duplicating_code_defaults(kb, kb_info): + rules_mk_assignment_errors = _rules_mk_assignment_only(kb) + if rules_mk_assignment_errors: ok = False + cli.log.error('%s: Non-assignment code found in rules.mk. Move it to post_rules.mk instead.', kb) + for assignment_error in rules_mk_assignment_errors: + cli.log.error(assignment_error) invalid_files = git_get_ignored_files(f'keyboards/{kb}/') for file in invalid_files: @@ -304,34 +189,11 @@ def keyboard_check(kb): # noqa C901 cli.log.error(f'{kb}: The file "{file}" should not exist!') ok = False - for file in _get_readme_files(kb): - if _is_invalid_readme(file): - cli.log.error(f'{kb}: The file "{file}" still contains template tokens!') - ok = False - - for file in _get_build_files(kb): - if _is_empty_rules(file): - cli.log.error(f'{kb}: The file "{file}" is effectively empty and should be removed!') - ok = False - - if file.suffix in ['rules.mk']: - rules_mk_assignment_errors = _rules_mk_assignment_only(file) - if rules_mk_assignment_errors: - ok = False - cli.log.error('%s: Non-assignment code found in rules.mk. Move it to post_rules.mk instead.', kb) - for assignment_error in rules_mk_assignment_errors: - cli.log.error(assignment_error) - for file in _get_code_files(kb): if not _has_license(file): cli.log.error(f'{kb}: The file "{file}" does not have a license header!') ok = False - if file.name in ['config.h']: - if _is_empty_include(file): - cli.log.error(f'{kb}: The file "{file}" is effectively empty and should be removed!') - ok = False - if file.name in CHIBIOS_CONF_CHECKS: check_error = _chibios_conf_includenext_check(file) if check_error is not None: @@ -359,10 +221,10 @@ def lint(cli): if isinstance(cli.config.lint.keyboard, str): # if provided via config - string not array keyboard_list = [cli.config.lint.keyboard] - elif any(is_all_keyboards(kb) for kb in cli.args.keyboard): + elif is_all_keyboards(cli.args.keyboard[0]): keyboard_list = list_keyboards() else: - keyboard_list = list(set(cli.config.lint.keyboard)) + keyboard_list = cli.config.lint.keyboard failed = [] diff --git a/lib/python/qmk/cli/new/keymap.py b/lib/python/qmk/cli/new/keymap.py index 20a0c0198c..f1df05636c 100755 --- a/lib/python/qmk/cli/new/keymap.py +++ b/lib/python/qmk/cli/new/keymap.py @@ -1,12 +1,10 @@ """This script automates the copying of the default keymap into your own keymap. """ import re -import json import shutil -from pathlib import Path from milc import cli -from milc.questions import question, choice +from milc.questions import question from qmk.constants import HAS_QMK_USERSPACE, QMK_USERSPACE from qmk.path import is_keyboard, keymaps, keymap @@ -14,34 +12,6 @@ from qmk.git import git_get_username from qmk.decorators import automagic_keyboard, automagic_keymap from qmk.keyboard import keyboard_completer, keyboard_folder from qmk.userspace import UserspaceDefs -from qmk.json_schema import json_load -from qmk.json_encoders import KeymapJSONEncoder -from qmk.info import info_json - - -def _list_available_converters(kb_name): - """Search for converters that can be applied to a given keyboard - """ - if not is_keyboard(kb_name): - return None - - info = info_json(kb_name) - pin_compatible = info.get('pin_compatible') - if not pin_compatible: - return None - - return sorted(folder.name.split('_to_')[-1] for folder in Path('platforms').glob(f'*/converters/{pin_compatible}_to_*')) - - -def _set_converter(file, converter): - """add/overwrite any existing converter specified in keymap.json - """ - json_data = json_load(file) if file.exists() else {} - - json_data['converter'] = converter - - output = json.dumps(json_data, cls=KeymapJSONEncoder, sort_keys=True) - file.write_text(output + '\n', encoding='utf-8') def validate_keymap_name(name): @@ -53,42 +23,24 @@ def validate_keymap_name(name): def prompt_keyboard(): prompt = """{fg_yellow}Select Keyboard{style_reset_all} -If you're unsure you can view a full list of supported keyboards with {fg_yellow}qmk list-keyboards{style_reset_all}. +If you`re unsure you can view a full list of supported keyboards with {fg_yellow}qmk list-keyboards{style_reset_all}. Keyboard Name? """ + return question(prompt) def prompt_user(): prompt = """ {fg_yellow}Name Your Keymap{style_reset_all} +Used for maintainer, copyright, etc -Keymap name? """ +Your GitHub Username? """ return question(prompt, default=git_get_username()) -def prompt_converter(kb_name): - prompt = """ -{fg_yellow}Configure Development Board{style_reset_all} -For more information, see: -https://docs.qmk.fm/feature_converters - -Use converter? """ - - converters = _list_available_converters(kb_name) - if not converters: - return None - - choices = ['No (default)', *converters] - - answer = choice(prompt, options=choices, default=0) - return None if choices.index(answer) == 0 else answer - - @cli.argument('-kb', '--keyboard', type=keyboard_folder, completer=keyboard_completer, help='Specify keyboard name. Example: 1upkeyboards/1up60hse') @cli.argument('-km', '--keymap', help='Specify the name for the new keymap directory') -@cli.argument('--converter', help='Specify the name of a converter to configure') -@cli.argument('--skip-converter', arg_only=True, action='store_true', help='Skip converter') @cli.subcommand('Creates a new keymap for the keyboard of your choosing') @automagic_keyboard @automagic_keymap @@ -101,12 +53,9 @@ def new_keymap(cli): # ask for user input if keyboard or keymap was not provided in the command line kb_name = cli.config.new_keymap.keyboard if cli.config.new_keymap.keyboard else prompt_keyboard() user_name = cli.config.new_keymap.keymap if cli.config.new_keymap.keymap else prompt_user() - converter = cli.config.new_keymap.converter if cli.args.skip_converter or cli.config.new_keymap.converter else prompt_converter(kb_name) # check directories - try: - kb_name = keyboard_folder(kb_name) - except ValueError: + if not is_keyboard(kb_name): cli.log.error(f'Keyboard {{fg_cyan}}{kb_name}{{fg_reset}} does not exist! Please choose a valid name.') return False @@ -130,9 +79,6 @@ def new_keymap(cli): # create user directory with default keymap files shutil.copytree(keymap_path_default, keymap_path_new, symlinks=True) - if converter: - _set_converter(keymap_path_new / 'keymap.json', converter) - # end message to user cli.log.info(f'{{fg_green}}Created a new keymap called {{fg_cyan}}{user_name}{{fg_green}} in: {{fg_cyan}}{keymap_path_new}.{{fg_reset}}') cli.log.info(f"Compile a firmware with your new keymap by typing: {{fg_yellow}}qmk compile -kb {kb_name} -km {user_name}{{fg_reset}}.") diff --git a/lib/python/qmk/cli/resolve_alias.py b/lib/python/qmk/cli/resolve_alias.py deleted file mode 100644 index b9ffb46618..0000000000 --- a/lib/python/qmk/cli/resolve_alias.py +++ /dev/null @@ -1,16 +0,0 @@ -from qmk.keyboard import keyboard_folder - -from milc import cli - - -@cli.argument('--allow-unknown', arg_only=True, action='store_true', help="Return original if rule is not a valid keyboard.") -@cli.argument('keyboard', arg_only=True, help='The keyboard\'s name') -@cli.subcommand('Resolve DEFAULT_FOLDER and any keyboard_aliases for provided rule') -def resolve_alias(cli): - try: - print(keyboard_folder(cli.args.keyboard)) - except ValueError: - if cli.args.allow_unknown: - print(cli.args.keyboard) - else: - raise diff --git a/lib/python/qmk/cli/via2json.py b/lib/python/qmk/cli/via2json.py index 0997e9ca9f..537e102640 100755 --- a/lib/python/qmk/cli/via2json.py +++ b/lib/python/qmk/cli/via2json.py @@ -9,15 +9,19 @@ import qmk.keyboard import qmk.path from qmk.info import info_json from qmk.json_encoders import KeymapJSONEncoder -from qmk.commands import dump_lines -from qmk.keymap import generate_json +from qmk.commands import parse_configurator_json, dump_lines +from qmk.keymap import generate_json, list_keymaps, locate_keymap, parse_keymap_c -def _find_via_layout_macro(keyboard_data): - """Assume layout macro when only 1 is available - """ - layouts = list(keyboard_data['layouts'].keys()) - return layouts[0] if len(layouts) == 1 else None +def _find_via_layout_macro(keyboard): + keymap_layout = None + if 'via' in list_keymaps(keyboard): + keymap_path = locate_keymap(keyboard, 'via') + if keymap_path.suffix == '.json': + keymap_layout = parse_configurator_json(keymap_path)['layout'] + else: + keymap_layout = parse_keymap_c(keymap_path)['layers'][0]['layout'] + return keymap_layout def _convert_macros(via_macros): @@ -126,16 +130,20 @@ def via2json(cli): This command uses the `qmk.keymap` module to generate a keymap.json from a VIA backup json. The generated keymap is written to stdout, or to a file if -o is provided. """ + # Find appropriate layout macro + keymap_layout = cli.args.layout if cli.args.layout else _find_via_layout_macro(cli.args.keyboard) + if not keymap_layout: + cli.log.error(f"Couldn't find LAYOUT macro for keyboard {cli.args.keyboard}. Please specify it with the '-l' argument.") + return False + # Load the VIA backup json with cli.args.filename.open('r') as fd: via_backup = json.load(fd) + # Generate keyboard metadata keyboard_data = info_json(cli.args.keyboard) - - # Find appropriate layout macro - keymap_layout = cli.args.layout if cli.args.layout else _find_via_layout_macro(keyboard_data) - if not keymap_layout: - cli.log.error(f"Couldn't find LAYOUT macro for keyboard {cli.args.keyboard}. Please specify it with the '-l' argument.") + if not keyboard_data: + cli.log.error(f'LAYOUT macro {keymap_layout} is not a valid one for keyboard {cli.args.keyboard}!') return False # Get keycode array diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index ac1455967d..a05b3641b5 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -12,7 +12,6 @@ from qmk.constants import QMK_USERSPACE, HAS_QMK_USERSPACE from qmk.json_schema import json_load, validate from qmk.keyboard import keyboard_alias_definitions from qmk.util import maybe_exit -from qmk.path import unix_style_path def find_make(): @@ -86,7 +85,7 @@ def build_environment(args): envs = parse_env_vars(args) if HAS_QMK_USERSPACE: - envs['QMK_USERSPACE'] = unix_style_path(Path(QMK_USERSPACE).resolve()) + envs['QMK_USERSPACE'] = Path(QMK_USERSPACE).resolve() return envs @@ -99,14 +98,11 @@ def in_virtualenv(): return active_prefix != sys.prefix -def dump_lines(output_file, lines, quiet=True, remove_repeated_newlines=False): +def dump_lines(output_file, lines, quiet=True): """Handle dumping to stdout or file Creates parent folders if required """ generated = '\n'.join(lines) + '\n' - if remove_repeated_newlines: - while '\n\n\n' in generated: - generated = generated.replace('\n\n\n', '\n\n') if output_file and output_file.name != '-': output_file.parent.mkdir(parents=True, exist_ok=True) if output_file.exists(): diff --git a/lib/python/qmk/community_modules.py b/lib/python/qmk/community_modules.py deleted file mode 100644 index f7e96a6b93..0000000000 --- a/lib/python/qmk/community_modules.py +++ /dev/null @@ -1,100 +0,0 @@ -import os - -from pathlib import Path -from functools import lru_cache - -from milc.attrdict import AttrDict - -from qmk.json_schema import json_load, validate, merge_ordered_dicts -from qmk.util import truthy -from qmk.constants import QMK_FIRMWARE, QMK_USERSPACE, HAS_QMK_USERSPACE -from qmk.path import under_qmk_firmware, under_qmk_userspace - -COMMUNITY_MODULE_JSON_FILENAME = 'qmk_module.json' - - -class ModuleAPI(AttrDict): - def __init__(self, **kwargs): - super().__init__() - for key, value in kwargs.items(): - self[key] = value - - -@lru_cache(maxsize=1) -def module_api_list(): - module_definition_files = sorted(set(QMK_FIRMWARE.glob('data/constants/module_hooks/*.hjson'))) - module_definition_jsons = [json_load(f) for f in module_definition_files] - module_definitions = merge_ordered_dicts(module_definition_jsons) - latest_module_version = module_definition_files[-1].stem - latest_module_version_parts = latest_module_version.split('.') - - api_list = [] - for name, mod in module_definitions.items(): - api_list.append(ModuleAPI( - ret_type=mod['ret_type'], - name=name, - args=mod['args'], - call_params=mod.get('call_params', ''), - guard=mod.get('guard', None), - header=mod.get('header', None), - )) - - return api_list, latest_module_version, latest_module_version_parts[0], latest_module_version_parts[1], latest_module_version_parts[2] - - -def find_available_module_paths(): - """Find all available modules. - """ - search_dirs = [] - if HAS_QMK_USERSPACE: - search_dirs.append(QMK_USERSPACE / 'modules') - search_dirs.append(QMK_FIRMWARE / 'modules') - - modules = [] - for search_dir in search_dirs: - for module_json_path in search_dir.rglob(COMMUNITY_MODULE_JSON_FILENAME): - modules.append(module_json_path.parent) - return modules - - -def find_module_path(module): - """Find a module by name. - """ - for module_path in find_available_module_paths(): - # Ensure the module directory is under QMK Firmware or QMK Userspace - relative_path = under_qmk_firmware(module_path) - if not relative_path: - relative_path = under_qmk_userspace(module_path) - if not relative_path: - continue - - lhs = str(relative_path.as_posix())[len('modules/'):] - rhs = str(Path(module).as_posix()) - - if relative_path and lhs == rhs: - return module_path - return None - - -def load_module_json(module): - """Load a module JSON file. - """ - module_path = find_module_path(module) - if not module_path: - raise FileNotFoundError(f'Module not found: {module}') - - module_json = json_load(module_path / COMMUNITY_MODULE_JSON_FILENAME) - - if not truthy(os.environ.get('SKIP_SCHEMA_VALIDATION'), False): - validate(module_json, 'qmk.community_module.v1') - - module_json['module'] = module - module_json['module_path'] = module_path - - return module_json - - -def load_module_jsons(modules): - """Load the module JSON files, matching the specified order. - """ - return list(map(load_module_json, modules)) diff --git a/lib/python/qmk/compilation_database.py b/lib/python/qmk/compilation_database.py deleted file mode 100755 index 851dc3f157..0000000000 --- a/lib/python/qmk/compilation_database.py +++ /dev/null @@ -1,140 +0,0 @@ -"""Creates a compilation database for the given keyboard build. -""" - -import json -import os -import re -import shlex -import shutil -from functools import lru_cache -from pathlib import Path -from typing import Dict, Iterator, List - -from milc import cli - -from qmk.commands import find_make -from qmk.constants import QMK_FIRMWARE - - -@lru_cache(maxsize=10) -def system_libs(binary: str) -> List[Path]: - """Find the system include directory that the given build tool uses. - """ - cli.log.debug("searching for system library directory for binary: %s", binary) - - # Actually query xxxxxx-gcc to find its include paths. - if binary.endswith("gcc") or binary.endswith("g++"): - # (TODO): Remove 'stdin' once 'input' no longer causes issues under MSYS - result = cli.run([binary, '-E', '-Wp,-v', '-'], capture_output=True, check=True, stdin=None, input='\n') - paths = [] - for line in result.stderr.splitlines(): - if line.startswith(" "): - paths.append(Path(line.strip()).resolve()) - return paths - - return list(Path(binary).resolve().parent.parent.glob("*/include")) if binary else [] - - -@lru_cache(maxsize=10) -def cpu_defines(binary: str, compiler_args: str) -> List[str]: - cli.log.debug("gathering definitions for compilation: %s %s", binary, compiler_args) - if binary.endswith("gcc") or binary.endswith("g++"): - invocation = [binary, '-dM', '-E'] - if binary.endswith("gcc"): - invocation.extend(['-x', 'c', '-std=gnu11']) - elif binary.endswith("g++"): - invocation.extend(['-x', 'c++', '-std=gnu++14']) - invocation.extend(shlex.split(compiler_args)) - invocation.append('-') - result = cli.run(invocation, capture_output=True, check=True, stdin=None, input='\n') - define_args = [] - for line in result.stdout.splitlines(): - line_args = line.split(' ', 2) - if len(line_args) == 3 and line_args[0] == '#define': - define_args.append(f'-D{line_args[1]}={line_args[2]}') - elif len(line_args) == 2 and line_args[0] == '#define': - define_args.append(f'-D{line_args[1]}') - - type_filter = re.compile( - r'^-D__(SIZE|INT|UINT|WINT|WCHAR|BYTE|SHRT|SIG|FLOAT|LONG|CHAR|SCHAR|DBL|FLT|LDBL|PTRDIFF|QQ|DQ|DA|HA|HQ|SA|SQ|TA|TQ|UDA|UDQ|UHA|UHQ|USQ|USA|UTQ|UTA|UQQ|UQA|ACCUM|FRACT|UACCUM|UFRACT|LACCUM|LFRACT|ULACCUM|ULFRACT|LLACCUM|LLFRACT|ULLACCUM|ULLFRACT|SACCUM|SFRACT|USACCUM|USFRACT)' - ) - return list(sorted(set(filter(lambda x: not type_filter.match(x), define_args)))) - return [] - - -file_re = re.compile(r'printf "Compiling: ([^"]+)') -cmd_re = re.compile(r'LOG=\$\((.+?)&&') - - -def parse_make_n(f: Iterator[str]) -> List[Dict[str, str]]: - """parse the output of `make -n ` - - This function makes many assumptions about the format of your build log. - This happens to work right now for qmk. - """ - - state = 'start' - this_file = None - records = [] - for line in f: - if state == 'start': - m = file_re.search(line) - if m: - this_file = m.group(1) - state = 'cmd' - - if state == 'cmd': - assert this_file - m = cmd_re.search(line) - if m: - # we have a hit! - this_cmd = m.group(1) - args = shlex.split(this_cmd) - binary = shutil.which(args[0]) - compiler_args = set(filter(lambda x: x.startswith('-m') or x.startswith('-f'), args)) - for s in system_libs(binary): - args += ['-isystem', '%s' % s] - args.extend(cpu_defines(binary, ' '.join(shlex.quote(s) for s in compiler_args))) - args[0] = binary - records.append({"arguments": args, "directory": str(QMK_FIRMWARE.resolve()), "file": this_file}) - state = 'start' - - return records - - -def write_compilation_database(keyboard: str = None, keymap: str = None, output_path: Path = QMK_FIRMWARE / 'compile_commands.json', skip_clean: bool = False, command: List[str] = None, **env_vars) -> bool: - # Generate the make command for a specific keyboard/keymap. - if not command: - from qmk.build_targets import KeyboardKeymapBuildTarget # Lazy load due to circular references - target = KeyboardKeymapBuildTarget(keyboard, keymap) - command = target.compile_command(dry_run=True, **env_vars) - - if not command: - cli.log.error('You must supply both `--keyboard` and `--keymap`, or be in a directory for a keyboard or keymap.') - cli.echo('usage: qmk generate-compilation-database [-kb KEYBOARD] [-km KEYMAP]') - return False - - # remove any environment variable overrides which could trip us up - env = os.environ.copy() - env.pop("MAKEFLAGS", None) - - # re-use same executable as the main make invocation (might be gmake) - if not skip_clean: - clean_command = [find_make(), "clean"] - cli.log.info('Making clean with {fg_cyan}%s', ' '.join(clean_command)) - cli.run(clean_command, capture_output=False, check=True, env=env) - - cli.log.info('Gathering build instructions from {fg_cyan}%s', ' '.join(command)) - - result = cli.run(command, capture_output=True, check=True, env=env) - db = parse_make_n(result.stdout.splitlines()) - if not db: - cli.log.error("Failed to parse output from make output:\n%s", result.stdout) - return False - - cli.log.info("Found %s compile commands", len(db)) - - cli.log.info(f"Writing build database to {output_path}") - output_path.write_text(json.dumps(db, indent=4)) - - return True diff --git a/lib/python/qmk/constants.py b/lib/python/qmk/constants.py index e3e47c2bd2..e055d3fbc9 100644 --- a/lib/python/qmk/constants.py +++ b/lib/python/qmk/constants.py @@ -22,7 +22,7 @@ QMK_FIRMWARE_UPSTREAM = 'qmk/qmk_firmware' MAX_KEYBOARD_SUBFOLDERS = 5 # Supported processor types -CHIBIOS_PROCESSORS = 'cortex-m0', 'cortex-m0plus', 'cortex-m3', 'cortex-m4', 'MKL26Z64', 'MK20DX128', 'MK20DX256', 'MK64FX512', 'MK66FX1M0', 'RP2040', 'STM32F042', 'STM32F072', 'STM32F103', 'STM32F303', 'STM32F401', 'STM32F405', 'STM32F407', 'STM32F411', 'STM32F446', 'STM32G0B1', 'STM32G431', 'STM32G474', 'STM32H723', 'STM32H733', 'STM32L412', 'STM32L422', 'STM32L432', 'STM32L433', 'STM32L442', 'STM32L443', 'GD32VF103', 'WB32F3G71', 'WB32FQ95', 'AT32F415' +CHIBIOS_PROCESSORS = 'cortex-m0', 'cortex-m0plus', 'cortex-m3', 'cortex-m4', 'MKL26Z64', 'MK20DX128', 'MK20DX256', 'MK64FX512', 'MK66FX1M0', 'RP2040', 'STM32F042', 'STM32F072', 'STM32F103', 'STM32F303', 'STM32F401', 'STM32F405', 'STM32F407', 'STM32F411', 'STM32F446', 'STM32G431', 'STM32G474', 'STM32H723', 'STM32H733', 'STM32L412', 'STM32L422', 'STM32L432', 'STM32L433', 'STM32L442', 'STM32L443', 'GD32VF103', 'WB32F3G71', 'WB32FQ95', 'AT32F415' LUFA_PROCESSORS = 'at90usb162', 'atmega16u2', 'atmega32u2', 'atmega16u4', 'atmega32u4', 'at90usb646', 'at90usb647', 'at90usb1286', 'at90usb1287', None VUSB_PROCESSORS = 'atmega32a', 'atmega328p', 'atmega328', 'attiny85' @@ -42,7 +42,6 @@ MCU2BOOTLOADER = { "STM32F407": "stm32-dfu", "STM32F411": "stm32-dfu", "STM32F446": "stm32-dfu", - "STM32G0B1": "stm32-dfu", "STM32G431": "stm32-dfu", "STM32G474": "stm32-dfu", "STM32H723": "stm32-dfu", diff --git a/lib/python/qmk/decorators.py b/lib/python/qmk/decorators.py index 0cad55a483..16b44d6d59 100644 --- a/lib/python/qmk/decorators.py +++ b/lib/python/qmk/decorators.py @@ -5,7 +5,7 @@ from time import monotonic from milc import cli -from qmk.keyboard import find_keyboard_from_dir, keyboard_folder +from qmk.keyboard import find_keyboard_from_dir from qmk.keymap import find_keymap_from_dir @@ -27,11 +27,6 @@ def automagic_keyboard(func): def wrapper(*args, **kwargs): cmd = _get_subcommand_name() - # TODO: Workaround for if config file contains "old" keyboard name - # Potential long-term fix needs to be within global cli or milc - if cli.config_source[cmd]['keyboard'] == 'config_file': - cli.config[cmd]['keyboard'] = keyboard_folder(cli.config[cmd]['keyboard']) - # Ensure that `--keyboard` was not passed and CWD is under `qmk_firmware/keyboards` if cli.config_source[cmd]['keyboard'] != 'argument': keyboard = find_keyboard_from_dir() diff --git a/lib/python/qmk/docs.py b/lib/python/qmk/docs.py index 75d2d60bda..56694cf6ae 100644 --- a/lib/python/qmk/docs.py +++ b/lib/python/qmk/docs.py @@ -17,18 +17,18 @@ BUILD_DOCS_PATH = BUILD_PATH / 'docs' DOXYGEN_PATH = BUILD_DOCS_PATH / 'static' / 'doxygen' -def run_docs_command(verb, cmd_args=None): +def run_docs_command(verb, cmd=None): environ['PATH'] += pathsep + str(NODE_MODULES_PATH / '.bin') - args = {'capture_output': False, 'check': True} + args = {'capture_output': False if cli.config.general.verbose else True, 'check': True, 'stdin': DEVNULL} docs_env = environ.copy() if cli.config.general.verbose: docs_env['DEBUG'] = 'vitepress:*,vite:*' args['env'] = docs_env arg_list = ['yarn', verb] - if cmd_args: - arg_list.extend(cmd_args) + if cmd: + arg_list.append(cmd) chdir(BUILDDEFS_PATH) cli.run(arg_list, **args) diff --git a/lib/python/qmk/flashers.py b/lib/python/qmk/flashers.py index 2cca4941d3..7ee1bc8de7 100644 --- a/lib/python/qmk/flashers.py +++ b/lib/python/qmk/flashers.py @@ -202,10 +202,6 @@ def _flash_mdloader(file): def _flash_uf2(file): - output = cli.run(['util/uf2conv.py', '--info', file]).stdout - if 'UF2 File' not in output: - return True - cli.run(['util/uf2conv.py', '--deploy', file], capture_output=False) @@ -239,8 +235,7 @@ def flasher(mcu, file): elif bl == 'md-boot': _flash_mdloader(file) elif bl == '_uf2_compatible_': - if _flash_uf2(file): - return (True, "Flashing only supports uf2 format files.") + _flash_uf2(file) else: return (True, "Known bootloader found but flashing not currently supported!") diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index d95fd3d799..38ca89697c 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -99,13 +99,6 @@ def _validate_build_target(keyboard, info_data): if info_file != keyboard_json_path: _log_error(info_data, f'Invalid keyboard.json location detected: {info_file}.') - # No keyboard.json next to info.json - for conf_file in config_files: - if conf_file.name == 'keyboard.json': - info_file = conf_file.parent / 'info.json' - if info_file.exists(): - _log_error(info_data, f'Invalid info.json location detected: {info_file}.') - # Moving forward keyboard.json should be used as a build target if keyboard_json_count == 0: _log_warning(info_data, 'Build marker "keyboard.json" not found.') @@ -1059,20 +1052,3 @@ def keymap_json(keyboard, keymap, force_layout=None): _extract_config_h(kb_info_json, parse_config_h_file(keymap_config)) return kb_info_json - - -def get_modules(keyboard, keymap_filename): - """Get the modules for a keyboard/keymap. - """ - modules = [] - - kb_info_json = info_json(keyboard) - modules.extend(kb_info_json.get('modules', [])) - - if keymap_filename: - keymap_json = parse_configurator_json(keymap_filename) - - if keymap_json: - modules.extend(keymap_json.get('modules', [])) - - return list(dict.fromkeys(modules)) # remove dupes diff --git a/lib/python/qmk/json_encoders.py b/lib/python/qmk/json_encoders.py index e8bcf48996..0e4ad1d220 100755 --- a/lib/python/qmk/json_encoders.py +++ b/lib/python/qmk/json_encoders.py @@ -235,33 +235,3 @@ class UserspaceJSONEncoder(QMKJSONEncoder): return '01build_targets' return key - - -class CommunityModuleJSONEncoder(QMKJSONEncoder): - """Custom encoder to make qmk_module.json's a little nicer to work with. - """ - def sort_dict(self, item): - """Sorts the hashes in a nice way. - """ - key = item[0] - - if self.indentation_level == 1: - if key == 'module_name': - return '00module_name' - if key == 'maintainer': - return '01maintainer' - if key == 'license': - return '02license' - if key == 'url': - return '03url' - if key == 'features': - return '04features' - if key == 'keycodes': - return '05keycodes' - elif self.indentation_level == 3: # keycodes - if key == 'key': - return '00key' - if key == 'aliases': - return '01aliases' - - return key diff --git a/lib/python/qmk/json_schema.py b/lib/python/qmk/json_schema.py index e871598565..b11a0ed7ea 100644 --- a/lib/python/qmk/json_schema.py +++ b/lib/python/qmk/json_schema.py @@ -76,13 +76,8 @@ def compile_schema_store(): if not isinstance(schema_data, dict): cli.log.debug('Skipping schema file %s', schema_file) continue - - # `$id`-based references schema_store[schema_data['$id']] = schema_data - # Path-based references - schema_store[Path(schema_file).name] = schema_data - return schema_store diff --git a/lib/python/qmk/keycodes.py b/lib/python/qmk/keycodes.py index 9e4664e5f1..966930547c 100644 --- a/lib/python/qmk/keycodes.py +++ b/lib/python/qmk/keycodes.py @@ -89,7 +89,6 @@ def load_spec(version, lang=None): spec = _process_files(_locate_files(path, prefix, versions)) # Sort? - spec['version'] = version spec['keycodes'] = dict(sorted(spec.get('keycodes', {}).items())) spec['ranges'] = dict(sorted(spec.get('ranges', {}).items())) diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py index b7138aa4a1..9dd043c4a8 100644 --- a/lib/python/qmk/keymap.py +++ b/lib/python/qmk/keymap.py @@ -334,6 +334,33 @@ def write_json(keyboard, keymap, layout, layers, macros=None): return write_file(keymap_file, keymap_content) +def write(keymap_json): + """Generate the `keymap.c` and write it to disk. + + Returns the filename written to. + + `keymap_json` should be a dict with the following keys: + keyboard + The name of the keyboard + + keymap + The name of the keymap + + layout + The LAYOUT macro this keymap uses. + + layers + An array of arrays describing the keymap. Each item in the inner array should be a string that is a valid QMK keycode. + + macros + A list of macros for this keymap. + """ + keymap_content = generate_c(keymap_json) + keymap_file = qmk.path.keymaps(keymap_json['keyboard'])[0] / keymap_json['keymap'] / 'keymap.c' + + return write_file(keymap_file, keymap_content) + + def locate_keymap(keyboard, keymap, force_layout=None): """Returns the path to a keymap for a specific keyboard. """ @@ -399,7 +426,7 @@ def is_keymap_target(keyboard, keymap): return False -def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=False, include_userspace=True): +def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=False): """List the available keymaps for a keyboard. Args: @@ -418,19 +445,14 @@ def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=Fa fullpath When set to True the full path of the keymap relative to the `qmk_firmware` root will be provided. - include_userspace - When set to True, also search userspace for available keymaps - Returns: a sorted list of valid keymap names. """ names = set() - has_userspace = HAS_QMK_USERSPACE and include_userspace - # walk up the directory tree until keyboards_dir # and collect all directories' name with keymap.c file in it - for search_dir in [QMK_FIRMWARE, QMK_USERSPACE] if has_userspace else [QMK_FIRMWARE]: + for search_dir in [QMK_FIRMWARE, QMK_USERSPACE] if HAS_QMK_USERSPACE else [QMK_FIRMWARE]: keyboards_dir = search_dir / Path('keyboards') kb_path = keyboards_dir / keyboard @@ -448,7 +470,7 @@ def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=Fa info = info_json(keyboard) community_parents = list(Path('layouts').glob('*/')) - if has_userspace and (Path(QMK_USERSPACE) / "layouts").exists(): + if HAS_QMK_USERSPACE and (Path(QMK_USERSPACE) / "layouts").exists(): community_parents.append(Path(QMK_USERSPACE) / "layouts") for community_parent in community_parents: diff --git a/lib/python/qmk/path.py b/lib/python/qmk/path.py index c47ed18362..61daad585f 100644 --- a/lib/python/qmk/path.py +++ b/lib/python/qmk/path.py @@ -3,7 +3,7 @@ import logging import os import argparse -from pathlib import Path, PureWindowsPath, PurePosixPath +from pathlib import Path from qmk.constants import MAX_KEYBOARD_SUBFOLDERS, QMK_FIRMWARE, QMK_USERSPACE, HAS_QMK_USERSPACE from qmk.errors import NoSuchKeyboardError @@ -146,28 +146,6 @@ def normpath(path): return Path(os.environ['ORIG_CWD']) / path -def unix_style_path(path): - """Converts a Windows-style path with drive letter to a Unix path. - - Path().as_posix() normally returns the path with drive letter and forward slashes, so is inappropriate for `Makefile` paths. - - Passes through unadulterated if the path is not a Windows-style path. - - Args: - - path - The path to convert. - - Returns: - The input path converted to Unix format. - """ - if isinstance(path, PureWindowsPath): - p = list(path.parts) - p[0] = f'/{p[0][0].lower()}' # convert from `X:/` to `/x` - path = PurePosixPath(*p) - return path - - class FileType(argparse.FileType): def __init__(self, *args, **kwargs): # Use UTF8 by default for stdin diff --git a/lib/python/qmk/userspace.py b/lib/python/qmk/userspace.py index 881490f796..1c2a97f9c1 100644 --- a/lib/python/qmk/userspace.py +++ b/lib/python/qmk/userspace.py @@ -12,30 +12,29 @@ from qmk.json_encoders import UserspaceJSONEncoder def qmk_userspace_paths(): - test_dirs = [] + test_dirs = set() # If we're already in a directory with a qmk.json and a keyboards or layouts directory, interpret it as userspace if environ.get('ORIG_CWD') is not None: current_dir = Path(environ['ORIG_CWD']) while len(current_dir.parts) > 1: if (current_dir / 'qmk.json').is_file(): - test_dirs.append(current_dir) + test_dirs.add(current_dir) current_dir = current_dir.parent # If we have a QMK_USERSPACE environment variable, use that if environ.get('QMK_USERSPACE') is not None: current_dir = Path(environ['QMK_USERSPACE']).expanduser() if current_dir.is_dir(): - test_dirs.append(current_dir) + test_dirs.add(current_dir) # If someone has configured a directory, use that if cli.config.user.overlay_dir is not None: current_dir = Path(cli.config.user.overlay_dir).expanduser().resolve() if current_dir.is_dir(): - test_dirs.append(current_dir) + test_dirs.add(current_dir) - # remove duplicates while maintaining the current order - return list(dict.fromkeys(test_dirs)) + return list(test_dirs) def qmk_userspace_validate(path): diff --git a/modules/qmk/flow_led_matrix_effect/led_matrix_module.inc b/modules/qmk/flow_led_matrix_effect/led_matrix_module.inc deleted file mode 100644 index 734e0f3494..0000000000 --- a/modules/qmk/flow_led_matrix_effect/led_matrix_module.inc +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2024-2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -LED_MATRIX_EFFECT(FLOW) - -#ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS - -// "Flow" animated effect. Draws moving wave patterns mimicking the appearance -// of flowing liquid. For interesting variety of patterns, space coordinates are -// slowly rotated and a function of several sine waves is evaluated. -static bool FLOW(effect_params_t* params) { - LED_MATRIX_USE_LIMITS(led_min, led_max); - - static uint16_t wrap_correction = 0; - static uint8_t last_high_byte = 0; - const uint8_t time_scale = 1 + led_matrix_eeconfig.speed / 8; - const uint8_t high_byte = (uint8_t)(g_led_timer >> 16); - if (last_high_byte != high_byte) { - last_high_byte = high_byte; - wrap_correction += ((uint16_t)time_scale) << 8; - } - const uint16_t time = scale16by8(g_led_timer, time_scale) + wrap_correction; - - // Compute rotation coefficients with 7 fractional bits. - const int8_t rot_c = cos8(time / 4) - 128; - const int8_t rot_s = sin8(time / 4) - 128; - const uint8_t omega = 32 + sin8(time) / 4; - - for (uint8_t i = led_min; i < led_max; ++i) { - LED_MATRIX_TEST_LED_FLAGS(); - const uint8_t x = g_led_config.point[i].x; - const uint8_t y = g_led_config.point[i].y; - - // Rotate (x, y) by the 2x2 rotation matrix described by rot_c, rot_s. - const uint8_t x1 = (uint8_t)((((int16_t)rot_c) * ((int16_t)x)) / 128) - (uint8_t)((((int16_t)rot_s) * ((int16_t)y)) / 128); - const uint8_t y1 = (uint8_t)((((int16_t)rot_s) * ((int16_t)x)) / 128) + (uint8_t)((((int16_t)rot_c) * ((int16_t)y)) / 128); - - uint8_t value = scale8(sin8(x1 - 2 * time), omega) + y1 + time / 4; - value = (value <= 127) ? value : (255 - value); - - led_matrix_set_value(i, scale8(led_matrix_eeconfig.val, value)); - } - - return led_matrix_check_finished_leds(led_max); -} - -#endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/modules/qmk/flow_led_matrix_effect/qmk_module.json b/modules/qmk/flow_led_matrix_effect/qmk_module.json deleted file mode 100644 index 2d047cd0d0..0000000000 --- a/modules/qmk/flow_led_matrix_effect/qmk_module.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "module_name": "Flow LED matrix effect", - "maintainer": "QMK Maintainers", - "license": "Apache-2.0", - "features": { - "led_matrix": true - } -} diff --git a/modules/qmk/flow_rgb_matrix_effect/qmk_module.json b/modules/qmk/flow_rgb_matrix_effect/qmk_module.json deleted file mode 100644 index 3e42fe1ef4..0000000000 --- a/modules/qmk/flow_rgb_matrix_effect/qmk_module.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "module_name": "Flow RGB matrix effect", - "maintainer": "QMK Maintainers", - "license": "Apache-2.0", - "features": { - "rgb_matrix": true - } -} diff --git a/modules/qmk/flow_rgb_matrix_effect/rgb_matrix_module.inc b/modules/qmk/flow_rgb_matrix_effect/rgb_matrix_module.inc deleted file mode 100644 index 410838f7ec..0000000000 --- a/modules/qmk/flow_rgb_matrix_effect/rgb_matrix_module.inc +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2024-2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -RGB_MATRIX_EFFECT(FLOW) - -#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS - -// "Flow" animated effect. Draws moving wave patterns mimicking the appearance -// of flowing liquid. For interesting variety of patterns, space coordinates are -// slowly rotated and a function of several sine waves is evaluated. -static bool FLOW(effect_params_t* params) { - RGB_MATRIX_USE_LIMITS(led_min, led_max); - - static uint16_t wrap_correction = 0; - static uint8_t last_high_byte = 0; - const uint8_t time_scale = 1 + rgb_matrix_config.speed / 8; - const uint8_t high_byte = (uint8_t)(g_rgb_timer >> 16); - if (last_high_byte != high_byte) { - last_high_byte = high_byte; - wrap_correction += ((uint16_t)time_scale) << 8; - } - const uint16_t time = scale16by8(g_rgb_timer, time_scale) + wrap_correction; - - // Compute rotation coefficients with 7 fractional bits. - const int8_t rot_c = cos8(time / 4) - 128; - const int8_t rot_s = sin8(time / 4) - 128; - const uint8_t omega = 32 + sin8(time) / 4; - - for (uint8_t i = led_min; i < led_max; ++i) { - RGB_MATRIX_TEST_LED_FLAGS(); - const uint8_t x = g_led_config.point[i].x; - const uint8_t y = g_led_config.point[i].y; - - // Rotate (x, y) by the 2x2 rotation matrix described by rot_c, rot_s. - const uint8_t x1 = (uint8_t)((((int16_t)rot_c) * ((int16_t)x)) / 128) - (uint8_t)((((int16_t)rot_s) * ((int16_t)y)) / 128); - const uint8_t y1 = (uint8_t)((((int16_t)rot_s) * ((int16_t)x)) / 128) + (uint8_t)((((int16_t)rot_c) * ((int16_t)y)) / 128); - - uint8_t value = scale8(sin8(x1 - 2 * time), omega) + y1 + time / 4; - value = (value <= 127) ? value : (255 - value); - - hsv_t hsv = rgb_matrix_config.hsv; - hsv.h -= value / 4; - hsv.s = scale8(hsv.s, (value < 74) ? 255 : (549 - 4 * value)); - hsv.v = scale8(hsv.v, (value < 95) ? (64 + 2 * value) : 255); - - rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); - rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); - } - - return rgb_matrix_check_finished_leds(led_max); -} - -#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/modules/qmk/hello_world/hello_world.c b/modules/qmk/hello_world/hello_world.c deleted file mode 100644 index dcabfc60ea..0000000000 --- a/modules/qmk/hello_world/hello_world.c +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -#include "introspection.h" - -ASSERT_COMMUNITY_MODULES_MIN_API_VERSION(1, 0, 0); - -uint32_t delayed_hello_world(uint32_t trigger_time, void *cb_arg) { - dprintf("Hello, world! I'm a QMK based keyboard! The keymap array size is %d bytes.\n", (int)hello_world_introspection().total_size); - return 0; -} - -void keyboard_post_init_hello_world(void) { - keyboard_post_init_hello_world_kb(); - defer_exec(10000, delayed_hello_world, NULL); -} - -bool process_record_hello_world(uint16_t keycode, keyrecord_t *record) { - if (!process_record_hello_world_kb(keycode, record)) { - return false; - } - - switch (keycode) { - case COMMUNITY_MODULE_HELLO: - if (record->event.pressed) { - SEND_STRING("Hello there."); - break; - } - } - - return true; -} diff --git a/modules/qmk/hello_world/introspection.c b/modules/qmk/hello_world/introspection.c deleted file mode 100644 index 2c32a074f5..0000000000 --- a/modules/qmk/hello_world/introspection.c +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later - -hello_world_introspection_t hello_world_introspection(void) { - hello_world_introspection_t introspection = { - .total_size = sizeof(keymaps), - .layer_count = sizeof(keymaps) / sizeof(keymaps[0]), - }; - return introspection; -} diff --git a/modules/qmk/hello_world/introspection.h b/modules/qmk/hello_world/introspection.h deleted file mode 100644 index fd3d7f24a0..0000000000 --- a/modules/qmk/hello_world/introspection.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -typedef struct hello_world_introspection_t { - int16_t total_size; - int16_t layer_count; -} hello_world_introspection_t; - -hello_world_introspection_t hello_world_introspection(void); diff --git a/modules/qmk/hello_world/qmk_module.json b/modules/qmk/hello_world/qmk_module.json deleted file mode 100644 index bbd00f3fcc..0000000000 --- a/modules/qmk/hello_world/qmk_module.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "module_name": "Hello World", - "maintainer": "QMK Maintainers", - "license": "GPL-2.0-or-later", - "features": { - "console": true, - "deferred_exec": true - }, - "keycodes": [ - { - "key": "COMMUNITY_MODULE_HELLO", - "aliases": ["CM_HELO"] - } - ] -} diff --git a/modules/qmk/hello_world/rules.mk b/modules/qmk/hello_world/rules.mk deleted file mode 100644 index 91806fb1e3..0000000000 --- a/modules/qmk/hello_world/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Just a simple rules.mk which tests that they work from a community module. -$(shell $(QMK_BIN) hello -n "from QMK's hello world community module") diff --git a/modules/qmk/super_alt_tab/qmk_module.json b/modules/qmk/super_alt_tab/qmk_module.json deleted file mode 100644 index 142613a23e..0000000000 --- a/modules/qmk/super_alt_tab/qmk_module.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "module_name": "Super Alt Tab", - "maintainer": "QMK Maintainers", - "license": "GPL-2.0-or-later", - "keycodes": [ - { - "key": "COMMUNITY_MODULE_SUPER_ALT_TAB", - "aliases": ["CM_S_AT"] - } - ] -} diff --git a/modules/qmk/super_alt_tab/super_alt_tab.c b/modules/qmk/super_alt_tab/super_alt_tab.c deleted file mode 100644 index dfeb4b5773..0000000000 --- a/modules/qmk/super_alt_tab/super_alt_tab.c +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2025 Christopher Courtney, aka Drashna Jael're (@drashna) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -ASSERT_COMMUNITY_MODULES_MIN_API_VERSION(1, 0, 0); - -static bool is_alt_tab_active = false; -static uint16_t alt_tab_timer = 0; - -#ifndef COMMUNITY_MODULE_SUPER_ALT_TAB_TIMEOUT -# define COMMUNITY_MODULE_SUPER_ALT_TAB_TIMEOUT 1000 -#endif // COMMUNITY_MODULE_SUPER_ALT_TAB_TIMEOUT -#ifndef COMMUNITY_MODULE_SUPER_ALT_TAB_MODIFIER -# define COMMUNITY_MODULE_SUPER_ALT_TAB_MODIFIER MOD_LALT -#endif // COMMUNITY_MODULE_SUPER_ALT_TAB_MODIFIER -#ifndef COMMUNITY_MODULE_SUPER_ALT_TAB_KEY -# define COMMUNITY_MODULE_SUPER_ALT_TAB_KEY KC_TAB -#endif // COMMUNITY_MODULE_SUPER_ALT_TAB_KEY - -bool process_record_super_alt_tab(uint16_t keycode, keyrecord_t *record) { - if (!process_record_super_alt_tab_kb(keycode, record)) { - return false; - } - - switch (keycode) { // This will do most of the grunt work with the keycodes. - case COMMUNITY_MODULE_SUPER_ALT_TAB: - if (record->event.pressed) { - if (!is_alt_tab_active) { - is_alt_tab_active = true; - register_mods(COMMUNITY_MODULE_SUPER_ALT_TAB_MODIFIER); - } - alt_tab_timer = timer_read(); - register_code(COMMUNITY_MODULE_SUPER_ALT_TAB_KEY); - } else { - unregister_code(COMMUNITY_MODULE_SUPER_ALT_TAB_KEY); - } - break; - } - return true; -} - -void housekeeping_task_super_alt_tab(void) { - if (is_alt_tab_active) { - if (timer_elapsed(alt_tab_timer) > COMMUNITY_MODULE_SUPER_ALT_TAB_TIMEOUT) { - unregister_mods(COMMUNITY_MODULE_SUPER_ALT_TAB_MODIFIER); - is_alt_tab_active = false; - } - } -} diff --git a/platforms/atomic_util.h b/platforms/atomic_util.h index 8e81eacdb8..21286d72eb 100644 --- a/platforms/atomic_util.h +++ b/platforms/atomic_util.h @@ -15,19 +15,17 @@ */ #pragma once -#include "compiler_support.h" - // Macro to help make GPIO and other controls atomic. #ifndef IGNORE_ATOMIC_BLOCK # if __has_include_next("atomic_util.h") # include_next "atomic_util.h" /* Include the platforms atomic.h */ # else -# define ATOMIC_BLOCK STATIC_ASSERT(0, "ATOMIC_BLOCK not implemented") -# define ATOMIC_BLOCK_RESTORESTATE STATIC_ASSERT(0, "ATOMIC_BLOCK_RESTORESTATE not implemented") -# define ATOMIC_BLOCK_FORCEON STATIC_ASSERT(0, "ATOMIC_BLOCK_FORCEON not implemented") -# define ATOMIC_FORCEON STATIC_ASSERT(0, "ATOMIC_FORCEON not implemented") -# define ATOMIC_RESTORESTATE STATIC_ASSERT(0, "ATOMIC_RESTORESTATE not implemented") +# define ATOMIC_BLOCK _Static_assert(0, "ATOMIC_BLOCK not implemented") +# define ATOMIC_BLOCK_RESTORESTATE _Static_assert(0, "ATOMIC_BLOCK_RESTORESTATE not implemented") +# define ATOMIC_BLOCK_FORCEON _Static_assert(0, "ATOMIC_BLOCK_FORCEON not implemented") +# define ATOMIC_FORCEON _Static_assert(0, "ATOMIC_FORCEON not implemented") +# define ATOMIC_RESTORESTATE _Static_assert(0, "ATOMIC_RESTORESTATE not implemented") # endif #else /* do nothing atomic macro */ # define ATOMIC_BLOCK(t) for (uint8_t __ToDo = 1; __ToDo; __ToDo = 0) diff --git a/platforms/avr/_wait.h b/platforms/avr/_wait.h index 54f578ace0..39cbf618d2 100644 --- a/platforms/avr/_wait.h +++ b/platforms/avr/_wait.h @@ -21,8 +21,6 @@ #include #pragma GCC diagnostic pop -extern void __builtin_avr_delay_cycles(uint32_t); - // http://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf // page 22: Table 4-2. Arithmetic and Logic Instructions /* diff --git a/platforms/avr/drivers/i2c_master.c b/platforms/avr/drivers/i2c_master.c index 9136f4a7b9..64083d862a 100644 --- a/platforms/avr/drivers/i2c_master.c +++ b/platforms/avr/drivers/i2c_master.c @@ -315,4 +315,4 @@ __attribute__((weak)) i2c_status_t i2c_ping_address(uint8_t address, uint16_t ti i2c_status_t status = i2c_start(address, timeout); i2c_stop(); return status; -} +} \ No newline at end of file diff --git a/platforms/avr/drivers/i2c_master.h b/platforms/avr/drivers/i2c_master.h new file mode 100644 index 0000000000..b797997619 --- /dev/null +++ b/platforms/avr/drivers/i2c_master.h @@ -0,0 +1,51 @@ +/* Copyright (C) 2019 Elia Ritterbusch + + + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +/* Library made by: g4lvanix + * GitHub repository: https://github.com/g4lvanix/I2C-master-lib + */ + +#pragma once + +#include + +// ### DEPRECATED - DO NOT USE ### +#define i2c_writeReg(devaddr, regaddr, data, length, timeout) i2c_write_register(devaddr, regaddr, data, length, timeout) +#define i2c_writeReg16(devaddr, regaddr, data, length, timeout) i2c_write_register16(devaddr, regaddr, data, length, timeout) +#define i2c_readReg(devaddr, regaddr, data, length, timeout) i2c_read_register(devaddr, regaddr, data, length, timeout) +#define i2c_readReg16(devaddr, regaddr, data, length, timeout) i2c_read_register16(devaddr, regaddr, data, length, timeout) +// ############################### + +#define I2C_READ 0x01 +#define I2C_WRITE 0x00 + +typedef int16_t i2c_status_t; + +#define I2C_STATUS_SUCCESS (0) +#define I2C_STATUS_ERROR (-1) +#define I2C_STATUS_TIMEOUT (-2) + +#define I2C_TIMEOUT_IMMEDIATE (0) +#define I2C_TIMEOUT_INFINITE (0xFFFF) + +void i2c_init(void); +i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_transmit_P(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_write_register16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_read_register(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_read_register16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_ping_address(uint8_t address, uint16_t timeout); diff --git a/platforms/avr/drivers/i2c_slave.h b/platforms/avr/drivers/i2c_slave.h index 8614bd865a..178b6a29df 100644 --- a/platforms/avr/drivers/i2c_slave.h +++ b/platforms/avr/drivers/i2c_slave.h @@ -22,8 +22,6 @@ #pragma once -#include "compiler_support.h" - #ifndef I2C_SLAVE_REG_COUNT # if defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) @@ -35,7 +33,7 @@ #endif // I2C_SLAVE_REG_COUNT -STATIC_ASSERT(I2C_SLAVE_REG_COUNT < 256, "I2C target registers must be single byte"); +_Static_assert(I2C_SLAVE_REG_COUNT < 256, "I2C target registers must be single byte"); extern volatile uint8_t i2c_slave_reg[I2C_SLAVE_REG_COUNT]; diff --git a/platforms/avr/drivers/spi_master.h b/platforms/avr/drivers/spi_master.h new file mode 100644 index 0000000000..ebbf7ddeab --- /dev/null +++ b/platforms/avr/drivers/spi_master.h @@ -0,0 +1,68 @@ +/* Copyright 2020 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include + +#include "gpio.h" + +typedef int16_t spi_status_t; + +// Hardware SS pin is defined in the header so that user code can refer to it +#if defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) +# define SPI_SS_PIN B0 +#elif defined(__AVR_ATmega32A__) +# define SPI_SS_PIN B4 +#elif defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__) +# define SPI_SS_PIN B2 +#endif + +#define SPI_STATUS_SUCCESS (0) +#define SPI_STATUS_ERROR (-1) +#define SPI_STATUS_TIMEOUT (-2) + +#define SPI_TIMEOUT_IMMEDIATE (0) +#define SPI_TIMEOUT_INFINITE (0xFFFF) + +#ifdef __cplusplus +extern "C" { +#endif +typedef struct spi_start_config_t { + pin_t slave_pin; + bool lsb_first; + uint8_t mode; + uint16_t divisor; + bool cs_active_low; +} spi_start_config_t; + +void spi_init(void); + +bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor); +bool spi_start_extended(spi_start_config_t *start_config); + +spi_status_t spi_write(uint8_t data); + +spi_status_t spi_read(void); + +spi_status_t spi_transmit(const uint8_t *data, uint16_t length); + +spi_status_t spi_receive(uint8_t *data, uint16_t length); + +void spi_stop(void); +#ifdef __cplusplus +} +#endif diff --git a/platforms/avr/drivers/uart.h b/platforms/avr/drivers/uart.h new file mode 100644 index 0000000000..e2dc664eda --- /dev/null +++ b/platforms/avr/drivers/uart.h @@ -0,0 +1,39 @@ +/* UART Example for Teensy USB Development Board + * http://www.pjrc.com/teensy/ + * Copyright (c) 2009 PJRC.COM, LLC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#pragma once + +#include +#include + +void uart_init(uint32_t baud); + +void uart_write(uint8_t data); + +uint8_t uart_read(void); + +void uart_transmit(const uint8_t *data, uint16_t length); + +void uart_receive(uint8_t *data, uint16_t length); + +bool uart_available(void); diff --git a/platforms/avr/gpio.h b/platforms/avr/gpio.h index 4c09619772..6f089bc663 100644 --- a/platforms/avr/gpio.h +++ b/platforms/avr/gpio.h @@ -16,8 +16,6 @@ #pragma once #include - -#include "compiler_support.h" #include "pin_defs.h" typedef uint8_t pin_t; @@ -26,9 +24,9 @@ typedef uint8_t pin_t; #define gpio_set_pin_input(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) &= ~_BV((pin)&0xF)) #define gpio_set_pin_input_high(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) |= _BV((pin)&0xF)) -#define gpio_set_pin_input_low(pin) STATIC_ASSERT(0, "GPIO pulldowns in input mode are not available on AVR") +#define gpio_set_pin_input_low(pin) _Static_assert(0, "GPIO pulldowns in input mode are not available on AVR") #define gpio_set_pin_output_push_pull(pin) (DDRx_ADDRESS(pin) |= _BV((pin)&0xF)) -#define gpio_set_pin_output_open_drain(pin) STATIC_ASSERT(0, "Open-drain outputs are not available on AVR") +#define gpio_set_pin_output_open_drain(pin) _Static_assert(0, "Open-drain outputs are not available on AVR") #define gpio_set_pin_output(pin) gpio_set_pin_output_push_pull(pin) #define gpio_write_pin_high(pin) (PORTx_ADDRESS(pin) |= _BV((pin)&0xF)) diff --git a/platforms/avr/platform.mk b/platforms/avr/platform.mk index f0187457b3..a625f2e5d0 100644 --- a/platforms/avr/platform.mk +++ b/platforms/avr/platform.mk @@ -12,10 +12,9 @@ HEX = $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock -R .signature EEP = $(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O $(FORMAT) BIN = -COMPILEFLAGS += $(call cc-option,--param=min-pagesize=0) - -# Fix ICE's: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116389 -COMPILEFLAGS += $(call cc-option,-mlra) +ifeq ("$(shell echo "int main(){}" | $(CC) --param=min-pagesize=0 -x c - -o /dev/null 2>&1)", "") +COMPILEFLAGS += --param=min-pagesize=0 +endif COMPILEFLAGS += -funsigned-char COMPILEFLAGS += -funsigned-bitfields @@ -26,12 +25,10 @@ COMPILEFLAGS += -fshort-enums COMPILEFLAGS += -mcall-prologues COMPILEFLAGS += -fno-builtin-printf -# On older compilers, linker relaxation is only possible if link time optimizations are not enabled. +# Linker relaxation is only possible if +# link time optimizations are not enabled. ifeq ($(strip $(LTO_ENABLE)), no) COMPILEFLAGS += -mrelax -else - # Newer compilers may support both, so quickly check before adding `-mrelax`. - COMPILEFLAGS += $(call cc-option,-mrelax,,-flto=auto) endif ASFLAGS += $(AVR_ASFLAGS) diff --git a/platforms/avr/timer.c b/platforms/avr/timer.c index b2230ad84b..26ba0e29fa 100644 --- a/platforms/avr/timer.c +++ b/platforms/avr/timer.c @@ -125,6 +125,34 @@ inline uint32_t timer_read32(void) { return t; } +/** \brief timer elapsed + * + * FIXME: needs doc + */ +inline uint16_t timer_elapsed(uint16_t last) { + uint32_t t; + + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + t = timer_count; + } + + return TIMER_DIFF_16((t & 0xFFFF), last); +} + +/** \brief timer elapsed32 + * + * FIXME: needs doc + */ +inline uint32_t timer_elapsed32(uint32_t last) { + uint32_t t; + + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + t = timer_count; + } + + return TIMER_DIFF_32(t, last); +} + // excecuted once per 1ms.(excess for just timer count?) #ifndef __AVR_ATmega32A__ # define TIMER_INTERRUPT_VECTOR TIMER0_COMPA_vect diff --git a/platforms/chibios/boards/BONSAI_C4/configs/board.h b/platforms/chibios/boards/BONSAI_C4/configs/board.h index 81c80b2773..372b9bb8bc 100644 --- a/platforms/chibios/boards/BONSAI_C4/configs/board.h +++ b/platforms/chibios/boards/BONSAI_C4/configs/board.h @@ -17,4 +17,4 @@ #include_next -#undef STM32_HSE_BYPASS +#undef STM32_HSE_BYPASS \ No newline at end of file diff --git a/platforms/chibios/boards/BONSAI_C4/configs/config.h b/platforms/chibios/boards/BONSAI_C4/configs/config.h index e0e95eda25..e933cd6fd1 100644 --- a/platforms/chibios/boards/BONSAI_C4/configs/config.h +++ b/platforms/chibios/boards/BONSAI_C4/configs/config.h @@ -87,4 +87,4 @@ #ifndef USB_VBUS_PIN # define USB_VBUS_PIN PAL_LINE(GPIOA, 9) -#endif +#endif \ No newline at end of file diff --git a/platforms/chibios/boards/BONSAI_C4/configs/halconf.h b/platforms/chibios/boards/BONSAI_C4/configs/halconf.h index 55bafe5cfa..6bab6fbcff 100644 --- a/platforms/chibios/boards/BONSAI_C4/configs/halconf.h +++ b/platforms/chibios/boards/BONSAI_C4/configs/halconf.h @@ -46,4 +46,4 @@ # define SPI_USE_WAIT TRUE #endif -#include_next +#include_next \ No newline at end of file diff --git a/platforms/chibios/boards/GENERIC_AT32_F415XX/board/board.c b/platforms/chibios/boards/GENERIC_AT32_F415XX/board/board.c index 26b1974e4a..28cf7c18e0 100644 --- a/platforms/chibios/boards/GENERIC_AT32_F415XX/board/board.c +++ b/platforms/chibios/boards/GENERIC_AT32_F415XX/board/board.c @@ -1,7 +1,7 @@ /* ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio - ChibiOS - Copyright (C) 2023..2025 HorrorTroll - ChibiOS - Copyright (C) 2023..2025 Zhaqian + ChibiOS - Copyright (C) 2023..2024 HorrorTroll + ChibiOS - Copyright (C) 2023..2024 Zhaqian Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/GENERIC_AT32_F415XX/board/board.h b/platforms/chibios/boards/GENERIC_AT32_F415XX/board/board.h index b4909b0a29..c3ade198ba 100644 --- a/platforms/chibios/boards/GENERIC_AT32_F415XX/board/board.h +++ b/platforms/chibios/boards/GENERIC_AT32_F415XX/board/board.h @@ -1,7 +1,7 @@ /* ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio - ChibiOS - Copyright (C) 2023..2025 HorrorTroll - ChibiOS - Copyright (C) 2023..2025 Zhaqian + ChibiOS - Copyright (C) 2023..2024 HorrorTroll + ChibiOS - Copyright (C) 2023..2024 Zhaqian Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -49,14 +49,6 @@ */ #define AT32F415KB -/* - * GPIO settings, allow unused GPIO for smaller chip packages. - */ -#if defined(AT32F415KB) || defined(AT32F415KC) -#define AT32_HAS_GPIOC TRUE -#define AT32_HAS_GPIOF TRUE -#endif - /* * IO pins assignments. */ @@ -150,21 +142,21 @@ * 6 - Open Drain output 2MHz. * 7 - Open Drain output 50MHz. * 8 - Digital input with Pull-Up or Pull-Down resistor depending on ODT. - * 9 - Multiplexing Push Pull output 10MHz. - * A - Multiplexing Push Pull output 2MHz. - * B - Multiplexing Push Pull output 50MHz. + * 9 - Alternate Push Pull output 10MHz. + * A - Alternate Push Pull output 2MHz. + * B - Alternate Push Pull output 50MHz. * C - Reserved. - * D - Multiplexing Open Drain output 10MHz. - * E - Multiplexing Open Drain output 2MHz. - * F - Multiplexing Open Drain output 50MHz. + * D - Alternate Open Drain output 10MHz. + * E - Alternate Open Drain output 2MHz. + * F - Alternate Open Drain output 50MHz. * Please refer to the AT32 Reference Manual for details. */ /* * Port A setup. */ -#define VAL_GPIOACFGLR 0x88888888 /* PA7...PA0 */ -#define VAL_GPIOACFGHR 0x88888888 /* PA15...PA8 */ +#define VAL_GPIOACFGLR 0x88888B88 /* PA7...PA0 */ +#define VAL_GPIOACFGHR 0x888888B8 /* PA15...PA8 */ #define VAL_GPIOAODT 0xFFFFFFFF /* diff --git a/platforms/chibios/boards/GENERIC_AT32_F415XX/configs/config.h b/platforms/chibios/boards/GENERIC_AT32_F415XX/configs/config.h index 01d9a47aac..da60447a0a 100644 --- a/platforms/chibios/boards/GENERIC_AT32_F415XX/configs/config.h +++ b/platforms/chibios/boards/GENERIC_AT32_F415XX/configs/config.h @@ -1,5 +1,5 @@ -// Copyright 2023-2025 HorrorTroll -// Copyright 2023-2025 Zhaqian +// Copyright 2023-2024 HorrorTroll +// Copyright 2023-2024 Zhaqian // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/platforms/chibios/boards/GENERIC_AT32_F415XX/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_AT32_F415XX/configs/mcuconf.h index e218e4791a..d148379fe1 100644 --- a/platforms/chibios/boards/GENERIC_AT32_F415XX/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_AT32_F415XX/configs/mcuconf.h @@ -1,7 +1,7 @@ /* ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio - ChibiOS - Copyright (C) 2023..2025 HorrorTroll - ChibiOS - Copyright (C) 2023..2025 Zhaqian + ChibiOS - Copyright (C) 2023..2024 HorrorTroll + ChibiOS - Copyright (C) 2023..2024 Zhaqian Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -63,7 +63,7 @@ #define AT32_USBDIV AT32_USBDIV_DIV3 #define AT32_CLKOUT_SEL AT32_CLKOUT_SEL_NOCLOCK #define AT32_CLKOUTDIV AT32_CLKOUTDIV_DIV1 -#define AT32_ERTCSEL AT32_ERTCSEL_NOCLOCK +#define AT32_ERTCSEL AT32_ERTCSEL_HEXTDIV #define AT32_PVM_ENABLE FALSE #define AT32_PVMSEL AT32_PVMSEL_LEV1 @@ -136,10 +136,10 @@ #define AT32_I2C_USE_I2C1 FALSE #define AT32_I2C_USE_I2C2 FALSE #define AT32_I2C_BUSY_TIMEOUT 50 -#define AT32_I2C_I2C1_DMA_PRIORITY 3 -#define AT32_I2C_I2C2_DMA_PRIORITY 3 #define AT32_I2C_I2C1_IRQ_PRIORITY 5 #define AT32_I2C_I2C2_IRQ_PRIORITY 5 +#define AT32_I2C_I2C1_DMA_PRIORITY 3 +#define AT32_I2C_I2C2_DMA_PRIORITY 3 #define AT32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") /* @@ -151,6 +151,8 @@ #define AT32_ICU_USE_TMR4 FALSE #define AT32_ICU_USE_TMR5 FALSE #define AT32_ICU_USE_TMR9 FALSE +#define AT32_ICU_USE_TMR10 FALSE +#define AT32_ICU_USE_TMR11 FALSE /* * PWM driver system settings. @@ -214,13 +216,9 @@ #define AT32_UART_USE_USART1 FALSE #define AT32_UART_USE_USART2 FALSE #define AT32_UART_USE_USART3 FALSE -#define AT32_UART_USE_UART4 FALSE -#define AT32_UART_USE_UART5 FALSE #define AT32_UART_USART1_DMA_PRIORITY 0 #define AT32_UART_USART2_DMA_PRIORITY 0 #define AT32_UART_USART3_DMA_PRIORITY 0 -#define AT32_UART_UART4_DMA_PRIORITY 0 -#define AT32_UART_UART5_DMA_PRIORITY 0 #define AT32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure") /* diff --git a/platforms/chibios/boards/GENERIC_STM32_F405XG/board/board.mk b/platforms/chibios/boards/GENERIC_STM32_F405XG/board/board.mk index 00cc9b20b2..6c837bb8ee 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F405XG/board/board.mk +++ b/platforms/chibios/boards/GENERIC_STM32_F405XG/board/board.mk @@ -6,4 +6,4 @@ BOARDINC = $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY # Shared variables ALLCSRC += $(BOARDSRC) -ALLINC += $(BOARDINC) +ALLINC += $(BOARDINC) \ No newline at end of file diff --git a/platforms/chibios/boards/GENERIC_STM32_F407XE/board/board.mk b/platforms/chibios/boards/GENERIC_STM32_F407XE/board/board.mk index 00cc9b20b2..6c837bb8ee 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F407XE/board/board.mk +++ b/platforms/chibios/boards/GENERIC_STM32_F407XE/board/board.mk @@ -6,4 +6,4 @@ BOARDINC = $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY # Shared variables ALLCSRC += $(BOARDSRC) -ALLINC += $(BOARDINC) +ALLINC += $(BOARDINC) \ No newline at end of file diff --git a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h index c2f25db810..a0d53d86e7 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h +++ b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h @@ -21,4 +21,4 @@ #include_next -#undef STM32_HSE_BYPASS +#undef STM32_HSE_BYPASS \ No newline at end of file diff --git a/platforms/chibios/boards/GENERIC_STM32_G0B1XB/board/board.mk b/platforms/chibios/boards/GENERIC_STM32_G0B1XB/board/board.mk deleted file mode 100644 index 7e551e4dc7..0000000000 --- a/platforms/chibios/boards/GENERIC_STM32_G0B1XB/board/board.mk +++ /dev/null @@ -1,12 +0,0 @@ -# List of all the board related files. -BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO64_G0B1RE/board.c - -# Extra files -BOARDSRC += $(BOARD_PATH)/board/extra.c - -# Required include directories -BOARDINC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO64_G0B1RE - -# Shared variables -ALLCSRC += $(BOARDSRC) -ALLINC += $(BOARDINC) diff --git a/platforms/chibios/boards/GENERIC_STM32_G0B1XB/board/extra.c b/platforms/chibios/boards/GENERIC_STM32_G0B1XB/board/extra.c deleted file mode 100644 index 4dbc5dd8b4..0000000000 --- a/platforms/chibios/boards/GENERIC_STM32_G0B1XB/board/extra.c +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2025 Stefan Kerkmann (@karlk90) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include - -#define FLASH_KEY1 0x45670123U -#define FLASH_KEY2 0xCDEF89ABU -#define FLASH_OPTKEY1 0x08192A3BU -#define FLASH_OPTKEY2 0x4C5D6E7FU -#define FLASH_OPTR_CLR_MASK (FLASH_OPTR_nBOOT_SEL) -#define FLASH_OPTR_SET_MASK (FLASH_OPTR_NRST_MODE_Msk) - -static void wait_for_flash(void) { - while (READ_BIT(FLASH->SR, FLASH_SR_BSY1)) { - } -} - -void __attribute__((constructor)) enable_boot0_and_nrst_pin(void) { - // Only apply on STM32G0x1 devices, see RM0444 Rev 6, Table 265: "DEV_ID - // and REV_ID field values." - switch (READ_BIT(DBG->IDCODE, DBG_IDCODE_DEV_ID)) { - case 0x467: // STM32G0B1xx and STM32G0C1xx - case 0x460: // STM32G071xx and STM32G081xx - case 0x456: // STM32G051xx and STM32G061xx - case 0x466: // STM32G041xx and STM32G031xx - break; - default: - return; - } - - uint32_t optr = FLASH->OPTR; - - // Make sure that: - // 1. legacy boot0 pin handling is enabled. - // OPTR[24] = 0 - // 2. legacy nRST pin handling is enabled. - // OPTR[28:27] = 0b11 - // To match the default behavior found in older (F0/F1/F3/F4) STM32 devices. - if (READ_BIT(optr, FLASH_OPTR_CLR_MASK) || (READ_BIT(optr, FLASH_OPTR_SET_MASK) != FLASH_OPTR_SET_MASK)) { - if (READ_BIT(FLASH->CR, FLASH_CR_LOCK)) { - WRITE_REG(FLASH->KEYR, FLASH_KEY1); - WRITE_REG(FLASH->KEYR, FLASH_KEY2); - while (READ_BIT(FLASH->CR, FLASH_CR_LOCK)) { - } - wait_for_flash(); - } - if (READ_BIT(FLASH->CR, FLASH_CR_OPTLOCK)) { - WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY1); - WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2); - while (READ_BIT(FLASH->CR, FLASH_CR_OPTLOCK)) { - } - wait_for_flash(); - } - - MODIFY_REG(FLASH->OPTR, FLASH_OPTR_CLR_MASK, FLASH_OPTR_SET_MASK); - wait_for_flash(); - - SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT); - wait_for_flash(); - - CLEAR_BIT(FLASH->CR, FLASH_CR_OPTSTRT); - wait_for_flash(); - - // Launch the option byte (re)loading, which resets the device. This - // should not return. - SET_BIT(FLASH->CR, FLASH_CR_OBL_LAUNCH); - } -} diff --git a/platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/config.h deleted file mode 100644 index bb2d1b5816..0000000000 --- a/platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2024 Stefan Kerkmann (@karlk90) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP -# define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE -#endif diff --git a/platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/mcuconf.h deleted file mode 100644 index 80726e0308..0000000000 --- a/platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/mcuconf.h +++ /dev/null @@ -1,310 +0,0 @@ -/* - ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -/* - * STM32G0xx drivers configuration. - * The following settings override the default settings present in - * the various device driver implementation headers. - * Note that the settings for each driver only have effect if the whole - * driver is enabled in halconf.h. - * - * IRQ priorities: - * 3...0 Lowest...Highest. - * - * DMA priorities: - * 0...3 Lowest...Highest. - */ - -#ifndef MCUCONF_H -#define MCUCONF_H - -#define STM32G0xx_MCUCONF -#define STM32G0B1_MCUCONF -#define STM32G0C1_MCUCONF - -/* - * HAL driver system settings. - */ -#define STM32_NO_INIT FALSE -#define STM32_CLOCK_DYNAMIC TRUE -#define STM32_VOS STM32_VOS_RANGE1 -#define STM32_PWR_CR2 (STM32_PVDRT_LEV0 | STM32_PVDFT_LEV0 | STM32_PVDE_DISABLED) -#define STM32_PWR_CR3 (PWR_CR3_EIWUL) -#define STM32_PWR_CR4 (0U) -#define STM32_PWR_PUCRA (0U) -#define STM32_PWR_PDCRA (0U) -#define STM32_PWR_PUCRB (0U) -#define STM32_PWR_PDCRB (0U) -#define STM32_PWR_PUCRC (0U) -#define STM32_PWR_PDCRC (0U) -#define STM32_PWR_PUCRD (0U) -#define STM32_PWR_PDCRD (0U) -#define STM32_PWR_PUCRE (0U) -#define STM32_PWR_PDCRE (0U) -#define STM32_PWR_PUCRF (0U) -#define STM32_PWR_PDCRF (0U) -#define STM32_HSIDIV_VALUE 1 -#define STM32_HSI16_ENABLED TRUE -#define STM32_HSI48_ENABLED TRUE -#define STM32_HSE_ENABLED FALSE -#define STM32_LSI_ENABLED FALSE -#define STM32_LSE_ENABLED FALSE -#define STM32_SW STM32_SW_PLLRCLK -#define STM32_PLLSRC STM32_PLLSRC_HSI16 -#define STM32_PLLM_VALUE 2 -#define STM32_PLLN_VALUE 16 -#define STM32_PLLP_VALUE 2 -#define STM32_PLLQ_VALUE 4 -#define STM32_PLLR_VALUE 2 -#define STM32_HPRE STM32_HPRE_DIV1 -#define STM32_PPRE STM32_PPRE_DIV1 -#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK -#define STM32_MCOPRE STM32_MCOPRE_DIV1 -#define STM32_LSCOSEL STM32_LSCOSEL_NOCLOCK - -/* - * Peripherals clocks and sources. - */ -#define STM32_FDCANSEL STM32_USBSEL_HSI48 -#define STM32_USBSEL STM32_USBSEL_HSI48 -#define STM32_USART1SEL STM32_USART1SEL_SYSCLK -#define STM32_USART2SEL STM32_USART2SEL_SYSCLK -#define STM32_USART3SEL STM32_USART3SEL_SYSCLK -#define STM32_LPUART1SEL STM32_LPUART1SEL_SYSCLK -#define STM32_LPUART2SEL STM32_LPUART2SEL_SYSCLK -#define STM32_CECSEL STM32_CECSEL_HSI16DIV -#define STM32_I2C1SEL STM32_I2C1SEL_PCLK -#define STM32_I2C2SEL STM32_I2C1SEL_PCLK -#define STM32_I2S1SEL STM32_I2S1SEL_SYSCLK -#define STM32_I2S2SEL STM32_I2S2SEL_SYSCLK -#define STM32_LPTIM1SEL STM32_LPTIM1SEL_PCLK -#define STM32_LPTIM2SEL STM32_LPTIM2SEL_PCLK -#define STM32_TIM1SEL STM32_TIM1SEL_TIMPCLK -#define STM32_TIM15SEL STM32_TIM15SEL_TIMPCLK -#define STM32_RNGSEL STM32_RNGSEL_HSI16 -#define STM32_RNGDIV_VALUE 1 -#define STM32_ADCSEL STM32_ADCSEL_PLLPCLK -#define STM32_RTCSEL STM32_RTCSEL_NOCLOCK - -/* - * Shared IRQ settings. - */ -#define STM32_IRQ_EXTI0_1_PRIORITY 3 -#define STM32_IRQ_EXTI2_3_PRIORITY 3 -#define STM32_IRQ_EXTI4_15_PRIORITY 3 -#define STM32_IRQ_EXTI1921_PRIORITY 3 - -#define STM32_IRQ_USART1_PRIORITY 2 -#define STM32_IRQ_USART2_LP2_PRIORITY 2 -#define STM32_IRQ_USART3_4_5_6_LP1_PRIORITY 2 - -#define STM32_IRQ_TIM1_UP_PRIORITY 1 -#define STM32_IRQ_TIM1_CC_PRIORITY 1 -#define STM32_IRQ_TIM2_PRIORITY 1 -#define STM32_IRQ_TIM3_4_PRIORITY 1 -#define STM32_IRQ_TIM6_PRIORITY 1 -#define STM32_IRQ_TIM7_PRIORITY 1 -#define STM32_IRQ_TIM14_PRIORITY 1 -#define STM32_IRQ_TIM15_PRIORITY 1 -#define STM32_IRQ_TIM16_PRIORITY 1 -#define STM32_IRQ_TIM17_PRIORITY 1 - -/* - * ADC driver system settings. - */ -#define STM32_ADC_USE_ADC1 FALSE -#define STM32_ADC_ADC1_CFGR2 ADC_CFGR2_CKMODE_ADCCLK -#define STM32_ADC_ADC1_DMA_PRIORITY 2 -#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 2 -#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_ADC_PRESCALER_VALUE 2 - -/* - * DAC driver system settings. - */ -#define STM32_DAC_DUAL_MODE FALSE -#define STM32_DAC_USE_DAC1_CH1 FALSE -#define STM32_DAC_USE_DAC1_CH2 FALSE -#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 3 -#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 3 -#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2 -#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2 -#define STM32_DAC_DAC1_CH1_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_DAC_DAC1_CH2_DMA_STREAM STM32_DMA_STREAM_ID_ANY - -/* - * GPT driver system settings. - */ -#define STM32_GPT_USE_TIM1 FALSE -#define STM32_GPT_USE_TIM2 FALSE -#define STM32_GPT_USE_TIM3 FALSE -#define STM32_GPT_USE_TIM4 FALSE -#define STM32_GPT_USE_TIM6 FALSE -#define STM32_GPT_USE_TIM7 FALSE -#define STM32_GPT_USE_TIM14 FALSE -#define STM32_GPT_USE_TIM15 FALSE -#define STM32_GPT_USE_TIM16 FALSE -#define STM32_GPT_USE_TIM17 FALSE - -/* - * I2C driver system settings. - */ -#define STM32_I2C_USE_I2C1 FALSE -#define STM32_I2C_USE_I2C2 FALSE -#define STM32_I2C_USE_I2C3 FALSE -#define STM32_I2C_BUSY_TIMEOUT 50 -#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C1_IRQ_PRIORITY 3 -#define STM32_I2C_I2C2_IRQ_PRIORITY 3 -#define STM32_I2C_I2C1_DMA_PRIORITY 3 -#define STM32_I2C_I2C2_DMA_PRIORITY 3 -#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") - -/* - * ICU driver system settings. - */ -#define STM32_ICU_USE_TIM1 FALSE -#define STM32_ICU_USE_TIM2 FALSE -#define STM32_ICU_USE_TIM3 FALSE -#define STM32_ICU_USE_TIM4 FALSE -#define STM32_ICU_USE_TIM15 FALSE - -/* - * PWM driver system settings. - */ -#define STM32_PWM_USE_TIM1 FALSE -#define STM32_PWM_USE_TIM2 FALSE -#define STM32_PWM_USE_TIM3 FALSE -#define STM32_PWM_USE_TIM4 FALSE -#define STM32_PWM_USE_TIM14 FALSE -#define STM32_PWM_USE_TIM15 FALSE -#define STM32_PWM_USE_TIM16 FALSE -#define STM32_PWM_USE_TIM17 FALSE - -/* - * RTC driver system settings. - */ -#define STM32_RTC_PRESA_VALUE 32 -#define STM32_RTC_PRESS_VALUE 1024 -#define STM32_RTC_CR_INIT 0 -#define STM32_RTC_TAMPCR_INIT 0 - -/* - * SERIAL driver system settings. - */ -#define STM32_SERIAL_USE_USART1 FALSE -#define STM32_SERIAL_USE_USART2 FALSE -#define STM32_SERIAL_USE_USART3 FALSE -#define STM32_SERIAL_USE_UART4 FALSE -#define STM32_SERIAL_USE_UART5 FALSE -#define STM32_SERIAL_USE_USART6 FALSE -#define STM32_SERIAL_USE_LPUART1 FALSE -#define STM32_SERIAL_USE_LPUART2 FALSE - -/* - * SIO driver system settings. - */ -#define STM32_SIO_USE_USART1 FALSE -#define STM32_SIO_USE_USART2 FALSE -#define STM32_SIO_USE_USART3 FALSE -#define STM32_SIO_USE_UART4 FALSE -#define STM32_SIO_USE_UART5 FALSE -#define STM32_SIO_USE_USART6 FALSE -#define STM32_SIO_USE_LPUART1 FALSE -#define STM32_SIO_USE_LPUART2 FALSE - -/* - * SPI driver system settings. - */ -#define STM32_SPI_USE_SPI1 FALSE -#define STM32_SPI_USE_SPI2 FALSE -#define STM32_SPI_USE_SPI3 FALSE -#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_SPI_SPI1_DMA_PRIORITY 1 -#define STM32_SPI_SPI2_DMA_PRIORITY 1 -#define STM32_SPI_SPI3_DMA_PRIORITY 1 -#define STM32_SPI_SPI1_IRQ_PRIORITY 2 -#define STM32_SPI_SPI2_IRQ_PRIORITY 2 -#define STM32_SPI_SPI3_IRQ_PRIORITY 2 -#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure") - -/* - * ST driver system settings. - */ -#define STM32_ST_IRQ_PRIORITY 2 -#define STM32_ST_USE_TIMER 2 - -/* - * TRNG driver system settings. - * NOTE: STM32G0C1 only. - */ -#define STM32_TRNG_USE_RNG1 FALSE - -/* - * UART driver system settings. - */ -#define STM32_UART_USE_USART1 FALSE -#define STM32_UART_USE_USART2 FALSE -#define STM32_UART_USE_USART3 FALSE -#define STM32_UART_USE_UART4 FALSE -#define STM32_UART_USE_UART5 FALSE -#define STM32_UART_USE_USART6 FALSE -#define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_USART3_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_USART3_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_UART4_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_UART4_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_UART5_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_UART5_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_UART_USART1_DMA_PRIORITY 0 -#define STM32_UART_USART2_DMA_PRIORITY 0 -#define STM32_UART_USART3_DMA_PRIORITY 0 -#define STM32_UART_UART4_DMA_PRIORITY 0 -#define STM32_UART_UART5_DMA_PRIORITY 0 -#define STM32_UART_USART6_DMA_PRIORITY 0 -#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure") - -/* - * USB driver system settings. - */ -#define STM32_USB_USE_USB1 TRUE -#define STM32_USB_USB1_LP_IRQ_PRIORITY 3 -#define STM32_USB_USE_ISOCHRONOUS FALSE -#define STM32_USB_USE_FAST_COPY TRUE -#define STM32_USB_HOST_WAKEUP_DURATION 2 -#define STM32_USB_48MHZ_DELTA 0 - -/* - * WDG driver system settings. - */ -#define STM32_WDG_USE_IWDG FALSE - -#endif /* MCUCONF_H */ diff --git a/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/config.h index da0a634bb5..eb74d68e85 100644 --- a/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/config.h @@ -27,4 +27,4 @@ #if 0 #define STM32_BOOTLOADER_DUAL_BANK TRUE #define STM32_BOOTLOADER_DUAL_BANK_GPIO B7 -#endif +#endif \ No newline at end of file diff --git a/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h index 09096c3977..0239ec5273 100644 --- a/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h @@ -182,7 +182,6 @@ #define STM32_IRQ_FDCAN1_PRIORITY 10 #define STM32_IRQ_FDCAN2_PRIORITY 10 -#define STM32_IRQ_FDCAN3_PRIORITY 10 #define STM32_IRQ_MDMA_PRIORITY 9 @@ -236,7 +235,6 @@ */ #define STM32_CAN_USE_FDCAN1 FALSE #define STM32_CAN_USE_FDCAN2 FALSE -#define STM32_CAN_USE_FDCAN3 FALSE /* * DAC driver system settings. diff --git a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/chconf.h b/platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/chconf.h index fa0b6f11d0..e4afddb6a5 100644 --- a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/chconf.h +++ b/platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/chconf.h @@ -23,4 +23,4 @@ #define CH_CFG_ST_TIMEDELTA 0 -#include_next +#include_next \ No newline at end of file diff --git a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/chconf.h b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/chconf.h index fa0b6f11d0..e4afddb6a5 100644 --- a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/chconf.h +++ b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/chconf.h @@ -23,4 +23,4 @@ #define CH_CFG_ST_TIMEDELTA 0 -#include_next +#include_next \ No newline at end of file diff --git a/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h b/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h index e92b7aeb98..cc10304a3f 100644 --- a/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h +++ b/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h @@ -49,19 +49,6 @@ #define CH_CFG_SMP_MODE FALSE #endif -/** - * @brief Kernel hardening level. - * @details This option is the level of functional-safety checks enabled - * in the kerkel. The meaning is: - * - 0: No checks, maximum performance. - * - 1: Reasonable checks. - * - 2: All checks. - * . - */ -#if !defined(CH_CFG_HARDENING_LEVEL) -#define CH_CFG_HARDENING_LEVEL 0 -#endif - /** @} */ /*===========================================================================*/ @@ -373,16 +360,6 @@ #define CH_CFG_USE_MAILBOXES TRUE #endif -/** - * @brief Memory checks APIs. - * @details If enabled then the memory checks APIs are included in the kernel. - * - * @note The default is @p TRUE. - */ -#if !defined(CH_CFG_USE_MEMCHECKS) -#define CH_CFG_USE_MEMCHECKS TRUE -#endif - /** * @brief Core Memory Manager APIs. * @details If enabled then the core memory manager APIs are included diff --git a/platforms/chibios/boards/SIPEED_LONGAN_NANO/configs/chconf.h b/platforms/chibios/boards/SIPEED_LONGAN_NANO/configs/chconf.h index ca0348e4e0..6e5adb0fe1 100644 --- a/platforms/chibios/boards/SIPEED_LONGAN_NANO/configs/chconf.h +++ b/platforms/chibios/boards/SIPEED_LONGAN_NANO/configs/chconf.h @@ -20,4 +20,4 @@ struct _reent; #endif -#include_next +#include_next \ No newline at end of file diff --git a/platforms/chibios/boards/common/configs/chconf.h b/platforms/chibios/boards/common/configs/chconf.h index 6381298ef7..5db836e37c 100644 --- a/platforms/chibios/boards/common/configs/chconf.h +++ b/platforms/chibios/boards/common/configs/chconf.h @@ -49,19 +49,6 @@ #define CH_CFG_SMP_MODE FALSE #endif -/** - * @brief Kernel hardening level. - * @details This option is the level of functional-safety checks enabled - * in the kerkel. The meaning is: - * - 0: No checks, maximum performance. - * - 1: Reasonable checks. - * - 2: All checks. - * . - */ -#if !defined(CH_CFG_HARDENING_LEVEL) -#define CH_CFG_HARDENING_LEVEL 0 -#endif - /** @} */ /*===========================================================================*/ @@ -373,16 +360,6 @@ #define CH_CFG_USE_MAILBOXES FALSE #endif -/** - * @brief Memory checks APIs. - * @details If enabled then the memory checks APIs are included in the kernel. - * - * @note The default is @p TRUE. - */ -#if !defined(CH_CFG_USE_MEMCHECKS) -#define CH_CFG_USE_MEMCHECKS TRUE -#endif - /** * @brief Core Memory Manager APIs. * @details If enabled then the core memory manager APIs are included diff --git a/platforms/chibios/boards/common/ld/STM32G0B1xB.ld b/platforms/chibios/boards/common/ld/STM32G0B1xB.ld deleted file mode 100644 index 0109504992..0000000000 --- a/platforms/chibios/boards/common/ld/STM32G0B1xB.ld +++ /dev/null @@ -1,85 +0,0 @@ -/* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -/* - * STM32G0B1xB memory setup. - */ -MEMORY -{ - flash0 (rx) : org = 0x08000000, len = 128k - flash1 (rx) : org = 0x00000000, len = 0 - flash2 (rx) : org = 0x00000000, len = 0 - flash3 (rx) : org = 0x00000000, len = 0 - flash4 (rx) : org = 0x00000000, len = 0 - flash5 (rx) : org = 0x00000000, len = 0 - flash6 (rx) : org = 0x00000000, len = 0 - flash7 (rx) : org = 0x00000000, len = 0 - ram0 (wx) : org = 0x20000000, len = 144k - ram1 (wx) : org = 0x00000000, len = 0 - ram2 (wx) : org = 0x00000000, len = 0 - ram3 (wx) : org = 0x00000000, len = 0 - ram4 (wx) : org = 0x00000000, len = 0 - ram5 (wx) : org = 0x00000000, len = 0 - ram6 (wx) : org = 0x00000000, len = 0 - ram7 (wx) : org = 0x00000000, len = 0 -} - -/* For each data/text section two region are defined, a virtual region - and a load region (_LMA suffix).*/ - -/* Flash region to be used for exception vectors.*/ -REGION_ALIAS("VECTORS_FLASH", flash0); -REGION_ALIAS("VECTORS_FLASH_LMA", flash0); - -/* Flash region to be used for constructors and destructors.*/ -REGION_ALIAS("XTORS_FLASH", flash0); -REGION_ALIAS("XTORS_FLASH_LMA", flash0); - -/* Flash region to be used for code text.*/ -REGION_ALIAS("TEXT_FLASH", flash0); -REGION_ALIAS("TEXT_FLASH_LMA", flash0); - -/* Flash region to be used for read only data.*/ -REGION_ALIAS("RODATA_FLASH", flash0); -REGION_ALIAS("RODATA_FLASH_LMA", flash0); - -/* Flash region to be used for various.*/ -REGION_ALIAS("VARIOUS_FLASH", flash0); -REGION_ALIAS("VARIOUS_FLASH_LMA", flash0); - -/* Flash region to be used for RAM(n) initialization data.*/ -REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0); - -/* RAM region to be used for Main stack. This stack accommodates the processing - of all exceptions and interrupts.*/ -REGION_ALIAS("MAIN_STACK_RAM", ram0); - -/* RAM region to be used for the process stack. This is the stack used by - the main() function.*/ -REGION_ALIAS("PROCESS_STACK_RAM", ram0); - -/* RAM region to be used for data segment.*/ -REGION_ALIAS("DATA_RAM", ram0); -REGION_ALIAS("DATA_RAM_LMA", flash0); - -/* RAM region to be used for BSS segment.*/ -REGION_ALIAS("BSS_RAM", ram0); - -/* RAM region to be used for the default heap.*/ -REGION_ALIAS("HEAP_RAM", ram0); - -/* Generic rules inclusion.*/ -INCLUDE rules.ld diff --git a/platforms/chibios/bootloaders/stm32duino.c b/platforms/chibios/bootloaders/stm32duino.c index cc3f6be2df..e2db7fa16c 100644 --- a/platforms/chibios/bootloaders/stm32duino.c +++ b/platforms/chibios/bootloaders/stm32duino.c @@ -25,4 +25,4 @@ __attribute__((weak)) void bootloader_jump(void) { __attribute__((weak)) void mcu_reset(void) { BKP->DR10 = RTC_BOOTLOADER_JUST_UPLOADED; NVIC_SystemReset(); -} +} \ No newline at end of file diff --git a/platforms/chibios/bootloaders/uf2boot.c b/platforms/chibios/bootloaders/uf2boot.c index 1c736b8356..f5b1a64334 100644 --- a/platforms/chibios/bootloaders/uf2boot.c +++ b/platforms/chibios/bootloaders/uf2boot.c @@ -1,8 +1,6 @@ // Copyright 2023 QMK // SPDX-License-Identifier: GPL-2.0-or-later -#include -#include #include "bootloader.h" // From mmoskal/uf2-stm32f103's backup.c diff --git a/platforms/chibios/chibios_config.h b/platforms/chibios/chibios_config.h index 41546e3e50..95136baf30 100644 --- a/platforms/chibios/chibios_config.h +++ b/platforms/chibios/chibios_config.h @@ -15,8 +15,6 @@ */ #pragma once -#include "compiler_support.h" - #ifndef USB_VBUS_PIN # define SPLIT_USB_DETECT // Force this on when dedicated pin is not used #endif @@ -28,7 +26,7 @@ # define REALTIME_COUNTER_CLOCK 1000000 # define USE_GPIOV1 -# define PAL_OUTPUT_TYPE_OPENDRAIN STATIC_ASSERT(0, "RP2040 has no Open Drain GPIO configuration, setting this is not possible"); +# define PAL_OUTPUT_TYPE_OPENDRAIN _Static_assert(0, "RP2040 has no Open Drain GPIO configuration, setting this is not possible"); /* Aliases for GPIO PWM channels - every pin has at least one PWM channel * assigned */ @@ -151,8 +149,8 @@ # if defined(AT32F415) # define USE_GPIOV1 # define USE_I2CV1 -# define PAL_MODE_ALTERNATE_OPENDRAIN PAL_MODE_AT32_MUX_OPENDRAIN -# define PAL_MODE_ALTERNATE_PUSHPULL PAL_MODE_AT32_MUX_PUSHPULL +# define PAL_MODE_ALTERNATE_OPENDRAIN PAL_MODE_AT32_ALTERNATE_OPENDRAIN +# define PAL_MODE_ALTERNATE_PUSHPULL PAL_MODE_AT32_ALTERNATE_PUSHPULL # define AUDIO_PWM_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL # endif #endif diff --git a/platforms/chibios/converters/promicro_to_bonsai_c4/_pin_defs.h b/platforms/chibios/converters/promicro_to_bonsai_c4/_pin_defs.h index deb0628ef8..7e6b8ddaf2 100644 --- a/platforms/chibios/converters/promicro_to_bonsai_c4/_pin_defs.h +++ b/platforms/chibios/converters/promicro_to_bonsai_c4/_pin_defs.h @@ -37,4 +37,4 @@ // If this is undesirable, either B0 or B5 can be redefined by // using #undef and #define to change its assignment #define B0 PAL_LINE(GPIOB, 2) -#define D5 PAL_LINE(GPIOB, 2) +#define D5 PAL_LINE(GPIOB, 2) \ No newline at end of file diff --git a/platforms/chibios/converters/promicro_to_bonsai_c4/post_converter.mk b/platforms/chibios/converters/promicro_to_bonsai_c4/post_converter.mk index beefb9de23..5f49b17f8a 100644 --- a/platforms/chibios/converters/promicro_to_bonsai_c4/post_converter.mk +++ b/platforms/chibios/converters/promicro_to_bonsai_c4/post_converter.mk @@ -2,4 +2,4 @@ BACKLIGHT_DRIVER ?= pwm WS2812_DRIVER ?= pwm SERIAL_DRIVER ?= usart FLASH_DRIVER ?= spi -EEPROM_DRIVER ?= spi +EEPROM_DRIVER ?= spi \ No newline at end of file diff --git a/platforms/chibios/converters/promicro_to_promicro_rp2040/pre_converter.mk b/platforms/chibios/converters/promicro_to_promicro_rp2040/pre_converter.mk index 80111d0f78..303d3135ce 100644 --- a/platforms/chibios/converters/promicro_to_promicro_rp2040/pre_converter.mk +++ b/platforms/chibios/converters/promicro_to_promicro_rp2040/pre_converter.mk @@ -1,8 +1,2 @@ CONVERTER:=platforms/chibios/converters/promicro_to_sparkfun_pm2040 ACTIVE_CONVERTER:=sparkfun_pm2040 - -$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@) -$(info The 'CONVERT_TO=promicro_rp2040' option is now deprecated.) -$(info Depending on hardware either 'CONVERT_TO=sparkfun_pm2040' or 'CONVERT_TO=rp2040_ce' should be used instead.) -$(info See https://docs.qmk.fm/feature_converters#pro-micro documentation for more information.) -$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@) diff --git a/platforms/chibios/drivers/analog.c b/platforms/chibios/drivers/analog.c index a916cc9a1d..7e1f87e6c9 100644 --- a/platforms/chibios/drivers/analog.c +++ b/platforms/chibios/drivers/analog.c @@ -43,7 +43,7 @@ #endif // Otherwise assume V3 -#if defined(STM32F0XX) || defined(STM32L0XX) || defined(STM32G0XX) +#if defined(STM32F0XX) || defined(STM32L0XX) # define USE_ADCV1 #elif defined(STM32F1XX) || defined(STM32F2XX) || defined(STM32F4XX) || defined(GD32VF103) || defined(WB32F3G71xx) || defined(WB32FQ95xx) || defined(AT32F415) # define USE_ADCV2 @@ -82,7 +82,7 @@ /* User configurable ADC options */ #ifndef ADC_COUNT -# if defined(RP2040) || defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F4XX) || defined(STM32G0XX) || defined(GD32VF103) || defined(WB32F3G71xx) || defined(WB32FQ95xx) || defined(AT32F415) +# if defined(RP2040) || defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F4XX) || defined(GD32VF103) || defined(WB32F3G71xx) || defined(WB32FQ95xx) || defined(AT32F415) # define ADC_COUNT 1 # elif defined(STM32F3XX) || defined(STM32G4XX) # define ADC_COUNT 4 @@ -114,8 +114,6 @@ # define ADC_SAMPLING_RATE ADC_SMPR_SMP_1P5 # elif defined(ADC_SMPR_SMP_2P5) // STM32L4XX, STM32L4XXP, STM32G4XX, STM32WBXX # define ADC_SAMPLING_RATE ADC_SMPR_SMP_2P5 -# elif defined(ADC_SMPR_SMP1_1P5) // STM32G0XX -# define ADC_SAMPLING_RATE ADC_SMPR_SMP1_1P5 # else # error "Cannot determine the default ADC_SAMPLING_RATE for this MCU." # endif @@ -295,23 +293,6 @@ __attribute__((weak)) adc_mux pinToMux(pin_t pin) { case F9: return TO_MUX( ADC_CHANNEL_IN12, 2 ); case F10: return TO_MUX( ADC_CHANNEL_IN13, 2 ); # endif -#elif defined(STM32G0XX) - case A0: return TO_MUX( 0, 0 ); - case A1: return TO_MUX( 1, 0 ); - case A2: return TO_MUX( 2, 0 ); - case A3: return TO_MUX( 3, 0 ); - case A4: return TO_MUX( 4, 0 ); - case A5: return TO_MUX( 5, 0 ); - case A6: return TO_MUX( 6, 0 ); - case A7: return TO_MUX( 7, 0 ); - case B0: return TO_MUX( 8, 0 ); - case B1: return TO_MUX( 9, 0 ); - case B2: return TO_MUX( 10, 0 ); - case B10: return TO_MUX( 11, 0 ); - case B11: return TO_MUX( 15, 0 ); - case B12: return TO_MUX( 16, 0 ); - case C4: return TO_MUX( 17, 0 ); - case C5: return TO_MUX( 18, 0 ); #elif defined(STM32G4XX) case A0: return TO_MUX( ADC_CHANNEL_IN1, 0 ); // Can also be ADC2 case A1: return TO_MUX( ADC_CHANNEL_IN2, 0 ); // Can also be ADC2 diff --git a/platforms/chibios/drivers/audio_pwm_hardware.c b/platforms/chibios/drivers/audio_pwm_hardware.c index afa341abb6..1ba7ec13bc 100644 --- a/platforms/chibios/drivers/audio_pwm_hardware.c +++ b/platforms/chibios/drivers/audio_pwm_hardware.c @@ -41,19 +41,18 @@ static float channel_1_frequency = 0.0f; void channel_1_set_frequency(float freq) { channel_1_frequency = freq; - pwmcnt_t period; - pwmcnt_t width; if (freq <= 0.0) { - period = 2; - width = 0; - } else { - period = (pwmCFG.frequency / freq); - width = (pwmcnt_t)(((period) * (pwmcnt_t)((100 - note_timbre) * 100)) / (pwmcnt_t)(10000)); + // a pause/rest has freq=0 + return; } + + pwmcnt_t period = (pwmCFG.frequency / freq); chSysLockFromISR(); pwmChangePeriodI(&AUDIO_PWM_DRIVER, period); - pwmEnableChannelI(&AUDIO_PWM_DRIVER, AUDIO_PWM_CHANNEL - 1, width); + pwmEnableChannelI(&AUDIO_PWM_DRIVER, AUDIO_PWM_CHANNEL - 1, + // adjust the duty-cycle so that the output is for 'note_timbre' duration HIGH + PWM_PERCENTAGE_TO_WIDTH(&AUDIO_PWM_DRIVER, (100 - note_timbre) * 100)); chSysUnlockFromISR(); } @@ -68,9 +67,6 @@ void channel_1_start(void) { void channel_1_stop(void) { pwmStop(&AUDIO_PWM_DRIVER); - pwmStart(&AUDIO_PWM_DRIVER, &pwmCFG); - pwmEnableChannel(&AUDIO_PWM_DRIVER, AUDIO_PWM_CHANNEL - 1, 0); - pwmStop(&AUDIO_PWM_DRIVER); } static virtual_timer_t audio_vt; diff --git a/platforms/chibios/drivers/backlight_pwm.c b/platforms/chibios/drivers/backlight_pwm.c index 47ad008415..25fe7962b0 100644 --- a/platforms/chibios/drivers/backlight_pwm.c +++ b/platforms/chibios/drivers/backlight_pwm.c @@ -28,9 +28,9 @@ // Support for pins which are on TIM1_CH1N #ifdef BACKLIGHT_PWM_COMPLEMENTARY_OUTPUT # if BACKLIGHT_ON_STATE == 1 -# define PWM_OUTPUT_MODE PWM_COMPLEMENTARY_OUTPUT_ACTIVE_HIGH; -# else # define PWM_OUTPUT_MODE PWM_COMPLEMENTARY_OUTPUT_ACTIVE_LOW; +# else +# define PWM_OUTPUT_MODE PWM_COMPLEMENTARY_OUTPUT_ACTIVE_HIGH; # endif #else # if BACKLIGHT_ON_STATE == 1 diff --git a/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.c b/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.c index 31062a4816..628137a0b3 100644 --- a/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.c +++ b/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.c @@ -25,7 +25,6 @@ #define EEPROM_ADDR(offset) (EEPROM_BASE_ADDR + (offset)) #define EEPROM_PTR(offset) ((__IO uint8_t *)EEPROM_ADDR(offset)) #define EEPROM_BYTE(location, offset) (*(EEPROM_PTR(((uint32_t)location) + ((uint32_t)offset)))) -#define EEPROM_WORD(location) (*(__IO uint32_t *)EEPROM_PTR(location)) #define BUFFER_BYTE(buffer, offset) (*(((uint8_t *)buffer) + offset)) @@ -63,16 +62,12 @@ void eeprom_driver_erase(void) { STM32_L0_L1_EEPROM_Unlock(); for (size_t offset = 0; offset < STM32_ONBOARD_EEPROM_SIZE; offset += sizeof(uint32_t)) { -#ifdef QMK_MCU_SERIES_STM32L0XX FLASH->PECR |= FLASH_PECR_ERASE | FLASH_PECR_DATA; -#endif - EEPROM_WORD(offset) = (uint32_t)0; + *(__IO uint32_t *)EEPROM_ADDR(offset) = (uint32_t)0; STM32_L0_L1_EEPROM_WaitNotBusy(); -#ifdef QMK_MCU_SERIES_STM32L0XX FLASH->PECR &= ~(FLASH_PECR_ERASE | FLASH_PECR_DATA); -#endif } STM32_L0_L1_EEPROM_Lock(); @@ -91,39 +86,17 @@ void eeprom_read_block(void *buf, const void *addr, size_t len) { } void eeprom_write_block(const void *buf, void *addr, size_t len) { - // use word-aligned write to overcome issues with writing null bytes - uint32_t start_addr = (uint32_t)addr; - if (start_addr >= (STM32_ONBOARD_EEPROM_SIZE)) { - return; - } - uint32_t max_len = (STM32_ONBOARD_EEPROM_SIZE)-start_addr; - if (len > max_len) { - len = max_len; - } - uint32_t end_addr = start_addr + len; - - uint32_t aligned_start = start_addr & ~0x3; - uint32_t aligned_end = (end_addr + 3) & ~0x3; - STM32_L0_L1_EEPROM_Unlock(); - for (uint32_t word_addr = aligned_start; word_addr < aligned_end; word_addr += 4) { - uint32_t existing_word = EEPROM_WORD(word_addr); - uint32_t new_word = existing_word; - // Update the relevant bytes in the word - for (int i = 0; i < 4; i++) { - uint32_t byte_addr = word_addr + i; - if (byte_addr >= start_addr && byte_addr < end_addr) { - uint8_t new_byte = BUFFER_BYTE(buf, byte_addr - start_addr); - new_word = (new_word & ~(0xFFU << (i * 8))) | ((uint32_t)new_byte << (i * 8)); - } + for (size_t offset = 0; offset < len; ++offset) { + // Drop out if we've hit the limit of the EEPROM + if ((((uint32_t)addr) + offset) >= STM32_ONBOARD_EEPROM_SIZE) { + break; } - // Only write if the word has changed - if (new_word != existing_word) { - STM32_L0_L1_EEPROM_WaitNotBusy(); - EEPROM_WORD(word_addr) = new_word; - } + STM32_L0_L1_EEPROM_WaitNotBusy(); + EEPROM_BYTE(addr, offset) = BUFFER_BYTE(buf, offset); } + STM32_L0_L1_EEPROM_Lock(); } diff --git a/platforms/chibios/drivers/i2c_master.c b/platforms/chibios/drivers/i2c_master.c index 20850859b5..0d5fb1e985 100644 --- a/platforms/chibios/drivers/i2c_master.c +++ b/platforms/chibios/drivers/i2c_master.c @@ -29,37 +29,17 @@ #include "i2c_master.h" #include "gpio.h" #include "chibios_config.h" +#include #include #include -#ifndef I2C_DRIVER -# define I2C_DRIVER I2CD1 -#endif - #ifndef I2C1_SCL_PIN # define I2C1_SCL_PIN B6 #endif - -#ifndef I2C1_SCL_PAL_MODE -# ifdef USE_GPIOV1 -# define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN -# else -# define I2C1_SCL_PAL_MODE 4 -# endif -#endif - #ifndef I2C1_SDA_PIN # define I2C1_SDA_PIN B7 #endif -#ifndef I2C1_SDA_PAL_MODE -# ifdef USE_GPIOV1 -# define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN -# else -# define I2C1_SDA_PAL_MODE 4 -# endif -#endif - #ifdef USE_I2CV1 # ifndef I2C1_OPMODE # define I2C1_OPMODE OPMODE_I2C @@ -90,6 +70,27 @@ # endif #endif +#ifndef I2C_DRIVER +# define I2C_DRIVER I2CD1 +#endif + +#ifdef USE_GPIOV1 +# ifndef I2C1_SCL_PAL_MODE +# define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN +# endif +# ifndef I2C1_SDA_PAL_MODE +# define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN +# endif +#else +// The default PAL alternate modes are used to signal that the pins are used for I2C +# ifndef I2C1_SCL_PAL_MODE +# define I2C1_SCL_PAL_MODE 4 +# endif +# ifndef I2C1_SDA_PAL_MODE +# define I2C1_SDA_PAL_MODE 4 +# endif +#endif + static const I2CConfig i2cconfig = { #if defined(USE_I2CV1_CONTRIB) I2C1_CLOCK_SPEED, @@ -206,4 +207,4 @@ __attribute__((weak)) i2c_status_t i2c_ping_address(uint8_t address, uint16_t ti // This approach may produce false negative results for I2C devices that do not respond to a register 0 read request. uint8_t data = 0; return i2c_read_register(address, 0, &data, sizeof(data), timeout); -} +} \ No newline at end of file diff --git a/platforms/chibios/drivers/i2c_master.h b/platforms/chibios/drivers/i2c_master.h new file mode 100644 index 0000000000..132ffd14c0 --- /dev/null +++ b/platforms/chibios/drivers/i2c_master.h @@ -0,0 +1,49 @@ +/* Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* This library follows the convention of the AVR i2c_master library. + * As a result addresses are expected to be already shifted (addr << 1). + * I2CD1 is the default driver which corresponds to pins B6 and B7. This + * can be changed. + * Please ensure that HAL_USE_I2C is TRUE in the halconf.h file and that + * STM32_I2C_USE_I2C1 is TRUE in the mcuconf.h file. + */ +#pragma once + +#include + +// ### DEPRECATED - DO NOT USE ### +#define i2c_writeReg(devaddr, regaddr, data, length, timeout) i2c_write_register(devaddr, regaddr, data, length, timeout) +#define i2c_writeReg16(devaddr, regaddr, data, length, timeout) i2c_write_register16(devaddr, regaddr, data, length, timeout) +#define i2c_readReg(devaddr, regaddr, data, length, timeout) i2c_read_register(devaddr, regaddr, data, length, timeout) +#define i2c_readReg16(devaddr, regaddr, data, length, timeout) i2c_read_register16(devaddr, regaddr, data, length, timeout) +// ############################### + +typedef int16_t i2c_status_t; + +#define I2C_STATUS_SUCCESS (0) +#define I2C_STATUS_ERROR (-1) +#define I2C_STATUS_TIMEOUT (-2) + +void i2c_init(void); +i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_write_register16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_read_register(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_read_register16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout); +i2c_status_t i2c_ping_address(uint8_t address, uint16_t timeout); diff --git a/platforms/chibios/drivers/spi_master.c b/platforms/chibios/drivers/spi_master.c index f5e48edfda..414e5b10a3 100644 --- a/platforms/chibios/drivers/spi_master.c +++ b/platforms/chibios/drivers/spi_master.c @@ -15,49 +15,8 @@ */ #include "spi_master.h" -#include "chibios_config.h" -#include -#include -#ifndef SPI_DRIVER -# define SPI_DRIVER SPID2 -#endif - -#ifndef SPI_SCK_PIN -# define SPI_SCK_PIN B13 -#endif - -#ifndef SPI_SCK_PAL_MODE -# ifdef USE_GPIOV1 -# define SPI_SCK_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL -# else -# define SPI_SCK_PAL_MODE 5 -# endif -#endif - -#ifndef SPI_MOSI_PIN -# define SPI_MOSI_PIN B15 -#endif - -#ifndef SPI_MOSI_PAL_MODE -# ifdef USE_GPIOV1 -# define SPI_MOSI_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL -# else -# define SPI_MOSI_PAL_MODE 5 -# endif -#endif - -#ifndef SPI_MISO_PIN -# define SPI_MISO_PIN B14 -#endif - -#ifndef SPI_MISO_PAL_MODE -# ifdef USE_GPIOV1 -# define SPI_MISO_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL -# else -# define SPI_MISO_PAL_MODE 5 -# endif -#endif +#include "timer.h" static bool spiStarted = false; #if SPI_SELECT_MODE == SPI_SELECT_MODE_NONE diff --git a/platforms/chibios/drivers/spi_master.h b/platforms/chibios/drivers/spi_master.h new file mode 100644 index 0000000000..4ad6144091 --- /dev/null +++ b/platforms/chibios/drivers/spi_master.h @@ -0,0 +1,102 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include +#include + +#include "gpio.h" +#include "chibios_config.h" + +#ifndef SPI_DRIVER +# define SPI_DRIVER SPID2 +#endif + +#ifndef SPI_SCK_PIN +# define SPI_SCK_PIN B13 +#endif + +#ifndef SPI_SCK_PAL_MODE +# if defined(USE_GPIOV1) +# define SPI_SCK_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL +# else +# define SPI_SCK_PAL_MODE 5 +# endif +#endif + +#ifndef SPI_MOSI_PIN +# define SPI_MOSI_PIN B15 +#endif + +#ifndef SPI_MOSI_PAL_MODE +# if defined(USE_GPIOV1) +# define SPI_MOSI_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL +# else +# define SPI_MOSI_PAL_MODE 5 +# endif +#endif + +#ifndef SPI_MISO_PIN +# define SPI_MISO_PIN B14 +#endif + +#ifndef SPI_MISO_PAL_MODE +# if defined(USE_GPIOV1) +# define SPI_MISO_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL +# else +# define SPI_MISO_PAL_MODE 5 +# endif +#endif + +typedef int16_t spi_status_t; + +#define SPI_STATUS_SUCCESS (0) +#define SPI_STATUS_ERROR (-1) +#define SPI_STATUS_TIMEOUT (-2) + +#define SPI_TIMEOUT_IMMEDIATE (0) +#define SPI_TIMEOUT_INFINITE (0xFFFF) + +#ifdef __cplusplus +extern "C" { +#endif +typedef struct spi_start_config_t { + pin_t slave_pin; + bool lsb_first; + uint8_t mode; + uint16_t divisor; + bool cs_active_low; +} spi_start_config_t; + +void spi_init(void); + +bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor); +bool spi_start_extended(spi_start_config_t *start_config); + +spi_status_t spi_write(uint8_t data); + +spi_status_t spi_read(void); + +spi_status_t spi_transmit(const uint8_t *data, uint16_t length); + +spi_status_t spi_receive(uint8_t *data, uint16_t length); + +void spi_stop(void); +#ifdef __cplusplus +} +#endif diff --git a/platforms/chibios/drivers/uart.h b/platforms/chibios/drivers/uart.h new file mode 100644 index 0000000000..c1945575f1 --- /dev/null +++ b/platforms/chibios/drivers/uart.h @@ -0,0 +1,200 @@ +// Copyright 2024 Stefan Kerkmann +// Copyright 2021 QMK +// Copyright 2024 Stefan Kerkmann +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include + +#include + +#include "gpio.h" +#include "chibios_config.h" + +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef SERIAL_DRIVER +# define UART_DRIVER SERIAL_DRIVER +#endif +#ifdef SD1_TX_PIN +# define UART_TX_PIN SD1_TX_PIN +#endif +#ifdef SD1_RX_PIN +# define UART_RX_PIN SD1_RX_PIN +#endif +#ifdef SD1_CTS_PIN +# define UART_CTS_PIN SD1_CTS_PIN +#endif +#ifdef SD1_RTS_PIN +# define UART_RTS_PIN SD1_RTS_PIN +#endif +#ifdef SD1_TX_PAL_MODE +# define UART_TX_PAL_MODE SD1_TX_PAL_MODE +#endif +#ifdef SD1_RX_PAL_MODE +# define UART_RX_PAL_MODE SD1_RX_PAL_MODE +#endif +#ifdef SD1_CTS_PAL_MODE +# define UART_RTS_PAL_MODE SD1_CTS_PAL_MODE +#endif +#ifdef SD1_RTS_PAL_MODE +# define UART_TX_PAL_MODE SD1_RTS_PAL_MODE +#endif +#ifdef SD1_CR1 +# define UART_CR1 SD1_CR1 +#endif +#ifdef SD1_CR2 +# define UART_CR2 SD1_CR2 +#endif +#ifdef SD1_CR3 +# define UART_CR3 SD1_CR3 +#endif +#ifdef SD1_WRDLEN +# define UART_WRDLEN SD1_WRDLEN +#endif +#ifdef SD1_STPBIT +# define UART_STPBIT SD1_STPBIT +#endif +#ifdef SD1_PARITY +# define UART_PARITY SD1_PARITY +#endif +#ifdef SD1_ATFLCT +# define UART_ATFLCT SD1_ATFLCT +#endif +// ======== + +#ifndef UART_DRIVER +# if (HAL_USE_SERIAL == TRUE) +# define UART_DRIVER SD1 +# elif (HAL_USE_SIO == TRUE) +# define UART_DRIVER SIOD1 +# endif +#endif + +#ifndef UART_TX_PIN +# define UART_TX_PIN A9 +#endif + +#ifndef UART_RX_PIN +# define UART_RX_PIN A10 +#endif + +#ifndef UART_CTS_PIN +# define UART_CTS_PIN A11 +#endif + +#ifndef UART_RTS_PIN +# define UART_RTS_PIN A12 +#endif + +#ifdef USE_GPIOV1 +# ifndef UART_TX_PAL_MODE +# define UART_TX_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL +# endif +# ifndef UART_RX_PAL_MODE +# define UART_RX_PAL_MODE PAL_MODE_INPUT +# endif +# ifndef UART_CTS_PAL_MODE +# define UART_CTS_PAL_MODE PAL_MODE_INPUT +# endif +# ifndef UART_RTS_PAL_MODE +# define UART_RTS_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL +# endif +#else +# ifndef UART_TX_PAL_MODE +# define UART_TX_PAL_MODE 7 +# endif + +# ifndef UART_RX_PAL_MODE +# define UART_RX_PAL_MODE 7 +# endif + +# ifndef UART_CTS_PAL_MODE +# define UART_CTS_PAL_MODE 7 +# endif + +# ifndef UART_RTS_PAL_MODE +# define UART_RTS_PAL_MODE 7 +# endif +#endif + +#ifndef UART_CR1 +# define UART_CR1 0 +#endif + +#ifndef UART_CR2 +# define UART_CR2 0 +#endif + +#ifndef UART_CR3 +# define UART_CR3 0 +#endif + +#ifndef UART_WRDLEN +# define UART_WRDLEN 3 +#endif + +#ifndef UART_STPBIT +# define UART_STPBIT 0 +#endif + +#ifndef UART_PARITY +# define UART_PARITY 0 +#endif + +#ifndef UART_ATFLCT +# define UART_ATFLCT 0 +#endif + +/** + * @brief Initialize the UART driver. This function must be called only once, + * before any of the below functions can be called. + * + * @param baud The baud rate to transmit and receive at. This may depend on the + * device you are communicating with. Common values are 1200, 2400, 4800, 9600, + * 19200, 38400, 57600, and 115200. + */ +void uart_init(uint32_t baud); + +/** + * @brief Transmit a single byte. + * + * @param data The byte to transmit. + */ +void uart_write(uint8_t data); + +/** + * @brief Receive a single byte. + * + * @return uint8_t The byte read from the receive buffer. This function will + * block if the buffer is empty (ie. no data to read). + */ +uint8_t uart_read(void); + +/** + * @brief Transmit multiple bytes. + * + * @param data A pointer to the data to write from. + * @param length The number of bytes to write. Take care not to overrun the + * length of `data`. + */ +void uart_transmit(const uint8_t *data, uint16_t length); + +/** + * @brief Receive multiple bytes. + * + * @param data A pointer to the buffer to read into. + * @param length The number of bytes to read. Take care not to overrun the + * length of `data`. + */ +void uart_receive(uint8_t *data, uint16_t length); + +/** + * @brief Return whether the receive buffer contains data. Call this function + * to determine if `uart_read()` will return data immediately. + * + * @return true If there is data available to read. + * @return false If there is no data available to read. + */ +bool uart_available(void); diff --git a/platforms/chibios/drivers/uart_serial.c b/platforms/chibios/drivers/uart_serial.c index e0afb9768a..6aff4eae47 100644 --- a/platforms/chibios/drivers/uart_serial.c +++ b/platforms/chibios/drivers/uart_serial.c @@ -3,89 +3,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "uart.h" -#include "gpio.h" -#include "chibios_config.h" -#include - -#ifndef UART_DRIVER -# define UART_DRIVER SD1 -#endif - -#ifndef UART_TX_PIN -# define UART_TX_PIN A9 -#endif - -#ifndef UART_TX_PAL_MODE -# ifdef USE_GPIOV1 -# define UART_TX_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL -# else -# define UART_TX_PAL_MODE 7 -# endif -#endif - -#ifndef UART_RX_PIN -# define UART_RX_PIN A10 -#endif - -#ifndef UART_RX_PAL_MODE -# ifdef USE_GPIOV1 -# define UART_RX_PAL_MODE PAL_MODE_INPUT -# else -# define UART_RX_PAL_MODE 7 -# endif -#endif - -#ifndef UART_CTS_PIN -# define UART_CTS_PIN A11 -#endif - -#ifndef UART_CTS_PAL_MODE -# ifdef USE_GPIOV1 -# define UART_CTS_PAL_MODE PAL_MODE_INPUT -# else -# define UART_CTS_PAL_MODE 7 -# endif -#endif - -#ifndef UART_RTS_PIN -# define UART_RTS_PIN A12 -#endif - -#ifndef UART_RTS_PAL_MODE -# ifdef USE_GPIOV1 -# define UART_RTS_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL -# else -# define UART_RTS_PAL_MODE 7 -# endif -#endif - -#ifndef UART_CR1 -# define UART_CR1 0 -#endif - -#ifndef UART_CR2 -# define UART_CR2 0 -#endif - -#ifndef UART_CR3 -# define UART_CR3 0 -#endif - -#ifndef UART_WRDLEN -# define UART_WRDLEN 3 -#endif - -#ifndef UART_STPBIT -# define UART_STPBIT 0 -#endif - -#ifndef UART_PARITY -# define UART_PARITY 0 -#endif - -#ifndef UART_ATFLCT -# define UART_ATFLCT 0 -#endif #if defined(MCU_KINETIS) static SerialConfig serialConfig = {SERIAL_DEFAULT_BITRATE}; diff --git a/platforms/chibios/drivers/uart_sio.c b/platforms/chibios/drivers/uart_sio.c index fc12f0abed..442df1c54d 100644 --- a/platforms/chibios/drivers/uart_sio.c +++ b/platforms/chibios/drivers/uart_sio.c @@ -3,73 +3,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "uart.h" -#include "gpio.h" -#include "chibios_config.h" -#include - -#ifndef UART_DRIVER -# define UART_DRIVER SIOD1 -#endif - -#ifndef UART_TX_PIN -# define UART_TX_PIN A9 -#endif - -#ifndef UART_TX_PAL_MODE -# ifdef USE_GPIOV1 -# define UART_TX_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL -# else -# define UART_TX_PAL_MODE 7 -# endif -#endif - -#ifndef UART_RX_PIN -# define UART_RX_PIN A10 -#endif - -#ifndef UART_RX_PAL_MODE -# ifdef USE_GPIOV1 -# define UART_RX_PAL_MODE PAL_MODE_INPUT -# else -# define UART_RX_PAL_MODE 7 -# endif -#endif - -#ifndef UART_CTS_PIN -# define UART_CTS_PIN A11 -#endif - -#ifndef UART_CTS_PAL_MODE -# ifdef USE_GPIOV1 -# define UART_CTS_PAL_MODE PAL_MODE_INPUT -# else -# define UART_CTS_PAL_MODE 7 -# endif -#endif - -#ifndef UART_RTS_PIN -# define UART_RTS_PIN A12 -#endif - -#ifndef UART_RTS_PAL_MODE -# ifdef USE_GPIOV1 -# define UART_RTS_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL -# else -# define UART_RTS_PAL_MODE 7 -# endif -#endif - -#ifndef UART_CR1 -# define UART_CR1 0 -#endif - -#ifndef UART_CR2 -# define UART_CR2 0 -#endif - -#ifndef UART_CR3 -# define UART_CR3 0 -#endif #if defined(MCU_RP) // 38400 baud, 8 data bits, 1 stop bit, no parity, no flow control diff --git a/platforms/chibios/drivers/usbpd_stm32g4.c b/platforms/chibios/drivers/usbpd_stm32g4.c index 7603b5627b..21b8f6db95 100644 --- a/platforms/chibios/drivers/usbpd_stm32g4.c +++ b/platforms/chibios/drivers/usbpd_stm32g4.c @@ -76,4 +76,4 @@ __attribute__((weak)) usbpd_allowance_t usbpd_get_allowance(void) { } return USBPD_500MA; -} +} \ No newline at end of file diff --git a/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c b/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c index fec4646a5b..fed16d20b1 100644 --- a/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c +++ b/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c @@ -4,7 +4,6 @@ #include #include "timer.h" #include "wear_leveling.h" -#include "wear_leveling_efl_config.h" #include "wear_leveling_internal.h" static flash_offset_t base_offset = UINT32_MAX; diff --git a/platforms/chibios/drivers/wear_leveling/wear_leveling_legacy.c b/platforms/chibios/drivers/wear_leveling/wear_leveling_legacy.c index 3d2af625ca..7c6fd2d808 100644 --- a/platforms/chibios/drivers/wear_leveling/wear_leveling_legacy.c +++ b/platforms/chibios/drivers/wear_leveling/wear_leveling_legacy.c @@ -4,7 +4,6 @@ #include #include "timer.h" #include "wear_leveling.h" -#include "wear_leveling_legacy_config.h" #include "wear_leveling_internal.h" #include "legacy_flash_ops.h" diff --git a/platforms/chibios/drivers/wear_leveling/wear_leveling_rp2040_flash.c b/platforms/chibios/drivers/wear_leveling/wear_leveling_rp2040_flash.c index 2f3c7c58ca..6624c30b5b 100644 --- a/platforms/chibios/drivers/wear_leveling/wear_leveling_rp2040_flash.c +++ b/platforms/chibios/drivers/wear_leveling/wear_leveling_rp2040_flash.c @@ -6,18 +6,15 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include - #include "pico/bootrom.h" #include "hardware/flash.h" #include "hardware/sync.h" #include "hardware/structs/ssi.h" #include "hardware/structs/ioqspi.h" -#include "compiler_support.h" +#include #include "timer.h" #include "wear_leveling.h" -#include "wear_leveling_rp2040_flash_config.h" #include "wear_leveling_internal.h" #ifndef WEAR_LEVELING_RP2040_FLASH_BULK_COUNT @@ -180,7 +177,7 @@ bool backing_store_erase(void) { #endif // Ensure the backing size can be cleanly subtracted from the flash size without alignment issues. - STATIC_ASSERT((WEAR_LEVELING_BACKING_SIZE) % (FLASH_SECTOR_SIZE) == 0, "Backing size must be a multiple of FLASH_SECTOR_SIZE"); + _Static_assert((WEAR_LEVELING_BACKING_SIZE) % (FLASH_SECTOR_SIZE) == 0, "Backing size must be a multiple of FLASH_SECTOR_SIZE"); interrupts = save_and_disable_interrupts(); flash_range_erase((WEAR_LEVELING_RP2040_FLASH_BASE), (WEAR_LEVELING_BACKING_SIZE)); diff --git a/platforms/chibios/errno.h b/platforms/chibios/errno.h deleted file mode 100644 index a411ed9821..0000000000 --- a/platforms/chibios/errno.h +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2025 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once -#include_next - -// Newer versions of picolibc don't seem to provide `__errno_r(r)` in the header file, but is used by ChibiOS. -#ifndef __errno_r -# ifdef __REENT_ERRNO -# define __errno_r(r) _REENT_ERRNO(r) -# else -# define __errno_r(r) (errno) -# endif -#endif diff --git a/platforms/chibios/mcu_selection.mk b/platforms/chibios/mcu_selection.mk index 199bdb2321..086a2b31c6 100644 --- a/platforms/chibios/mcu_selection.mk +++ b/platforms/chibios/mcu_selection.mk @@ -511,41 +511,6 @@ ifneq ($(findstring STM32F446, $(MCU)),) EEPROM_DRIVER ?= transient endif -ifneq ($(findstring STM32G0B1, $(MCU)),) - # Cortex version - MCU = cortex-m0plus - - # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7 - ARMV = 6 - - ## chip/board settings - # - the next two should match the directories in - # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) - # OR - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) - MCU_FAMILY = STM32 - MCU_SERIES = STM32G0xx - - # Linker script to use - # - it should exist either in /os/common/startup/ARMCMx/compilers/GCC/ld/ - # or /ld/ - MCU_LDSCRIPT ?= STM32G0B1xB - - # Startup code to use - # - it should exist in /os/common/startup/ARMCMx/compilers/GCC/mk/ - MCU_STARTUP ?= stm32g0xx - - # Board: it should exist either in /os/hal/boards/, - # /boards/, or drivers/boards/ - BOARD ?= GENERIC_STM32_G0B1XB - - # UF2 settings - UF2_FAMILY ?= STM32G0 - - # Bootloader address for STM32 DFU - STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 -endif - ifneq ($(findstring STM32G431, $(MCU)),) # Cortex version MCU = cortex-m4 diff --git a/platforms/chibios/platform.c b/platforms/chibios/platform.c index e559f178cd..d4a229f278 100644 --- a/platforms/chibios/platform.c +++ b/platforms/chibios/platform.c @@ -19,4 +19,4 @@ void platform_setup(void) { halInit(); chSysInit(); -} +} \ No newline at end of file diff --git a/platforms/chibios/timer.c b/platforms/chibios/timer.c index 9f7eade83f..4a347b445d 100644 --- a/platforms/chibios/timer.c +++ b/platforms/chibios/timer.c @@ -99,7 +99,7 @@ uint16_t timer_read(void) { } uint32_t timer_read32(void) { - syssts_t sts = chSysGetStatusAndLockX(); + chSysLock(); uint32_t ticks = get_system_time_ticks() - ticks_offset; if (ticks < last_ticks) { // The 32-bit tick counter overflowed and wrapped around. We cannot just extend the counter to 64 bits here, @@ -114,7 +114,15 @@ uint32_t timer_read32(void) { } last_ticks = ticks; uint32_t ms_offset_copy = ms_offset; // read while still holding the lock to ensure a consistent value - chSysRestoreStatusX(sts); + chSysUnlock(); return (uint32_t)TIME_I2MS(ticks) + ms_offset_copy; } + +uint16_t timer_elapsed(uint16_t last) { + return TIMER_DIFF_16(timer_read(), last); +} + +uint32_t timer_elapsed32(uint32_t last) { + return TIMER_DIFF_32(timer_read32(), last); +} diff --git a/platforms/chibios/vendors/RP/RP2040.mk b/platforms/chibios/vendors/RP/RP2040.mk index 27d1fa4472..94f023d72b 100644 --- a/platforms/chibios/vendors/RP/RP2040.mk +++ b/platforms/chibios/vendors/RP/RP2040.mk @@ -78,7 +78,7 @@ PICOSDKINTRINSICSSRC = $(PICOSDKROOT)/src/rp2_common/pico_divider/divider.S \ $(PICOSDKROOT)/src/rp2_common/pico_int64_ops/pico_int64_ops_aeabi.S PICOSDKINTRINSICSINC = $(PICOSDKROOT)/src/common/pico_base/include \ - $(PICOSDKROOT)/src/rp2_common/pico_platform/include \ + $(PICOSDKROOT)/src/rp2_common/pico_platfrom/include \ $(PICOSDKROOT)/src/rp2_common/hardware_divider/include # integer division intrinsics utilizing the RP2040 hardware divider diff --git a/platforms/eeprom.h b/platforms/eeprom.h index 557bfb030c..067fa01616 100644 --- a/platforms/eeprom.h +++ b/platforms/eeprom.h @@ -37,7 +37,6 @@ void eeprom_update_block(const void *__src, void *__dst, size_t __n); # endif # define TOTAL_EEPROM_BYTE_COUNT (EEPROM_SIZE) #elif defined(EEPROM_WEAR_LEVELING) -# include "wear_leveling_drivers.h" # define TOTAL_EEPROM_BYTE_COUNT (WEAR_LEVELING_LOGICAL_SIZE) #elif defined(EEPROM_TRANSIENT) # include "eeprom_transient.h" diff --git a/platforms/test/platform.c b/platforms/test/platform.c index 3e35b4fe4c..8ddceeda8f 100644 --- a/platforms/test/platform.c +++ b/platforms/test/platform.c @@ -18,4 +18,4 @@ void platform_setup(void) { // do nothing -} +} \ No newline at end of file diff --git a/platforms/test/timer.c b/platforms/test/timer.c index f5ee07fd57..eb929d7dac 100644 --- a/platforms/test/timer.c +++ b/platforms/test/timer.c @@ -60,6 +60,14 @@ uint32_t timer_read32(void) { return current_time; } +uint16_t timer_elapsed(uint16_t last) { + return TIMER_DIFF_16(timer_read(), last); +} + +uint32_t timer_elapsed32(uint32_t last) { + return TIMER_DIFF_32(timer_read32(), last); +} + void set_time(uint32_t t) { current_time = t; access_counter = 0; diff --git a/platforms/timer.c b/platforms/timer.c index ba2cf94d2b..26038dcda3 100644 --- a/platforms/timer.c +++ b/platforms/timer.c @@ -6,11 +6,3 @@ // Generate out-of-line copies for inline functions defined in timer.h. extern inline fast_timer_t timer_read_fast(void); extern inline fast_timer_t timer_elapsed_fast(fast_timer_t last); - -uint16_t timer_elapsed(uint16_t last) { - return TIMER_DIFF_16(timer_read(), last); -} - -uint32_t timer_elapsed32(uint32_t last) { - return TIMER_DIFF_32(timer_read32(), last); -} diff --git a/platforms/timer.h b/platforms/timer.h index 8a2ffd476b..fb8ff6bc54 100644 --- a/platforms/timer.h +++ b/platforms/timer.h @@ -24,9 +24,10 @@ along with this program. If not, see . #include -#define TIMER_DIFF_8(a, b) (uint8_t)((a) - (b)) -#define TIMER_DIFF_16(a, b) (uint16_t)((a) - (b)) -#define TIMER_DIFF_32(a, b) (uint32_t)((a) - (b)) +#define TIMER_DIFF(a, b, max) ((max == UINT8_MAX) ? ((uint8_t)((a) - (b))) : ((max == UINT16_MAX) ? ((uint16_t)((a) - (b))) : ((max == UINT32_MAX) ? ((uint32_t)((a) - (b))) : ((a) >= (b) ? (a) - (b) : (max) + 1 - (b) + (a))))) +#define TIMER_DIFF_8(a, b) TIMER_DIFF(a, b, UINT8_MAX) +#define TIMER_DIFF_16(a, b) TIMER_DIFF(a, b, UINT16_MAX) +#define TIMER_DIFF_32(a, b) TIMER_DIFF(a, b, UINT32_MAX) #define TIMER_DIFF_RAW(a, b) TIMER_DIFF_8(a, b) #ifdef __cplusplus diff --git a/quantum/action.c b/quantum/action.c index dd82c9ec99..a39631ba3e 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -47,12 +47,7 @@ along with this program. If not, see . int tp_buttons; #if defined(RETRO_TAPPING) || defined(RETRO_TAPPING_PER_KEY) || (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) -bool retro_tap_primed = false; -uint16_t retro_tap_curr_key = 0; -# if !(defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) -uint8_t retro_tap_curr_mods = 0; -uint8_t retro_tap_next_mods = 0; -# endif +int retro_tapping_counter = 0; #endif #if defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT) && !defined(NO_ACTION_TAPPING) @@ -82,13 +77,7 @@ void action_exec(keyevent_t event) { debug_event(event); ac_dprintf("\n"); #if defined(RETRO_TAPPING) || defined(RETRO_TAPPING_PER_KEY) || (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) - uint16_t event_keycode = get_event_keycode(event, false); - if (event.pressed) { - retro_tap_primed = false; - retro_tap_curr_key = event_keycode; - } else if (retro_tap_curr_key == event_keycode) { - retro_tap_primed = true; - } + retro_tapping_counter++; #endif } @@ -281,9 +270,6 @@ void process_record(keyrecord_t *record) { if (IS_NOEVENT(record->event)) { return; } -#ifdef FLOW_TAP_TERM - flow_tap_update_last_event(record); -#endif // FLOW_TAP_TERM if (!process_record_quantum(record)) { #ifndef NO_ACTION_ONESHOT @@ -545,8 +531,7 @@ void process_action(keyrecord_t *record, action_t action) { # if defined(RETRO_TAPPING) && defined(DUMMY_MOD_NEUTRALIZER_KEYCODE) // Send a dummy keycode to neutralize flashing modifiers // if the key was held and then released with no interruptions. - uint16_t ev_kc = get_event_keycode(event, false); - if (retro_tap_primed && retro_tap_curr_key == ev_kc) { + if (retro_tapping_counter == 2) { neutralize_flashing_modifiers(get_mods()); } # endif @@ -832,10 +817,6 @@ void process_action(keyrecord_t *record, action_t action) { case ACT_LAYER_TAP_EXT: # endif led_set(host_keyboard_leds()); -# ifndef NO_ACTION_ONESHOT - // don't release the key - do_release_oneshot = false; -# endif break; default: break; @@ -844,44 +825,30 @@ void process_action(keyrecord_t *record, action_t action) { #ifndef NO_ACTION_TAPPING # if defined(RETRO_TAPPING) || defined(RETRO_TAPPING_PER_KEY) || (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) - if (is_tap_action(action)) { + if (!is_tap_action(action)) { + retro_tapping_counter = 0; + } else { if (event.pressed) { if (tap_count > 0) { - retro_tap_primed = false; - } else { -# if !(defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) - retro_tap_curr_mods = retro_tap_next_mods; - retro_tap_next_mods = get_mods(); -# endif + retro_tapping_counter = 0; } } else { - uint16_t event_keycode = get_event_keycode(event, false); -# if !(defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) - uint8_t curr_mods = get_mods(); -# endif if (tap_count > 0) { - retro_tap_primed = false; - } else if (retro_tap_curr_key == event_keycode) { + retro_tapping_counter = 0; + } else { if ( # ifdef RETRO_TAPPING_PER_KEY - get_retro_tapping(event_keycode, record) && + get_retro_tapping(get_event_keycode(record->event, false), record) && # endif - retro_tap_primed) { + retro_tapping_counter == 2) { # if defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT) process_auto_shift(action.layer_tap.code, record); # else - register_mods(retro_tap_curr_mods); - wait_ms(TAP_CODE_DELAY); tap_code(action.layer_tap.code); - wait_ms(TAP_CODE_DELAY); - unregister_mods(retro_tap_curr_mods); # endif } - retro_tap_primed = false; + retro_tapping_counter = 0; } -# if !(defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) - retro_tap_next_mods = curr_mods; -# endif } } # endif @@ -1186,23 +1153,6 @@ bool is_tap_action(action_t action) { return false; } -uint16_t get_tap_keycode(uint16_t keycode) { - switch (keycode) { - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - return QK_MOD_TAP_GET_TAP_KEYCODE(keycode); - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: - return QK_LAYER_TAP_GET_TAP_KEYCODE(keycode); - case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: - // IS_SWAP_HANDS_KEYCODE() tests for the special action keycodes - // like SH_TOGG, SH_TT, ..., which overlap the SH_T(kc) range. - if (!IS_SWAP_HANDS_KEYCODE(keycode)) { - return QK_SWAP_HANDS_GET_TAP_KEYCODE(keycode); - } - break; - } - return keycode; -} - /** \brief Debug print (FIXME: Needs better description) * * FIXME: Needs documentation. diff --git a/quantum/action.h b/quantum/action.h index 7616486c6d..d5b15c6f17 100644 --- a/quantum/action.h +++ b/quantum/action.h @@ -45,7 +45,7 @@ typedef struct { } tap_t; /* Key event container for recording */ -typedef struct keyrecord_t { +typedef struct { keyevent_t event; #ifndef NO_ACTION_TAPPING tap_t tap; @@ -128,12 +128,6 @@ void layer_switch(uint8_t new_layer); bool is_tap_record(keyrecord_t *record); bool is_tap_action(action_t action); -/** - * Given an MT or LT keycode, returns the tap keycode. Otherwise returns the - * original keycode unchanged. - */ -uint16_t get_tap_keycode(uint16_t keycode); - #ifndef NO_ACTION_TAPPING void process_record_tap_hint(keyrecord_t *record); #endif diff --git a/quantum/action_layer.c b/quantum/action_layer.c index 5828dcb824..7c09a5bd1e 100644 --- a/quantum/action_layer.c +++ b/quantum/action_layer.c @@ -27,20 +27,11 @@ __attribute__((weak)) layer_state_t default_layer_state_set_kb(layer_state_t sta return default_layer_state_set_user(state); } -/** \brief Default Layer State Set At Module Level - * - * Run module code on default layer state change - */ -__attribute__((weak)) layer_state_t default_layer_state_set_modules(layer_state_t state) { - return state; -} - /** \brief Default Layer State Set * * Static function to set the default layer state, prints debug info and clears keys */ static void default_layer_state_set(layer_state_t state) { - state = default_layer_state_set_modules(state); state = default_layer_state_set_kb(state); ac_dprintf("default_layer_state: "); default_layer_debug(); @@ -116,21 +107,11 @@ __attribute__((weak)) layer_state_t layer_state_set_kb(layer_state_t state) { return layer_state_set_user(state); } -/** \brief Layer state set modules - * - * Runs module code on layer state change - */ - -__attribute__((weak)) layer_state_t layer_state_set_modules(layer_state_t state) { - return state; -} - /** \brief Layer state set * * Sets the layer to match the specified state (a bitmask) */ void layer_state_set(layer_state_t state) { - state = layer_state_set_modules(state); state = layer_state_set_kb(state); ac_dprintf("layer_state: "); layer_debug(); diff --git a/quantum/action_layer.h b/quantum/action_layer.h index 067e33cdb5..a2410d49a5 100644 --- a/quantum/action_layer.h +++ b/quantum/action_layer.h @@ -78,7 +78,6 @@ extern layer_state_t default_layer_state; void default_layer_debug(void); void default_layer_set(layer_state_t state); -__attribute__((weak)) layer_state_t default_layer_state_set_modules(layer_state_t state); __attribute__((weak)) layer_state_t default_layer_state_set_kb(layer_state_t state); __attribute__((weak)) layer_state_t default_layer_state_set_user(layer_state_t state); @@ -115,7 +114,6 @@ void layer_and(layer_state_t state); void layer_xor(layer_state_t state); layer_state_t layer_state_set_user(layer_state_t state); layer_state_t layer_state_set_kb(layer_state_t state); -layer_state_t layer_state_set_modules(layer_state_t state); /** * @brief Applies the tri layer to global layer state. Not be used in layer_state_set_(kb|user) functions. @@ -151,7 +149,6 @@ layer_state_t update_tri_layer_state(layer_state_t state, uint8_t layer1, uint8_ # define layer_or(state) (void)state # define layer_and(state) (void)state # define layer_xor(state) (void)state -# define layer_state_set_modules(state) (void)state # define layer_state_set_kb(state) (void)state # define layer_state_set_user(state) (void)state # define update_tri_layer(layer1, layer2, layer3) diff --git a/quantum/action_tapping.c b/quantum/action_tapping.c index b105cd60a9..8f238490f2 100644 --- a/quantum/action_tapping.c +++ b/quantum/action_tapping.c @@ -4,9 +4,7 @@ #include "action.h" #include "action_layer.h" #include "action_tapping.h" -#include "action_util.h" #include "keycode.h" -#include "quantum_keycodes.h" #include "timer.h" #ifndef NO_ACTION_TAPPING @@ -51,47 +49,6 @@ __attribute__((weak)) bool get_permissive_hold(uint16_t keycode, keyrecord_t *re } # endif -# if defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM) -# define REGISTERED_TAPS_SIZE 8 -// Array of tap-hold keys that have been settled as tapped but not yet released. -static keypos_t registered_taps[REGISTERED_TAPS_SIZE] = {}; -static uint8_t num_registered_taps = 0; - -/** Adds `key` to the registered_taps array. */ -static void registered_taps_add(keypos_t key); -/** Returns the index of `key` in registered_taps, or -1 if not found. */ -static int8_t registered_tap_find(keypos_t key); -/** Removes index `i` from the registered_taps array. */ -static void registered_taps_del_index(uint8_t i); -/** Logs the registered_taps array for debugging. */ -static void debug_registered_taps(void); - -static bool is_mt_or_lt(uint16_t keycode) { - return IS_QK_MOD_TAP(keycode) || IS_QK_LAYER_TAP(keycode); -} -# endif // defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM) - -# if defined(CHORDAL_HOLD) -extern const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM; - -/** \brief Finds which queued events should be held according to Chordal Hold. - * - * In a situation with multiple unsettled tap-hold key presses, scan the queue - * up until the first release, non-tap-hold, or one-shot event and find the - * latest event in the queue that settles as held according to - * get_chordal_hold(). - * - * \return Index of the first tap, or equivalently, one past the latest hold. - */ -static uint8_t waiting_buffer_find_chordal_hold_tap(void); - -/** Processes queued events up to and including `key` as tapped. */ -static void waiting_buffer_chordal_hold_taps_until(keypos_t key); - -/** \brief Processes and pops buffered events until the first tap-hold event. */ -static void waiting_buffer_process_regular(void); -# endif // CHORDAL_HOLD - # ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY __attribute__((weak)) bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { return false; @@ -102,14 +59,6 @@ __attribute__((weak)) bool get_hold_on_other_key_press(uint16_t keycode, keyreco # include "process_auto_shift.h" # endif -# if defined(FLOW_TAP_TERM) -static uint16_t flow_tap_prev_keycode = KC_NO; -static uint16_t flow_tap_prev_time = 0; -static bool flow_tap_expired = true; - -static bool flow_tap_key_if_within_term(keyrecord_t *record, uint16_t prev_time); -# endif // defined(FLOW_TAP_TERM) - static keyrecord_t tapping_key = {}; static keyrecord_t waiting_buffer[WAITING_BUFFER_SIZE] = {}; static uint8_t waiting_buffer_head = 0; @@ -160,12 +109,6 @@ void action_tapping_process(keyrecord_t record) { } if (IS_EVENT(record.event)) { ac_dprintf("\n"); - } else { -# ifdef FLOW_TAP_TERM - if (!flow_tap_expired && TIMER_DIFF_16(record.event.time, flow_tap_prev_time) >= INT16_MAX / 2) { - flow_tap_expired = true; - } -# endif // FLOW_TAP_TERM } } @@ -223,20 +166,6 @@ void action_tapping_process(keyrecord_t record) { bool process_tapping(keyrecord_t *keyp) { const keyevent_t event = keyp->event; -# if defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM) - if (!event.pressed) { - const int8_t i = registered_tap_find(event.key); - if (i != -1) { - // If a tap-hold key was previously settled as tapped, set its - // tap.count correspondingly on release. - keyp->tap.count = 1; - registered_taps_del_index(i); - ac_dprintf("Found tap release for [%d]\n", i); - debug_registered_taps(); - } - } -# endif // defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM) - // state machine is in the "reset" state, no tapping key is to be // processed if (IS_NOEVENT(tapping_key.event)) { @@ -245,13 +174,6 @@ bool process_tapping(keyrecord_t *keyp) { } else if (event.pressed && is_tap_record(keyp)) { // the currently pressed key is a tapping key, therefore transition // into the "pressed" tapping key state - -# if defined(FLOW_TAP_TERM) - if (flow_tap_key_if_within_term(keyp, flow_tap_prev_time)) { - return true; - } -# endif // defined(FLOW_TAP_TERM) - ac_dprintf("Tapping: Start(Press tap key).\n"); tapping_key = *keyp; process_record_tap_hint(&tapping_key); @@ -266,7 +188,7 @@ bool process_tapping(keyrecord_t *keyp) { return true; } -# if (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) || defined(PERMISSIVE_HOLD_PER_KEY) || defined(CHORDAL_HOLD) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY) +# if (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) || defined(PERMISSIVE_HOLD_PER_KEY) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY) TAP_DEFINE_KEYCODE; # endif @@ -277,7 +199,6 @@ bool process_tapping(keyrecord_t *keyp) { // early return for tick events return true; } - if (tapping_key.tap.count == 0) { if (IS_TAPPING_RECORD(keyp) && !event.pressed) { // first tap! @@ -288,49 +209,9 @@ bool process_tapping(keyrecord_t *keyp) { // copy tapping state keyp->tap = tapping_key.tap; - -# if defined(FLOW_TAP_TERM) - // Now that tapping_key has settled as tapped, check whether - // Flow Tap applies to following yet-unsettled keys. - uint16_t prev_time = tapping_key.event.time; - for (; waiting_buffer_tail != waiting_buffer_head; waiting_buffer_tail = (waiting_buffer_tail + 1) % WAITING_BUFFER_SIZE) { - keyrecord_t *record = &waiting_buffer[waiting_buffer_tail]; - if (!record->event.pressed) { - break; - } - const int16_t next_time = record->event.time; - if (!is_tap_record(record)) { - process_record(record); - } else if (!flow_tap_key_if_within_term(record, prev_time)) { - break; - } - prev_time = next_time; - } - debug_waiting_buffer(); -# endif // defined(FLOW_TAP_TERM) - // enqueue return false; } -# if defined(CHORDAL_HOLD) - else if (is_mt_or_lt(tapping_keycode) && !event.pressed && waiting_buffer_typed(event) && !get_chordal_hold(tapping_keycode, &tapping_key, get_record_keycode(keyp, false), keyp)) { - // Key release that is not a chord with the tapping key. - // Settle the tapping key and any other pending tap-hold - // keys preceding the press of this key as tapped. - - ac_dprintf("Tapping: End. Chord considered a tap\n"); - tapping_key.tap.count = 1; - registered_taps_add(tapping_key.event.key); - process_record(&tapping_key); - tapping_key = (keyrecord_t){0}; - - waiting_buffer_chordal_hold_taps_until(event.key); - debug_registered_taps(); - debug_waiting_buffer(); - // enqueue - return false; - } -# endif // CHORDAL_HOLD /* Process a key typed within TAPPING_TERM * This can register the key before settlement of tapping, * useful for long TAPPING_TERM but may prevent fast typing. @@ -348,22 +229,6 @@ bool process_tapping(keyrecord_t *keyp) { // clang-format on ac_dprintf("Tapping: End. No tap. Interfered by typing key\n"); process_record(&tapping_key); - -# if defined(CHORDAL_HOLD) - uint8_t first_tap = waiting_buffer_find_chordal_hold_tap(); - ac_dprintf("first_tap = %u\n", first_tap); - if (first_tap < WAITING_BUFFER_SIZE) { - for (; waiting_buffer_tail != first_tap; waiting_buffer_tail = (waiting_buffer_tail + 1) % WAITING_BUFFER_SIZE) { - ac_dprintf("Processing [%u]\n", waiting_buffer_tail); - process_record(&waiting_buffer[waiting_buffer_tail]); - } - } - - waiting_buffer_chordal_hold_taps_until(event.key); - debug_registered_taps(); - debug_waiting_buffer(); -# endif // CHORDAL_HOLD - tapping_key = (keyrecord_t){0}; debug_tapping_key(); // enqueue @@ -372,19 +237,6 @@ bool process_tapping(keyrecord_t *keyp) { /* Process release event of a key pressed before tapping starts * Without this unexpected repeating will occur with having fast repeating setting * https://github.com/tmk/tmk_keyboard/issues/60 - * - * NOTE: This workaround causes events to process out of order, - * e.g. in a rolled press of three tap-hold keys like - * - * "A down, B down, C down, A up, B up, C up" - * - * events are processed as - * - * "A down, B down, A up, B up, C down, C up" - * - * It seems incorrect to process keyp before the tapping key. - * This workaround is old, from 2013. This might no longer - * be needed for the original problem it was meant to address. */ else if (!event.pressed && !waiting_buffer_typed(event)) { // Modifier/Layer should be retained till end of this tapping. @@ -419,52 +271,19 @@ bool process_tapping(keyrecord_t *keyp) { // set interrupted flag when other key pressed during tapping if (event.pressed) { tapping_key.tap.interrupted = true; - -# if defined(CHORDAL_HOLD) - if (is_mt_or_lt(tapping_keycode) && !get_chordal_hold(tapping_keycode, &tapping_key, get_record_keycode(keyp, false), keyp)) { - // In process_action(), HOLD_ON_OTHER_KEY_PRESS - // will revert interrupted events to holds, so - // this needs to be set false. - tapping_key.tap.interrupted = false; - - if (!is_tap_record(keyp)) { - ac_dprintf("Tapping: End. Chord considered a tap\n"); - tapping_key.tap.count = 1; - registered_taps_add(tapping_key.event.key); - debug_registered_taps(); - process_record(&tapping_key); - tapping_key = (keyrecord_t){0}; - } - } else -# endif // CHORDAL_HOLD - if (TAP_GET_HOLD_ON_OTHER_KEY_PRESS + if (TAP_GET_HOLD_ON_OTHER_KEY_PRESS # if defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT) - // Auto Shift cannot evaluate this early - // Retro Shift uses the hold action for all nested taps even without HOLD_ON_OTHER_KEY_PRESS, so this is fine to skip - && !(MAYBE_RETRO_SHIFTING(event, keyp) && get_auto_shifted_key(get_record_keycode(keyp, false), keyp)) + // Auto Shift cannot evaluate this early + // Retro Shift uses the hold action for all nested taps even without HOLD_ON_OTHER_KEY_PRESS, so this is fine to skip + && !(MAYBE_RETRO_SHIFTING(event, keyp) && get_auto_shifted_key(get_record_keycode(keyp, false), keyp)) # endif - ) { - // Settle the tapping key as *held*, since - // HOLD_ON_OTHER_KEY_PRESS is enabled for this key. + ) { ac_dprintf("Tapping: End. No tap. Interfered by pressed key\n"); process_record(&tapping_key); - -# if defined(CHORDAL_HOLD) - if (waiting_buffer_tail != waiting_buffer_head && is_tap_record(&waiting_buffer[waiting_buffer_tail])) { - tapping_key = waiting_buffer[waiting_buffer_tail]; - // Pop tail from the queue. - waiting_buffer_tail = (waiting_buffer_tail + 1) % WAITING_BUFFER_SIZE; - debug_waiting_buffer(); - } else -# endif // CHORDAL_HOLD - { - tapping_key = (keyrecord_t){0}; - } + tapping_key = (keyrecord_t){0}; debug_tapping_key(); - -# if defined(CHORDAL_HOLD) - waiting_buffer_process_regular(); -# endif // CHORDAL_HOLD + // enqueue + return false; } } // enqueue @@ -584,13 +403,6 @@ bool process_tapping(keyrecord_t *keyp) { return true; } else if (is_tap_record(keyp)) { // Sequential tap can be interfered with other tap key. -# if defined(FLOW_TAP_TERM) - if (flow_tap_key_if_within_term(keyp, flow_tap_prev_time)) { - tapping_key = (keyrecord_t){0}; - debug_tapping_key(); - return true; - } -# endif // defined(FLOW_TAP_TERM) ac_dprintf("Tapping: Start with interfering other tap.\n"); tapping_key = *keyp; waiting_buffer_scan_tap(); @@ -708,222 +520,26 @@ void waiting_buffer_scan_tap(void) { } } -# if defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM) -static void registered_taps_add(keypos_t key) { - if (num_registered_taps >= REGISTERED_TAPS_SIZE) { - ac_dprintf("TAPS OVERFLOW: CLEAR ALL STATES\n"); - clear_keyboard(); - num_registered_taps = 0; - } - - registered_taps[num_registered_taps] = key; - ++num_registered_taps; -} - -static int8_t registered_tap_find(keypos_t key) { - for (int8_t i = 0; i < num_registered_taps; ++i) { - if (KEYEQ(registered_taps[i], key)) { - return i; - } - } - return -1; -} - -static void registered_taps_del_index(uint8_t i) { - if (i < num_registered_taps) { - --num_registered_taps; - if (i < num_registered_taps) { - registered_taps[i] = registered_taps[num_registered_taps]; - } - } -} - -static void debug_registered_taps(void) { - ac_dprintf("registered_taps = { "); - for (int8_t i = 0; i < num_registered_taps; ++i) { - ac_dprintf("%02X%02X ", registered_taps[i].row, registered_taps[i].col); - } - ac_dprintf("}\n"); -} - -# endif // defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM) - -# ifdef CHORDAL_HOLD -__attribute__((weak)) bool get_chordal_hold(uint16_t tap_hold_keycode, keyrecord_t *tap_hold_record, uint16_t other_keycode, keyrecord_t *other_record) { - return get_chordal_hold_default(tap_hold_record, other_record); -} - -bool get_chordal_hold_default(keyrecord_t *tap_hold_record, keyrecord_t *other_record) { - if (tap_hold_record->event.type != KEY_EVENT || other_record->event.type != KEY_EVENT) { - return true; // Return true on combos or other non-key events. - } - - char tap_hold_hand = chordal_hold_handedness(tap_hold_record->event.key); - if (tap_hold_hand == '*') { - return true; - } - char other_hand = chordal_hold_handedness(other_record->event.key); - return other_hand == '*' || tap_hold_hand != other_hand; -} - -__attribute__((weak)) char chordal_hold_handedness(keypos_t key) { - return (char)pgm_read_byte(&chordal_hold_layout[key.row][key.col]); -} - -static uint8_t waiting_buffer_find_chordal_hold_tap(void) { - keyrecord_t *prev = &tapping_key; - uint16_t prev_keycode = get_record_keycode(&tapping_key, false); - uint8_t first_tap = WAITING_BUFFER_SIZE; - for (uint8_t i = waiting_buffer_tail; i != waiting_buffer_head; i = (i + 1) % WAITING_BUFFER_SIZE) { - keyrecord_t * cur = &waiting_buffer[i]; - const uint16_t cur_keycode = get_record_keycode(cur, false); - if (!cur->event.pressed || !is_mt_or_lt(prev_keycode)) { - break; - } else if (get_chordal_hold(prev_keycode, prev, cur_keycode, cur)) { - first_tap = i; // Track one index past the latest hold. - } - prev = cur; - prev_keycode = cur_keycode; - } - return first_tap; -} - -static void waiting_buffer_chordal_hold_taps_until(keypos_t key) { - while (waiting_buffer_tail != waiting_buffer_head) { - keyrecord_t *record = &waiting_buffer[waiting_buffer_tail]; - ac_dprintf("waiting_buffer_chordal_hold_taps_until: processing [%u]\n", waiting_buffer_tail); - if (record->event.pressed && is_tap_record(record)) { - record->tap.count = 1; - registered_taps_add(record->event.key); - } - process_record(record); - waiting_buffer_tail = (waiting_buffer_tail + 1) % WAITING_BUFFER_SIZE; - - if (KEYEQ(key, record->event.key) && record->event.pressed) { - break; - } - } -} - -static void waiting_buffer_process_regular(void) { - for (; waiting_buffer_tail != waiting_buffer_head; waiting_buffer_tail = (waiting_buffer_tail + 1) % WAITING_BUFFER_SIZE) { - if (is_tap_record(&waiting_buffer[waiting_buffer_tail])) { - break; // Stop once a tap-hold key event is reached. - } - ac_dprintf("waiting_buffer_process_regular: processing [%u]\n", waiting_buffer_tail); - process_record(&waiting_buffer[waiting_buffer_tail]); - } - debug_waiting_buffer(); -} -# endif // CHORDAL_HOLD - -# ifdef FLOW_TAP_TERM -void flow_tap_update_last_event(keyrecord_t *record) { - const uint16_t keycode = get_record_keycode(record, false); - // Don't update while a tap-hold key is unsettled. - if (record->tap.count == 0 && (waiting_buffer_tail != waiting_buffer_head || (tapping_key.event.pressed && tapping_key.tap.count == 0))) { - return; - } - // Ignore releases of modifiers and held layer switches. - if (!record->event.pressed) { - switch (keycode) { - case MODIFIER_KEYCODE_RANGE: - case QK_MOMENTARY ... QK_MOMENTARY_MAX: - case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: -# ifndef NO_ACTION_ONESHOT // Ignore one-shot keys. - case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: - case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: -# endif // NO_ACTION_ONESHOT -# ifdef TRI_LAYER_ENABLE // Ignore Tri Layer keys. - case QK_TRI_LAYER_LOWER: - case QK_TRI_LAYER_UPPER: -# endif // TRI_LAYER_ENABLE - return; - case QK_MODS ... QK_MODS_MAX: - if (QK_MODS_GET_BASIC_KEYCODE(keycode) == KC_NO) { - return; - } - break; - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: - if (record->tap.count == 0) { - return; - } - break; - } - } - - flow_tap_prev_keycode = keycode; - flow_tap_prev_time = record->event.time; - flow_tap_expired = false; -} - -static bool flow_tap_key_if_within_term(keyrecord_t *record, uint16_t prev_time) { - const uint16_t idle_time = TIMER_DIFF_16(record->event.time, prev_time); - if (flow_tap_expired || idle_time >= 500) { - return false; - } - - const uint16_t keycode = get_record_keycode(record, false); - if (is_mt_or_lt(keycode)) { - uint16_t term = get_flow_tap_term(keycode, record, flow_tap_prev_keycode); - if (term > 500) { - term = 500; - } - if (idle_time < term) { - debug_event(record->event); - ac_dprintf(" within flow tap term (%u < %u) considered a tap\n", idle_time, term); - record->tap.count = 1; - registered_taps_add(record->event.key); - debug_registered_taps(); - process_record(record); - return true; - } - } - return false; -} - -// By default, enable Flow Tap for the keys in the main alphas area and Space. -// This should work reasonably even if the layout is remapped on the host to an -// alt layout or international layout (e.g. Dvorak or AZERTY), where these same -// key positions are mostly used for typing letters. -__attribute__((weak)) bool is_flow_tap_key(uint16_t keycode) { - if ((get_mods() & (MOD_MASK_CG | MOD_BIT_LALT)) != 0) { - return false; // Disable Flow Tap on hotkeys. - } - switch (get_tap_keycode(keycode)) { - case KC_SPC: - case KC_A ... KC_Z: - case KC_DOT: - case KC_COMM: - case KC_SCLN: - case KC_SLSH: - return true; - } - return false; -} - -__attribute__((weak)) uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t *record, uint16_t prev_keycode) { - if (is_flow_tap_key(keycode) && is_flow_tap_key(prev_keycode)) { - return FLOW_TAP_TERM; - } - return 0; -} -# endif // FLOW_TAP_TERM - -/** \brief Logs tapping key if ACTION_DEBUG is enabled. */ +/** \brief Tapping key debug print + * + * FIXME: Needs docs + */ static void debug_tapping_key(void) { ac_dprintf("TAPPING_KEY="); debug_record(tapping_key); ac_dprintf("\n"); } -/** \brief Logs waiting buffer if ACTION_DEBUG is enabled. */ +/** \brief Waiting buffer debug print + * + * FIXME: Needs docs + */ static void debug_waiting_buffer(void) { - ac_dprintf("{"); + ac_dprintf("{ "); for (uint8_t i = waiting_buffer_tail; i != waiting_buffer_head; i = (i + 1) % WAITING_BUFFER_SIZE) { - ac_dprintf(" [%u]=", i); + ac_dprintf("[%u]=", i); debug_record(waiting_buffer[i]); + ac_dprintf(" "); } ac_dprintf("}\n"); } diff --git a/quantum/action_tapping.h b/quantum/action_tapping.h index 0cf4aa1200..6b518b8298 100644 --- a/quantum/action_tapping.h +++ b/quantum/action_tapping.h @@ -46,131 +46,6 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record); bool get_retro_tapping(uint16_t keycode, keyrecord_t *record); bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record); -#ifdef CHORDAL_HOLD -/** - * Callback to say when a key chord before the tapping term may be held. - * - * In keymap.c, define the callback - * - * bool get_chordal_hold(uint16_t tap_hold_keycode, - * keyrecord_t* tap_hold_record, - * uint16_t other_keycode, - * keyrecord_t* other_record) { - * // Conditions... - * } - * - * This callback is called when: - * - * 1. `tap_hold_keycode` is pressed. - * 2. `other_keycode` is pressed while `tap_hold_keycode` is still held, - * provided `other_keycode` is *not* also a tap-hold key and it is pressed - * before the tapping term. - * - * If false is returned, this has the effect of immediately settling the - * tap-hold key as tapped. If true is returned, the tap-hold key is still - * unsettled, and may be settled as held depending on configuration and - * subsequent events. - * - * @param tap_hold_keycode Keycode of the tap-hold key. - * @param tap_hold_record Record from the tap-hold press event. - * @param other_keycode Keycode of the other key. - * @param other_record Record from the other key's press event. - * @return True if the tap-hold key may be considered held; false if tapped. - */ -bool get_chordal_hold(uint16_t tap_hold_keycode, keyrecord_t *tap_hold_record, uint16_t other_keycode, keyrecord_t *other_record); - -/** - * Default "opposite hands rule" for whether a key chord may settle as held. - * - * This function returns true when the tap-hold key and other key are on - * "opposite hands." In detail, handedness of the two keys are compared. If - * handedness values differ, or if either handedness is '*', the function - * returns true, indicating that it may be held. Otherwise, it returns false, - * in which case the tap-hold key is immediately settled at tapped. - * - * @param tap_hold_record Record of the active tap-hold key press. - * @param other_record Record of the other, interrupting key press. - * @return True if the tap-hold key may be considered held; false if tapped. - */ -bool get_chordal_hold_default(keyrecord_t *tap_hold_record, keyrecord_t *other_record); - -/** - * Gets the handedness of a key. - * - * This function returns: - * 'L' for keys pressed by the left hand, - * 'R' for keys on the right hand, - * '*' for keys exempt from the "opposite hands rule." This could be used - * perhaps on thumb keys or keys that might be pressed by either hand. - * - * @param key A key matrix position. - * @return Handedness value. - */ -char chordal_hold_handedness(keypos_t key); - -extern const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM; -#endif - -#ifdef FLOW_TAP_TERM -/** - * Callback to specify the keys where Flow Tap is enabled. - * - * Flow Tap is constrained to certain keys by the following rule: this callback - * is called for both the tap-hold key *and* the key press immediately preceding - * it. If the callback returns true for both keycodes, Flow Tap is enabled. - * - * The default implementation of this callback corresponds to - * - * bool is_flow_tap_key(uint16_t keycode) { - * switch (get_tap_keycode(keycode)) { - * case KC_SPC: - * case KC_A ... KC_Z: - * case KC_DOT: - * case KC_COMM: - * case KC_SCLN: - * case KC_SLSH: - * return true; - * } - * return false; - * } - * - * @param keycode Keycode of the key. - * @return Whether to enable Flow Tap for this key. - */ -bool is_flow_tap_key(uint16_t keycode); - -/** - * Callback to customize Flow Tap filtering. - * - * Flow Tap acts only when key events are closer together than this time. - * - * Return a time of 0 to disable filtering. In this way, Flow Tap may be - * disabled for certain tap-hold keys, or when following certain previous keys. - * - * The default implementation of this callback is - * - * uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t* record, - * uint16_t prev_keycode) { - * if (is_flow_tap_key(keycode) && is_flow_tap_key(prev_keycode)) { - * return g_flow_tap_term; - * } - * return 0; - * } - * - * NOTE: If both `is_flow_tap_key()` and `get_flow_tap_term()` are defined, then - * `get_flow_tap_term()` takes precedence. - * - * @param keycode Keycode of the tap-hold key. - * @param record keyrecord_t of the tap-hold event. - * @param prev_keycode Keycode of the previously pressed key. - * @return Time in milliseconds. - */ -uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t *record, uint16_t prev_keycode); - -/** Updates the Flow Tap last key and timer. */ -void flow_tap_update_last_event(keyrecord_t *record); -#endif // FLOW_TAP_TERM - #ifdef DYNAMIC_TAPPING_TERM_ENABLE extern uint16_t g_tapping_term; #endif diff --git a/quantum/action_util.c b/quantum/action_util.c index e821e113ef..c0dc4f3822 100644 --- a/quantum/action_util.c +++ b/quantum/action_util.c @@ -21,6 +21,7 @@ along with this program. If not, see . #include "action_layer.h" #include "timer.h" #include "keycode_config.h" +#include "usb_device_state.h" #include extern keymap_config_t keymap_config; @@ -219,7 +220,7 @@ bool is_oneshot_layer_active(void) { void oneshot_set(bool active) { if (keymap_config.oneshot_enable != active) { keymap_config.oneshot_enable = active; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); dprintf("Oneshot: active: %d\n", active); } @@ -318,12 +319,14 @@ void send_nkro_report(void) { */ void send_keyboard_report(void) { #ifdef NKRO_ENABLE - if (host_can_send_nkro() && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { send_nkro_report(); - return; + } else { + send_6kro_report(); } -#endif +#else send_6kro_report(); +#endif } /** \brief Get mods diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c index 4e223f0c9a..b2611c5f09 100644 --- a/quantum/audio/audio.c +++ b/quantum/audio/audio.c @@ -149,14 +149,14 @@ void audio_driver_start(void) { } void eeconfig_update_audio_current(void) { - eeconfig_update_audio(&audio_config); + eeconfig_update_audio(audio_config.raw); } void eeconfig_update_audio_default(void) { audio_config.valid = true; audio_config.enable = AUDIO_DEFAULT_ON; audio_config.clicky_enable = AUDIO_DEFAULT_CLICKY_ON; - eeconfig_update_audio(&audio_config); + eeconfig_update_audio(audio_config.raw); } void audio_init(void) { @@ -164,7 +164,7 @@ void audio_init(void) { return; } - eeconfig_read_audio(&audio_config); + audio_config.raw = eeconfig_read_audio(); if (!audio_config.valid) { dprintf("audio_init audio_config.valid = 0. Write default values to EEPROM.\n"); eeconfig_update_audio_default(); @@ -196,7 +196,7 @@ void audio_toggle(void) { stop_all_notes(); } audio_config.enable ^= 1; - eeconfig_update_audio(&audio_config); + eeconfig_update_audio(audio_config.raw); if (audio_config.enable) { audio_on_user(); } else { @@ -206,7 +206,7 @@ void audio_toggle(void) { void audio_on(void) { audio_config.enable = 1; - eeconfig_update_audio(&audio_config); + eeconfig_update_audio(audio_config.raw); audio_on_user(); PLAY_SONG(audio_on_song); } @@ -217,7 +217,7 @@ void audio_off(void) { wait_ms(100); audio_stop_all(); audio_config.enable = 0; - eeconfig_update_audio(&audio_config); + eeconfig_update_audio(audio_config.raw); } bool audio_is_on(void) { @@ -258,10 +258,11 @@ void audio_stop_tone(float pitch) { for (int i = AUDIO_TONE_STACKSIZE - 1; i >= 0; i--) { found = (tones[i].pitch == pitch); if (found) { + tones[i] = (musical_tone_t){.time_started = 0, .pitch = -1.0f, .duration = 0}; for (int j = i; (j < AUDIO_TONE_STACKSIZE - 1); j++) { - tones[j] = tones[j + 1]; + tones[j] = tones[j + 1]; + tones[j + 1] = (musical_tone_t){.time_started = 0, .pitch = -1.0f, .duration = 0}; } - tones[AUDIO_TONE_STACKSIZE - 1] = (musical_tone_t){.time_started = 0, .pitch = -1.0f, .duration = 0}; break; } } diff --git a/quantum/audio/audio.h b/quantum/audio/audio.h index 647744a686..054331d6f3 100644 --- a/quantum/audio/audio.h +++ b/quantum/audio/audio.h @@ -18,8 +18,6 @@ #include #include - -#include "compiler_support.h" #include "musical_notes.h" #include "song_list.h" #include "voices.h" @@ -30,7 +28,7 @@ # include "audio_dac.h" #endif -typedef union audio_config_t { +typedef union { uint8_t raw; struct { bool enable : 1; @@ -40,7 +38,7 @@ typedef union audio_config_t { }; } audio_config_t; -STATIC_ASSERT(sizeof(audio_config_t) == sizeof(uint8_t), "Audio EECONFIG out of spec."); +_Static_assert(sizeof(audio_config_t) == sizeof(uint8_t), "Audio EECONFIG out of spec."); /* * a 'musical note' is represented by pitch and duration; a 'musical tone' adds intensity and timbre diff --git a/quantum/backlight/backlight.c b/quantum/backlight/backlight.c index a7d2a45a51..eb64dd71e8 100644 --- a/quantum/backlight/backlight.c +++ b/quantum/backlight/backlight.c @@ -16,6 +16,7 @@ along with this program. If not, see . */ #include "backlight.h" +#include "eeprom.h" #include "eeconfig.h" #include "debug.h" @@ -54,7 +55,7 @@ static void backlight_check_config(void) { * FIXME: needs doc */ void backlight_init(void) { - eeconfig_read_backlight(&backlight_config); + backlight_config.raw = eeconfig_read_backlight(); if (!backlight_config.valid) { dprintf("backlight_init backlight_config.valid = 0. Write default values to EEPROM.\n"); eeconfig_update_backlight_default(); @@ -73,7 +74,7 @@ void backlight_increase(void) { backlight_config.level++; } backlight_config.enable = 1; - eeconfig_update_backlight(&backlight_config); + eeconfig_update_backlight(backlight_config.raw); dprintf("backlight increase: %u\n", backlight_config.level); backlight_set(backlight_config.level); } @@ -86,7 +87,7 @@ void backlight_decrease(void) { if (backlight_config.level > 0) { backlight_config.level--; backlight_config.enable = !!backlight_config.level; - eeconfig_update_backlight(&backlight_config); + eeconfig_update_backlight(backlight_config.raw); } dprintf("backlight decrease: %u\n", backlight_config.level); backlight_set(backlight_config.level); @@ -115,7 +116,7 @@ void backlight_enable(void) { backlight_config.enable = true; if (backlight_config.raw == 1) // enabled but level == 0 backlight_config.level = 1; - eeconfig_update_backlight(&backlight_config); + eeconfig_update_backlight(backlight_config.raw); dprintf("backlight enable\n"); backlight_set(backlight_config.level); } @@ -128,7 +129,7 @@ void backlight_disable(void) { if (!backlight_config.enable) return; // do nothing if backlight is already off backlight_config.enable = false; - eeconfig_update_backlight(&backlight_config); + eeconfig_update_backlight(backlight_config.raw); dprintf("backlight disable\n"); backlight_set(0); } @@ -151,7 +152,7 @@ void backlight_step(void) { backlight_config.level = 0; } backlight_config.enable = !!backlight_config.level; - eeconfig_update_backlight(&backlight_config); + eeconfig_update_backlight(backlight_config.raw); dprintf("backlight step: %u\n", backlight_config.level); backlight_set(backlight_config.level); } @@ -172,11 +173,19 @@ void backlight_level_noeeprom(uint8_t level) { */ void backlight_level(uint8_t level) { backlight_level_noeeprom(level); - eeconfig_update_backlight(&backlight_config); + eeconfig_update_backlight(backlight_config.raw); +} + +uint8_t eeconfig_read_backlight(void) { + return eeprom_read_byte(EECONFIG_BACKLIGHT); +} + +void eeconfig_update_backlight(uint8_t val) { + eeprom_update_byte(EECONFIG_BACKLIGHT, val); } void eeconfig_update_backlight_current(void) { - eeconfig_update_backlight(&backlight_config); + eeconfig_update_backlight(backlight_config.raw); } void eeconfig_update_backlight_default(void) { @@ -184,7 +193,7 @@ void eeconfig_update_backlight_default(void) { backlight_config.enable = BACKLIGHT_DEFAULT_ON; backlight_config.breathing = BACKLIGHT_DEFAULT_BREATHING; backlight_config.level = BACKLIGHT_DEFAULT_LEVEL; - eeconfig_update_backlight(&backlight_config); + eeconfig_update_backlight(backlight_config.raw); } /** \brief Get backlight level @@ -217,7 +226,7 @@ void backlight_enable_breathing(void) { if (backlight_config.breathing) return; // do nothing if breathing is already on backlight_config.breathing = true; - eeconfig_update_backlight(&backlight_config); + eeconfig_update_backlight(backlight_config.raw); dprintf("backlight breathing enable\n"); breathing_enable(); } @@ -230,7 +239,7 @@ void backlight_disable_breathing(void) { if (!backlight_config.breathing) return; // do nothing if breathing is already off backlight_config.breathing = false; - eeconfig_update_backlight(&backlight_config); + eeconfig_update_backlight(backlight_config.raw); dprintf("backlight breathing disable\n"); breathing_disable(); } diff --git a/quantum/backlight/backlight.h b/quantum/backlight/backlight.h index 2faa8fc4f2..c34fb5858d 100644 --- a/quantum/backlight/backlight.h +++ b/quantum/backlight/backlight.h @@ -20,8 +20,6 @@ along with this program. If not, see . #include #include -#include "compiler_support.h" - #ifndef BACKLIGHT_LEVELS # define BACKLIGHT_LEVELS 3 #elif BACKLIGHT_LEVELS > 31 @@ -36,7 +34,7 @@ along with this program. If not, see . # define BREATHING_PERIOD 6 #endif -typedef union backlight_config_t { +typedef union { uint8_t raw; struct { bool enable : 1; @@ -46,7 +44,7 @@ typedef union backlight_config_t { }; } backlight_config_t; -STATIC_ASSERT(sizeof(backlight_config_t) == sizeof(uint8_t), "Backlight EECONFIG out of spec."); +_Static_assert(sizeof(backlight_config_t) == sizeof(uint8_t), "Backlight EECONFIG out of spec."); void backlight_init(void); void backlight_toggle(void); @@ -60,8 +58,10 @@ void backlight_level_noeeprom(uint8_t level); void backlight_level(uint8_t level); uint8_t get_backlight_level(void); -void eeconfig_update_backlight_current(void); -void eeconfig_update_backlight_default(void); +uint8_t eeconfig_read_backlight(void); +void eeconfig_update_backlight(uint8_t val); +void eeconfig_update_backlight_current(void); +void eeconfig_update_backlight_default(void); // implementation specific void backlight_init_ports(void); diff --git a/quantum/bits.h b/quantum/bits.h index 41f11e7b9c..2f3c343762 100644 --- a/quantum/bits.h +++ b/quantum/bits.h @@ -4,7 +4,7 @@ #include -/* Remove these once we transitioned to C23 across all platforms */ +/* Remove these once we transitioned to C23 across all platfroms */ #define UINT32_WIDTH 32 #define UINT64_WIDTH 64 diff --git a/quantum/command.c b/quantum/command.c index 998d9b9aa1..024d96917d 100644 --- a/quantum/command.c +++ b/quantum/command.c @@ -243,10 +243,10 @@ static void print_status(void) { #if !defined(NO_PRINT) && !defined(USER_PRINT) static void print_eeconfig(void) { - xprintf("eeconfig:\ndefault_layer: %" PRIu32 "\n", (uint32_t)eeconfig_read_default_layer()); + xprintf("eeconfig:\ndefault_layer: %u\n", eeconfig_read_default_layer()); debug_config_t dc; - eeconfig_read_debug(&dc); + dc.raw = eeconfig_read_debug(); xprintf(/* clang-format off */ "debug_config.raw: %02X\n" @@ -263,7 +263,7 @@ static void print_eeconfig(void) { ); /* clang-format on */ keymap_config_t kc; - eeconfig_read_keymap(&kc); + kc.raw = eeconfig_read_keymap(); xprintf(/* clang-format off */ "keymap_config.raw: %02X\n" @@ -296,7 +296,7 @@ static void print_eeconfig(void) { # ifdef BACKLIGHT_ENABLE backlight_config_t bc; - eeconfig_read_backlight(&bc); + bc.raw = eeconfig_read_backlight(); xprintf(/* clang-format off */ "backlight_config" diff --git a/quantum/compiler_support.h b/quantum/compiler_support.h deleted file mode 100644 index 5c0c4d2835..0000000000 --- a/quantum/compiler_support.h +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2025 QMK Contributors -// SPDX-License-Identifier: GPL-2.0-or-later - -/** - * @brief Perfom an assertion at compile time. - * - * `_Static_assert` is C<23, while `static_assert` is C++/C23. - */ -#if !defined(STATIC_ASSERT) -# ifdef __cplusplus -# define STATIC_ASSERT static_assert -# else -# define STATIC_ASSERT _Static_assert -# endif -#endif diff --git a/quantum/connection/connection.c b/quantum/connection/connection.c deleted file mode 100644 index 1ff8876876..0000000000 --- a/quantum/connection/connection.c +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#include "connection.h" -#include "eeconfig.h" -#include "usb_util.h" -#include "util.h" - -#ifdef BLUETOOTH_ENABLE -# include "bluetooth.h" -#endif - -// ======== DEPRECATED DEFINES - DO NOT USE ======== -#ifdef OUTPUT_DEFAULT -# undef CONNECTION_HOST_DEFAULT -# define CONNECTION_HOST_DEFAULT OUTPUT_DEFAULT -#endif - -__attribute__((weak)) void set_output_user(uint8_t output) {} -// ======== - -#define CONNECTION_HOST_INVALID 0xFF - -#ifndef CONNECTION_HOST_DEFAULT -# define CONNECTION_HOST_DEFAULT CONNECTION_HOST_AUTO -#endif - -static const connection_host_t host_candidates[] = { - CONNECTION_HOST_AUTO, - CONNECTION_HOST_USB, -#ifdef BLUETOOTH_ENABLE - CONNECTION_HOST_BLUETOOTH, -#endif -#if 0 - CONNECTION_HOST_2P4GHZ, -#endif -}; - -#define HOST_CANDIDATES_COUNT ARRAY_SIZE(host_candidates) - -static connection_config_t config = {.desired_host = CONNECTION_HOST_INVALID}; - -void eeconfig_update_connection_default(void) { - config.desired_host = CONNECTION_HOST_DEFAULT; - - eeconfig_update_connection(&config); -} - -void connection_init(void) { - eeconfig_read_connection(&config); - if (config.desired_host == CONNECTION_HOST_INVALID) { - eeconfig_update_connection_default(); - } -} - -__attribute__((weak)) void connection_host_changed_user(connection_host_t host) {} -__attribute__((weak)) void connection_host_changed_kb(connection_host_t host) {} - -static void handle_host_changed(void) { - connection_host_changed_user(config.desired_host); - connection_host_changed_kb(config.desired_host); - - // TODO: Remove deprecated callback - set_output_user(config.desired_host); -} - -void connection_set_host_noeeprom(connection_host_t host) { - if (config.desired_host == host) { - return; - } - - config.desired_host = host; - - handle_host_changed(); -} - -void connection_set_host(connection_host_t host) { - connection_set_host_noeeprom(host); - - eeconfig_update_connection(&config); -} - -void connection_next_host_noeeprom(void) { - uint8_t next = 0; - for (uint8_t i = 0; i < HOST_CANDIDATES_COUNT; i++) { - if (host_candidates[i] == config.desired_host) { - next = i == HOST_CANDIDATES_COUNT - 1 ? 0 : i + 1; - break; - } - } - - connection_set_host_noeeprom(host_candidates[next]); -} - -void connection_next_host(void) { - connection_next_host_noeeprom(); - - eeconfig_update_connection(&config); -} - -void connection_prev_host_noeeprom(void) { - uint8_t next = 0; - for (uint8_t i = 0; i < HOST_CANDIDATES_COUNT; i++) { - if (host_candidates[i] == config.desired_host) { - next = i == 0 ? HOST_CANDIDATES_COUNT - 1 : i - 1; - break; - } - } - - connection_set_host_noeeprom(host_candidates[next]); -} - -void connection_prev_host(void) { - connection_prev_host_noeeprom(); - - eeconfig_update_connection(&config); -} - -connection_host_t connection_get_host_raw(void) { - return config.desired_host; -} - -connection_host_t connection_auto_detect_host(void) { - if (usb_connected_state()) { - return CONNECTION_HOST_USB; - } - -#ifdef BLUETOOTH_ENABLE - if (bluetooth_is_connected()) { - return CONNECTION_HOST_BLUETOOTH; - } -#endif - - return CONNECTION_HOST_NONE; -} - -connection_host_t connection_get_host(void) { - if (config.desired_host == CONNECTION_HOST_AUTO) { - return connection_auto_detect_host(); - } - return config.desired_host; -} diff --git a/quantum/connection/connection.h b/quantum/connection/connection.h deleted file mode 100644 index b25160c759..0000000000 --- a/quantum/connection/connection.h +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include - -#include "compiler_support.h" -#include "util.h" - -/** - * \enum connection_host_t - * - * An enumeration of the possible hosts. - */ -typedef enum connection_host_t { - CONNECTION_HOST_AUTO, - - CONNECTION_HOST_NONE, - CONNECTION_HOST_USB, - CONNECTION_HOST_BLUETOOTH, - CONNECTION_HOST_2P4GHZ -} connection_host_t; - -/** - * \union connection_config_t - * - * Configuration structure for the connection subsystem. - */ -typedef union connection_config_t { - uint8_t raw; - connection_host_t desired_host : 8; -} PACKED connection_config_t; - -STATIC_ASSERT(sizeof(connection_config_t) == sizeof(uint8_t), "Connection EECONFIG out of spec."); - -/** - * \brief Initialize the subsystem. - * - * This function must be called only once, before any of the below functions can be called. - */ -void connection_init(void); - -/** - * \brief Get currently configured host. Does not resolve 'CONNECTION_HOST_AUTO'. - * - * \return 'connection_host_t' of the configured host. - */ -connection_host_t connection_get_host_raw(void); - -/** - * \brief Get current active host. - * - * \return 'connection_host_t' of the configured host. - */ -connection_host_t connection_auto_detect_host(void); - -/** - * \brief Get currently configured host. Resolves 'CONNECTION_HOST_AUTO' using 'connection_auto_detect_host()'. - * - * \return 'connection_host_t' of the configured host. - */ -connection_host_t connection_get_host(void); - -/** - * \brief Get current host. New state is not written to EEPROM. - * - * \param host The host to configure. - */ -void connection_set_host_noeeprom(connection_host_t host); - -/** - * \brief Get current host. - * - * \param host The host to configure. - */ -void connection_set_host(connection_host_t host); - -/** - * \brief Move to the next potential host. New state is not written to EEPROM. - * - */ -void connection_next_host_noeeprom(void); - -/** - * \brief Move to the next potential host. - * - */ -void connection_next_host(void); - -/** - * \brief Move to the previous potential host. New state is not written to EEPROM. - * - */ -void connection_prev_host_noeeprom(void); - -/** - * \brief Move to the previous potential host. - * - */ -void connection_prev_host(void); - -/** - * \brief user hook called when changing configured host - * - */ -void connection_host_changed_user(connection_host_t host); - -/** - * \brief keyboard hook called when changing configured host - * - */ -void connection_host_changed_kb(connection_host_t host); diff --git a/quantum/debounce/tests/rules.mk b/quantum/debounce/tests/rules.mk index d38b1cd342..bbc362d4c7 100644 --- a/quantum/debounce/tests/rules.mk +++ b/quantum/debounce/tests/rules.mk @@ -16,7 +16,6 @@ DEBOUNCE_COMMON_DEFS := -DMATRIX_ROWS=4 -DMATRIX_COLS=10 -DDEBOUNCE=5 DEBOUNCE_COMMON_SRC := $(QUANTUM_PATH)/debounce/tests/debounce_test_common.cpp \ - $(PLATFORM_PATH)/timer.c \ $(PLATFORM_PATH)/$(PLATFORM_KEY)/timer.c debounce_none_DEFS := $(DEBOUNCE_COMMON_DEFS) diff --git a/quantum/dip_switch.c b/quantum/dip_switch.c index 65ae21175b..69cf665291 100644 --- a/quantum/dip_switch.c +++ b/quantum/dip_switch.c @@ -64,7 +64,6 @@ __attribute__((weak)) bool dip_switch_update_mask_kb(uint32_t state) { #ifdef DIP_SWITCH_MAP_ENABLE # include "keymap_introspection.h" # include "action.h" -# include "wait.h" # ifndef DIP_SWITCH_MAP_KEY_DELAY # define DIP_SWITCH_MAP_KEY_DELAY TAP_CODE_DELAY diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c index 25029e39c4..3c22bbd445 100644 --- a/quantum/dynamic_keymap.c +++ b/quantum/dynamic_keymap.c @@ -1,5 +1,4 @@ /* Copyright 2017 Jason Williams (Wilba) - * Copyright 2024-2025 Nick Brassel (@tzarc) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,9 +17,18 @@ #include "dynamic_keymap.h" #include "keymap_introspection.h" #include "action.h" +#include "eeprom.h" +#include "progmem.h" #include "send_string.h" #include "keycodes.h" -#include "nvm_dynamic_keymap.h" + +#ifdef VIA_ENABLE +# include "via.h" +# define DYNAMIC_KEYMAP_EEPROM_START (VIA_EEPROM_CONFIG_END) +#else +# include "eeconfig.h" +# define DYNAMIC_KEYMAP_EEPROM_START (EECONFIG_SIZE) +#endif #ifdef ENCODER_ENABLE # include "encoder.h" @@ -28,6 +36,67 @@ # define NUM_ENCODERS 0 #endif +#ifndef DYNAMIC_KEYMAP_LAYER_COUNT +# define DYNAMIC_KEYMAP_LAYER_COUNT 4 +#endif + +#ifndef DYNAMIC_KEYMAP_MACRO_COUNT +# define DYNAMIC_KEYMAP_MACRO_COUNT 16 +#endif + +#ifndef TOTAL_EEPROM_BYTE_COUNT +# error Unknown total EEPROM size. Cannot derive maximum for dynamic keymaps. +#endif + +#ifndef DYNAMIC_KEYMAP_EEPROM_MAX_ADDR +# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR (TOTAL_EEPROM_BYTE_COUNT - 1) +#endif + +#if DYNAMIC_KEYMAP_EEPROM_MAX_ADDR > (TOTAL_EEPROM_BYTE_COUNT - 1) +# pragma message STR(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) " > " STR((TOTAL_EEPROM_BYTE_COUNT - 1)) +# error DYNAMIC_KEYMAP_EEPROM_MAX_ADDR is configured to use more space than what is available for the selected EEPROM driver +#endif + +// Due to usage of uint16_t check for max 65535 +#if DYNAMIC_KEYMAP_EEPROM_MAX_ADDR > 65535 +# pragma message STR(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) " > 65535" +# error DYNAMIC_KEYMAP_EEPROM_MAX_ADDR must be less than 65536 +#endif + +// If DYNAMIC_KEYMAP_EEPROM_ADDR not explicitly defined in config.h, +#ifndef DYNAMIC_KEYMAP_EEPROM_ADDR +# define DYNAMIC_KEYMAP_EEPROM_ADDR DYNAMIC_KEYMAP_EEPROM_START +#endif + +// Dynamic encoders starts after dynamic keymaps +#ifndef DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR +# define DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR (DYNAMIC_KEYMAP_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2)) +#endif + +// Dynamic macro starts after dynamic encoders, but only when using ENCODER_MAP +#ifdef ENCODER_MAP_ENABLE +# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * NUM_ENCODERS * 2 * 2)) +# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +#else // ENCODER_MAP_ENABLE +# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR) +# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +#endif // ENCODER_MAP_ENABLE + +// Sanity check that dynamic keymaps fit in available EEPROM +// If there's not 100 bytes available for macros, then something is wrong. +// The keyboard should override DYNAMIC_KEYMAP_LAYER_COUNT to reduce it, +// or DYNAMIC_KEYMAP_EEPROM_MAX_ADDR to increase it, *only if* the microcontroller has +// more than the default. +_Static_assert((DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) - (DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR) >= 100, "Dynamic keymaps are configured to use more EEPROM than is available."); + +// Dynamic macros are stored after the keymaps and use what is available +// up to and including DYNAMIC_KEYMAP_EEPROM_MAX_ADDR. +#ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE +# define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE (DYNAMIC_KEYMAP_EEPROM_MAX_ADDR - DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + 1) +#endif + #ifndef DYNAMIC_KEYMAP_MACRO_DELAY # define DYNAMIC_KEYMAP_MACRO_DELAY TAP_CODE_DELAY #endif @@ -36,28 +105,52 @@ uint8_t dynamic_keymap_get_layer_count(void) { return DYNAMIC_KEYMAP_LAYER_COUNT; } +void *dynamic_keymap_key_to_eeprom_address(uint8_t layer, uint8_t row, uint8_t column) { + // TODO: optimize this with some left shifts + return ((void *)DYNAMIC_KEYMAP_EEPROM_ADDR) + (layer * MATRIX_ROWS * MATRIX_COLS * 2) + (row * MATRIX_COLS * 2) + (column * 2); +} + uint16_t dynamic_keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t column) { - return nvm_dynamic_keymap_read_keycode(layer, row, column); + if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || row >= MATRIX_ROWS || column >= MATRIX_COLS) return KC_NO; + void *address = dynamic_keymap_key_to_eeprom_address(layer, row, column); + // Big endian, so we can read/write EEPROM directly from host if we want + uint16_t keycode = eeprom_read_byte(address) << 8; + keycode |= eeprom_read_byte(address + 1); + return keycode; } void dynamic_keymap_set_keycode(uint8_t layer, uint8_t row, uint8_t column, uint16_t keycode) { - nvm_dynamic_keymap_update_keycode(layer, row, column, keycode); + if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || row >= MATRIX_ROWS || column >= MATRIX_COLS) return; + void *address = dynamic_keymap_key_to_eeprom_address(layer, row, column); + // Big endian, so we can read/write EEPROM directly from host if we want + eeprom_update_byte(address, (uint8_t)(keycode >> 8)); + eeprom_update_byte(address + 1, (uint8_t)(keycode & 0xFF)); } #ifdef ENCODER_MAP_ENABLE +void *dynamic_keymap_encoder_to_eeprom_address(uint8_t layer, uint8_t encoder_id) { + return ((void *)DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR) + (layer * NUM_ENCODERS * 2 * 2) + (encoder_id * 2 * 2); +} + uint16_t dynamic_keymap_get_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise) { - return nvm_dynamic_keymap_read_encoder(layer, encoder_id, clockwise); + if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || encoder_id >= NUM_ENCODERS) return KC_NO; + void *address = dynamic_keymap_encoder_to_eeprom_address(layer, encoder_id); + // Big endian, so we can read/write EEPROM directly from host if we want + uint16_t keycode = ((uint16_t)eeprom_read_byte(address + (clockwise ? 0 : 2))) << 8; + keycode |= eeprom_read_byte(address + (clockwise ? 0 : 2) + 1); + return keycode; } void dynamic_keymap_set_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise, uint16_t keycode) { - nvm_dynamic_keymap_update_encoder(layer, encoder_id, clockwise, keycode); + if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || encoder_id >= NUM_ENCODERS) return; + void *address = dynamic_keymap_encoder_to_eeprom_address(layer, encoder_id); + // Big endian, so we can read/write EEPROM directly from host if we want + eeprom_update_byte(address + (clockwise ? 0 : 2), (uint8_t)(keycode >> 8)); + eeprom_update_byte(address + (clockwise ? 0 : 2) + 1, (uint8_t)(keycode & 0xFF)); } #endif // ENCODER_MAP_ENABLE void dynamic_keymap_reset(void) { - // Erase the keymaps, if necessary. - nvm_dynamic_keymap_erase(); - // Reset the keymaps in EEPROM to what is in flash. for (int layer = 0; layer < DYNAMIC_KEYMAP_LAYER_COUNT; layer++) { for (int row = 0; row < MATRIX_ROWS; row++) { @@ -75,11 +168,31 @@ void dynamic_keymap_reset(void) { } void dynamic_keymap_get_buffer(uint16_t offset, uint16_t size, uint8_t *data) { - nvm_dynamic_keymap_read_buffer(offset, size, data); + uint16_t dynamic_keymap_eeprom_size = DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2; + void * source = (void *)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset); + uint8_t *target = data; + for (uint16_t i = 0; i < size; i++) { + if (offset + i < dynamic_keymap_eeprom_size) { + *target = eeprom_read_byte(source); + } else { + *target = 0x00; + } + source++; + target++; + } } void dynamic_keymap_set_buffer(uint16_t offset, uint16_t size, uint8_t *data) { - nvm_dynamic_keymap_update_buffer(offset, size, data); + uint16_t dynamic_keymap_eeprom_size = DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2; + void * target = (void *)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset); + uint8_t *source = data; + for (uint16_t i = 0; i < size; i++) { + if (offset + i < dynamic_keymap_eeprom_size) { + eeprom_update_byte(target, *source); + } + source++; + target++; + } } uint16_t keycode_at_keymap_location(uint8_t layer_num, uint8_t row, uint8_t column) { @@ -103,38 +216,42 @@ uint8_t dynamic_keymap_macro_get_count(void) { } uint16_t dynamic_keymap_macro_get_buffer_size(void) { - return (uint16_t)nvm_dynamic_keymap_macro_size(); + return DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE; } void dynamic_keymap_macro_get_buffer(uint16_t offset, uint16_t size, uint8_t *data) { - nvm_dynamic_keymap_macro_read_buffer(offset, size, data); + void * source = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset); + uint8_t *target = data; + for (uint16_t i = 0; i < size; i++) { + if (offset + i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE) { + *target = eeprom_read_byte(source); + } else { + *target = 0x00; + } + source++; + target++; + } } void dynamic_keymap_macro_set_buffer(uint16_t offset, uint16_t size, uint8_t *data) { - nvm_dynamic_keymap_macro_update_buffer(offset, size, data); -} - -static uint8_t dynamic_keymap_read_byte(uint32_t offset) { - uint8_t d; - nvm_dynamic_keymap_macro_read_buffer(offset, 1, &d); - return d; -} - -typedef struct send_string_nvm_state_t { - uint32_t offset; -} send_string_nvm_state_t; - -char send_string_get_next_nvm(void *arg) { - send_string_nvm_state_t *state = (send_string_nvm_state_t *)arg; - char ret = dynamic_keymap_read_byte(state->offset); - state->offset++; - return ret; + void * target = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset); + uint8_t *source = data; + for (uint16_t i = 0; i < size; i++) { + if (offset + i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE) { + eeprom_update_byte(target, *source); + } + source++; + target++; + } } void dynamic_keymap_macro_reset(void) { - // Erase the macros, if necessary. - nvm_dynamic_keymap_macro_erase(); - nvm_dynamic_keymap_macro_reset(); + void *p = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR); + void *end = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE); + while (p != end) { + eeprom_update_byte(p, 0); + ++p; + } } void dynamic_keymap_macro_send(uint8_t id) { @@ -146,26 +263,78 @@ void dynamic_keymap_macro_send(uint8_t id) { // If it's not zero, then we are in the middle // of buffer writing, possibly an aborted buffer // write. So do nothing. - if (dynamic_keymap_read_byte(nvm_dynamic_keymap_macro_size() - 1) != 0) { + void *p = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE - 1); + if (eeprom_read_byte(p) != 0) { return; } // Skip N null characters // p will then point to the Nth macro - uint32_t offset = 0; - uint32_t end = nvm_dynamic_keymap_macro_size(); + p = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR); + void *end = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE); while (id > 0) { // If we are past the end of the buffer, then there is // no Nth macro in the buffer. - if (offset == end) { + if (p == end) { return; } - if (dynamic_keymap_read_byte(offset) == 0) { + if (eeprom_read_byte(p) == 0) { --id; } - ++offset; + ++p; } - send_string_nvm_state_t state = {.offset = offset}; - send_string_with_delay_impl(send_string_get_next_nvm, &state, DYNAMIC_KEYMAP_MACRO_DELAY); + // Send the macro string by making a temporary string. + char data[8] = {0}; + // We already checked there was a null at the end of + // the buffer, so this cannot go past the end + while (1) { + data[0] = eeprom_read_byte(p++); + data[1] = 0; + // Stop at the null terminator of this macro string + if (data[0] == 0) { + break; + } + if (data[0] == SS_QMK_PREFIX) { + // Get the code + data[1] = eeprom_read_byte(p++); + // Unexpected null, abort. + if (data[1] == 0) { + return; + } + if (data[1] == SS_TAP_CODE || data[1] == SS_DOWN_CODE || data[1] == SS_UP_CODE) { + // Get the keycode + data[2] = eeprom_read_byte(p++); + // Unexpected null, abort. + if (data[2] == 0) { + return; + } + // Null terminate + data[3] = 0; + } else if (data[1] == SS_DELAY_CODE) { + // Get the number and '|' + // At most this is 4 digits plus '|' + uint8_t i = 2; + while (1) { + data[i] = eeprom_read_byte(p++); + // Unexpected null, abort + if (data[i] == 0) { + return; + } + // Found '|', send it + if (data[i] == '|') { + data[i + 1] = 0; + break; + } + // If haven't found '|' by i==6 then + // number too big, abort + if (i == 6) { + return; + } + ++i; + } + } + } + send_string_with_delay(data, DYNAMIC_KEYMAP_MACRO_DELAY); + } } diff --git a/quantum/dynamic_keymap.h b/quantum/dynamic_keymap.h index f1d8077b12..806342efa3 100644 --- a/quantum/dynamic_keymap.h +++ b/quantum/dynamic_keymap.h @@ -18,15 +18,8 @@ #include #include -#ifndef DYNAMIC_KEYMAP_LAYER_COUNT -# define DYNAMIC_KEYMAP_LAYER_COUNT 4 -#endif - -#ifndef DYNAMIC_KEYMAP_MACRO_COUNT -# define DYNAMIC_KEYMAP_MACRO_COUNT 16 -#endif - uint8_t dynamic_keymap_get_layer_count(void); +void * dynamic_keymap_key_to_eeprom_address(uint8_t layer, uint8_t row, uint8_t column); uint16_t dynamic_keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t column); void dynamic_keymap_set_keycode(uint8_t layer, uint8_t row, uint8_t column, uint16_t keycode); #ifdef ENCODER_MAP_ENABLE diff --git a/quantum/eeconfig.c b/quantum/eeconfig.c index f14e6ddf97..e27f604f12 100644 --- a/quantum/eeconfig.c +++ b/quantum/eeconfig.c @@ -1,359 +1,355 @@ #include #include #include -#include "debug.h" +#include "eeprom.h" #include "eeconfig.h" -#include "action_layer.h" -#include "nvm_eeconfig.h" -#include "keycode_config.h" -#ifdef BACKLIGHT_ENABLE -# include "backlight.h" -#endif // BACKLIGHT_ENABLE +#if defined(EEPROM_DRIVER) +# include "eeprom_driver.h" +#endif -#ifdef AUDIO_ENABLE -# include "audio.h" -#endif // AUDIO_ENABLE - -#ifdef RGBLIGHT_ENABLE -# include "rgblight.h" -#endif // RGBLIGHT_ENABLE - -#ifdef RGB_MATRIX_ENABLE -# include "rgb_matrix_types.h" -#endif // RGB_MATRIX_ENABLE - -#ifdef LED_MATRIX_ENABLE -# include "led_matrix_types.h" -#endif // LED_MATRIX_ENABLE - -#ifdef UNICODE_COMMON_ENABLE -# include "unicode.h" -#endif // UNICODE_COMMON_ENABLE - -#ifdef HAPTIC_ENABLE +#if defined(HAPTIC_ENABLE) # include "haptic.h" -#endif // HAPTIC_ENABLE +#endif -#ifdef CONNECTION_ENABLE -# include "connection.h" -#endif // CONNECTION_ENABLE - -#ifdef VIA_ENABLE +#if defined(VIA_ENABLE) bool via_eeprom_is_valid(void); void via_eeprom_set_valid(bool valid); void eeconfig_init_via(void); -#else -void dynamic_keymap_reset(void); -#endif // VIA_ENABLE - -#ifndef NKRO_DEFAULT_ON -# define NKRO_DEFAULT_ON false #endif +_Static_assert((intptr_t)EECONFIG_HANDEDNESS == 14, "EEPROM handedness offset is incorrect"); + +/** \brief eeconfig enable + * + * FIXME: needs doc + */ __attribute__((weak)) void eeconfig_init_user(void) { #if (EECONFIG_USER_DATA_SIZE) == 0 // Reset user EEPROM value to blank, rather than to a set value eeconfig_update_user(0); -#endif // (EECONFIG_USER_DATA_SIZE) == 0 +#endif } __attribute__((weak)) void eeconfig_init_kb(void) { #if (EECONFIG_KB_DATA_SIZE) == 0 // Reset Keyboard EEPROM value to blank, rather than to a set value eeconfig_update_kb(0); -#endif // (EECONFIG_KB_DATA_SIZE) == 0 +#endif eeconfig_init_user(); } +/* + * FIXME: needs doc + */ void eeconfig_init_quantum(void) { - nvm_eeconfig_erase(); - - eeconfig_enable(); - - debug_config_t debug_config = {0}; - eeconfig_update_debug(&debug_config); - - default_layer_state = (layer_state_t)1 << 0; - eeconfig_update_default_layer(default_layer_state); - - keymap_config_t keymap_config = { - .swap_control_capslock = false, - .capslock_to_control = false, - .swap_lalt_lgui = false, - .swap_ralt_rgui = false, - .no_gui = false, - .swap_grave_esc = false, - .swap_backslash_backspace = false, - .nkro = NKRO_DEFAULT_ON, - .swap_lctl_lgui = false, - .swap_rctl_rgui = false, - .oneshot_enable = true, // Enable oneshot by default - .swap_escape_capslock = false, - .autocorrect_enable = true, // Enable autocorrect by default - }; - eeconfig_update_keymap(&keymap_config); - -#ifdef BACKLIGHT_ENABLE - backlight_config_t backlight_config = {0}; - eeconfig_update_backlight(&backlight_config); -#endif // BACKLIGHT_ENABLE - -#ifdef AUDIO_ENABLE - audio_config_t audio_config = {0}; - eeconfig_update_audio(&audio_config); -#endif // AUDIO_ENABLE - -#ifdef RGBLIGHT_ENABLE - extern void eeconfig_update_rgblight_default(void); - eeconfig_update_rgblight_default(); -#endif // RGBLIGHT_ENABLE - -#ifdef UNICODE_COMMON_ENABLE - unicode_config_t unicode_config = {0}; - eeconfig_update_unicode_mode(&unicode_config); -#endif // UNICODE_COMMON_ENABLE - -#ifdef STENO_ENABLE - eeconfig_update_steno_mode(0); -#endif // STENO_ENABLE - -#ifdef RGB_MATRIX_ENABLE - extern void eeconfig_update_rgb_matrix_default(void); - eeconfig_update_rgb_matrix_default(); +#if defined(EEPROM_DRIVER) + eeprom_driver_format(false); #endif -#ifdef LED_MATRIX_ENABLE - extern void eeconfig_update_led_matrix_default(void); - eeconfig_update_led_matrix_default(); -#endif // LED_MATRIX_ENABLE - -#ifdef HAPTIC_ENABLE - haptic_config_t haptic_config = {0}; - eeconfig_update_haptic(&haptic_config); + eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); + eeprom_update_byte(EECONFIG_DEBUG, 0); + default_layer_state = (layer_state_t)1 << 0; + eeconfig_update_default_layer(default_layer_state); + // Enable oneshot and autocorrect by default: 0b0001 0100 0000 0000 + eeprom_update_word(EECONFIG_KEYMAP, 0x1400); + eeprom_update_byte(EECONFIG_BACKLIGHT, 0); + eeprom_update_byte(EECONFIG_AUDIO, 0); + eeprom_update_dword(EECONFIG_RGBLIGHT, 0); + eeprom_update_byte(EECONFIG_RGBLIGHT_EXTENDED, 0); + eeprom_update_byte(EECONFIG_UNICODEMODE, 0); + eeprom_update_byte(EECONFIG_STENOMODE, 0); + eeprom_write_qword(EECONFIG_RGB_MATRIX, 0); + eeprom_update_dword(EECONFIG_HAPTIC, 0); +#if defined(HAPTIC_ENABLE) haptic_reset(); -#endif // HAPTIC_ENABLE - -#ifdef CONNECTION_ENABLE - extern void eeconfig_update_connection_default(void); - eeconfig_update_connection_default(); -#endif // CONNECTION_ENABLE +#endif #if (EECONFIG_KB_DATA_SIZE) > 0 eeconfig_init_kb_datablock(); -#endif // (EECONFIG_KB_DATA_SIZE) > 0 +#endif #if (EECONFIG_USER_DATA_SIZE) > 0 eeconfig_init_user_datablock(); -#endif // (EECONFIG_USER_DATA_SIZE) > 0 +#endif #if defined(VIA_ENABLE) // Invalidate VIA eeprom config, and then reset. - // Just in case if power is lost mid init, this makes sure that it gets + // Just in case if power is lost mid init, this makes sure that it pets // properly re-initialized. + via_eeprom_set_valid(false); eeconfig_init_via(); -#elif defined(DYNAMIC_KEYMAP_ENABLE) - dynamic_keymap_reset(); #endif eeconfig_init_kb(); - -#ifdef RGB_MATRIX_ENABLE - extern void eeconfig_force_flush_rgb_matrix(void); - eeconfig_force_flush_rgb_matrix(); -#endif // RGB_MATRIX_ENABLE -#ifdef LED_MATRIX_ENABLE - extern void eeconfig_force_flush_led_matrix(void); - eeconfig_force_flush_led_matrix(); -#endif // LED_MATRIX_ENABLE } +/** \brief eeconfig initialization + * + * FIXME: needs doc + */ void eeconfig_init(void) { eeconfig_init_quantum(); } +/** \brief eeconfig enable + * + * FIXME: needs doc + */ void eeconfig_enable(void) { - nvm_eeconfig_enable(); + eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); } +/** \brief eeconfig disable + * + * FIXME: needs doc + */ void eeconfig_disable(void) { - nvm_eeconfig_disable(); +#if defined(EEPROM_DRIVER) + eeprom_driver_format(false); +#endif + eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER_OFF); } +/** \brief eeconfig is enabled + * + * FIXME: needs doc + */ bool eeconfig_is_enabled(void) { - bool is_eeprom_enabled = nvm_eeconfig_is_enabled(); + bool is_eeprom_enabled = (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER); #ifdef VIA_ENABLE if (is_eeprom_enabled) { is_eeprom_enabled = via_eeprom_is_valid(); } -#endif // VIA_ENABLE +#endif return is_eeprom_enabled; } +/** \brief eeconfig is disabled + * + * FIXME: needs doc + */ bool eeconfig_is_disabled(void) { - bool is_eeprom_disabled = nvm_eeconfig_is_disabled(); + bool is_eeprom_disabled = (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER_OFF); #ifdef VIA_ENABLE if (!is_eeprom_disabled) { is_eeprom_disabled = !via_eeprom_is_valid(); } -#endif // VIA_ENABLE +#endif return is_eeprom_disabled; } -void eeconfig_read_debug(debug_config_t *debug_config) { - nvm_eeconfig_read_debug(debug_config); +/** \brief eeconfig read debug + * + * FIXME: needs doc + */ +uint8_t eeconfig_read_debug(void) { + return eeprom_read_byte(EECONFIG_DEBUG); } -void eeconfig_update_debug(const debug_config_t *debug_config) { - nvm_eeconfig_update_debug(debug_config); +/** \brief eeconfig update debug + * + * FIXME: needs doc + */ +void eeconfig_update_debug(uint8_t val) { + eeprom_update_byte(EECONFIG_DEBUG, val); } +/** \brief eeconfig read default layer + * + * FIXME: needs doc + */ layer_state_t eeconfig_read_default_layer(void) { - return nvm_eeconfig_read_default_layer(); + uint8_t val = eeprom_read_byte(EECONFIG_DEFAULT_LAYER); + +#ifdef DEFAULT_LAYER_STATE_IS_VALUE_NOT_BITMASK + // stored as a layer number, so convert back to bitmask + return 1 << val; +#else + // stored as 8-bit-wide bitmask, so read the value directly - handling padding to 16/32 bit layer_state_t + return val; +#endif } +/** \brief eeconfig update default layer + * + * FIXME: needs doc + */ void eeconfig_update_default_layer(layer_state_t state) { - nvm_eeconfig_update_default_layer(state); +#ifdef DEFAULT_LAYER_STATE_IS_VALUE_NOT_BITMASK + // stored as a layer number, so only store the highest layer + uint8_t val = get_highest_layer(state); +#else + // stored as 8-bit-wide bitmask, so write the value directly - handling truncation from 16/32 bit layer_state_t + uint8_t val = state; +#endif + + eeprom_update_byte(EECONFIG_DEFAULT_LAYER, val); } -void eeconfig_read_keymap(keymap_config_t *keymap_config) { - nvm_eeconfig_read_keymap(keymap_config); +/** \brief eeconfig read keymap + * + * FIXME: needs doc + */ +uint16_t eeconfig_read_keymap(void) { + return eeprom_read_word(EECONFIG_KEYMAP); } -void eeconfig_update_keymap(const keymap_config_t *keymap_config) { - nvm_eeconfig_update_keymap(keymap_config); +/** \brief eeconfig update keymap + * + * FIXME: needs doc + */ +void eeconfig_update_keymap(uint16_t val) { + eeprom_update_word(EECONFIG_KEYMAP, val); } -#ifdef AUDIO_ENABLE -void eeconfig_read_audio(audio_config_t *audio_config) { - nvm_eeconfig_read_audio(audio_config); +/** \brief eeconfig read audio + * + * FIXME: needs doc + */ +uint8_t eeconfig_read_audio(void) { + return eeprom_read_byte(EECONFIG_AUDIO); } -void eeconfig_update_audio(const audio_config_t *audio_config) { - nvm_eeconfig_update_audio(audio_config); +/** \brief eeconfig update audio + * + * FIXME: needs doc + */ +void eeconfig_update_audio(uint8_t val) { + eeprom_update_byte(EECONFIG_AUDIO, val); } -#endif // AUDIO_ENABLE - -#ifdef UNICODE_COMMON_ENABLE -void eeconfig_read_unicode_mode(unicode_config_t *unicode_config) { - return nvm_eeconfig_read_unicode_mode(unicode_config); -} -void eeconfig_update_unicode_mode(const unicode_config_t *unicode_config) { - nvm_eeconfig_update_unicode_mode(unicode_config); -} -#endif // UNICODE_COMMON_ENABLE - -#ifdef BACKLIGHT_ENABLE -void eeconfig_read_backlight(backlight_config_t *backlight_config) { - nvm_eeconfig_read_backlight(backlight_config); -} -void eeconfig_update_backlight(const backlight_config_t *backlight_config) { - nvm_eeconfig_update_backlight(backlight_config); -} -#endif // BACKLIGHT_ENABLE - -#ifdef STENO_ENABLE -uint8_t eeconfig_read_steno_mode(void) { - return nvm_eeconfig_read_steno_mode(); -} -void eeconfig_update_steno_mode(uint8_t val) { - nvm_eeconfig_update_steno_mode(val); -} -#endif // STENO_ENABLE - -#ifdef RGB_MATRIX_ENABLE -void eeconfig_read_rgb_matrix(rgb_config_t *rgb_matrix_config) { - nvm_eeconfig_read_rgb_matrix(rgb_matrix_config); -} -void eeconfig_update_rgb_matrix(const rgb_config_t *rgb_matrix_config) { - nvm_eeconfig_update_rgb_matrix(rgb_matrix_config); -} -#endif // RGB_MATRIX_ENABLE - -#ifdef LED_MATRIX_ENABLE -void eeconfig_read_led_matrix(led_eeconfig_t *led_matrix_config) { - nvm_eeconfig_read_led_matrix(led_matrix_config); -} -void eeconfig_update_led_matrix(const led_eeconfig_t *led_matrix_config) { - nvm_eeconfig_update_led_matrix(led_matrix_config); -} -#endif // LED_MATRIX_ENABLE - -#ifdef RGBLIGHT_ENABLE -void eeconfig_read_rgblight(rgblight_config_t *rgblight_config) { - nvm_eeconfig_read_rgblight(rgblight_config); -} -void eeconfig_update_rgblight(const rgblight_config_t *rgblight_config) { - nvm_eeconfig_update_rgblight(rgblight_config); -} -#endif // RGBLIGHT_ENABLE #if (EECONFIG_KB_DATA_SIZE) == 0 +/** \brief eeconfig read kb + * + * FIXME: needs doc + */ uint32_t eeconfig_read_kb(void) { - return nvm_eeconfig_read_kb(); + return eeprom_read_dword(EECONFIG_KEYBOARD); } +/** \brief eeconfig update kb + * + * FIXME: needs doc + */ void eeconfig_update_kb(uint32_t val) { - nvm_eeconfig_update_kb(val); + eeprom_update_dword(EECONFIG_KEYBOARD, val); } #endif // (EECONFIG_KB_DATA_SIZE) == 0 #if (EECONFIG_USER_DATA_SIZE) == 0 +/** \brief eeconfig read user + * + * FIXME: needs doc + */ uint32_t eeconfig_read_user(void) { - return nvm_eeconfig_read_user(); + return eeprom_read_dword(EECONFIG_USER); } +/** \brief eeconfig update user + * + * FIXME: needs doc + */ void eeconfig_update_user(uint32_t val) { - nvm_eeconfig_update_user(val); + eeprom_update_dword(EECONFIG_USER, val); } #endif // (EECONFIG_USER_DATA_SIZE) == 0 -#ifdef HAPTIC_ENABLE -void eeconfig_read_haptic(haptic_config_t *haptic_config) { - nvm_eeconfig_read_haptic(haptic_config); +/** \brief eeconfig read haptic + * + * FIXME: needs doc + */ +uint32_t eeconfig_read_haptic(void) { + return eeprom_read_dword(EECONFIG_HAPTIC); } -void eeconfig_update_haptic(const haptic_config_t *haptic_config) { - nvm_eeconfig_update_haptic(haptic_config); +/** \brief eeconfig update haptic + * + * FIXME: needs doc + */ +void eeconfig_update_haptic(uint32_t val) { + eeprom_update_dword(EECONFIG_HAPTIC, val); } -#endif // HAPTIC_ENABLE - -#ifdef CONNECTION_ENABLE -void eeconfig_read_connection(connection_config_t *config) { - nvm_eeconfig_read_connection(config); -} -void eeconfig_update_connection(const connection_config_t *config) { - nvm_eeconfig_update_connection(config); -} -#endif // CONNECTION_ENABLE +/** \brief eeconfig read split handedness + * + * FIXME: needs doc + */ bool eeconfig_read_handedness(void) { - return nvm_eeconfig_read_handedness(); + return !!eeprom_read_byte(EECONFIG_HANDEDNESS); } +/** \brief eeconfig update split handedness + * + * FIXME: needs doc + */ void eeconfig_update_handedness(bool val) { - nvm_eeconfig_update_handedness(val); + eeprom_update_byte(EECONFIG_HANDEDNESS, !!val); } #if (EECONFIG_KB_DATA_SIZE) > 0 +/** \brief eeconfig assert keyboard data block version + * + * FIXME: needs doc + */ bool eeconfig_is_kb_datablock_valid(void) { - return nvm_eeconfig_is_kb_datablock_valid(); + return eeprom_read_dword(EECONFIG_KEYBOARD) == (EECONFIG_KB_DATA_VERSION); } -uint32_t eeconfig_read_kb_datablock(void *data, uint32_t offset, uint32_t length) { - return nvm_eeconfig_read_kb_datablock(data, offset, length); +/** \brief eeconfig read keyboard data block + * + * FIXME: needs doc + */ +void eeconfig_read_kb_datablock(void *data) { + if (eeconfig_is_kb_datablock_valid()) { + eeprom_read_block(data, EECONFIG_KB_DATABLOCK, (EECONFIG_KB_DATA_SIZE)); + } else { + memset(data, 0, (EECONFIG_KB_DATA_SIZE)); + } } -uint32_t eeconfig_update_kb_datablock(const void *data, uint32_t offset, uint32_t length) { - return nvm_eeconfig_update_kb_datablock(data, offset, length); +/** \brief eeconfig update keyboard data block + * + * FIXME: needs doc + */ +void eeconfig_update_kb_datablock(const void *data) { + eeprom_update_dword(EECONFIG_KEYBOARD, (EECONFIG_KB_DATA_VERSION)); + eeprom_update_block(data, EECONFIG_KB_DATABLOCK, (EECONFIG_KB_DATA_SIZE)); } +/** \brief eeconfig init keyboard data block + * + * FIXME: needs doc + */ __attribute__((weak)) void eeconfig_init_kb_datablock(void) { - nvm_eeconfig_init_kb_datablock(); + uint8_t dummy_kb[(EECONFIG_KB_DATA_SIZE)] = {0}; + eeconfig_update_kb_datablock(dummy_kb); } #endif // (EECONFIG_KB_DATA_SIZE) > 0 #if (EECONFIG_USER_DATA_SIZE) > 0 +/** \brief eeconfig assert user data block version + * + * FIXME: needs doc + */ bool eeconfig_is_user_datablock_valid(void) { - return nvm_eeconfig_is_user_datablock_valid(); + return eeprom_read_dword(EECONFIG_USER) == (EECONFIG_USER_DATA_VERSION); } -uint32_t eeconfig_read_user_datablock(void *data, uint32_t offset, uint32_t length) { - return nvm_eeconfig_read_user_datablock(data, offset, length); +/** \brief eeconfig read user data block + * + * FIXME: needs doc + */ +void eeconfig_read_user_datablock(void *data) { + if (eeconfig_is_user_datablock_valid()) { + eeprom_read_block(data, EECONFIG_USER_DATABLOCK, (EECONFIG_USER_DATA_SIZE)); + } else { + memset(data, 0, (EECONFIG_USER_DATA_SIZE)); + } } -uint32_t eeconfig_update_user_datablock(const void *data, uint32_t offset, uint32_t length) { - return nvm_eeconfig_update_user_datablock(data, offset, length); +/** \brief eeconfig update user data block + * + * FIXME: needs doc + */ +void eeconfig_update_user_datablock(const void *data) { + eeprom_update_dword(EECONFIG_USER, (EECONFIG_USER_DATA_VERSION)); + eeprom_update_block(data, EECONFIG_USER_DATABLOCK, (EECONFIG_USER_DATA_SIZE)); } +/** \brief eeconfig init user data block + * + * FIXME: needs doc + */ __attribute__((weak)) void eeconfig_init_user_datablock(void) { - nvm_eeconfig_init_user_datablock(); + uint8_t dummy_user[(EECONFIG_USER_DATA_SIZE)] = {0}; + eeconfig_update_user_datablock(dummy_user); } #endif // (EECONFIG_USER_DATA_SIZE) > 0 diff --git a/quantum/eeconfig.h b/quantum/eeconfig.h index 66f8934a99..11cf1ccbca 100644 --- a/quantum/eeconfig.h +++ b/quantum/eeconfig.h @@ -19,9 +19,59 @@ along with this program. If not, see . #include #include -#include // offsetof +#include // offsetof +#include "eeprom.h" +#include "util.h" #include "action_layer.h" // layer_state_t +#ifndef EECONFIG_MAGIC_NUMBER +# define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEE5 // When changing, decrement this value to avoid future re-init issues +#endif +#define EECONFIG_MAGIC_NUMBER_OFF (uint16_t)0xFFFF + +// Dummy struct only used to calculate offsets +typedef struct PACKED { + uint16_t magic; + uint8_t debug; + uint8_t default_layer; + uint16_t keymap; + uint8_t backlight; + uint8_t audio; + uint32_t rgblight; + uint8_t unicode; + uint8_t steno; + uint8_t handedness; + uint32_t keyboard; + uint32_t user; + union { // Mutually exclusive + uint32_t led_matrix; + uint64_t rgb_matrix; + }; + uint32_t haptic; + uint8_t rgblight_ext; +} eeprom_core_t; + +/* EEPROM parameter address */ +#define EECONFIG_MAGIC (uint16_t *)(offsetof(eeprom_core_t, magic)) +#define EECONFIG_DEBUG (uint8_t *)(offsetof(eeprom_core_t, debug)) +#define EECONFIG_DEFAULT_LAYER (uint8_t *)(offsetof(eeprom_core_t, default_layer)) +#define EECONFIG_KEYMAP (uint16_t *)(offsetof(eeprom_core_t, keymap)) +#define EECONFIG_BACKLIGHT (uint8_t *)(offsetof(eeprom_core_t, backlight)) +#define EECONFIG_AUDIO (uint8_t *)(offsetof(eeprom_core_t, audio)) +#define EECONFIG_RGBLIGHT (uint32_t *)(offsetof(eeprom_core_t, rgblight)) +#define EECONFIG_UNICODEMODE (uint8_t *)(offsetof(eeprom_core_t, unicode)) +#define EECONFIG_STENOMODE (uint8_t *)(offsetof(eeprom_core_t, steno)) +#define EECONFIG_HANDEDNESS (uint8_t *)(offsetof(eeprom_core_t, handedness)) +#define EECONFIG_KEYBOARD (uint32_t *)(offsetof(eeprom_core_t, keyboard)) +#define EECONFIG_USER (uint32_t *)(offsetof(eeprom_core_t, user)) +#define EECONFIG_LED_MATRIX (uint32_t *)(offsetof(eeprom_core_t, led_matrix)) +#define EECONFIG_RGB_MATRIX (uint64_t *)(offsetof(eeprom_core_t, rgb_matrix)) +#define EECONFIG_HAPTIC (uint32_t *)(offsetof(eeprom_core_t, haptic)) +#define EECONFIG_RGBLIGHT_EXTENDED (uint8_t *)(offsetof(eeprom_core_t, rgblight_ext)) + +// Size of EEPROM being used for core data storage +#define EECONFIG_BASE_SIZE ((uint8_t)sizeof(eeprom_core_t)) + // Size of EEPROM dedicated to keyboard- and user-specific data #ifndef EECONFIG_KB_DATA_SIZE # define EECONFIG_KB_DATA_SIZE 0 @@ -36,6 +86,12 @@ along with this program. If not, see . # define EECONFIG_USER_DATA_VERSION (EECONFIG_USER_DATA_SIZE) #endif +#define EECONFIG_KB_DATABLOCK ((uint8_t *)(EECONFIG_BASE_SIZE)) +#define EECONFIG_USER_DATABLOCK ((uint8_t *)((EECONFIG_BASE_SIZE) + (EECONFIG_KB_DATA_SIZE))) + +// Size of EEPROM being used, other code can refer to this for available EEPROM +#define EECONFIG_SIZE ((EECONFIG_BASE_SIZE) + (EECONFIG_KB_DATA_SIZE) + (EECONFIG_USER_DATA_SIZE)) + /* debug bit */ #define EECONFIG_DEBUG_ENABLE (1 << 0) #define EECONFIG_DEBUG_MATRIX (1 << 1) @@ -61,59 +117,22 @@ void eeconfig_init_kb(void); void eeconfig_init_user(void); void eeconfig_enable(void); + void eeconfig_disable(void); -typedef union debug_config_t debug_config_t; -void eeconfig_read_debug(debug_config_t *debug_config) __attribute__((nonnull)); -void eeconfig_update_debug(const debug_config_t *debug_config) __attribute__((nonnull)); +uint8_t eeconfig_read_debug(void); +void eeconfig_update_debug(uint8_t val); layer_state_t eeconfig_read_default_layer(void); -void eeconfig_update_default_layer(layer_state_t state); +void eeconfig_update_default_layer(layer_state_t val); -typedef union keymap_config_t keymap_config_t; -void eeconfig_read_keymap(keymap_config_t *keymap_config) __attribute__((nonnull)); -void eeconfig_update_keymap(const keymap_config_t *keymap_config) __attribute__((nonnull)); +uint16_t eeconfig_read_keymap(void); +void eeconfig_update_keymap(uint16_t val); #ifdef AUDIO_ENABLE -typedef union audio_config_t audio_config_t; -void eeconfig_read_audio(audio_config_t *audio_config) __attribute__((nonnull)); -void eeconfig_update_audio(const audio_config_t *audio_config) __attribute__((nonnull)); -#endif // AUDIO_ENABLE - -#ifdef UNICODE_COMMON_ENABLE -typedef union unicode_config_t unicode_config_t; -void eeconfig_read_unicode_mode(unicode_config_t *unicode_config) __attribute__((nonnull)); -void eeconfig_update_unicode_mode(const unicode_config_t *unicode_config) __attribute__((nonnull)); -#endif // UNICODE_COMMON_ENABLE - -#ifdef BACKLIGHT_ENABLE -typedef union backlight_config_t backlight_config_t; -void eeconfig_read_backlight(backlight_config_t *backlight_config) __attribute__((nonnull)); -void eeconfig_update_backlight(const backlight_config_t *backlight_config) __attribute__((nonnull)); -#endif // BACKLIGHT_ENABLE - -#ifdef STENO_ENABLE -uint8_t eeconfig_read_steno_mode(void); -void eeconfig_update_steno_mode(uint8_t val); -#endif // STENO_ENABLE - -#ifdef RGB_MATRIX_ENABLE -typedef union rgb_config_t rgb_config_t; -void eeconfig_read_rgb_matrix(rgb_config_t *rgb_matrix_config) __attribute__((nonnull)); -void eeconfig_update_rgb_matrix(const rgb_config_t *rgb_matrix_config) __attribute__((nonnull)); -#endif // RGB_MATRIX_ENABLE - -#ifdef LED_MATRIX_ENABLE -typedef union led_eeconfig_t led_eeconfig_t; -void eeconfig_read_led_matrix(led_eeconfig_t *led_matrix_config) __attribute__((nonnull)); -void eeconfig_update_led_matrix(const led_eeconfig_t *led_matrix_config) __attribute__((nonnull)); -#endif // LED_MATRIX_ENABLE - -#ifdef RGBLIGHT_ENABLE -typedef union rgblight_config_t rgblight_config_t; -void eeconfig_read_rgblight(rgblight_config_t *rgblight_config) __attribute__((nonnull)); -void eeconfig_update_rgblight(const rgblight_config_t *rgblight_config) __attribute__((nonnull)); -#endif // RGBLIGHT_ENABLE +uint8_t eeconfig_read_audio(void); +void eeconfig_update_audio(uint8_t val); +#endif #if (EECONFIG_KB_DATA_SIZE) == 0 uint32_t eeconfig_read_kb(void); @@ -126,42 +145,31 @@ void eeconfig_update_user(uint32_t val); #endif // (EECONFIG_USER_DATA_SIZE) == 0 #ifdef HAPTIC_ENABLE -typedef union haptic_config_t haptic_config_t; -void eeconfig_read_haptic(haptic_config_t *haptic_config) __attribute__((nonnull)); -void eeconfig_update_haptic(const haptic_config_t *haptic_config) __attribute__((nonnull)); -#endif - -#ifdef CONNECTION_ENABLE -typedef union connection_config_t connection_config_t; -void eeconfig_read_connection(connection_config_t *config); -void eeconfig_update_connection(const connection_config_t *config); +uint32_t eeconfig_read_haptic(void); +void eeconfig_update_haptic(uint32_t val); #endif bool eeconfig_read_handedness(void); void eeconfig_update_handedness(bool val); #if (EECONFIG_KB_DATA_SIZE) > 0 -bool eeconfig_is_kb_datablock_valid(void); -uint32_t eeconfig_read_kb_datablock(void *data, uint32_t offset, uint32_t length) __attribute__((nonnull)); -uint32_t eeconfig_update_kb_datablock(const void *data, uint32_t offset, uint32_t length) __attribute__((nonnull)); -void eeconfig_init_kb_datablock(void); -# define eeconfig_read_kb_datablock_field(__object, __field) eeconfig_read_kb_datablock(&(__object.__field), offsetof(typeof(__object), __field), sizeof(__object.__field)) -# define eeconfig_update_kb_datablock_field(__object, __field) eeconfig_update_kb_datablock(&(__object.__field), offsetof(typeof(__object), __field), sizeof(__object.__field)) +bool eeconfig_is_kb_datablock_valid(void); +void eeconfig_read_kb_datablock(void *data); +void eeconfig_update_kb_datablock(const void *data); +void eeconfig_init_kb_datablock(void); #endif // (EECONFIG_KB_DATA_SIZE) > 0 #if (EECONFIG_USER_DATA_SIZE) > 0 -bool eeconfig_is_user_datablock_valid(void); -uint32_t eeconfig_read_user_datablock(void *data, uint32_t offset, uint32_t length) __attribute__((nonnull)); -uint32_t eeconfig_update_user_datablock(const void *data, uint32_t offset, uint32_t length) __attribute__((nonnull)); -void eeconfig_init_user_datablock(void); -# define eeconfig_read_user_datablock_field(__object, __field) eeconfig_read_user_datablock(&(__object.__field), offsetof(typeof(__object), __field), sizeof(__object.__field)) -# define eeconfig_update_user_datablock_field(__object, __field) eeconfig_update_user_datablock(&(__object.__field), offsetof(typeof(__object), __field), sizeof(__object.__field)) +bool eeconfig_is_user_datablock_valid(void); +void eeconfig_read_user_datablock(void *data); +void eeconfig_update_user_datablock(const void *data); +void eeconfig_init_user_datablock(void); #endif // (EECONFIG_USER_DATA_SIZE) > 0 // Any "checked" debounce variant used requires implementation of: // -- bool eeconfig_check_valid_##name(void) // -- void eeconfig_post_flush_##name(void) -#define EECONFIG_DEBOUNCE_HELPER_CHECKED(name, config) \ +#define EECONFIG_DEBOUNCE_HELPER_CHECKED(name, offset, config) \ static uint8_t dirty_##name = false; \ \ bool eeconfig_check_valid_##name(void); \ @@ -170,13 +178,13 @@ void eeconfig_init_user_datablock(void); static inline void eeconfig_init_##name(void) { \ dirty_##name = true; \ if (eeconfig_check_valid_##name()) { \ - eeconfig_read_##name(&config); \ + eeprom_read_block(&config, offset, sizeof(config)); \ dirty_##name = false; \ } \ } \ static inline void eeconfig_flush_##name(bool force) { \ if (force || dirty_##name) { \ - eeconfig_update_##name(&config); \ + eeprom_update_block(&config, offset, sizeof(config)); \ eeconfig_post_flush_##name(); \ dirty_##name = false; \ } \ @@ -198,10 +206,10 @@ void eeconfig_init_user_datablock(void); } \ } -#define EECONFIG_DEBOUNCE_HELPER(name, config) \ - EECONFIG_DEBOUNCE_HELPER_CHECKED(name, config) \ - \ - bool eeconfig_check_valid_##name(void) { \ - return true; \ - } \ +#define EECONFIG_DEBOUNCE_HELPER(name, offset, config) \ + EECONFIG_DEBOUNCE_HELPER_CHECKED(name, offset, config) \ + \ + bool eeconfig_check_valid_##name(void) { \ + return true; \ + } \ void eeconfig_post_flush_##name(void) {} diff --git a/quantum/haptic.c b/quantum/haptic.c index 8a743480ff..81bad469b3 100644 --- a/quantum/haptic.c +++ b/quantum/haptic.c @@ -67,7 +67,7 @@ void haptic_init(void) { if (!eeconfig_is_enabled()) { eeconfig_init(); } - eeconfig_read_haptic(&haptic_config); + haptic_config.raw = eeconfig_read_haptic(); #ifdef HAPTIC_SOLENOID solenoid_set_dwell(haptic_config.dwell); #endif @@ -122,13 +122,13 @@ void eeconfig_debug_haptic(void) { void haptic_enable(void) { set_haptic_config_enable(true); dprintf("haptic_config.enable = %u\n", haptic_config.enable); - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); } void haptic_disable(void) { set_haptic_config_enable(false); dprintf("haptic_config.enable = %u\n", haptic_config.enable); - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); } void haptic_toggle(void) { @@ -137,14 +137,14 @@ void haptic_toggle(void) { } else { haptic_enable(); } - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); } void haptic_feedback_toggle(void) { haptic_config.feedback++; if (haptic_config.feedback >= HAPTIC_FEEDBACK_MAX) haptic_config.feedback = KEY_PRESS; dprintf("haptic_config.feedback = %u\n", !haptic_config.feedback); - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); } void haptic_buzz_toggle(void) { @@ -225,26 +225,26 @@ void haptic_reset(void) { haptic_config.dwell = 0; haptic_config.buzz = 0; #endif - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); dprintf("haptic_config.feedback = %u\n", haptic_config.feedback); dprintf("haptic_config.mode = %u\n", haptic_config.mode); } void haptic_set_feedback(uint8_t feedback) { haptic_config.feedback = feedback; - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); dprintf("haptic_config.feedback = %u\n", haptic_config.feedback); } void haptic_set_mode(uint8_t mode) { haptic_config.mode = mode; - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); dprintf("haptic_config.mode = %u\n", haptic_config.mode); } void haptic_set_amplitude(uint8_t amp) { haptic_config.amplitude = amp; - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); dprintf("haptic_config.amplitude = %u\n", haptic_config.amplitude); #ifdef HAPTIC_DRV2605L drv2605l_amplitude(amp); @@ -253,13 +253,13 @@ void haptic_set_amplitude(uint8_t amp) { void haptic_set_buzz(uint8_t buzz) { haptic_config.buzz = buzz; - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); dprintf("haptic_config.buzz = %u\n", haptic_config.buzz); } void haptic_set_dwell(uint8_t dwell) { haptic_config.dwell = dwell; - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); dprintf("haptic_config.dwell = %u\n", haptic_config.dwell); } @@ -291,7 +291,7 @@ uint8_t haptic_get_dwell(void) { void haptic_enable_continuous(void) { haptic_config.cont = 1; dprintf("haptic_config.cont = %u\n", haptic_config.cont); - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); #ifdef HAPTIC_DRV2605L drv2605l_rtp_init(); #endif @@ -300,7 +300,7 @@ void haptic_enable_continuous(void) { void haptic_disable_continuous(void) { haptic_config.cont = 0; dprintf("haptic_config.cont = %u\n", haptic_config.cont); - eeconfig_update_haptic(&haptic_config); + eeconfig_update_haptic(haptic_config.raw); #ifdef HAPTIC_DRV2605L drv2605l_write(DRV2605L_REG_MODE, 0x00); #endif diff --git a/quantum/haptic.h b/quantum/haptic.h index f854c75ec3..b283d5d268 100644 --- a/quantum/haptic.h +++ b/quantum/haptic.h @@ -20,8 +20,6 @@ #include #include -#include "compiler_support.h" - #ifndef HAPTIC_DEFAULT_FEEDBACK # define HAPTIC_DEFAULT_FEEDBACK 0 #endif @@ -30,7 +28,7 @@ #endif /* EEPROM config settings */ -typedef union haptic_config_t { +typedef union { uint32_t raw; struct { bool enable : 1; @@ -44,7 +42,7 @@ typedef union haptic_config_t { }; } haptic_config_t; -STATIC_ASSERT(sizeof(haptic_config_t) == sizeof(uint32_t), "Haptic EECONFIG out of spec."); +_Static_assert(sizeof(haptic_config_t) == sizeof(uint32_t), "Haptic EECONFIG out of spec."); typedef enum HAPTIC_FEEDBACK { KEY_PRESS, diff --git a/quantum/keyboard.c b/quantum/keyboard.c index c1a6d444a5..d7836cf36e 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -122,9 +122,6 @@ along with this program. If not, see . #ifdef SPLIT_KEYBOARD # include "split_util.h" #endif -#ifdef BATTERY_DRIVER -# include "battery.h" -#endif #ifdef BLUETOOTH_ENABLE # include "bluetooth.h" #endif @@ -146,9 +143,6 @@ along with this program. If not, see . #ifdef LAYER_LOCK_ENABLE # include "layer_lock.h" #endif -#ifdef CONNECTION_ENABLE -# include "connection.h" -#endif static uint32_t last_input_modification_time = 0; uint32_t last_input_activity_time(void) { @@ -295,21 +289,6 @@ __attribute__((weak)) void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } -/** \brief keyboard_pre_init_modules - * - * FIXME: needs doc - */ -__attribute__((weak)) void keyboard_pre_init_modules(void) {} - -/** \brief keyboard_pre_init_quantum - * - * FIXME: needs doc - */ -void keyboard_pre_init_quantum(void) { - keyboard_pre_init_modules(); - keyboard_pre_init_kb(); -} - /** \brief keyboard_post_init_user * * FIXME: needs doc @@ -326,23 +305,6 @@ __attribute__((weak)) void keyboard_post_init_kb(void) { keyboard_post_init_user(); } -/** \brief keyboard_post_init_modules - * - * FIXME: needs doc - */ - -__attribute__((weak)) void keyboard_post_init_modules(void) {} - -/** \brief keyboard_post_init_quantum - * - * FIXME: needs doc - */ - -void keyboard_post_init_quantum(void) { - keyboard_post_init_modules(); - keyboard_post_init_kb(); -} - /** \brief matrix_can_read * * Allows overriding when matrix scanning operations should be executed. @@ -361,7 +323,7 @@ void keyboard_setup(void) { eeprom_driver_init(); #endif matrix_setup(); - keyboard_pre_init_quantum(); + keyboard_pre_init_kb(); } #ifndef SPLIT_KEYBOARD @@ -393,13 +355,6 @@ __attribute__((weak)) bool should_process_keypress(void) { return is_keyboard_master(); } -/** \brief housekeeping_task_modules - * - * Codegen will override this if community modules are enabled. - * This is specific to keyboard-level functionality. - */ -__attribute__((weak)) void housekeeping_task_modules(void) {} - /** \brief housekeeping_task_kb * * Override this function if you have a need to execute code for every keyboard main loop iteration. @@ -419,7 +374,6 @@ __attribute__((weak)) void housekeeping_task_user(void) {} * Invokes hooks for executing code after QMK is done after each loop iteration. */ void housekeeping_task(void) { - housekeeping_task_modules(); housekeeping_task_kb(); housekeeping_task_user(); } @@ -435,8 +389,8 @@ void quantum_init(void) { } /* init globals */ - eeconfig_read_debug(&debug_config); - eeconfig_read_keymap(&keymap_config); + debug_config.raw = eeconfig_read_debug(); + keymap_config.raw = eeconfig_read_keymap(); #ifdef BOOTMAGIC_ENABLE bootmagic(); @@ -468,9 +422,6 @@ void keyboard_init(void) { #endif matrix_init(); quantum_init(); -#ifdef CONNECTION_ENABLE - connection_init(); -#endif led_init_ports(); #ifdef BACKLIGHT_ENABLE backlight_init_ports(); @@ -509,9 +460,8 @@ void keyboard_init(void) { steno_init(); #endif #if defined(NKRO_ENABLE) && defined(FORCE_NKRO) -# pragma message "FORCE_NKRO option is now deprecated - Please migrate to NKRO_DEFAULT_ON instead." keymap_config.nkro = 1; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); #endif #ifdef DIP_SWITCH_ENABLE dip_switch_init(); @@ -532,9 +482,6 @@ void keyboard_init(void) { // init after split init pointing_device_init(); #endif -#ifdef BATTERY_DRIVER - battery_init(); -#endif #ifdef BLUETOOTH_ENABLE bluetooth_init(); #endif @@ -546,7 +493,7 @@ void keyboard_init(void) { debug_enable = true; #endif - keyboard_post_init_quantum(); /* Always keep this last */ + keyboard_post_init_kb(); /* Always keep this last */ } /** \brief key_event_task @@ -795,10 +742,6 @@ void keyboard_task(void) { joystick_task(); #endif -#ifdef BATTERY_DRIVER - battery_task(); -#endif - #ifdef BLUETOOTH_ENABLE bluetooth_task(); #endif diff --git a/quantum/keycode_config.h b/quantum/keycode_config.h index 804f1381d0..d1352c302e 100644 --- a/quantum/keycode_config.h +++ b/quantum/keycode_config.h @@ -16,7 +16,9 @@ #pragma once -#include "compiler_support.h" +#ifdef __cplusplus +# define _Static_assert static_assert +#endif #include "eeconfig.h" #include "keycode.h" @@ -26,7 +28,7 @@ uint16_t keycode_config(uint16_t keycode); uint8_t mod_config(uint8_t mod); /* NOTE: Not portable. Bit field order depends on implementation */ -typedef union keymap_config_t { +typedef union { uint16_t raw; struct { bool swap_control_capslock : 1; @@ -45,6 +47,6 @@ typedef union keymap_config_t { }; } keymap_config_t; -STATIC_ASSERT(sizeof(keymap_config_t) == sizeof(uint16_t), "Keycode (magic) EECONFIG out of spec."); +_Static_assert(sizeof(keymap_config_t) == sizeof(uint16_t), "Keycode (magic) EECONFIG out of spec."); extern keymap_config_t keymap_config; diff --git a/quantum/keycode_string.c b/quantum/keycode_string.c deleted file mode 100644 index 18044f2ef6..0000000000 --- a/quantum/keycode_string.c +++ /dev/null @@ -1,564 +0,0 @@ -// Copyright 2024-2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "keycode_string.h" - -#include -#include "bitwise.h" -#include "keycode.h" -#include "progmem.h" -#include "quantum_keycodes.h" -#include "util.h" - -typedef int_fast8_t index_t; - -// clang-format off -/** Packs a 7-char keycode name, ignoring the third char, as 3 words. */ -#define KEYCODE_NAME7(c0, c1, unused_c2, c3, c4, c5, c6) \ - ((uint16_t)c0) | (((uint16_t)c1) << 8), \ - ((uint16_t)c3) | (((uint16_t)c4) << 8), \ - ((uint16_t)c5) | (((uint16_t)c6) << 8) - -/** - * @brief Names of some common keycodes. - * - * Each (keycode, name) entry is stored flat in 8 bytes in PROGMEM. Names in - * this table must be at most 7 chars long and have an underscore '_' for the - * third char. This underscore is assumed and not actually stored. - * - * To save memory, feature-specific key entries are ifdef'd to include them only - * when their feature is enabled. - */ -static const uint16_t common_names[] PROGMEM = { - KC_TRNS, KEYCODE_NAME7('K', 'C', '_', 'T', 'R', 'N', 'S'), - KC_ENT , KEYCODE_NAME7('K', 'C', '_', 'E', 'N', 'T', 0 ), - KC_ESC , KEYCODE_NAME7('K', 'C', '_', 'E', 'S', 'C', 0 ), - KC_BSPC, KEYCODE_NAME7('K', 'C', '_', 'B', 'S', 'P', 'C'), - KC_TAB , KEYCODE_NAME7('K', 'C', '_', 'T', 'A', 'B', 0 ), - KC_SPC , KEYCODE_NAME7('K', 'C', '_', 'S', 'P', 'C', 0 ), - KC_MINS, KEYCODE_NAME7('K', 'C', '_', 'M', 'I', 'N', 'S'), - KC_EQL , KEYCODE_NAME7('K', 'C', '_', 'E', 'Q', 'L', 0 ), - KC_LBRC, KEYCODE_NAME7('K', 'C', '_', 'L', 'B', 'R', 'C'), - KC_RBRC, KEYCODE_NAME7('K', 'C', '_', 'R', 'B', 'R', 'C'), - KC_BSLS, KEYCODE_NAME7('K', 'C', '_', 'B', 'S', 'L', 'S'), - KC_NUHS, KEYCODE_NAME7('K', 'C', '_', 'N', 'U', 'H', 'S'), - KC_SCLN, KEYCODE_NAME7('K', 'C', '_', 'S', 'C', 'L', 'N'), - KC_QUOT, KEYCODE_NAME7('K', 'C', '_', 'Q', 'U', 'O', 'T'), - KC_GRV , KEYCODE_NAME7('K', 'C', '_', 'G', 'R', 'V', 0 ), - KC_COMM, KEYCODE_NAME7('K', 'C', '_', 'C', 'O', 'M', 'M'), - KC_DOT , KEYCODE_NAME7('K', 'C', '_', 'D', 'O', 'T', 0 ), - KC_SLSH, KEYCODE_NAME7('K', 'C', '_', 'S', 'L', 'S', 'H'), - KC_CAPS, KEYCODE_NAME7('K', 'C', '_', 'C', 'A', 'P', 'S'), - KC_PSCR, KEYCODE_NAME7('K', 'C', '_', 'P', 'S', 'C', 'R'), - KC_PAUS, KEYCODE_NAME7('K', 'C', '_', 'P', 'A', 'U', 'S'), - KC_INS , KEYCODE_NAME7('K', 'C', '_', 'I', 'N', 'S', 0 ), - KC_HOME, KEYCODE_NAME7('K', 'C', '_', 'H', 'O', 'M', 'E'), - KC_PGUP, KEYCODE_NAME7('K', 'C', '_', 'P', 'G', 'U', 'P'), - KC_DEL , KEYCODE_NAME7('K', 'C', '_', 'D', 'E', 'L', 0 ), - KC_END , KEYCODE_NAME7('K', 'C', '_', 'E', 'N', 'D', 0 ), - KC_PGDN, KEYCODE_NAME7('K', 'C', '_', 'P', 'G', 'D', 'N'), - KC_RGHT, KEYCODE_NAME7('K', 'C', '_', 'R', 'G', 'H', 'T'), - KC_LEFT, KEYCODE_NAME7('K', 'C', '_', 'L', 'E', 'F', 'T'), - KC_DOWN, KEYCODE_NAME7('K', 'C', '_', 'D', 'O', 'W', 'N'), - KC_UP , KEYCODE_NAME7('K', 'C', '_', 'U', 'P', 0 , 0 ), - KC_NUBS, KEYCODE_NAME7('K', 'C', '_', 'N', 'U', 'B', 'S'), - KC_HYPR, KEYCODE_NAME7('K', 'C', '_', 'H', 'Y', 'P', 'R'), - KC_MEH , KEYCODE_NAME7('K', 'C', '_', 'M', 'E', 'H', 0 ), -#ifdef EXTRAKEY_ENABLE - KC_WHOM, KEYCODE_NAME7('K', 'C', '_', 'W', 'H', 'O', 'M'), - KC_WBAK, KEYCODE_NAME7('K', 'C', '_', 'W', 'B', 'A', 'K'), - KC_WFWD, KEYCODE_NAME7('K', 'C', '_', 'W', 'F', 'W', 'D'), - KC_WSTP, KEYCODE_NAME7('K', 'C', '_', 'W', 'S', 'T', 'P'), - KC_WREF, KEYCODE_NAME7('K', 'C', '_', 'W', 'R', 'E', 'F'), - KC_MNXT, KEYCODE_NAME7('K', 'C', '_', 'M', 'N', 'X', 'T'), - KC_MPRV, KEYCODE_NAME7('K', 'C', '_', 'M', 'P', 'R', 'V'), - KC_MPLY, KEYCODE_NAME7('K', 'C', '_', 'M', 'P', 'L', 'Y'), - KC_MUTE, KEYCODE_NAME7('K', 'C', '_', 'M', 'U', 'T', 'E'), - KC_VOLU, KEYCODE_NAME7('K', 'C', '_', 'V', 'O', 'L', 'U'), - KC_VOLD, KEYCODE_NAME7('K', 'C', '_', 'V', 'O', 'L', 'D'), -#endif // EXTRAKEY_ENABLE -#ifdef MOUSEKEY_ENABLE - MS_LEFT, KEYCODE_NAME7('M', 'S', '_', 'L', 'E', 'F', 'T'), - MS_RGHT, KEYCODE_NAME7('M', 'S', '_', 'R', 'G', 'H', 'T'), - MS_UP , KEYCODE_NAME7('M', 'S', '_', 'U', 'P', 0 , 0 ), - MS_DOWN, KEYCODE_NAME7('M', 'S', '_', 'D', 'O', 'W', 'N'), - MS_WHLL, KEYCODE_NAME7('M', 'S', '_', 'W', 'H', 'L', 'L'), - MS_WHLR, KEYCODE_NAME7('M', 'S', '_', 'W', 'H', 'L', 'R'), - MS_WHLU, KEYCODE_NAME7('M', 'S', '_', 'W', 'H', 'L', 'U'), - MS_WHLD, KEYCODE_NAME7('M', 'S', '_', 'W', 'H', 'L', 'D'), -#endif // MOUSEKEY_ENABLE -#ifdef SWAP_HANDS_ENABLE - SH_ON , KEYCODE_NAME7('S', 'H', '_', 'O', 'N', 0 , 0 ), - SH_OFF , KEYCODE_NAME7('S', 'H', '_', 'O', 'F', 'F', 0 ), - SH_MON , KEYCODE_NAME7('S', 'H', '_', 'M', 'O', 'N', 0 ), - SH_MOFF, KEYCODE_NAME7('S', 'H', '_', 'M', 'O', 'F', 'F'), - SH_TOGG, KEYCODE_NAME7('S', 'H', '_', 'T', 'O', 'G', 'G'), - SH_TT , KEYCODE_NAME7('S', 'H', '_', 'T', 'T', 0 , 0 ), -# if !defined(NO_ACTION_ONESHOT) - SH_OS , KEYCODE_NAME7('S', 'H', '_', 'O', 'S', 0 , 0 ), -# endif // !defined(NO_ACTION_ONESHOT) -#endif // SWAP_HANDS_ENABLE -#ifdef LEADER_ENABLE - QK_LEAD, KEYCODE_NAME7('Q', 'K', '_', 'L', 'E', 'A', 'D'), -#endif // LEADER_ENABLE -#ifdef KEY_LOCK_ENABLE - QK_LOCK, KEYCODE_NAME7('Q', 'K', '_', 'L', 'O', 'C', 'K'), -#endif // KEY_LOCK_ENABLE -#ifdef TRI_LAYER_ENABLE - TL_LOWR, KEYCODE_NAME7('T', 'L', '_', 'L', 'O', 'W', 'R'), - TL_UPPR, KEYCODE_NAME7('T', 'L', '_', 'U', 'P', 'P', 'R'), -#endif // TRI_LAYER_ENABLE -#ifdef GRAVE_ESC_ENABLE - QK_GESC, KEYCODE_NAME7('Q', 'K', '_', 'G', 'E', 'S', 'C'), -#endif // GRAVE_ESC_ENABLE -#ifdef CAPS_WORD_ENABLE - CW_TOGG, KEYCODE_NAME7('C', 'W', '_', 'T', 'O', 'G', 'G'), -#endif // CAPS_WORD_ENABLE -#ifdef SECURE_ENABLE - SE_LOCK, KEYCODE_NAME7('S', 'E', '_', 'L', 'O', 'C', 'K'), - SE_UNLK, KEYCODE_NAME7('S', 'E', '_', 'U', 'N', 'L', 'K'), - SE_TOGG, KEYCODE_NAME7('S', 'E', '_', 'T', 'O', 'G', 'G'), - SE_REQ , KEYCODE_NAME7('S', 'E', '_', 'R', 'E', 'Q', 0 ), -#endif // SECURE_ENABLE -#ifdef LAYER_LOCK_ENABLE - QK_LLCK, KEYCODE_NAME7('Q', 'K', '_', 'L', 'L', 'C', 'K'), -#endif // LAYER_LOCK_ENABLE - EE_CLR , KEYCODE_NAME7('E', 'E', '_', 'C', 'L', 'R', 0 ), - QK_BOOT, KEYCODE_NAME7('Q', 'K', '_', 'B', 'O', 'O', 'T'), - DB_TOGG, KEYCODE_NAME7('D', 'B', '_', 'T', 'O', 'G', 'G'), -}; -// clang-format on - -/** Users can override this to define names of additional keycodes. */ -__attribute__((weak)) const keycode_string_name_t* keycode_string_names_data_user = NULL; -__attribute__((weak)) uint16_t keycode_string_names_size_user = 0; -/** Keyboard vendors can override this to define names of additional keycodes. */ -__attribute__((weak)) const keycode_string_name_t* keycode_string_names_data_kb = NULL; -__attribute__((weak)) uint16_t keycode_string_names_size_kb = 0; -/** Names of the 4 mods on each hand. */ -static const char mod_names[] PROGMEM = "CTL\0SFT\0ALT\0GUI"; -/** Internal buffer for holding a stringified keycode. */ -static char buffer[32]; -#define BUFFER_MAX_LEN (sizeof(buffer) - 1) -static index_t buffer_len; - -/** Finds the name of a keycode in `common_names` or returns NULL. */ -static const char* search_common_names(uint16_t keycode) { - static uint8_t buffer[8]; - - for (int_fast16_t offset = 0; offset < ARRAY_SIZE(common_names); offset += 4) { - if (keycode == pgm_read_word(common_names + offset)) { - const uint16_t w0 = pgm_read_word(common_names + offset + 1); - const uint16_t w1 = pgm_read_word(common_names + offset + 2); - const uint16_t w2 = pgm_read_word(common_names + offset + 3); - buffer[0] = (uint8_t)w0; - buffer[1] = (uint8_t)(w0 >> 8); - buffer[2] = '_'; - buffer[3] = (uint8_t)w1; - buffer[4] = (uint8_t)(w1 >> 8); - buffer[5] = (uint8_t)w2; - buffer[6] = (uint8_t)(w2 >> 8); - buffer[7] = 0; - return (const char*)buffer; - } - } - - return NULL; -} - -/** - * @brief Finds the name of a keycode in table or returns NULL. - * - * @param data Pointer to table to be searched. - * @param size Numer of entries in the table. - * @return Name string for the keycode, or NULL if not found. - */ -static const char* search_table(const keycode_string_name_t* data, uint16_t size, uint16_t keycode) { - if (data != NULL) { - for (uint16_t i = 0; i < size; ++i) { - if (data[i].keycode == keycode) { - return data[i].name; - } - } - } - return NULL; -} - -/** Formats `number` in `base`, either 10 or 16. */ -static char* number_string(uint16_t number, int8_t base) { - static char result[7]; - result[sizeof(result) - 1] = '\0'; - index_t i = sizeof(result) - 1; - do { - const uint8_t digit = number % base; - number /= base; - result[--i] = (digit < 10) ? (char)(digit + UINT8_C('0')) : (char)(digit + (UINT8_C('A') - 10)); - } while (number > 0 && i > 0); - - if (base == 16 && i >= 2) { - result[--i] = 'x'; - result[--i] = '0'; - } - return result + i; -} - -/** Appends `str` to `buffer`, truncating if the result would overflow. */ -static void append(const char* str) { - char* dest = buffer + buffer_len; - index_t i; - for (i = 0; buffer_len + i < BUFFER_MAX_LEN && str[i]; ++i) { - dest[i] = str[i]; - } - buffer_len += i; - buffer[buffer_len] = '\0'; -} - -/** Same as append(), but where `str` is a PROGMEM string. */ -static void append_P(const char* str) { - char* dest = buffer + buffer_len; - index_t i; - for (i = 0; buffer_len + i < BUFFER_MAX_LEN; ++i) { - const char c = pgm_read_byte(&str[i]); - if (c == '\0') { - break; - } - dest[i] = c; - } - buffer_len += i; - buffer[buffer_len] = '\0'; -} - -/** Appends a single char to `buffer` if there is space. */ -static void append_char(char c) { - if (buffer_len < BUFFER_MAX_LEN) { - buffer[buffer_len] = c; - buffer[++buffer_len] = '\0'; - } -} - -/** Formats `number` in `base`, either 10 or 16, and appends it to `buffer`. */ -static void append_number(uint16_t number, int8_t base) { - append(number_string(number, base)); -} - -/** Stringifies 5-bit mods and appends it to `buffer`. */ -static void append_5_bit_mods(uint8_t mods) { - const bool is_rhs = mods > 15; - const uint8_t csag = mods & 15; - if (csag != 0 && (csag & (csag - 1)) == 0) { // One mod is set. - append_P(PSTR("MOD_")); - append_char(is_rhs ? 'R' : 'L'); - append_P(&mod_names[4 * biton(csag)]); - } else { // Fallback: write the mod as a hex value. - append_number(mods, 16); - } -} - -/** - * @brief Writes a keycode of the format `name` + "(" + `param` + ")". - * @note `name` is a PROGMEM string, `param` is not. - */ -static void append_unary_keycode(const char* name, const char* param) { - append_P(name); - append_char('('); - append(param); - append_char(')'); -} - -/** - * @brief Writes a keycode of the format `name` + `number`. - * @note `name` is a PROGMEM string. - */ -static void append_numbered_keycode(const char* name, uint16_t number) { - append_P(name); - append_number(number, 10); -} - -/** Stringifies `keycode` and appends it to `buffer`. */ -static void append_keycode(uint16_t keycode) { - // In case there is overlap among tables, search `keycode_string_names_user` - // first so that it takes precedence. - const char* keycode_name = search_table(keycode_string_names_data_user, keycode_string_names_size_user, keycode); - if (keycode_name) { - append(keycode_name); - return; - } - keycode_name = search_table(keycode_string_names_data_kb, keycode_string_names_size_kb, keycode); - if (keycode_name) { - append(keycode_name); - return; - } - keycode_name = search_common_names(keycode); - if (keycode_name) { - append(keycode_name); - return; - } - - if (keycode <= 255) { // Basic keycodes. - switch (keycode) { - // Modifiers KC_LSFT, KC_RCTL, etc. - case MODIFIER_KEYCODE_RANGE: { - const uint8_t i = keycode - KC_LCTL; - const bool is_rhs = i > 3; - append_P(PSTR("KC_")); - append_char(is_rhs ? 'R' : 'L'); - append_P(&mod_names[4 * (i & 3)]); - } - return; - - // Letters A-Z. - case KC_A ... KC_Z: - append_P(PSTR("KC_")); - append_char((char)(keycode + (UINT8_C('A') - KC_A))); - return; - - // Digits 0-9 (NOTE: Unlike the ASCII order, KC_0 comes *after* KC_9.) - case KC_1 ... KC_0: - append_numbered_keycode(PSTR("KC_"), (keycode - (KC_1 - 1)) % 10); - return; - - // Keypad digits. - case KC_KP_1 ... KC_KP_0: - append_numbered_keycode(PSTR("KC_KP_"), (keycode - (KC_KP_1 - 1)) % 10); - return; - - // Function keys. F1-F12 and F13-F24 are coded in separate ranges. - case KC_F1 ... KC_F12: - append_numbered_keycode(PSTR("KC_F"), keycode - (KC_F1 - 1)); - return; - - case KC_F13 ... KC_F24: - append_numbered_keycode(PSTR("KC_F"), keycode - (KC_F13 - 13)); - return; - } - } - - // clang-format off - switch (keycode) { - // A modified keycode, like S(KC_1) for Shift + 1 = !. This implementation - // only covers modified keycodes where one modifier is applied, e.g. a - // Ctrl + Shift + kc or Hyper + kc keycode is not formatted. - case QK_MODS ... QK_MODS_MAX: { - uint8_t mods = QK_MODS_GET_MODS(keycode); - const bool is_rhs = mods > 15; - mods &= 15; - if (mods != 0 && (mods & (mods - 1)) == 0) { // One mod is set. - const char* name = &mod_names[4 * biton(mods)]; - if (is_rhs) { - append_char('R'); - append_P(name); - } else { - append_char(pgm_read_byte(&name[0])); - } - append_char('('); - append_keycode(QK_MODS_GET_BASIC_KEYCODE(keycode)); - append_char(')'); - return; - } - } break; - -#if !defined(NO_ACTION_ONESHOT) - case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: // One-shot mod OSM(mod) key. - append_P(PSTR("OSM(")); - append_5_bit_mods(QK_ONE_SHOT_MOD_GET_MODS(keycode)); - append_char(')'); - return; -#endif // !defined(NO_ACTION_ONESHOT) - - // Various layer switch keys. - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: // Layer-tap LT(layer,kc) key. - append_P(PSTR("LT(")); - append_number(QK_LAYER_TAP_GET_LAYER(keycode), 10); - append_char(','); - append_keycode(QK_LAYER_TAP_GET_TAP_KEYCODE(keycode)); - append_char(')'); - return; - - case QK_LAYER_MOD ... QK_LAYER_MOD_MAX: // LM(layer,mod) key. - append_P(PSTR("LM(")); - append_number(QK_LAYER_MOD_GET_LAYER(keycode), 10); - append_char(','); - append_5_bit_mods(QK_LAYER_MOD_GET_MODS(keycode)); - append_char(')'); - return; - - case QK_TO ... QK_TO_MAX: // TO(layer) key. - append_unary_keycode(PSTR("TO"), number_string(QK_TO_GET_LAYER(keycode), 10)); - return; - - case QK_MOMENTARY ... QK_MOMENTARY_MAX: // MO(layer) key. - append_unary_keycode(PSTR("MO"), number_string(QK_MOMENTARY_GET_LAYER(keycode), 10)); - return; - - case QK_DEF_LAYER ... QK_DEF_LAYER_MAX: // DF(layer) key. - append_unary_keycode(PSTR("DF"), number_string(QK_DEF_LAYER_GET_LAYER(keycode), 10)); - return; - - case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: // TG(layer) key. - append_unary_keycode(PSTR("TG"), number_string(QK_TOGGLE_LAYER_GET_LAYER(keycode), 10)); - return; - -#if !defined(NO_ACTION_ONESHOT) - case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: // OSL(layer) key. - append_unary_keycode(PSTR("OSL"), number_string(QK_ONE_SHOT_LAYER_GET_LAYER(keycode), 10)); - return; -#endif // !defined(NO_ACTION_ONESHOT) - - case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: // TT(layer) key. - append_unary_keycode(PSTR("TT"), number_string(QK_LAYER_TAP_TOGGLE_GET_LAYER(keycode), 10)); - return; - - case QK_PERSISTENT_DEF_LAYER ... QK_PERSISTENT_DEF_LAYER_MAX: // PDF(layer) key. - append_unary_keycode(PSTR("PDF"), number_string(QK_PERSISTENT_DEF_LAYER_GET_LAYER(keycode), 10)); - return; - - // Mod-tap MT(mod,kc) key. This implementation formats the MT keys where - // one modifier is applied. For MT keys with multiple modifiers, the mod - // arg is written numerically as a hex code. - case QK_MOD_TAP ... QK_MOD_TAP_MAX: { - uint8_t mods = QK_MOD_TAP_GET_MODS(keycode); - const bool is_rhs = mods > 15; - const uint8_t csag = mods & 15; - if (csag != 0 && (csag & (csag - 1)) == 0) { // One mod is set. - append_char(is_rhs ? 'R' : 'L'); - append_P(&mod_names[4 * biton(csag)]); - append_P(PSTR("_T(")); - } else if (mods == MOD_HYPR) { - append_P(PSTR("HYPR_T(")); - } else if (mods == MOD_MEH) { - append_P(PSTR("MEH_T(")); - } else { - append_P(PSTR("MT(")); - append_number(mods, 16); - append_char(','); - } - append_keycode(QK_MOD_TAP_GET_TAP_KEYCODE(keycode)); - append_char(')'); - } return; - - case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: // Tap dance TD(i) key. - append_unary_keycode(PSTR("TD"), number_string(QK_TAP_DANCE_GET_INDEX(keycode), 10)); - return; - -#ifdef UNICODE_ENABLE - case QK_UNICODE ... QK_UNICODE_MAX: // Unicode UC(codepoint) key. - append_unary_keycode(PSTR("UC"), number_string(QK_UNICODE_GET_CODE_POINT(keycode), 16)); - return; -#elif defined(UNICODEMAP_ENABLE) - case QK_UNICODEMAP ... QK_UNICODEMAP_MAX: // Unicode Map UM(i) key. - append_unary_keycode(PSTR("UM"), number_string(QK_UNICODEMAP_GET_INDEX(keycode), 10)); - return; - - case QK_UNICODEMAP_PAIR ... QK_UNICODEMAP_PAIR_MAX: { // UP(i,j) key. - const uint8_t i = QK_UNICODEMAP_PAIR_GET_UNSHIFTED_INDEX(keycode); - const uint8_t j = QK_UNICODEMAP_PAIR_GET_SHIFTED_INDEX(keycode); - append_P(PSTR("UP(")); - append_number(i, 10); - append_char(','); - append_number(j, 10); - append_char(')'); - } return; -#endif -#ifdef MOUSEKEY_ENABLE - case MS_BTN1 ... MS_BTN8: // Mouse button keycode. - append_numbered_keycode(PSTR("MS_BTN"), keycode - (MS_BTN1 - 1)); - return; -#endif // MOUSEKEY_ENABLE -#ifdef SWAP_HANDS_ENABLE - case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: // Swap Hands SH_T(kc) key. - if (!IS_SWAP_HANDS_KEYCODE(keycode)) { - append_P(PSTR("SH_T(")); - append_keycode(QK_SWAP_HANDS_GET_TAP_KEYCODE(keycode)); - append_char(')'); - return; - } - break; -#endif // SWAP_HANDS_ENABLE -#ifdef JOYSTICK_ENABLE - case JOYSTICK_KEYCODE_RANGE: // Joystick JS_ key. - append_numbered_keycode(PSTR("JS_"), keycode - JS_0); - return; -#endif // JOYSTICK_ENABLE -#ifdef PROGRAMMABLE_BUTTON_ENABLE - case PROGRAMMABLE_BUTTON_KEYCODE_RANGE: // Programmable button PB_ key. - append_numbered_keycode(PSTR("PB_"), keycode - (PB_1 - 1)); - return; -#endif // PROGRAMMABLE_BUTTON_ENABLE - - case MACRO_KEYCODE_RANGE: // Macro range MC_ keycode. - append_numbered_keycode(PSTR("MC_"), keycode - MC_0); - return; - - case KB_KEYCODE_RANGE: // Keyboard range keycode. - append_numbered_keycode(PSTR("QK_KB_"), keycode - QK_KB_0); - return; - - case USER_KEYCODE_RANGE: // User range keycode. - append_numbered_keycode(PSTR("QK_USER_"), keycode - QK_USER_0); - return; - - // It would take a nontrivial amount of string data to cover some - // feature-specific keycodes, such as those for MIDI and lighting. As a - // fallback while still providing some information, we stringify - // remaining keys in known code ranges as "QK_+". -#ifdef MAGIC_ENABLE - case MAGIC_KEYCODE_RANGE: - append_numbered_keycode(PSTR("QK_MAGIC+"), keycode - QK_MAGIC); - return; -#endif // MAGIC_ENABLE -#ifdef MIDI_ENABLE - case MIDI_KEYCODE_RANGE: - append_numbered_keycode(PSTR("QK_MIDI+"), keycode - QK_MIDI); - return; -#endif // MIDI_ENABLE -#ifdef SEQUENCER_ENABLE - case SEQUENCER_KEYCODE_RANGE: - append_numbered_keycode(PSTR("QK_SEQUENCER+"), keycode - QK_SEQUENCER); - return; -#endif // SEQUENCER_ENABLE -#ifdef AUDIO_ENABLE - case AUDIO_KEYCODE_RANGE: - append_numbered_keycode(PSTR("QK_AUDIO+"), keycode - QK_AUDIO); - return; -#endif // AUDIO_ENABLE -#if defined(BACKLIGHT_ENABLE) || defined(LED_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLED) || defined(RGB_MATRIX_ENABLE) // Lighting-related features. - case QK_LIGHTING ... QK_LIGHTING_MAX: - append_numbered_keycode(PSTR("QK_LIGHTING+"), keycode - QK_LIGHTING); - return; -#endif // defined(BACKLIGHT_ENABLE) || defined(LED_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLED) || defined(RGB_MATRIX_ENABLE) -#ifdef STENO_ENABLE - case STENO_KEYCODE_RANGE: - append_numbered_keycode(PSTR("QK_STENO+"), keycode - QK_STENO); - return; -#endif // AUDIO_ENABLE -#ifdef BLUETOOTH_ENABLE - case CONNECTION_KEYCODE_RANGE: - append_numbered_keycode(PSTR("QK_CONNECTION+"), keycode - QK_CONNECTION); - return; -#endif // BLUETOOTH_ENABLE - case QUANTUM_KEYCODE_RANGE: - append_numbered_keycode(PSTR("QK_QUANTUM+"), keycode - QK_QUANTUM); - return; - } - // clang-format on - - append_number(keycode, 16); // Fallback: write keycode as hex value. -} - -const char* get_keycode_string(uint16_t keycode) { - buffer_len = 0; - buffer[0] = '\0'; - append_keycode(keycode); - return buffer; -} diff --git a/quantum/keycode_string.h b/quantum/keycode_string.h deleted file mode 100644 index 1315613a80..0000000000 --- a/quantum/keycode_string.h +++ /dev/null @@ -1,134 +0,0 @@ -// Copyright 2024-2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#pragma once - -#include - -#if KEYCODE_STRING_ENABLE - -/** - * @brief Formats a QMK keycode as a human-readable string. - * - * Given a keycode, like `KC_A`, this function returns a formatted string, like - * "KC_A". This is useful for debugging and diagnostics so that keys are more - * easily identified than they would be by raw numerical codes. - * - * @note The returned char* string should be used right away. The string memory - * is reused and will be overwritten by the next call to `keycode_string()`. - * - * Many common QMK keycodes are understood by this function, but not all. - * Recognized keycodes include: - * - * - Most basic keycodes, including letters `KC_A` - `KC_Z`, digits `KC_0` - - * `KC_9`, function keys `KC_F1` - `KC_F24`, and modifiers like `KC_LSFT`. - * - * - Modified basic keycodes, like `S(KC_1)` (Shift + 1 = !). - * - * - `MO`, `TO`, `TG`, `OSL`, `LM(layer,mod)`, `LT(layer,kc)` layer switches. - * - * - One-shot mod `OSM(mod)` keycodes. - * - * - Mod-tap `MT(mod, kc)` keycodes. - * - * - Tap dance keycodes `TD(i)`. - * - * - Swap hands keycodes `SH_T(kc)`, `SH_TOGG`, etc. - * - * - Joystick keycodes `JS_n`. - * - * - Programmable button keycodes `PB_n`. - * - * - Unicode `UC(codepoint)` and Unicode Map `UM(i)` and `UP(i,j)` keycodes. - * - * - Keyboard range keycodes `QK_KB_*`. - * - * - User range (SAFE_RANGE) keycodes `QK_USER_*`. - * - * Keycodes involving mods like `OSM`, `LM`, `MT` are fully supported only where - * a single mod is applied. - * - * Unrecognized keycodes are printed numerically as hex values like `0x1ABC`. - * - * Optionally, use `keycode_string_names_user` or `keycode_string_names_kb` to - * define names for additional keycodes or override how any of the above are - * formatted. - * - * @param keycode QMK keycode. - * @return Stringified keycode. - */ -const char* get_keycode_string(uint16_t keycode); - -/** Defines a human-readable name for a keycode. */ -typedef struct { - uint16_t keycode; - const char* name; -} keycode_string_name_t; - -// clang-format off -/** - * @brief Defines names for additional keycodes for `get_keycode_string()`. - * - * Define `KEYCODE_STRING_NAMES_USER` in your keymap.c to add names for - * additional keycodes to `keycode_string()`. This table may also be used to - * override how `keycode_string()` formats a keycode. For example, supposing - * keymap.c defines `MYMACRO1` and `MYMACRO2` as custom keycodes: - * - * KEYCODE_STRING_NAMES_USER( - * KEYCODE_STRING_NAME(MYMACRO1), - * KEYCODE_STRING_NAME(MYMACRO2), - * KEYCODE_STRING_NAME(KC_EXLM), - * ); - * - * The above defines names for `MYMACRO1` and `MYMACRO2`, and overrides - * `KC_EXLM` to format as "KC_EXLM" instead of the default "S(KC_1)". - */ -# define KEYCODE_STRING_NAMES_USER(...) \ - static const keycode_string_name_t keycode_string_names_user[] = {__VA_ARGS__}; \ - uint16_t keycode_string_names_size_user = \ - sizeof(keycode_string_names_user) / sizeof(keycode_string_name_t); \ - const keycode_string_name_t* keycode_string_names_data_user = \ - keycode_string_names_user - -/** Same as above, but defines keycode string names at the keyboard level. */ -# define KEYCODE_STRING_NAMES_KB(...) \ - static const keycode_string_name_t keycode_string_names_kb[] = {__VA_ARGS__}; \ - uint16_t keycode_string_names_size_kb = \ - sizeof(keycode_string_names_kb) / sizeof(keycode_string_name_t); \ - const keycode_string_name_t* keycode_string_names_data_kb = \ - keycode_string_names_kb - -/** Helper to define a keycode_string_name_t. */ -# define KEYCODE_STRING_NAME(kc) \ - { (kc), #kc } -// clang-format on - -extern const keycode_string_name_t* keycode_string_names_data_user; -extern uint16_t keycode_string_names_size_user; -extern const keycode_string_name_t* keycode_string_names_data_kb; -extern uint16_t keycode_string_names_size_kb; - -#else - -// When keycode_string is disabled, fall back to printing keycodes numerically -// as decimal values, using get_u16_str() from quantum.c. -# define get_keycode_string(kc) get_u16_str(kc, ' ') - -const char* get_u16_str(uint16_t curr_num, char curr_pad); - -# define KEYCODE_STRING_NAMES_USER(...) -# define KEYCODE_STRING_NAMES_KB(...) -# define KEYCODE_STRING_NAME(kc) - -#endif // KEYCODE_STRING_ENABLE diff --git a/quantum/keycodes.h b/quantum/keycodes.h index 6a59aa376d..5929e35687 100644 --- a/quantum/keycodes.h +++ b/quantum/keycodes.h @@ -26,12 +26,6 @@ #pragma once // clang-format off -#define QMK_KEYCODES_VERSION "0.0.7" -#define QMK_KEYCODES_VERSION_BCD 0x00000007 -#define QMK_KEYCODES_VERSION_MAJOR 0 -#define QMK_KEYCODES_VERSION_MINOR 0 -#define QMK_KEYCODES_VERSION_PATCH 7 - enum qk_keycode_ranges { // Ranges QK_BASIC = 0x0000, @@ -82,8 +76,6 @@ enum qk_keycode_ranges { QK_MACRO_MAX = 0x777F, QK_CONNECTION = 0x7780, QK_CONNECTION_MAX = 0x77BF, - QK_COMMUNITY_MODULE = 0x77C0, - QK_COMMUNITY_MODULE_MAX = 0x77FF, QK_LIGHTING = 0x7800, QK_LIGHTING_MAX = 0x78FF, QK_QUANTUM = 0x7C00, @@ -1484,7 +1476,6 @@ enum qk_keycode_defines { #define IS_QK_STENO(code) ((code) >= QK_STENO && (code) <= QK_STENO_MAX) #define IS_QK_MACRO(code) ((code) >= QK_MACRO && (code) <= QK_MACRO_MAX) #define IS_QK_CONNECTION(code) ((code) >= QK_CONNECTION && (code) <= QK_CONNECTION_MAX) -#define IS_QK_COMMUNITY_MODULE(code) ((code) >= QK_COMMUNITY_MODULE && (code) <= QK_COMMUNITY_MODULE_MAX) #define IS_QK_LIGHTING(code) ((code) >= QK_LIGHTING && (code) <= QK_LIGHTING_MAX) #define IS_QK_QUANTUM(code) ((code) >= QK_QUANTUM && (code) <= QK_QUANTUM_MAX) #define IS_QK_KB(code) ((code) >= QK_KB && (code) <= QK_KB_MAX) diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 9be9bae943..abdcd5c7ba 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -156,7 +156,7 @@ action_t action_for_keycode(uint16_t keycode) { case QK_LAYER_MOD ... QK_LAYER_MOD_MAX: mod = mod_config(QK_LAYER_MOD_GET_MODS(keycode)); action_layer = QK_LAYER_MOD_GET_LAYER(keycode); - action.code = ACTION_LAYER_MODS(action_layer, (mod & 0x10) ? (mod & 0xF) << 4 : mod); + action.code = ACTION_LAYER_MODS(action_layer, (mod & 0x10) ? mod << 4 : mod); break; #endif // NO_ACTION_LAYER case QK_MOD_TAP ... QK_MOD_TAP_MAX: diff --git a/quantum/keymap_extras/keymap_belgian.h b/quantum/keymap_extras/keymap_belgian.h index b41ed9d20b..1869e66d9a 100644 --- a/quantum/keymap_extras/keymap_belgian.h +++ b/quantum/keymap_extras/keymap_belgian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_BELGIAN_KEYCODES_VERSION "0.0.1" -#define QMK_BELGIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_BELGIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_BELGIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_BELGIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define BE_SUP2 KC_GRV // ² #define BE_AMPR KC_1 // & diff --git a/quantum/keymap_extras/keymap_bepo.h b/quantum/keymap_extras/keymap_bepo.h index c0bb703ecc..f2ddb99180 100644 --- a/quantum/keymap_extras/keymap_bepo.h +++ b/quantum/keymap_extras/keymap_bepo.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_BEPO_KEYCODES_VERSION "0.0.1" -#define QMK_BEPO_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_BEPO_KEYCODES_VERSION_MAJOR 0 -#define QMK_BEPO_KEYCODES_VERSION_MINOR 0 -#define QMK_BEPO_KEYCODES_VERSION_PATCH 1 - // Aliases #define BP_DLR KC_GRV // $ #define BP_DQUO KC_1 // " diff --git a/quantum/keymap_extras/keymap_brazilian_abnt2.h b/quantum/keymap_extras/keymap_brazilian_abnt2.h index 267b5490c9..730fe5069f 100644 --- a/quantum/keymap_extras/keymap_brazilian_abnt2.h +++ b/quantum/keymap_extras/keymap_brazilian_abnt2.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_BRAZILIAN_ABNT2_KEYCODES_VERSION "0.0.1" -#define QMK_BRAZILIAN_ABNT2_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_BRAZILIAN_ABNT2_KEYCODES_VERSION_MAJOR 0 -#define QMK_BRAZILIAN_ABNT2_KEYCODES_VERSION_MINOR 0 -#define QMK_BRAZILIAN_ABNT2_KEYCODES_VERSION_PATCH 1 - // Aliases #define BR_QUOT KC_GRV // ' #define BR_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_canadian_french.h b/quantum/keymap_extras/keymap_canadian_french.h index df9c73c016..5771cf6193 100644 --- a/quantum/keymap_extras/keymap_canadian_french.h +++ b/quantum/keymap_extras/keymap_canadian_french.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_CANADIAN_FRENCH_KEYCODES_VERSION "0.0.1" -#define QMK_CANADIAN_FRENCH_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_CANADIAN_FRENCH_KEYCODES_VERSION_MAJOR 0 -#define QMK_CANADIAN_FRENCH_KEYCODES_VERSION_MINOR 0 -#define QMK_CANADIAN_FRENCH_KEYCODES_VERSION_PATCH 1 - // Aliases #define FR_HASH KC_GRV // # #define FR_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_canadian_multilingual.h b/quantum/keymap_extras/keymap_canadian_multilingual.h index 4b42457396..2a4326b406 100644 --- a/quantum/keymap_extras/keymap_canadian_multilingual.h +++ b/quantum/keymap_extras/keymap_canadian_multilingual.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_CANADIAN_MULTILINGUAL_KEYCODES_VERSION "0.0.1" -#define QMK_CANADIAN_MULTILINGUAL_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_CANADIAN_MULTILINGUAL_KEYCODES_VERSION_MAJOR 0 -#define QMK_CANADIAN_MULTILINGUAL_KEYCODES_VERSION_MINOR 0 -#define QMK_CANADIAN_MULTILINGUAL_KEYCODES_VERSION_PATCH 1 - // Aliases #define CA_SLSH KC_GRV // / #define CA_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_colemak.h b/quantum/keymap_extras/keymap_colemak.h index a4fc77e80f..0170339aad 100644 --- a/quantum/keymap_extras/keymap_colemak.h +++ b/quantum/keymap_extras/keymap_colemak.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_COLEMAK_KEYCODES_VERSION "0.0.1" -#define QMK_COLEMAK_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_COLEMAK_KEYCODES_VERSION_MAJOR 0 -#define QMK_COLEMAK_KEYCODES_VERSION_MINOR 0 -#define QMK_COLEMAK_KEYCODES_VERSION_PATCH 1 - // Aliases #define CM_GRV KC_GRV // ` #define CM_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_croatian.h b/quantum/keymap_extras/keymap_croatian.h index cdc032a9eb..7e11a85710 100644 --- a/quantum/keymap_extras/keymap_croatian.h +++ b/quantum/keymap_extras/keymap_croatian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_CROATIAN_KEYCODES_VERSION "0.0.1" -#define QMK_CROATIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_CROATIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_CROATIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_CROATIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define HR_CEDL KC_GRV // ¸ (dead) #define HR_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_czech.h b/quantum/keymap_extras/keymap_czech.h index cae16cdb9f..8e65a4ed0a 100644 --- a/quantum/keymap_extras/keymap_czech.h +++ b/quantum/keymap_extras/keymap_czech.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_CZECH_KEYCODES_VERSION "0.0.1" -#define QMK_CZECH_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_CZECH_KEYCODES_VERSION_MAJOR 0 -#define QMK_CZECH_KEYCODES_VERSION_MINOR 0 -#define QMK_CZECH_KEYCODES_VERSION_PATCH 1 - // Aliases #define CZ_SCLN KC_GRV // ; #define CZ_PLUS KC_1 // + diff --git a/quantum/keymap_extras/keymap_czech_mac_ansi.h b/quantum/keymap_extras/keymap_czech_mac_ansi.h index bdfda933b0..ed46a78f1c 100644 --- a/quantum/keymap_extras/keymap_czech_mac_ansi.h +++ b/quantum/keymap_extras/keymap_czech_mac_ansi.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_CZECH_MAC_ANSI_KEYCODES_VERSION "0.0.1" -#define QMK_CZECH_MAC_ANSI_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_CZECH_MAC_ANSI_KEYCODES_VERSION_MAJOR 0 -#define QMK_CZECH_MAC_ANSI_KEYCODES_VERSION_MINOR 0 -#define QMK_CZECH_MAC_ANSI_KEYCODES_VERSION_PATCH 1 - // Aliases #define CZ_BSLS KC_GRV // (backslash) #define CZ_PLUS KC_1 // + diff --git a/quantum/keymap_extras/keymap_czech_mac_iso.h b/quantum/keymap_extras/keymap_czech_mac_iso.h index 9c05d8dae0..08285b7952 100644 --- a/quantum/keymap_extras/keymap_czech_mac_iso.h +++ b/quantum/keymap_extras/keymap_czech_mac_iso.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_CZECH_MAC_ISO_KEYCODES_VERSION "0.0.1" -#define QMK_CZECH_MAC_ISO_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_CZECH_MAC_ISO_KEYCODES_VERSION_MAJOR 0 -#define QMK_CZECH_MAC_ISO_KEYCODES_VERSION_MINOR 0 -#define QMK_CZECH_MAC_ISO_KEYCODES_VERSION_PATCH 1 - // Aliases #define CZ_PLUS KC_1 // + #define CZ_ECAR KC_2 // ě diff --git a/quantum/keymap_extras/keymap_danish.h b/quantum/keymap_extras/keymap_danish.h index 1f1ee90e23..a84923007c 100644 --- a/quantum/keymap_extras/keymap_danish.h +++ b/quantum/keymap_extras/keymap_danish.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_DANISH_KEYCODES_VERSION "0.0.1" -#define QMK_DANISH_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_DANISH_KEYCODES_VERSION_MAJOR 0 -#define QMK_DANISH_KEYCODES_VERSION_MINOR 0 -#define QMK_DANISH_KEYCODES_VERSION_PATCH 1 - // Aliases #define DK_HALF KC_GRV // ½ #define DK_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_dvorak.h b/quantum/keymap_extras/keymap_dvorak.h index 5cb2c4564a..a926e48295 100644 --- a/quantum/keymap_extras/keymap_dvorak.h +++ b/quantum/keymap_extras/keymap_dvorak.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_DVORAK_KEYCODES_VERSION "0.0.1" -#define QMK_DVORAK_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_DVORAK_KEYCODES_VERSION_MAJOR 0 -#define QMK_DVORAK_KEYCODES_VERSION_MINOR 0 -#define QMK_DVORAK_KEYCODES_VERSION_PATCH 1 - // Aliases #define DV_GRV KC_GRV // ` #define DV_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_dvorak_fr.h b/quantum/keymap_extras/keymap_dvorak_fr.h index d01bf7fec7..6e6498e598 100644 --- a/quantum/keymap_extras/keymap_dvorak_fr.h +++ b/quantum/keymap_extras/keymap_dvorak_fr.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_DVORAK_FR_KEYCODES_VERSION "0.0.1" -#define QMK_DVORAK_FR_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_DVORAK_FR_KEYCODES_VERSION_MAJOR 0 -#define QMK_DVORAK_FR_KEYCODES_VERSION_MINOR 0 -#define QMK_DVORAK_FR_KEYCODES_VERSION_PATCH 1 - // Aliases #define DV_LDAQ KC_GRV // « #define DV_RDAQ KC_1 // » diff --git a/quantum/keymap_extras/keymap_dvorak_programmer.h b/quantum/keymap_extras/keymap_dvorak_programmer.h index f17900105f..43d9a702bb 100644 --- a/quantum/keymap_extras/keymap_dvorak_programmer.h +++ b/quantum/keymap_extras/keymap_dvorak_programmer.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_DVORAK_PROGRAMMER_KEYCODES_VERSION "0.0.1" -#define QMK_DVORAK_PROGRAMMER_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_DVORAK_PROGRAMMER_KEYCODES_VERSION_MAJOR 0 -#define QMK_DVORAK_PROGRAMMER_KEYCODES_VERSION_MINOR 0 -#define QMK_DVORAK_PROGRAMMER_KEYCODES_VERSION_PATCH 1 - // Aliases #define DP_DLR KC_GRV // $ #define DP_AMPR KC_1 // & diff --git a/quantum/keymap_extras/keymap_estonian.h b/quantum/keymap_extras/keymap_estonian.h index 5fbeedcbe9..3e87bbc5f8 100644 --- a/quantum/keymap_extras/keymap_estonian.h +++ b/quantum/keymap_extras/keymap_estonian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_ESTONIAN_KEYCODES_VERSION "0.0.1" -#define QMK_ESTONIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_ESTONIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_ESTONIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_ESTONIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define EE_CARN KC_GRV // ˇ (dead) #define EE_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_eurkey.h b/quantum/keymap_extras/keymap_eurkey.h deleted file mode 100644 index 5a13d48163..0000000000 --- a/quantum/keymap_extras/keymap_eurkey.h +++ /dev/null @@ -1,172 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -/******************************************************************************* - 88888888888 888 d8b .d888 d8b 888 d8b - 888 888 Y8P d88P" Y8P 888 Y8P - 888 888 888 888 - 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b - 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K - 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. - 888 888 888 888 X88 888 888 888 Y8b. 888 X88 - 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' - 888 888 - 888 888 - 888 888 - .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 - d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 - 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 - Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 - "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 - 888 - Y8b d88P - "Y88P" -*******************************************************************************/ - -#pragma once -#include "keycodes.h" -// clang-format off - -#define QMK_EURKEY_KEYCODES_VERSION "0.0.1" -#define QMK_EURKEY_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_EURKEY_KEYCODES_VERSION_MAJOR 0 -#define QMK_EURKEY_KEYCODES_VERSION_MINOR 0 -#define QMK_EURKEY_KEYCODES_VERSION_PATCH 1 - -// Aliases -#define EU_GRV KC_GRV // ` -#define EU_1 KC_1 // 1 -#define EU_2 KC_2 // 2 -#define EU_3 KC_3 // 3 -#define EU_4 KC_4 // 4 -#define EU_5 KC_5 // 5 -#define EU_6 KC_6 // 6 -#define EU_7 KC_7 // 7 -#define EU_8 KC_8 // 8 -#define EU_9 KC_9 // 9 -#define EU_0 KC_0 // 0 -#define EU_MINS KC_MINS // - -#define EU_EQL KC_EQL // = -#define EU_Q KC_Q // Q -#define EU_W KC_W // W -#define EU_E KC_E // E -#define EU_R KC_R // R -#define EU_T KC_T // T -#define EU_Y KC_Y // Y -#define EU_U KC_U // U -#define EU_I KC_I // I -#define EU_O KC_O // O -#define EU_P KC_P // P -#define EU_LBRC KC_LBRC // [ -#define EU_RBRC KC_RBRC // ] -#define EU_BSLS KC_BSLS // (backslash) -#define EU_A KC_A // A -#define EU_S KC_S // S -#define EU_D KC_D // D -#define EU_F KC_F // F -#define EU_G KC_G // G -#define EU_H KC_H // H -#define EU_J KC_J // J -#define EU_K KC_K // K -#define EU_L KC_L // L -#define EU_SCLN KC_SCLN // ; -#define EU_QUOT KC_QUOT // ' -#define EU_Z KC_Z // Z -#define EU_X KC_X // X -#define EU_C KC_C // C -#define EU_V KC_V // V -#define EU_B KC_B // B -#define EU_N KC_N // N -#define EU_M KC_M // M -#define EU_COMM KC_COMM // , -#define EU_DOT KC_DOT // . -#define EU_SLSH KC_SLSH // / -#define EU_TILD S(EU_GRV) // ~ -#define EU_EXLM S(EU_1) // ! -#define EU_AT S(EU_2) // @ -#define EU_HASH S(EU_3) // # -#define EU_DLR S(EU_4) // $ -#define EU_PERC S(EU_5) // % -#define EU_CIRC S(EU_6) // ^ -#define EU_AMPR S(EU_7) // & -#define EU_ASTR S(EU_8) // * -#define EU_LPRN S(EU_9) // ( -#define EU_RPRN S(EU_0) // ) -#define EU_UNDS S(EU_MINS) // _ -#define EU_PLUS S(EU_EQL) // + -#define EU_LCBR S(EU_LBRC) // { -#define EU_RCBR S(EU_RBRC) // } -#define EU_PIPE S(EU_BSLS) // | -#define EU_COLN S(EU_SCLN) // : -#define EU_DQUO S(EU_QUOT) // " -#define EU_LABK S(EU_COMM) // < -#define EU_RABK S(EU_DOT) // > -#define EU_QUES S(EU_SLSH) // ? -#define EU_DGRV ALGR(EU_GRV) // ` (dead) -#define EU_IEXL ALGR(EU_1) // ¡ -#define EU_FORD ALGR(EU_2) // ª -#define EU_MORD ALGR(EU_3) // º -#define EU_PND ALGR(EU_4) // £ -#define EU_EURO ALGR(EU_5) // € -#define EU_DCIR ALGR(EU_6) // ^ (dead) -#define EU_RNGA ALGR(EU_7) // ˚ (dead) -#define EU_DLQU ALGR(EU_8) // „ -#define EU_LDQU ALGR(EU_9) // “ -#define EU_RDQU ALGR(EU_0) // ” -#define EU_NDSH ALGR(EU_MINS) // – -#define EU_MUL ALGR(EU_EQL) // × -#define EU_AE ALGR(EU_Q) // æ -#define EU_ARNG ALGR(EU_W) // Å -#define EU_EDIA ALGR(EU_E) // Ë -#define EU_YACU ALGR(EU_R) // Ý -#define EU_THRN ALGR(EU_T) // Þ -#define EU_YDIA ALGR(EU_Y) // Ÿ -#define EU_UDIA ALGR(EU_U) // Ü -#define EU_IDIA ALGR(EU_I) // Ï -#define EU_ODIA ALGR(EU_O) // Ö -#define EU_OE ALGR(EU_P) // Œ -#define EU_LDAQ ALGR(EU_LBRC) // « -#define EU_RDAQ ALGR(EU_RBRC) // » -#define EU_NOT ALGR(EU_BSLS) // ¬ -#define EU_ADIA ALGR(EU_A) // Ä -#define EU_SS ALGR(EU_S) // ß -#define EU_ETH ALGR(EU_D) // Ð -#define EU_EGRV ALGR(EU_F) // È -#define EU_EACU ALGR(EU_G) // É -#define EU_UGRV ALGR(EU_H) // Ù -#define EU_UACU ALGR(EU_J) // Ú -#define EU_IJ ALGR(EU_K) // IJ -#define EU_OSTR ALGR(EU_L) // Ø -#define EU_DEG ALGR(EU_SCLN) // ° -#define EU_ACUT ALGR(EU_QUOT) // ´ (dead) -#define EU_AGRV ALGR(EU_Z) // À -#define EU_AACU ALGR(EU_X) // Á -#define EU_CCED ALGR(EU_C) // Ç -#define EU_IGRV ALGR(EU_V) // Ì -#define EU_IACU ALGR(EU_B) // Í -#define EU_NTIL ALGR(EU_N) // Ñ -#define EU_DGRK ALGR(EU_M) // μ (dead Greek key) -#define EU_OGRV ALGR(EU_COMM) // Ò -#define EU_OACU ALGR(EU_DOT) // Ó -#define EU_IQUE ALGR(EU_SLSH) // ¿ -#define EU_DTIL ALGR(EU_TILD) // ~ (dead) -#define EU_SUP1 S(ALGR(EU_1)) // ¹ -#define EU_SUP2 S(ALGR(EU_2)) // ² -#define EU_SUP3 S(ALGR(EU_3)) // ³ -#define EU_YEN ALGR(EU_DLR) // ¥ -#define EU_CENT S(EU_EURO) // ¢ -#define EU_CARN S(EU_DCIR) // ˇ (dead) -#define EU_MACR S(ALGR(EU_7)) // ¯ (dead) -#define EU_SLQU S(EU_DLQU) // ‚ -#define EU_LSQU S(EU_LDQU) // ‘ -#define EU_RSQU S(EU_RDQU) // ’ -#define EU_MDSH S(EU_NDSH) // — -#define EU_DIV S(EU_MUL) // ÷ -#define EU_LSAQ S(EU_LDAQ) // ‹ -#define EU_RSAQ S(EU_RDAQ) // › -#define EU_BRKP S(ALGR(EU_BSLS)) // ¦ -#define EU_SECT S(ALGR(EU_S)) // § -#define EU_MDDT S(ALGR(EU_SCLN)) // · -#define EU_DIAE ALGR(EU_DQUO) // ¨ (dead) -#define EU_ELLP ALGR(EU_QUES) // … - diff --git a/quantum/keymap_extras/keymap_farsi.h b/quantum/keymap_extras/keymap_farsi.h index e115d9c1c0..8e16188a8f 100644 --- a/quantum/keymap_extras/keymap_farsi.h +++ b/quantum/keymap_extras/keymap_farsi.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_FARSI_KEYCODES_VERSION "0.0.1" -#define QMK_FARSI_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_FARSI_KEYCODES_VERSION_MAJOR 0 -#define QMK_FARSI_KEYCODES_VERSION_MINOR 0 -#define QMK_FARSI_KEYCODES_VERSION_PATCH 1 - // Aliases #define FA_ZWJ KC_GRV // (zero-width joiner) #define FA_1A KC_1 // ۱ @@ -156,7 +150,7 @@ #define FA_DQT ALGR(FA_GAF) // " #define FA_MINA ALGR(FA_BSLS) // - #define FA_PIPE ALGR(FA_ZA) // | -#define FA_SUBA ALGR(FA_RE) // ٖ +#define FA_SUBA ALGR(FA_RA) // ٖ #define FA_HMZB ALGR(FA_DAL) // ء #define FA_ELLP ALGR(FA_PE) // … #define FA_COMM ALGR(FA_WAW) // , diff --git a/quantum/keymap_extras/keymap_finnish.h b/quantum/keymap_extras/keymap_finnish.h index cb21da9962..045f7295a0 100644 --- a/quantum/keymap_extras/keymap_finnish.h +++ b/quantum/keymap_extras/keymap_finnish.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_FINNISH_KEYCODES_VERSION "0.0.1" -#define QMK_FINNISH_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_FINNISH_KEYCODES_VERSION_MAJOR 0 -#define QMK_FINNISH_KEYCODES_VERSION_MINOR 0 -#define QMK_FINNISH_KEYCODES_VERSION_PATCH 1 - // Aliases #define FI_SECT KC_GRV // § #define FI_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_french.h b/quantum/keymap_extras/keymap_french.h index d4352c6481..9ff3694a73 100644 --- a/quantum/keymap_extras/keymap_french.h +++ b/quantum/keymap_extras/keymap_french.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_FRENCH_KEYCODES_VERSION "0.0.1" -#define QMK_FRENCH_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_FRENCH_KEYCODES_VERSION_MAJOR 0 -#define QMK_FRENCH_KEYCODES_VERSION_MINOR 0 -#define QMK_FRENCH_KEYCODES_VERSION_PATCH 1 - // Aliases #define FR_SUP2 KC_GRV // ² #define FR_AMPR KC_1 // & diff --git a/quantum/keymap_extras/keymap_french_afnor.h b/quantum/keymap_extras/keymap_french_afnor.h index 8e6905cc01..07506e0f6e 100644 --- a/quantum/keymap_extras/keymap_french_afnor.h +++ b/quantum/keymap_extras/keymap_french_afnor.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_FRENCH_AFNOR_KEYCODES_VERSION "0.0.1" -#define QMK_FRENCH_AFNOR_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_FRENCH_AFNOR_KEYCODES_VERSION_MAJOR 0 -#define QMK_FRENCH_AFNOR_KEYCODES_VERSION_MINOR 0 -#define QMK_FRENCH_AFNOR_KEYCODES_VERSION_PATCH 1 - // Aliases #define FR_AT KC_GRV // @ #define FR_AGRV KC_1 // à diff --git a/quantum/keymap_extras/keymap_french_mac_iso.h b/quantum/keymap_extras/keymap_french_mac_iso.h index ad9d280f2a..b036ca2009 100644 --- a/quantum/keymap_extras/keymap_french_mac_iso.h +++ b/quantum/keymap_extras/keymap_french_mac_iso.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_FRENCH_MAC_ISO_KEYCODES_VERSION "0.0.1" -#define QMK_FRENCH_MAC_ISO_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_FRENCH_MAC_ISO_KEYCODES_VERSION_MAJOR 0 -#define QMK_FRENCH_MAC_ISO_KEYCODES_VERSION_MINOR 0 -#define QMK_FRENCH_MAC_ISO_KEYCODES_VERSION_PATCH 1 - // Aliases #define FR_AT KC_GRV // @ #define FR_AMPR KC_1 // & diff --git a/quantum/keymap_extras/keymap_german.h b/quantum/keymap_extras/keymap_german.h index bc98daa2fd..7ac807934b 100644 --- a/quantum/keymap_extras/keymap_german.h +++ b/quantum/keymap_extras/keymap_german.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_GERMAN_KEYCODES_VERSION "0.0.1" -#define QMK_GERMAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_GERMAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_GERMAN_KEYCODES_VERSION_MINOR 0 -#define QMK_GERMAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define DE_CIRC KC_GRV // ^ (dead) #define DE_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_german_mac_iso.h b/quantum/keymap_extras/keymap_german_mac_iso.h index ba3143c570..56d077c36c 100644 --- a/quantum/keymap_extras/keymap_german_mac_iso.h +++ b/quantum/keymap_extras/keymap_german_mac_iso.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_GERMAN_MAC_ISO_KEYCODES_VERSION "0.0.1" -#define QMK_GERMAN_MAC_ISO_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_GERMAN_MAC_ISO_KEYCODES_VERSION_MAJOR 0 -#define QMK_GERMAN_MAC_ISO_KEYCODES_VERSION_MINOR 0 -#define QMK_GERMAN_MAC_ISO_KEYCODES_VERSION_PATCH 1 - // Aliases #define DE_CIRC KC_GRV // ^ (dead) #define DE_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_greek.h b/quantum/keymap_extras/keymap_greek.h index fb2f02a04f..0d2e15dfd8 100644 --- a/quantum/keymap_extras/keymap_greek.h +++ b/quantum/keymap_extras/keymap_greek.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_GREEK_KEYCODES_VERSION "0.0.1" -#define QMK_GREEK_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_GREEK_KEYCODES_VERSION_MAJOR 0 -#define QMK_GREEK_KEYCODES_VERSION_MINOR 0 -#define QMK_GREEK_KEYCODES_VERSION_PATCH 1 - // Aliases #define GR_GRV KC_GRV // ` #define GR_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_hebrew.h b/quantum/keymap_extras/keymap_hebrew.h index 5d1d4a29c6..a927364737 100644 --- a/quantum/keymap_extras/keymap_hebrew.h +++ b/quantum/keymap_extras/keymap_hebrew.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_HEBREW_KEYCODES_VERSION "0.0.1" -#define QMK_HEBREW_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_HEBREW_KEYCODES_VERSION_MAJOR 0 -#define QMK_HEBREW_KEYCODES_VERSION_MINOR 0 -#define QMK_HEBREW_KEYCODES_VERSION_PATCH 1 - // Aliases #define IL_SCLN KC_GRV // ; #define IL_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_hungarian.h b/quantum/keymap_extras/keymap_hungarian.h index 27236553e8..81a842a0fe 100644 --- a/quantum/keymap_extras/keymap_hungarian.h +++ b/quantum/keymap_extras/keymap_hungarian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_HUNGARIAN_KEYCODES_VERSION "0.0.1" -#define QMK_HUNGARIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_HUNGARIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_HUNGARIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_HUNGARIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define HU_0 KC_GRV // 0 #define HU_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_icelandic.h b/quantum/keymap_extras/keymap_icelandic.h index 409be27b77..8e4e04b0f1 100644 --- a/quantum/keymap_extras/keymap_icelandic.h +++ b/quantum/keymap_extras/keymap_icelandic.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_ICELANDIC_KEYCODES_VERSION "0.0.1" -#define QMK_ICELANDIC_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_ICELANDIC_KEYCODES_VERSION_MAJOR 0 -#define QMK_ICELANDIC_KEYCODES_VERSION_MINOR 0 -#define QMK_ICELANDIC_KEYCODES_VERSION_PATCH 1 - // Aliases #define IS_RNGA KC_GRV // ° (dead) #define IS_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_irish.h b/quantum/keymap_extras/keymap_irish.h index 587467bcbe..6cb85dc7a7 100644 --- a/quantum/keymap_extras/keymap_irish.h +++ b/quantum/keymap_extras/keymap_irish.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_IRISH_KEYCODES_VERSION "0.0.1" -#define QMK_IRISH_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_IRISH_KEYCODES_VERSION_MAJOR 0 -#define QMK_IRISH_KEYCODES_VERSION_MINOR 0 -#define QMK_IRISH_KEYCODES_VERSION_PATCH 1 - // Aliases #define IE_GRV KC_GRV // ` #define IE_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_italian.h b/quantum/keymap_extras/keymap_italian.h index 9fd7f1b15c..57c12ba9b6 100644 --- a/quantum/keymap_extras/keymap_italian.h +++ b/quantum/keymap_extras/keymap_italian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_ITALIAN_KEYCODES_VERSION "0.0.1" -#define QMK_ITALIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_ITALIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_ITALIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_ITALIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define IT_BSLS KC_GRV // (backslash) #define IT_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_italian_mac_ansi.h b/quantum/keymap_extras/keymap_italian_mac_ansi.h index 9ef38c0d87..4774c2d5ee 100644 --- a/quantum/keymap_extras/keymap_italian_mac_ansi.h +++ b/quantum/keymap_extras/keymap_italian_mac_ansi.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_ITALIAN_MAC_ANSI_KEYCODES_VERSION "0.0.1" -#define QMK_ITALIAN_MAC_ANSI_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_ITALIAN_MAC_ANSI_KEYCODES_VERSION_MAJOR 0 -#define QMK_ITALIAN_MAC_ANSI_KEYCODES_VERSION_MINOR 0 -#define QMK_ITALIAN_MAC_ANSI_KEYCODES_VERSION_PATCH 1 - // Aliases #define IT_LABK KC_GRV // < #define IT_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_italian_mac_iso.h b/quantum/keymap_extras/keymap_italian_mac_iso.h index e80cfa450c..35ec978ef9 100644 --- a/quantum/keymap_extras/keymap_italian_mac_iso.h +++ b/quantum/keymap_extras/keymap_italian_mac_iso.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_ITALIAN_MAC_ISO_KEYCODES_VERSION "0.0.1" -#define QMK_ITALIAN_MAC_ISO_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_ITALIAN_MAC_ISO_KEYCODES_VERSION_MAJOR 0 -#define QMK_ITALIAN_MAC_ISO_KEYCODES_VERSION_MINOR 0 -#define QMK_ITALIAN_MAC_ISO_KEYCODES_VERSION_PATCH 1 - // Aliases #define IT_BSLS KC_GRV // (backslash) #define IT_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_japanese.h b/quantum/keymap_extras/keymap_japanese.h index 55df86e16d..3ad9495353 100644 --- a/quantum/keymap_extras/keymap_japanese.h +++ b/quantum/keymap_extras/keymap_japanese.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_JAPANESE_KEYCODES_VERSION "0.0.1" -#define QMK_JAPANESE_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_JAPANESE_KEYCODES_VERSION_MAJOR 0 -#define QMK_JAPANESE_KEYCODES_VERSION_MINOR 0 -#define QMK_JAPANESE_KEYCODES_VERSION_PATCH 1 - // Aliases #define JP_ZKHK KC_GRV // Zenkaku ↔ Hankaku ↔ Kanji (半角 ↔ 全角 ↔ 漢字) #define JP_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_korean.h b/quantum/keymap_extras/keymap_korean.h index 7bf64c4841..644837734e 100644 --- a/quantum/keymap_extras/keymap_korean.h +++ b/quantum/keymap_extras/keymap_korean.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_KOREAN_KEYCODES_VERSION "0.0.1" -#define QMK_KOREAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_KOREAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_KOREAN_KEYCODES_VERSION_MINOR 0 -#define QMK_KOREAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define KR_GRV KC_GRV // ` #define KR_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_latvian.h b/quantum/keymap_extras/keymap_latvian.h index 4d60c45163..b1750ed759 100644 --- a/quantum/keymap_extras/keymap_latvian.h +++ b/quantum/keymap_extras/keymap_latvian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_LATVIAN_KEYCODES_VERSION "0.0.1" -#define QMK_LATVIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_LATVIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_LATVIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_LATVIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define LV_GRV KC_GRV // ` #define LV_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_lithuanian_azerty.h b/quantum/keymap_extras/keymap_lithuanian_azerty.h index e88cc75e07..9d6c1b92f0 100644 --- a/quantum/keymap_extras/keymap_lithuanian_azerty.h +++ b/quantum/keymap_extras/keymap_lithuanian_azerty.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_LITHUANIAN_AZERTY_KEYCODES_VERSION "0.0.1" -#define QMK_LITHUANIAN_AZERTY_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_LITHUANIAN_AZERTY_KEYCODES_VERSION_MAJOR 0 -#define QMK_LITHUANIAN_AZERTY_KEYCODES_VERSION_MINOR 0 -#define QMK_LITHUANIAN_AZERTY_KEYCODES_VERSION_PATCH 1 - // Aliases #define LT_GRV KC_GRV // ` #define LT_EXLM KC_1 // ! diff --git a/quantum/keymap_extras/keymap_lithuanian_qwerty.h b/quantum/keymap_extras/keymap_lithuanian_qwerty.h index 3321615c1e..84df4c8bd2 100644 --- a/quantum/keymap_extras/keymap_lithuanian_qwerty.h +++ b/quantum/keymap_extras/keymap_lithuanian_qwerty.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_LITHUANIAN_QWERTY_KEYCODES_VERSION "0.0.1" -#define QMK_LITHUANIAN_QWERTY_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_LITHUANIAN_QWERTY_KEYCODES_VERSION_MAJOR 0 -#define QMK_LITHUANIAN_QWERTY_KEYCODES_VERSION_MINOR 0 -#define QMK_LITHUANIAN_QWERTY_KEYCODES_VERSION_PATCH 1 - // Aliases #define LT_GRV KC_GRV // ` #define LT_AOGO KC_1 // Ą diff --git a/quantum/keymap_extras/keymap_neo2.h b/quantum/keymap_extras/keymap_neo2.h index 5d10f19fd5..ad285f7d18 100644 --- a/quantum/keymap_extras/keymap_neo2.h +++ b/quantum/keymap_extras/keymap_neo2.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_NEO2_KEYCODES_VERSION "0.0.1" -#define QMK_NEO2_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_NEO2_KEYCODES_VERSION_MAJOR 0 -#define QMK_NEO2_KEYCODES_VERSION_MINOR 0 -#define QMK_NEO2_KEYCODES_VERSION_PATCH 1 - // Aliases #define NE_CIRC KC_GRV // ^ (dead) #define NE_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_nordic.h b/quantum/keymap_extras/keymap_nordic.h index 3a11b29fc8..ff952e6c43 100644 --- a/quantum/keymap_extras/keymap_nordic.h +++ b/quantum/keymap_extras/keymap_nordic.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_NORDIC_KEYCODES_VERSION "0.0.1" -#define QMK_NORDIC_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_NORDIC_KEYCODES_VERSION_MAJOR 0 -#define QMK_NORDIC_KEYCODES_VERSION_MINOR 0 -#define QMK_NORDIC_KEYCODES_VERSION_PATCH 1 - // Aliases #define NO_HALF KC_GRV #define NO_PLUS KC_MINS diff --git a/quantum/keymap_extras/keymap_norman.h b/quantum/keymap_extras/keymap_norman.h index d47c2ff8a7..166a2f22a1 100644 --- a/quantum/keymap_extras/keymap_norman.h +++ b/quantum/keymap_extras/keymap_norman.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_NORMAN_KEYCODES_VERSION "0.0.1" -#define QMK_NORMAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_NORMAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_NORMAN_KEYCODES_VERSION_MINOR 0 -#define QMK_NORMAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define NM_GRV KC_GRV // ` #define NM_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_norwegian.h b/quantum/keymap_extras/keymap_norwegian.h index 021b8c3b9c..0b0cf65813 100644 --- a/quantum/keymap_extras/keymap_norwegian.h +++ b/quantum/keymap_extras/keymap_norwegian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_NORWEGIAN_KEYCODES_VERSION "0.0.1" -#define QMK_NORWEGIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_NORWEGIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_NORWEGIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_NORWEGIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define NO_PIPE KC_GRV // | #define NO_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_plover.h b/quantum/keymap_extras/keymap_plover.h index e7facfd623..a01a23c8a3 100644 --- a/quantum/keymap_extras/keymap_plover.h +++ b/quantum/keymap_extras/keymap_plover.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_PLOVER_KEYCODES_VERSION "0.0.1" -#define QMK_PLOVER_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_PLOVER_KEYCODES_VERSION_MAJOR 0 -#define QMK_PLOVER_KEYCODES_VERSION_MINOR 0 -#define QMK_PLOVER_KEYCODES_VERSION_PATCH 1 - // Aliases #define PV_NUM KC_1 #define PV_LS KC_Q diff --git a/quantum/keymap_extras/keymap_plover_dvorak.h b/quantum/keymap_extras/keymap_plover_dvorak.h index 5c8a4f9ada..0ec7b9acd3 100644 --- a/quantum/keymap_extras/keymap_plover_dvorak.h +++ b/quantum/keymap_extras/keymap_plover_dvorak.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_PLOVER_DVORAK_KEYCODES_VERSION "0.0.1" -#define QMK_PLOVER_DVORAK_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_PLOVER_DVORAK_KEYCODES_VERSION_MAJOR 0 -#define QMK_PLOVER_DVORAK_KEYCODES_VERSION_MINOR 0 -#define QMK_PLOVER_DVORAK_KEYCODES_VERSION_PATCH 1 - // Aliases #define PD_NUM DV_1 #define PD_LS DV_Q diff --git a/quantum/keymap_extras/keymap_polish.h b/quantum/keymap_extras/keymap_polish.h index e5e48097f7..2448ef1fef 100644 --- a/quantum/keymap_extras/keymap_polish.h +++ b/quantum/keymap_extras/keymap_polish.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_POLISH_KEYCODES_VERSION "0.0.1" -#define QMK_POLISH_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_POLISH_KEYCODES_VERSION_MAJOR 0 -#define QMK_POLISH_KEYCODES_VERSION_MINOR 0 -#define QMK_POLISH_KEYCODES_VERSION_PATCH 1 - // Aliases #define PL_GRV KC_GRV // ` #define PL_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_portuguese.h b/quantum/keymap_extras/keymap_portuguese.h index 44abaf6537..9f79862679 100644 --- a/quantum/keymap_extras/keymap_portuguese.h +++ b/quantum/keymap_extras/keymap_portuguese.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_PORTUGUESE_KEYCODES_VERSION "0.0.1" -#define QMK_PORTUGUESE_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_PORTUGUESE_KEYCODES_VERSION_MAJOR 0 -#define QMK_PORTUGUESE_KEYCODES_VERSION_MINOR 0 -#define QMK_PORTUGUESE_KEYCODES_VERSION_PATCH 1 - // Aliases #define PT_BSLS KC_GRV // (backslash) #define PT_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_portuguese_mac_iso.h b/quantum/keymap_extras/keymap_portuguese_mac_iso.h index f2d04440fb..5381956b4c 100644 --- a/quantum/keymap_extras/keymap_portuguese_mac_iso.h +++ b/quantum/keymap_extras/keymap_portuguese_mac_iso.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_PORTUGUESE_MAC_ISO_KEYCODES_VERSION "0.0.1" -#define QMK_PORTUGUESE_MAC_ISO_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_PORTUGUESE_MAC_ISO_KEYCODES_VERSION_MAJOR 0 -#define QMK_PORTUGUESE_MAC_ISO_KEYCODES_VERSION_MINOR 0 -#define QMK_PORTUGUESE_MAC_ISO_KEYCODES_VERSION_PATCH 1 - // Aliases #define PT_SECT KC_GRV // § #define PT_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_romanian.h b/quantum/keymap_extras/keymap_romanian.h index 9a7239e032..6410fbbe48 100644 --- a/quantum/keymap_extras/keymap_romanian.h +++ b/quantum/keymap_extras/keymap_romanian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_ROMANIAN_KEYCODES_VERSION "0.0.1" -#define QMK_ROMANIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_ROMANIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_ROMANIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_ROMANIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define RO_DLQU KC_GRV // „ #define RO_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_russian.h b/quantum/keymap_extras/keymap_russian.h index b756a657df..364e7aba5c 100644 --- a/quantum/keymap_extras/keymap_russian.h +++ b/quantum/keymap_extras/keymap_russian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_RUSSIAN_KEYCODES_VERSION "0.0.1" -#define QMK_RUSSIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_RUSSIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_RUSSIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_RUSSIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define RU_YO KC_GRV // Ё #define RU_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_russian_typewriter.h b/quantum/keymap_extras/keymap_russian_typewriter.h index 45fb1ede04..18157726ad 100644 --- a/quantum/keymap_extras/keymap_russian_typewriter.h +++ b/quantum/keymap_extras/keymap_russian_typewriter.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_RUSSIAN_TYPEWRITER_KEYCODES_VERSION "0.0.1" -#define QMK_RUSSIAN_TYPEWRITER_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_RUSSIAN_TYPEWRITER_KEYCODES_VERSION_MAJOR 0 -#define QMK_RUSSIAN_TYPEWRITER_KEYCODES_VERSION_MINOR 0 -#define QMK_RUSSIAN_TYPEWRITER_KEYCODES_VERSION_PATCH 1 - // Aliases #define RU_PIPE KC_GRV // | #define RU_NUM KC_1 // № diff --git a/quantum/keymap_extras/keymap_serbian.h b/quantum/keymap_extras/keymap_serbian.h index 202322b591..6421577c22 100644 --- a/quantum/keymap_extras/keymap_serbian.h +++ b/quantum/keymap_extras/keymap_serbian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SERBIAN_KEYCODES_VERSION "0.0.1" -#define QMK_SERBIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SERBIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_SERBIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_SERBIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define RS_GRV KC_GRV // ` #define RS_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_serbian_latin.h b/quantum/keymap_extras/keymap_serbian_latin.h index e863aa4ed8..358c6c76ed 100644 --- a/quantum/keymap_extras/keymap_serbian_latin.h +++ b/quantum/keymap_extras/keymap_serbian_latin.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SERBIAN_LATIN_KEYCODES_VERSION "0.0.1" -#define QMK_SERBIAN_LATIN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SERBIAN_LATIN_KEYCODES_VERSION_MAJOR 0 -#define QMK_SERBIAN_LATIN_KEYCODES_VERSION_MINOR 0 -#define QMK_SERBIAN_LATIN_KEYCODES_VERSION_PATCH 1 - // Aliases #define RS_SLQU KC_GRV // ‚ (dead) #define RS_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_slovak.h b/quantum/keymap_extras/keymap_slovak.h index f5848a6aaf..a777fce16f 100644 --- a/quantum/keymap_extras/keymap_slovak.h +++ b/quantum/keymap_extras/keymap_slovak.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SLOVAK_KEYCODES_VERSION "0.0.1" -#define QMK_SLOVAK_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SLOVAK_KEYCODES_VERSION_MAJOR 0 -#define QMK_SLOVAK_KEYCODES_VERSION_MINOR 0 -#define QMK_SLOVAK_KEYCODES_VERSION_PATCH 1 - // Aliases #define SK_SCLN KC_GRV // ; #define SK_PLUS KC_1 // + diff --git a/quantum/keymap_extras/keymap_slovenian.h b/quantum/keymap_extras/keymap_slovenian.h index 502f06ad64..402a53cd44 100644 --- a/quantum/keymap_extras/keymap_slovenian.h +++ b/quantum/keymap_extras/keymap_slovenian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SLOVENIAN_KEYCODES_VERSION "0.0.1" -#define QMK_SLOVENIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SLOVENIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_SLOVENIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_SLOVENIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define SI_CEDL KC_GRV // ¸ (dead) #define SI_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_spanish.h b/quantum/keymap_extras/keymap_spanish.h index dc23aea639..714c8cbb7c 100644 --- a/quantum/keymap_extras/keymap_spanish.h +++ b/quantum/keymap_extras/keymap_spanish.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SPANISH_KEYCODES_VERSION "0.0.1" -#define QMK_SPANISH_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SPANISH_KEYCODES_VERSION_MAJOR 0 -#define QMK_SPANISH_KEYCODES_VERSION_MINOR 0 -#define QMK_SPANISH_KEYCODES_VERSION_PATCH 1 - // Aliases #define ES_MORD KC_GRV // º #define ES_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_spanish_dvorak.h b/quantum/keymap_extras/keymap_spanish_dvorak.h index e19a84b7e5..b5a6463452 100644 --- a/quantum/keymap_extras/keymap_spanish_dvorak.h +++ b/quantum/keymap_extras/keymap_spanish_dvorak.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SPANISH_DVORAK_KEYCODES_VERSION "0.0.1" -#define QMK_SPANISH_DVORAK_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SPANISH_DVORAK_KEYCODES_VERSION_MAJOR 0 -#define QMK_SPANISH_DVORAK_KEYCODES_VERSION_MINOR 0 -#define QMK_SPANISH_DVORAK_KEYCODES_VERSION_PATCH 1 - // Aliases #define DV_MORD KC_GRV // º #define DV_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_spanish_latin_america.h b/quantum/keymap_extras/keymap_spanish_latin_america.h index 57329d20cd..651212d4bf 100644 --- a/quantum/keymap_extras/keymap_spanish_latin_america.h +++ b/quantum/keymap_extras/keymap_spanish_latin_america.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SPANISH_LATIN_AMERICA_KEYCODES_VERSION "0.0.1" -#define QMK_SPANISH_LATIN_AMERICA_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SPANISH_LATIN_AMERICA_KEYCODES_VERSION_MAJOR 0 -#define QMK_SPANISH_LATIN_AMERICA_KEYCODES_VERSION_MINOR 0 -#define QMK_SPANISH_LATIN_AMERICA_KEYCODES_VERSION_PATCH 1 - // Aliases #define ES_PIPE KC_GRV // | #define ES_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_swedish.h b/quantum/keymap_extras/keymap_swedish.h index a50f8af30d..23ec4102d8 100644 --- a/quantum/keymap_extras/keymap_swedish.h +++ b/quantum/keymap_extras/keymap_swedish.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SWEDISH_KEYCODES_VERSION "0.0.1" -#define QMK_SWEDISH_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SWEDISH_KEYCODES_VERSION_MAJOR 0 -#define QMK_SWEDISH_KEYCODES_VERSION_MINOR 0 -#define QMK_SWEDISH_KEYCODES_VERSION_PATCH 1 - // Aliases #define SE_SECT KC_GRV // § #define SE_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_swedish_mac_ansi.h b/quantum/keymap_extras/keymap_swedish_mac_ansi.h index 642c161dab..18061f0be9 100644 --- a/quantum/keymap_extras/keymap_swedish_mac_ansi.h +++ b/quantum/keymap_extras/keymap_swedish_mac_ansi.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SWEDISH_MAC_ANSI_KEYCODES_VERSION "0.0.1" -#define QMK_SWEDISH_MAC_ANSI_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SWEDISH_MAC_ANSI_KEYCODES_VERSION_MAJOR 0 -#define QMK_SWEDISH_MAC_ANSI_KEYCODES_VERSION_MINOR 0 -#define QMK_SWEDISH_MAC_ANSI_KEYCODES_VERSION_PATCH 1 - // Aliases #define SE_LABK KC_GRV // < #define SE_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_swedish_mac_iso.h b/quantum/keymap_extras/keymap_swedish_mac_iso.h index 50387364cf..0c68ffcbd4 100644 --- a/quantum/keymap_extras/keymap_swedish_mac_iso.h +++ b/quantum/keymap_extras/keymap_swedish_mac_iso.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SWEDISH_MAC_ISO_KEYCODES_VERSION "0.0.1" -#define QMK_SWEDISH_MAC_ISO_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SWEDISH_MAC_ISO_KEYCODES_VERSION_MAJOR 0 -#define QMK_SWEDISH_MAC_ISO_KEYCODES_VERSION_MINOR 0 -#define QMK_SWEDISH_MAC_ISO_KEYCODES_VERSION_PATCH 1 - // Aliases #define SE_SECT KC_GRV // § #define SE_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h b/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h index be1581bb3d..043a7c9fc2 100644 --- a/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h +++ b/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SWEDISH_PRO_MAC_ANSI_KEYCODES_VERSION "0.0.1" -#define QMK_SWEDISH_PRO_MAC_ANSI_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SWEDISH_PRO_MAC_ANSI_KEYCODES_VERSION_MAJOR 0 -#define QMK_SWEDISH_PRO_MAC_ANSI_KEYCODES_VERSION_MINOR 0 -#define QMK_SWEDISH_PRO_MAC_ANSI_KEYCODES_VERSION_PATCH 1 - // Aliases #define SE_LABK KC_GRV // < #define SE_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h b/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h index d50213f987..1d691feef1 100644 --- a/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h +++ b/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SWEDISH_PRO_MAC_ISO_KEYCODES_VERSION "0.0.1" -#define QMK_SWEDISH_PRO_MAC_ISO_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SWEDISH_PRO_MAC_ISO_KEYCODES_VERSION_MAJOR 0 -#define QMK_SWEDISH_PRO_MAC_ISO_KEYCODES_VERSION_MINOR 0 -#define QMK_SWEDISH_PRO_MAC_ISO_KEYCODES_VERSION_PATCH 1 - // Aliases #define SE_SECT KC_GRV // § #define SE_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_swiss_de.h b/quantum/keymap_extras/keymap_swiss_de.h index 4ebdb5c610..5411353a5f 100644 --- a/quantum/keymap_extras/keymap_swiss_de.h +++ b/quantum/keymap_extras/keymap_swiss_de.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SWISS_DE_KEYCODES_VERSION "0.0.1" -#define QMK_SWISS_DE_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SWISS_DE_KEYCODES_VERSION_MAJOR 0 -#define QMK_SWISS_DE_KEYCODES_VERSION_MINOR 0 -#define QMK_SWISS_DE_KEYCODES_VERSION_PATCH 1 - #undef CH_H // Aliases diff --git a/quantum/keymap_extras/keymap_swiss_fr.h b/quantum/keymap_extras/keymap_swiss_fr.h index 11fcc6536d..a9a9cab162 100644 --- a/quantum/keymap_extras/keymap_swiss_fr.h +++ b/quantum/keymap_extras/keymap_swiss_fr.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_SWISS_FR_KEYCODES_VERSION "0.0.1" -#define QMK_SWISS_FR_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_SWISS_FR_KEYCODES_VERSION_MAJOR 0 -#define QMK_SWISS_FR_KEYCODES_VERSION_MINOR 0 -#define QMK_SWISS_FR_KEYCODES_VERSION_PATCH 1 - #undef CH_H // Aliases diff --git a/quantum/keymap_extras/keymap_turkish_f.h b/quantum/keymap_extras/keymap_turkish_f.h index bbdaa3af25..dcf9e815d7 100644 --- a/quantum/keymap_extras/keymap_turkish_f.h +++ b/quantum/keymap_extras/keymap_turkish_f.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_TURKISH_F_KEYCODES_VERSION "0.0.1" -#define QMK_TURKISH_F_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_TURKISH_F_KEYCODES_VERSION_MAJOR 0 -#define QMK_TURKISH_F_KEYCODES_VERSION_MINOR 0 -#define QMK_TURKISH_F_KEYCODES_VERSION_PATCH 1 - // Aliases #define TR_PLUS KC_GRV // + #define TR_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_turkish_q.h b/quantum/keymap_extras/keymap_turkish_q.h index d3fa00d7ae..a86af180cd 100644 --- a/quantum/keymap_extras/keymap_turkish_q.h +++ b/quantum/keymap_extras/keymap_turkish_q.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_TURKISH_Q_KEYCODES_VERSION "0.0.1" -#define QMK_TURKISH_Q_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_TURKISH_Q_KEYCODES_VERSION_MAJOR 0 -#define QMK_TURKISH_Q_KEYCODES_VERSION_MINOR 0 -#define QMK_TURKISH_Q_KEYCODES_VERSION_PATCH 1 - // Aliases #define TR_DQUO KC_GRV // " #define TR_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_uk.h b/quantum/keymap_extras/keymap_uk.h index 7490af6cf6..30f9b972db 100644 --- a/quantum/keymap_extras/keymap_uk.h +++ b/quantum/keymap_extras/keymap_uk.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_UK_KEYCODES_VERSION "0.0.1" -#define QMK_UK_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_UK_KEYCODES_VERSION_MAJOR 0 -#define QMK_UK_KEYCODES_VERSION_MINOR 0 -#define QMK_UK_KEYCODES_VERSION_PATCH 1 - // Aliases #define UK_GRV KC_GRV // ` #define UK_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_ukrainian.h b/quantum/keymap_extras/keymap_ukrainian.h index 78e39f8c75..d3f82a2194 100644 --- a/quantum/keymap_extras/keymap_ukrainian.h +++ b/quantum/keymap_extras/keymap_ukrainian.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_UKRAINIAN_KEYCODES_VERSION "0.0.1" -#define QMK_UKRAINIAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_UKRAINIAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_UKRAINIAN_KEYCODES_VERSION_MINOR 0 -#define QMK_UKRAINIAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define UA_QUOT KC_GRV // ' #define UA_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_us.h b/quantum/keymap_extras/keymap_us.h index b6e380ab23..74c9b8e7f8 100644 --- a/quantum/keymap_extras/keymap_us.h +++ b/quantum/keymap_extras/keymap_us.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_US_KEYCODES_VERSION "0.0.1" -#define QMK_US_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_US_KEYCODES_VERSION_MAJOR 0 -#define QMK_US_KEYCODES_VERSION_MINOR 0 -#define QMK_US_KEYCODES_VERSION_PATCH 1 - // Aliases #define KC_TILD S(KC_GRAVE) // ~ #define KC_EXLM S(KC_1) // ! diff --git a/quantum/keymap_extras/keymap_us_extended.h b/quantum/keymap_extras/keymap_us_extended.h index 4262a7c44e..d17d3e603e 100644 --- a/quantum/keymap_extras/keymap_us_extended.h +++ b/quantum/keymap_extras/keymap_us_extended.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_US_EXTENDED_KEYCODES_VERSION "0.0.1" -#define QMK_US_EXTENDED_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_US_EXTENDED_KEYCODES_VERSION_MAJOR 0 -#define QMK_US_EXTENDED_KEYCODES_VERSION_MINOR 0 -#define QMK_US_EXTENDED_KEYCODES_VERSION_PATCH 1 - // Aliases #define US_GRV KC_GRV // ` #define US_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_us_international.h b/quantum/keymap_extras/keymap_us_international.h index adc7051fe4..a9617494a8 100644 --- a/quantum/keymap_extras/keymap_us_international.h +++ b/quantum/keymap_extras/keymap_us_international.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_US_INTERNATIONAL_KEYCODES_VERSION "0.0.1" -#define QMK_US_INTERNATIONAL_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_US_INTERNATIONAL_KEYCODES_VERSION_MAJOR 0 -#define QMK_US_INTERNATIONAL_KEYCODES_VERSION_MINOR 0 -#define QMK_US_INTERNATIONAL_KEYCODES_VERSION_PATCH 1 - // Aliases #define US_DGRV KC_GRV // ` (dead) #define US_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_us_international_linux.h b/quantum/keymap_extras/keymap_us_international_linux.h index db315968d6..b13039be05 100644 --- a/quantum/keymap_extras/keymap_us_international_linux.h +++ b/quantum/keymap_extras/keymap_us_international_linux.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_US_INTERNATIONAL_LINUX_KEYCODES_VERSION "0.0.1" -#define QMK_US_INTERNATIONAL_LINUX_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_US_INTERNATIONAL_LINUX_KEYCODES_VERSION_MAJOR 0 -#define QMK_US_INTERNATIONAL_LINUX_KEYCODES_VERSION_MINOR 0 -#define QMK_US_INTERNATIONAL_LINUX_KEYCODES_VERSION_PATCH 1 - // Aliases #define US_DGRV KC_GRV // ` (dead) #define US_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_workman.h b/quantum/keymap_extras/keymap_workman.h index 727e44512c..29396fdec1 100644 --- a/quantum/keymap_extras/keymap_workman.h +++ b/quantum/keymap_extras/keymap_workman.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_WORKMAN_KEYCODES_VERSION "0.0.1" -#define QMK_WORKMAN_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_WORKMAN_KEYCODES_VERSION_MAJOR 0 -#define QMK_WORKMAN_KEYCODES_VERSION_MINOR 0 -#define QMK_WORKMAN_KEYCODES_VERSION_PATCH 1 - // Aliases #define WK_GRV KC_GRV // ` #define WK_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_workman_zxcvm.h b/quantum/keymap_extras/keymap_workman_zxcvm.h index 4655af60d6..f7a5689f0f 100644 --- a/quantum/keymap_extras/keymap_workman_zxcvm.h +++ b/quantum/keymap_extras/keymap_workman_zxcvm.h @@ -27,12 +27,6 @@ #include "keycodes.h" // clang-format off -#define QMK_WORKMAN_ZXCVM_KEYCODES_VERSION "0.0.1" -#define QMK_WORKMAN_ZXCVM_KEYCODES_VERSION_BCD 0x00000001 -#define QMK_WORKMAN_ZXCVM_KEYCODES_VERSION_MAJOR 0 -#define QMK_WORKMAN_ZXCVM_KEYCODES_VERSION_MINOR 0 -#define QMK_WORKMAN_ZXCVM_KEYCODES_VERSION_PATCH 1 - // Aliases #define WK_GRV KC_GRV // ` #define WK_1 KC_1 // 1 diff --git a/quantum/keymap_introspection.c b/quantum/keymap_introspection.c index 99fd3f929e..236b54ce98 100644 --- a/quantum/keymap_introspection.c +++ b/quantum/keymap_introspection.c @@ -1,10 +1,6 @@ // Copyright 2022 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later -#if defined(COMMUNITY_MODULES_ENABLE) -# include "community_modules_introspection.h" -#endif // defined(COMMUNITY_MODULES_ENABLE) - // Pull the actual keymap code so that we can inspect stuff from it #include KEYMAP_C @@ -13,7 +9,6 @@ # include INTROSPECTION_KEYMAP_C #endif // INTROSPECTION_KEYMAP_C -#include "compiler_support.h" #include "keymap_introspection.h" #include "util.h" @@ -31,9 +26,9 @@ __attribute__((weak)) uint8_t keymap_layer_count(void) { } #ifdef DYNAMIC_KEYMAP_ENABLE -STATIC_ASSERT(NUM_KEYMAP_LAYERS_RAW <= MAX_LAYER, "Number of keymap layers exceeds maximum set by DYNAMIC_KEYMAP_LAYER_COUNT"); +_Static_assert(NUM_KEYMAP_LAYERS_RAW <= MAX_LAYER, "Number of keymap layers exceeds maximum set by DYNAMIC_KEYMAP_LAYER_COUNT"); #else -STATIC_ASSERT(NUM_KEYMAP_LAYERS_RAW <= MAX_LAYER, "Number of keymap layers exceeds maximum set by LAYER_STATE_(8|16|32)BIT"); +_Static_assert(NUM_KEYMAP_LAYERS_RAW <= MAX_LAYER, "Number of keymap layers exceeds maximum set by LAYER_STATE_(8|16|32)BIT"); #endif uint16_t keycode_at_keymap_location_raw(uint8_t layer_num, uint8_t row, uint8_t column) { @@ -62,7 +57,7 @@ __attribute__((weak)) uint8_t encodermap_layer_count(void) { return encodermap_layer_count_raw(); } -STATIC_ASSERT(NUM_KEYMAP_LAYERS_RAW == NUM_ENCODERMAP_LAYERS_RAW, "Number of encoder_map layers doesn't match the number of keymap layers"); +_Static_assert(NUM_KEYMAP_LAYERS_RAW == NUM_ENCODERMAP_LAYERS_RAW, "Number of encoder_map layers doesn't match the number of keymap layers"); uint16_t keycode_at_encodermap_location_raw(uint8_t layer_num, uint8_t encoder_idx, bool clockwise) { if (layer_num < NUM_ENCODERMAP_LAYERS_RAW && encoder_idx < NUM_ENCODERS) { @@ -107,7 +102,7 @@ __attribute__((weak)) uint16_t combo_count(void) { return combo_count_raw(); } -STATIC_ASSERT(ARRAY_SIZE(key_combos) <= (QK_KB), "Number of combos is abnormally high. Are you using SAFE_RANGE in an enum for combos?"); +_Static_assert(ARRAY_SIZE(key_combos) <= (QK_KB), "Number of combos is abnormally high. Are you using SAFE_RANGE in an enum for combos?"); combo_t* combo_get_raw(uint16_t combo_idx) { if (combo_idx >= combo_count_raw()) { @@ -134,7 +129,7 @@ __attribute__((weak)) uint16_t tap_dance_count(void) { return tap_dance_count_raw(); } -STATIC_ASSERT(ARRAY_SIZE(tap_dance_actions) <= (QK_TAP_DANCE_MAX - QK_TAP_DANCE), "Number of tap dance actions exceeds maximum. Are you using SAFE_RANGE in tap dance enum?"); +_Static_assert(ARRAY_SIZE(tap_dance_actions) <= (QK_TAP_DANCE_MAX - QK_TAP_DANCE), "Number of tap dance actions exceeds maximum. Are you using SAFE_RANGE in tap dance enum?"); tap_dance_action_t* tap_dance_get_raw(uint16_t tap_dance_idx) { if (tap_dance_idx >= tap_dance_count_raw()) { @@ -162,7 +157,7 @@ __attribute__((weak)) uint16_t key_override_count(void) { return key_override_count_raw(); } -STATIC_ASSERT(ARRAY_SIZE(key_overrides) <= (QK_KB), "Number of key overrides is abnormally high. Are you using SAFE_RANGE in an enum for key overrides?"); +_Static_assert(ARRAY_SIZE(key_overrides) <= (QK_KB), "Number of key overrides is abnormally high. Are you using SAFE_RANGE in an enum for key overrides?"); const key_override_t* key_override_get_raw(uint16_t key_override_idx) { if (key_override_idx >= key_override_count_raw()) { @@ -176,10 +171,3 @@ __attribute__((weak)) const key_override_t* key_override_get(uint16_t key_overri } #endif // defined(KEY_OVERRIDE_ENABLE) - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Community modules (must be last in this file!) - -#if defined(COMMUNITY_MODULES_ENABLE) -# include "community_modules_introspection.c" -#endif // defined(COMMUNITY_MODULES_ENABLE) diff --git a/quantum/leader.c b/quantum/leader.c index 23e5e8cd6d..272609ad0c 100644 --- a/quantum/leader.c +++ b/quantum/leader.c @@ -21,10 +21,6 @@ __attribute__((weak)) void leader_start_user(void) {} __attribute__((weak)) void leader_end_user(void) {} -__attribute__((weak)) bool leader_add_user(uint16_t keycode) { - return false; -} - void leader_start(void) { if (leading) { return; @@ -65,9 +61,6 @@ bool leader_sequence_add(uint16_t keycode) { leader_sequence[leader_sequence_size] = keycode; leader_sequence_size++; - if (leader_add_user(keycode)) { - leader_end(); - } return true; } diff --git a/quantum/leader.h b/quantum/leader.h index fba6b287ba..3177fcd196 100644 --- a/quantum/leader.h +++ b/quantum/leader.h @@ -21,15 +21,6 @@ void leader_start_user(void); */ void leader_end_user(void); -/** - * \brief User callback, invoked when a keycode is added to the leader sequence. - * - * \param keycode The keycode added to the leader sequence. - * - * \return `true` to finish the key sequence, `false` to continue. - */ -bool leader_add_user(uint16_t keycode); - /** * Begin the leader sequence, resetting the buffer and timer. */ diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index 7a0e8a5ebb..58263c62e3 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c @@ -19,6 +19,7 @@ #include "led_matrix.h" #include "progmem.h" +#include "eeprom.h" #include "eeconfig.h" #include "keyboard.h" #include "sync_timer.h" @@ -45,9 +46,6 @@ const led_point_t k_led_matrix_center = LED_MATRIX_CENTER; #define LED_MATRIX_CUSTOM_EFFECT_IMPLS #include "led_matrix_effects.inc" -#ifdef COMMUNITY_MODULES_ENABLE -# include "led_matrix_community_modules.inc" -#endif #ifdef LED_MATRIX_CUSTOM_KB # include "led_matrix_kb.inc" #endif @@ -88,9 +86,9 @@ static last_hit_t last_hit_buffer; const uint8_t k_led_matrix_split[2] = LED_MATRIX_SPLIT; #endif -EECONFIG_DEBOUNCE_HELPER(led_matrix, led_matrix_eeconfig); +EECONFIG_DEBOUNCE_HELPER(led_matrix, EECONFIG_LED_MATRIX, led_matrix_eeconfig); -void eeconfig_force_flush_led_matrix(void) { +void eeconfig_update_led_matrix(void) { eeconfig_flush_led_matrix(true); } @@ -285,15 +283,6 @@ static void led_task_render(uint8_t effect) { #include "led_matrix_effects.inc" #undef LED_MATRIX_EFFECT -#ifdef COMMUNITY_MODULES_ENABLE -# define LED_MATRIX_EFFECT(name, ...) \ - case LED_MATRIX_COMMUNITY_MODULE_##name: \ - rendering = name(&led_effect_params); \ - break; -# include "led_matrix_community_modules.inc" -# undef LED_MATRIX_EFFECT -#endif - #if defined(LED_MATRIX_CUSTOM_KB) || defined(LED_MATRIX_CUSTOM_USER) # define LED_MATRIX_EFFECT(name, ...) \ case LED_MATRIX_CUSTOM_##name: \ @@ -370,12 +359,7 @@ void led_matrix_task(void) { } } -__attribute__((weak)) bool led_matrix_indicators_modules(void) { - return true; -} - void led_matrix_indicators(void) { - led_matrix_indicators_modules(); led_matrix_indicators_kb(); } @@ -387,10 +371,6 @@ __attribute__((weak)) bool led_matrix_indicators_user(void) { return true; } -__attribute__((weak)) bool led_matrix_indicators_advanced_modules(uint8_t led_min, uint8_t led_max) { - return true; -} - void led_matrix_indicators_advanced(effect_params_t *params) { /* special handling is needed for "params->iter", since it's already been incremented. * Could move the invocations to led_task_render, but then it's missing a few checks @@ -398,7 +378,6 @@ void led_matrix_indicators_advanced(effect_params_t *params) { * led_task_render, right before the iter++ line. */ LED_MATRIX_USE_LIMITS_ITER(min, max, params->iter - 1); - led_matrix_indicators_advanced_modules(min, max); led_matrix_indicators_advanced_kb(min, max); } diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index 0dfe33ffab..a3468a2003 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -98,12 +98,6 @@ enum led_matrix_effects { #include "led_matrix_effects.inc" #undef LED_MATRIX_EFFECT -#ifdef COMMUNITY_MODULES_ENABLE -# define LED_MATRIX_EFFECT(name, ...) LED_MATRIX_COMMUNITY_MODULE_##name, -# include "led_matrix_community_modules.inc" -# undef LED_MATRIX_EFFECT -#endif - #if defined(LED_MATRIX_CUSTOM_KB) || defined(LED_MATRIX_CUSTOM_USER) # define LED_MATRIX_EFFECT(name, ...) LED_MATRIX_CUSTOM_##name, # ifdef LED_MATRIX_CUSTOM_KB @@ -121,7 +115,7 @@ enum led_matrix_effects { }; void eeconfig_update_led_matrix_default(void); -void eeconfig_force_flush_led_matrix(void); +void eeconfig_update_led_matrix(void); void eeconfig_debug_led_matrix(void); uint8_t led_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i); diff --git a/quantum/led_matrix/led_matrix_types.h b/quantum/led_matrix/led_matrix_types.h index 26a199701e..5a516ceb10 100644 --- a/quantum/led_matrix/led_matrix_types.h +++ b/quantum/led_matrix/led_matrix_types.h @@ -18,8 +18,6 @@ #include #include - -#include "compiler_support.h" #include "util.h" #if defined(LED_MATRIX_KEYPRESSES) || defined(LED_MATRIX_KEYRELEASES) @@ -73,7 +71,7 @@ typedef struct PACKED { uint8_t flags[LED_MATRIX_LED_COUNT]; } led_config_t; -typedef union led_eeconfig_t { +typedef union { uint32_t raw; struct PACKED { uint8_t enable : 2; @@ -84,4 +82,4 @@ typedef union led_eeconfig_t { }; } led_eeconfig_t; -STATIC_ASSERT(sizeof(led_eeconfig_t) == sizeof(uint32_t), "LED Matrix EECONFIG out of spec."); +_Static_assert(sizeof(led_eeconfig_t) == sizeof(uint32_t), "LED Matrix EECONFIG out of spec."); diff --git a/quantum/logging/debug.h b/quantum/logging/debug.h index 6675680ec7..b0d9b9a10e 100644 --- a/quantum/logging/debug.h +++ b/quantum/logging/debug.h @@ -28,7 +28,7 @@ extern "C" { /* * Debug output control */ -typedef union debug_config_t { +typedef union { struct { bool enable : 1; bool matrix : 1; diff --git a/quantum/nvm/eeprom/nvm_dynamic_keymap.c b/quantum/nvm/eeprom/nvm_dynamic_keymap.c deleted file mode 100644 index 5ff49795b2..0000000000 --- a/quantum/nvm/eeprom/nvm_dynamic_keymap.c +++ /dev/null @@ -1,194 +0,0 @@ -// Copyright 2024 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "compiler_support.h" -#include "keycodes.h" -#include "eeprom.h" -#include "dynamic_keymap.h" -#include "nvm_dynamic_keymap.h" -#include "nvm_eeprom_eeconfig_internal.h" -#include "nvm_eeprom_via_internal.h" - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -#ifdef ENCODER_ENABLE -# include "encoder.h" -#endif - -#ifdef VIA_ENABLE -# include "via.h" -# define DYNAMIC_KEYMAP_EEPROM_START (VIA_EEPROM_CONFIG_END) -#else -# define DYNAMIC_KEYMAP_EEPROM_START (EECONFIG_SIZE) -#endif - -#ifndef DYNAMIC_KEYMAP_EEPROM_MAX_ADDR -# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR (TOTAL_EEPROM_BYTE_COUNT - 1) -#endif - -STATIC_ASSERT(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR <= (TOTAL_EEPROM_BYTE_COUNT - 1), "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR is configured to use more space than what is available for the selected EEPROM driver"); - -// Due to usage of uint16_t check for max 65535 -STATIC_ASSERT(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR <= 65535, "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR must be less than 65536"); - -// If DYNAMIC_KEYMAP_EEPROM_ADDR not explicitly defined in config.h, -#ifndef DYNAMIC_KEYMAP_EEPROM_ADDR -# define DYNAMIC_KEYMAP_EEPROM_ADDR DYNAMIC_KEYMAP_EEPROM_START -#endif - -// Dynamic encoders starts after dynamic keymaps -#ifndef DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR -# define DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR (DYNAMIC_KEYMAP_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2)) -#endif - -// Dynamic macro starts after dynamic encoders, but only when using ENCODER_MAP -#ifdef ENCODER_MAP_ENABLE -# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR -# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * NUM_ENCODERS * 2 * 2)) -# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR -#else // ENCODER_MAP_ENABLE -# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR -# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR) -# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR -#endif // ENCODER_MAP_ENABLE - -// Sanity check that dynamic keymaps fit in available EEPROM -// If there's not 100 bytes available for macros, then something is wrong. -// The keyboard should override DYNAMIC_KEYMAP_LAYER_COUNT to reduce it, -// or DYNAMIC_KEYMAP_EEPROM_MAX_ADDR to increase it, *only if* the microcontroller has -// more than the default. -STATIC_ASSERT((int64_t)(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) - (int64_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR) >= 100, "Dynamic keymaps are configured to use more EEPROM than is available."); - -#ifndef TOTAL_EEPROM_BYTE_COUNT -# error Unknown total EEPROM size. Cannot derive maximum for dynamic keymaps. -#endif -// Dynamic macros are stored after the keymaps and use what is available -// up to and including DYNAMIC_KEYMAP_EEPROM_MAX_ADDR. -#ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE -# define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE (DYNAMIC_KEYMAP_EEPROM_MAX_ADDR - DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + 1) -#endif - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void nvm_dynamic_keymap_erase(void) { - // No-op, nvm_eeconfig_erase() will have already erased EEPROM if necessary. -} - -void nvm_dynamic_keymap_macro_erase(void) { - // No-op, nvm_eeconfig_erase() will have already erased EEPROM if necessary. -} - -static inline void *dynamic_keymap_key_to_eeprom_address(uint8_t layer, uint8_t row, uint8_t column) { - return ((void *)DYNAMIC_KEYMAP_EEPROM_ADDR) + (layer * MATRIX_ROWS * MATRIX_COLS * 2) + (row * MATRIX_COLS * 2) + (column * 2); -} - -uint16_t nvm_dynamic_keymap_read_keycode(uint8_t layer, uint8_t row, uint8_t column) { - if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || row >= MATRIX_ROWS || column >= MATRIX_COLS) return KC_NO; - void *address = dynamic_keymap_key_to_eeprom_address(layer, row, column); - // Big endian, so we can read/write EEPROM directly from host if we want - uint16_t keycode = eeprom_read_byte(address) << 8; - keycode |= eeprom_read_byte(address + 1); - return keycode; -} - -void nvm_dynamic_keymap_update_keycode(uint8_t layer, uint8_t row, uint8_t column, uint16_t keycode) { - if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || row >= MATRIX_ROWS || column >= MATRIX_COLS) return; - void *address = dynamic_keymap_key_to_eeprom_address(layer, row, column); - // Big endian, so we can read/write EEPROM directly from host if we want - eeprom_update_byte(address, (uint8_t)(keycode >> 8)); - eeprom_update_byte(address + 1, (uint8_t)(keycode & 0xFF)); -} - -#ifdef ENCODER_MAP_ENABLE -static void *dynamic_keymap_encoder_to_eeprom_address(uint8_t layer, uint8_t encoder_id) { - return ((void *)DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR) + (layer * NUM_ENCODERS * 2 * 2) + (encoder_id * 2 * 2); -} - -uint16_t nvm_dynamic_keymap_read_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise) { - if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || encoder_id >= NUM_ENCODERS) return KC_NO; - void *address = dynamic_keymap_encoder_to_eeprom_address(layer, encoder_id); - // Big endian, so we can read/write EEPROM directly from host if we want - uint16_t keycode = ((uint16_t)eeprom_read_byte(address + (clockwise ? 0 : 2))) << 8; - keycode |= eeprom_read_byte(address + (clockwise ? 0 : 2) + 1); - return keycode; -} - -void nvm_dynamic_keymap_update_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise, uint16_t keycode) { - if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || encoder_id >= NUM_ENCODERS) return; - void *address = dynamic_keymap_encoder_to_eeprom_address(layer, encoder_id); - // Big endian, so we can read/write EEPROM directly from host if we want - eeprom_update_byte(address + (clockwise ? 0 : 2), (uint8_t)(keycode >> 8)); - eeprom_update_byte(address + (clockwise ? 0 : 2) + 1, (uint8_t)(keycode & 0xFF)); -} -#endif // ENCODER_MAP_ENABLE - -void nvm_dynamic_keymap_read_buffer(uint32_t offset, uint32_t size, uint8_t *data) { - uint32_t dynamic_keymap_eeprom_size = DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2; - void * source = (void *)(uintptr_t)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset); - uint8_t *target = data; - for (uint32_t i = 0; i < size; i++) { - if (offset + i < dynamic_keymap_eeprom_size) { - *target = eeprom_read_byte(source); - } else { - *target = 0x00; - } - source++; - target++; - } -} - -void nvm_dynamic_keymap_update_buffer(uint32_t offset, uint32_t size, uint8_t *data) { - uint32_t dynamic_keymap_eeprom_size = DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2; - void * target = (void *)(uintptr_t)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset); - uint8_t *source = data; - for (uint32_t i = 0; i < size; i++) { - if (offset + i < dynamic_keymap_eeprom_size) { - eeprom_update_byte(target, *source); - } - source++; - target++; - } -} - -uint32_t nvm_dynamic_keymap_macro_size(void) { - return DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE; -} - -void nvm_dynamic_keymap_macro_read_buffer(uint32_t offset, uint32_t size, uint8_t *data) { - void * source = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset); - uint8_t *target = data; - for (uint16_t i = 0; i < size; i++) { - if (offset + i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE) { - *target = eeprom_read_byte(source); - } else { - *target = 0x00; - } - source++; - target++; - } -} - -void nvm_dynamic_keymap_macro_update_buffer(uint32_t offset, uint32_t size, uint8_t *data) { - void * target = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset); - uint8_t *source = data; - for (uint16_t i = 0; i < size; i++) { - if (offset + i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE) { - eeprom_update_byte(target, *source); - } - source++; - target++; - } -} - -void nvm_dynamic_keymap_macro_reset(void) { - void * start = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR); - void * end = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE); - long remaining = end - start; - uint8_t dummy[16] = {0}; - for (int i = 0; i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE; i += sizeof(dummy)) { - int this_loop = remaining < sizeof(dummy) ? remaining : sizeof(dummy); - eeprom_update_block(dummy, start, this_loop); - start += this_loop; - remaining -= this_loop; - } -} diff --git a/quantum/nvm/eeprom/nvm_eeconfig.c b/quantum/nvm/eeprom/nvm_eeconfig.c deleted file mode 100644 index d9495d2753..0000000000 --- a/quantum/nvm/eeprom/nvm_eeconfig.c +++ /dev/null @@ -1,305 +0,0 @@ -// Copyright 2024 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#include -#include "nvm_eeconfig.h" -#include "nvm_eeprom_eeconfig_internal.h" -#include "util.h" -#include "eeconfig.h" -#include "debug.h" -#include "eeprom.h" -#include "keycode_config.h" - -#ifdef EEPROM_DRIVER -# include "eeprom_driver.h" -#endif - -#ifdef AUDIO_ENABLE -# include "audio.h" -#endif - -#ifdef BACKLIGHT_ENABLE -# include "backlight.h" -#endif - -#ifdef RGBLIGHT_ENABLE -# include "rgblight.h" -#endif - -#ifdef RGB_MATRIX_ENABLE -# include "rgb_matrix_types.h" -#endif - -#ifdef LED_MATRIX_ENABLE -# include "led_matrix_types.h" -#endif - -#ifdef UNICODE_COMMON_ENABLE -# include "unicode.h" -#endif - -#ifdef HAPTIC_ENABLE -# include "haptic.h" -#endif - -#ifdef CONNECTION_ENABLE -# include "connection.h" -#endif - -void nvm_eeconfig_erase(void) { -#ifdef EEPROM_DRIVER - eeprom_driver_format(false); -#endif // EEPROM_DRIVER -} - -bool nvm_eeconfig_is_enabled(void) { - return eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER; -} - -bool nvm_eeconfig_is_disabled(void) { - return eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER_OFF; -} - -void nvm_eeconfig_enable(void) { - eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); -} - -void nvm_eeconfig_disable(void) { -#if defined(EEPROM_DRIVER) - eeprom_driver_format(false); -#endif - eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER_OFF); -} - -void nvm_eeconfig_read_debug(debug_config_t *debug_config) { - debug_config->raw = eeprom_read_byte(EECONFIG_DEBUG); -} -void nvm_eeconfig_update_debug(const debug_config_t *debug_config) { - eeprom_update_byte(EECONFIG_DEBUG, debug_config->raw); -} - -layer_state_t nvm_eeconfig_read_default_layer(void) { - uint8_t val = eeprom_read_byte(EECONFIG_DEFAULT_LAYER); -#ifdef DEFAULT_LAYER_STATE_IS_VALUE_NOT_BITMASK - // stored as a layer number, so convert back to bitmask - return (layer_state_t)1 << val; -#else - // stored as 8-bit-wide bitmask, so read the value directly - handling padding to 16/32 bit layer_state_t - return (layer_state_t)val; -#endif -} -void nvm_eeconfig_update_default_layer(layer_state_t state) { -#ifdef DEFAULT_LAYER_STATE_IS_VALUE_NOT_BITMASK - // stored as a layer number, so only store the highest layer - uint8_t val = get_highest_layer(state); -#else - // stored as 8-bit-wide bitmask, so write the value directly - handling truncation from 16/32 bit layer_state_t - uint8_t val = (uint8_t)state; -#endif - eeprom_update_byte(EECONFIG_DEFAULT_LAYER, val); -} - -void nvm_eeconfig_read_keymap(keymap_config_t *keymap_config) { - keymap_config->raw = eeprom_read_word(EECONFIG_KEYMAP); -} -void nvm_eeconfig_update_keymap(const keymap_config_t *keymap_config) { - eeprom_update_word(EECONFIG_KEYMAP, keymap_config->raw); -} - -#ifdef AUDIO_ENABLE -void nvm_eeconfig_read_audio(audio_config_t *audio_config) { - audio_config->raw = eeprom_read_byte(EECONFIG_AUDIO); -} -void nvm_eeconfig_update_audio(const audio_config_t *audio_config) { - eeprom_update_byte(EECONFIG_AUDIO, audio_config->raw); -} -#endif // AUDIO_ENABLE - -#ifdef UNICODE_COMMON_ENABLE -void nvm_eeconfig_read_unicode_mode(unicode_config_t *unicode_config) { - unicode_config->raw = eeprom_read_byte(EECONFIG_UNICODEMODE); -} -void nvm_eeconfig_update_unicode_mode(const unicode_config_t *unicode_config) { - eeprom_update_byte(EECONFIG_UNICODEMODE, unicode_config->raw); -} -#endif // UNICODE_COMMON_ENABLE - -#ifdef BACKLIGHT_ENABLE -void nvm_eeconfig_read_backlight(backlight_config_t *backlight_config) { - backlight_config->raw = eeprom_read_byte(EECONFIG_BACKLIGHT); -} -void nvm_eeconfig_update_backlight(const backlight_config_t *backlight_config) { - eeprom_update_byte(EECONFIG_BACKLIGHT, backlight_config->raw); -} -#endif // BACKLIGHT_ENABLE - -#ifdef STENO_ENABLE -uint8_t nvm_eeconfig_read_steno_mode(void) { - return eeprom_read_byte(EECONFIG_STENOMODE); -} -void nvm_eeconfig_update_steno_mode(uint8_t val) { - eeprom_update_byte(EECONFIG_STENOMODE, val); -} -#endif // STENO_ENABLE - -#ifdef RGBLIGHT_ENABLE -#endif // RGBLIGHT_ENABLE - -#ifdef RGB_MATRIX_ENABLE -void nvm_eeconfig_read_rgb_matrix(rgb_config_t *rgb_matrix_config) { - eeprom_read_block(rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_config_t)); -} -void nvm_eeconfig_update_rgb_matrix(const rgb_config_t *rgb_matrix_config) { - eeprom_update_block(rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_config_t)); -} -#endif // RGB_MATRIX_ENABLE - -#ifdef LED_MATRIX_ENABLE -void nvm_eeconfig_read_led_matrix(led_eeconfig_t *led_matrix_config) { - eeprom_read_block(led_matrix_config, EECONFIG_LED_MATRIX, sizeof(led_eeconfig_t)); -} -void nvm_eeconfig_update_led_matrix(const led_eeconfig_t *led_matrix_config) { - eeprom_update_block(led_matrix_config, EECONFIG_LED_MATRIX, sizeof(led_eeconfig_t)); -} -#endif // LED_MATRIX_ENABLE - -#ifdef RGBLIGHT_ENABLE -void nvm_eeconfig_read_rgblight(rgblight_config_t *rgblight_config) { - rgblight_config->raw = eeprom_read_dword(EECONFIG_RGBLIGHT); - rgblight_config->raw |= ((uint64_t)eeprom_read_byte(EECONFIG_RGBLIGHT_EXTENDED) << 32); -} -void nvm_eeconfig_update_rgblight(const rgblight_config_t *rgblight_config) { - eeprom_update_dword(EECONFIG_RGBLIGHT, rgblight_config->raw & 0xFFFFFFFF); - eeprom_update_byte(EECONFIG_RGBLIGHT_EXTENDED, (rgblight_config->raw >> 32) & 0xFF); -} -#endif // RGBLIGHT_ENABLE - -#if (EECONFIG_KB_DATA_SIZE) == 0 -uint32_t nvm_eeconfig_read_kb(void) { - return eeprom_read_dword(EECONFIG_KEYBOARD); -} -void nvm_eeconfig_update_kb(uint32_t val) { - eeprom_update_dword(EECONFIG_KEYBOARD, val); -} -#endif // (EECONFIG_KB_DATA_SIZE) == 0 - -#if (EECONFIG_USER_DATA_SIZE) == 0 -uint32_t nvm_eeconfig_read_user(void) { - return eeprom_read_dword(EECONFIG_USER); -} -void nvm_eeconfig_update_user(uint32_t val) { - eeprom_update_dword(EECONFIG_USER, val); -} -#endif // (EECONFIG_USER_DATA_SIZE) == 0 - -#ifdef HAPTIC_ENABLE -void nvm_eeconfig_read_haptic(haptic_config_t *haptic_config) { - haptic_config->raw = eeprom_read_dword(EECONFIG_HAPTIC); -} -void nvm_eeconfig_update_haptic(const haptic_config_t *haptic_config) { - eeprom_update_dword(EECONFIG_HAPTIC, haptic_config->raw); -} -#endif // HAPTIC_ENABLE - -#ifdef CONNECTION_ENABLE -void nvm_eeconfig_read_connection(connection_config_t *config) { - config->raw = eeprom_read_byte(EECONFIG_CONNECTION); -} -void nvm_eeconfig_update_connection(const connection_config_t *config) { - eeprom_update_byte(EECONFIG_CONNECTION, config->raw); -} -#endif // CONNECTION_ENABLE - -bool nvm_eeconfig_read_handedness(void) { - return !!eeprom_read_byte(EECONFIG_HANDEDNESS); -} -void nvm_eeconfig_update_handedness(bool val) { - eeprom_update_byte(EECONFIG_HANDEDNESS, !!val); -} - -#if (EECONFIG_KB_DATA_SIZE) > 0 - -bool nvm_eeconfig_is_kb_datablock_valid(void) { - return eeprom_read_dword(EECONFIG_KEYBOARD) == (EECONFIG_KB_DATA_VERSION); -} - -uint32_t nvm_eeconfig_read_kb_datablock(void *data, uint32_t offset, uint32_t length) { - if (eeconfig_is_kb_datablock_valid()) { - void *ee_start = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + offset); - void *ee_end = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + MIN(EECONFIG_KB_DATA_SIZE, offset + length)); - eeprom_read_block(data, ee_start, ee_end - ee_start); - return ee_end - ee_start; - } else { - memset(data, 0, length); - return length; - } -} - -uint32_t nvm_eeconfig_update_kb_datablock(const void *data, uint32_t offset, uint32_t length) { - eeprom_update_dword(EECONFIG_KEYBOARD, (EECONFIG_KB_DATA_VERSION)); - - void *ee_start = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + offset); - void *ee_end = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + MIN(EECONFIG_KB_DATA_SIZE, offset + length)); - eeprom_update_block(data, ee_start, ee_end - ee_start); - return ee_end - ee_start; -} - -void nvm_eeconfig_init_kb_datablock(void) { - eeprom_update_dword(EECONFIG_KEYBOARD, (EECONFIG_KB_DATA_VERSION)); - - void * start = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK); - void * end = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + EECONFIG_KB_DATA_SIZE); - long remaining = end - start; - uint8_t dummy[16] = {0}; - for (int i = 0; i < EECONFIG_KB_DATA_SIZE; i += sizeof(dummy)) { - int this_loop = remaining < sizeof(dummy) ? remaining : sizeof(dummy); - eeprom_update_block(dummy, start, this_loop); - start += this_loop; - remaining -= this_loop; - } -} - -#endif // (EECONFIG_KB_DATA_SIZE) > 0 - -#if (EECONFIG_USER_DATA_SIZE) > 0 - -bool nvm_eeconfig_is_user_datablock_valid(void) { - return eeprom_read_dword(EECONFIG_USER) == (EECONFIG_USER_DATA_VERSION); -} - -uint32_t nvm_eeconfig_read_user_datablock(void *data, uint32_t offset, uint32_t length) { - if (eeconfig_is_user_datablock_valid()) { - void *ee_start = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + offset); - void *ee_end = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + MIN(EECONFIG_USER_DATA_SIZE, offset + length)); - eeprom_read_block(data, ee_start, ee_end - ee_start); - return ee_end - ee_start; - } else { - memset(data, 0, length); - return length; - } -} - -uint32_t nvm_eeconfig_update_user_datablock(const void *data, uint32_t offset, uint32_t length) { - eeprom_update_dword(EECONFIG_USER, (EECONFIG_USER_DATA_VERSION)); - - void *ee_start = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + offset); - void *ee_end = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + MIN(EECONFIG_USER_DATA_SIZE, offset + length)); - eeprom_update_block(data, ee_start, ee_end - ee_start); - return ee_end - ee_start; -} - -void nvm_eeconfig_init_user_datablock(void) { - eeprom_update_dword(EECONFIG_USER, (EECONFIG_USER_DATA_VERSION)); - - void * start = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK); - void * end = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + EECONFIG_USER_DATA_SIZE); - long remaining = end - start; - uint8_t dummy[16] = {0}; - for (int i = 0; i < EECONFIG_USER_DATA_SIZE; i += sizeof(dummy)) { - int this_loop = remaining < sizeof(dummy) ? remaining : sizeof(dummy); - eeprom_update_block(dummy, start, this_loop); - start += this_loop; - remaining -= this_loop; - } -} - -#endif // (EECONFIG_USER_DATA_SIZE) > 0 diff --git a/quantum/nvm/eeprom/nvm_eeprom_eeconfig_internal.h b/quantum/nvm/eeprom/nvm_eeprom_eeconfig_internal.h deleted file mode 100644 index 78b8190eaf..0000000000 --- a/quantum/nvm/eeprom/nvm_eeprom_eeconfig_internal.h +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2024 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include -#include // offsetof - -#include "compiler_support.h" -#include "eeconfig.h" -#include "util.h" - -// Dummy struct only used to calculate offsets -typedef struct PACKED { - uint16_t magic; - uint8_t debug; - uint8_t default_layer; - uint16_t keymap; - uint8_t backlight; - uint8_t audio; - uint32_t rgblight; - uint8_t unicode; - uint8_t steno; - uint8_t handedness; - uint32_t keyboard; - uint32_t user; - union { // Mutually exclusive - uint32_t led_matrix; - uint64_t rgb_matrix; - }; - uint32_t haptic; - uint8_t rgblight_ext; - uint8_t connection; -} eeprom_core_t; - -/* EEPROM parameter address */ -#define EECONFIG_MAGIC (uint16_t *)(offsetof(eeprom_core_t, magic)) -#define EECONFIG_DEBUG (uint8_t *)(offsetof(eeprom_core_t, debug)) -#define EECONFIG_DEFAULT_LAYER (uint8_t *)(offsetof(eeprom_core_t, default_layer)) -#define EECONFIG_KEYMAP (uint16_t *)(offsetof(eeprom_core_t, keymap)) -#define EECONFIG_BACKLIGHT (uint8_t *)(offsetof(eeprom_core_t, backlight)) -#define EECONFIG_AUDIO (uint8_t *)(offsetof(eeprom_core_t, audio)) -#define EECONFIG_RGBLIGHT (uint32_t *)(offsetof(eeprom_core_t, rgblight)) -#define EECONFIG_UNICODEMODE (uint8_t *)(offsetof(eeprom_core_t, unicode)) -#define EECONFIG_STENOMODE (uint8_t *)(offsetof(eeprom_core_t, steno)) -#define EECONFIG_HANDEDNESS (uint8_t *)(offsetof(eeprom_core_t, handedness)) -#define EECONFIG_KEYBOARD (uint32_t *)(offsetof(eeprom_core_t, keyboard)) -#define EECONFIG_USER (uint32_t *)(offsetof(eeprom_core_t, user)) -#define EECONFIG_LED_MATRIX (uint32_t *)(offsetof(eeprom_core_t, led_matrix)) -#define EECONFIG_RGB_MATRIX (uint64_t *)(offsetof(eeprom_core_t, rgb_matrix)) -#define EECONFIG_HAPTIC (uint32_t *)(offsetof(eeprom_core_t, haptic)) -#define EECONFIG_RGBLIGHT_EXTENDED (uint8_t *)(offsetof(eeprom_core_t, rgblight_ext)) -#define EECONFIG_CONNECTION (uint8_t *)(offsetof(eeprom_core_t, connection)) - -// Size of EEPROM being used for core data storage -#define EECONFIG_BASE_SIZE ((uint8_t)sizeof(eeprom_core_t)) - -#define EECONFIG_KB_DATABLOCK ((uint8_t *)(EECONFIG_BASE_SIZE)) -#define EECONFIG_USER_DATABLOCK ((uint8_t *)((EECONFIG_BASE_SIZE) + (EECONFIG_KB_DATA_SIZE))) - -// Size of EEPROM being used, other code can refer to this for available EEPROM -#define EECONFIG_SIZE ((EECONFIG_BASE_SIZE) + (EECONFIG_KB_DATA_SIZE) + (EECONFIG_USER_DATA_SIZE)) - -STATIC_ASSERT((intptr_t)EECONFIG_HANDEDNESS == 14, "EEPROM handedness offset is incorrect"); diff --git a/quantum/nvm/eeprom/nvm_eeprom_via_internal.h b/quantum/nvm/eeprom/nvm_eeprom_via_internal.h deleted file mode 100644 index bf0d38e2ac..0000000000 --- a/quantum/nvm/eeprom/nvm_eeprom_via_internal.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2024 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -// Keyboard level code can change where VIA stores the magic. -// The magic is the build date YYMMDD encoded as BCD in 3 bytes, -// thus installing firmware built on a different date to the one -// already installed can be detected and the EEPROM data is reset. -// The only reason this is important is in case EEPROM usage changes -// and the EEPROM was not explicitly reset by bootmagic lite. -#ifndef VIA_EEPROM_MAGIC_ADDR -# define VIA_EEPROM_MAGIC_ADDR (EECONFIG_SIZE) -#endif - -#define VIA_EEPROM_LAYOUT_OPTIONS_ADDR (VIA_EEPROM_MAGIC_ADDR + 3) - -// The end of the EEPROM memory used by VIA -// By default, dynamic keymaps will start at this if there is no -// custom config -#define VIA_EEPROM_CUSTOM_CONFIG_ADDR (VIA_EEPROM_LAYOUT_OPTIONS_ADDR + VIA_EEPROM_LAYOUT_OPTIONS_SIZE) - -#define VIA_EEPROM_CONFIG_END (VIA_EEPROM_CUSTOM_CONFIG_ADDR + VIA_EEPROM_CUSTOM_CONFIG_SIZE) diff --git a/quantum/nvm/eeprom/nvm_via.c b/quantum/nvm/eeprom/nvm_via.c deleted file mode 100644 index 5372791fb7..0000000000 --- a/quantum/nvm/eeprom/nvm_via.c +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2024 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "eeprom.h" -#include "util.h" -#include "via.h" -#include "nvm_via.h" -#include "nvm_eeprom_eeconfig_internal.h" -#include "nvm_eeprom_via_internal.h" - -void nvm_via_erase(void) { - // No-op, nvm_eeconfig_erase() will have already erased EEPROM if necessary. -} - -void nvm_via_read_magic(uint8_t *magic0, uint8_t *magic1, uint8_t *magic2) { - if (magic0) { - *magic0 = eeprom_read_byte((void *)VIA_EEPROM_MAGIC_ADDR + 0); - } - - if (magic1) { - *magic1 = eeprom_read_byte((void *)VIA_EEPROM_MAGIC_ADDR + 1); - } - - if (magic2) { - *magic2 = eeprom_read_byte((void *)VIA_EEPROM_MAGIC_ADDR + 2); - } -} - -void nvm_via_update_magic(uint8_t magic0, uint8_t magic1, uint8_t magic2) { - eeprom_update_byte((void *)VIA_EEPROM_MAGIC_ADDR + 0, magic0); - eeprom_update_byte((void *)VIA_EEPROM_MAGIC_ADDR + 1, magic1); - eeprom_update_byte((void *)VIA_EEPROM_MAGIC_ADDR + 2, magic2); -} - -uint32_t nvm_via_read_layout_options(void) { - uint32_t value = 0; - // Start at the most significant byte - void *source = (void *)(VIA_EEPROM_LAYOUT_OPTIONS_ADDR); - for (uint8_t i = 0; i < VIA_EEPROM_LAYOUT_OPTIONS_SIZE; i++) { - value = value << 8; - value |= eeprom_read_byte(source); - source++; - } - return value; -} - -void nvm_via_update_layout_options(uint32_t val) { - // Start at the least significant byte - void *target = (void *)(VIA_EEPROM_LAYOUT_OPTIONS_ADDR + VIA_EEPROM_LAYOUT_OPTIONS_SIZE - 1); - for (uint8_t i = 0; i < VIA_EEPROM_LAYOUT_OPTIONS_SIZE; i++) { - eeprom_update_byte(target, val & 0xFF); - val = val >> 8; - target--; - } -} - -uint32_t nvm_via_read_custom_config(void *buf, uint32_t offset, uint32_t length) { -#if VIA_EEPROM_CUSTOM_CONFIG_SIZE > 0 - void *ee_start = (void *)(uintptr_t)(VIA_EEPROM_CUSTOM_CONFIG_ADDR + offset); - void *ee_end = (void *)(uintptr_t)(VIA_EEPROM_CUSTOM_CONFIG_ADDR + MIN(VIA_EEPROM_CUSTOM_CONFIG_SIZE, offset + length)); - eeprom_read_block(buf, ee_start, ee_end - ee_start); - return ee_end - ee_start; -#else - return 0; -#endif -} - -uint32_t nvm_via_update_custom_config(const void *buf, uint32_t offset, uint32_t length) { -#if VIA_EEPROM_CUSTOM_CONFIG_SIZE > 0 - void *ee_start = (void *)(uintptr_t)(VIA_EEPROM_CUSTOM_CONFIG_ADDR + offset); - void *ee_end = (void *)(uintptr_t)(VIA_EEPROM_CUSTOM_CONFIG_ADDR + MIN(VIA_EEPROM_CUSTOM_CONFIG_SIZE, offset + length)); - eeprom_update_block(buf, ee_start, ee_end - ee_start); - return ee_end - ee_start; -#else - return 0; -#endif -} diff --git a/quantum/nvm/nvm_dynamic_keymap.h b/quantum/nvm/nvm_dynamic_keymap.h deleted file mode 100644 index d6e4aaee51..0000000000 --- a/quantum/nvm/nvm_dynamic_keymap.h +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2024 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include -#include - -void nvm_dynamic_keymap_erase(void); -void nvm_dynamic_keymap_macro_erase(void); - -uint16_t nvm_dynamic_keymap_read_keycode(uint8_t layer, uint8_t row, uint8_t column); -void nvm_dynamic_keymap_update_keycode(uint8_t layer, uint8_t row, uint8_t column, uint16_t keycode); - -#ifdef ENCODER_MAP_ENABLE -uint16_t nvm_dynamic_keymap_read_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise); -void nvm_dynamic_keymap_update_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise, uint16_t keycode); -#endif // ENCODER_MAP_ENABLE - -void nvm_dynamic_keymap_read_buffer(uint32_t offset, uint32_t size, uint8_t *data); -void nvm_dynamic_keymap_update_buffer(uint32_t offset, uint32_t size, uint8_t *data); - -uint32_t nvm_dynamic_keymap_macro_size(void); - -void nvm_dynamic_keymap_macro_read_buffer(uint32_t offset, uint32_t size, uint8_t *data); -void nvm_dynamic_keymap_macro_update_buffer(uint32_t offset, uint32_t size, uint8_t *data); - -void nvm_dynamic_keymap_macro_reset(void); diff --git a/quantum/nvm/nvm_eeconfig.h b/quantum/nvm/nvm_eeconfig.h deleted file mode 100644 index 40827361ca..0000000000 --- a/quantum/nvm/nvm_eeconfig.h +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2024 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include -#include -#include "action_layer.h" // layer_state_t - -#ifndef EECONFIG_MAGIC_NUMBER -# define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEE3 // When changing, decrement this value to avoid future re-init issues -#endif -#define EECONFIG_MAGIC_NUMBER_OFF (uint16_t)0xFFFF - -void nvm_eeconfig_erase(void); - -bool nvm_eeconfig_is_enabled(void); -bool nvm_eeconfig_is_disabled(void); - -void nvm_eeconfig_enable(void); -void nvm_eeconfig_disable(void); - -typedef union debug_config_t debug_config_t; -void nvm_eeconfig_read_debug(debug_config_t *debug_config); -void nvm_eeconfig_update_debug(const debug_config_t *debug_config); - -layer_state_t nvm_eeconfig_read_default_layer(void); -void nvm_eeconfig_update_default_layer(layer_state_t state); - -typedef union keymap_config_t keymap_config_t; -void nvm_eeconfig_read_keymap(keymap_config_t *keymap_config); -void nvm_eeconfig_update_keymap(const keymap_config_t *keymap_config); - -#ifdef AUDIO_ENABLE -typedef union audio_config_t audio_config_t; -void nvm_eeconfig_read_audio(audio_config_t *audio_config); -void nvm_eeconfig_update_audio(const audio_config_t *audio_config); -#endif // AUDIO_ENABLE - -#ifdef UNICODE_COMMON_ENABLE -typedef union unicode_config_t unicode_config_t; -void nvm_eeconfig_read_unicode_mode(unicode_config_t *unicode_config); -void nvm_eeconfig_update_unicode_mode(const unicode_config_t *unicode_config); -#endif // UNICODE_COMMON_ENABLE - -#ifdef BACKLIGHT_ENABLE -typedef union backlight_config_t backlight_config_t; -void nvm_eeconfig_read_backlight(backlight_config_t *backlight_config); -void nvm_eeconfig_update_backlight(const backlight_config_t *backlight_config); -#endif // BACKLIGHT_ENABLE - -#ifdef STENO_ENABLE -uint8_t nvm_eeconfig_read_steno_mode(void); -void nvm_eeconfig_update_steno_mode(uint8_t val); -#endif // STENO_ENABLE - -#ifdef RGB_MATRIX_ENABLE -typedef union rgb_config_t rgb_config_t; -void nvm_eeconfig_read_rgb_matrix(rgb_config_t *rgb_matrix_config); -void nvm_eeconfig_update_rgb_matrix(const rgb_config_t *rgb_matrix_config); -#endif - -#ifdef LED_MATRIX_ENABLE -typedef union led_eeconfig_t led_eeconfig_t; -void nvm_eeconfig_read_led_matrix(led_eeconfig_t *led_matrix_config); -void nvm_eeconfig_update_led_matrix(const led_eeconfig_t *led_matrix_config); -#endif // LED_MATRIX_ENABLE - -#ifdef RGBLIGHT_ENABLE -typedef union rgblight_config_t rgblight_config_t; -void nvm_eeconfig_read_rgblight(rgblight_config_t *rgblight_config); -void nvm_eeconfig_update_rgblight(const rgblight_config_t *rgblight_config); -#endif // RGBLIGHT_ENABLE - -#if (EECONFIG_KB_DATA_SIZE) == 0 -uint32_t nvm_eeconfig_read_kb(void); -void nvm_eeconfig_update_kb(uint32_t val); -#endif // (EECONFIG_KB_DATA_SIZE) == 0 - -#if (EECONFIG_USER_DATA_SIZE) == 0 -uint32_t nvm_eeconfig_read_user(void); -void nvm_eeconfig_update_user(uint32_t val); -#endif // (EECONFIG_USER_DATA_SIZE) == 0 - -#ifdef HAPTIC_ENABLE -typedef union haptic_config_t haptic_config_t; -void nvm_eeconfig_read_haptic(haptic_config_t *haptic_config); -void nvm_eeconfig_update_haptic(const haptic_config_t *haptic_config); -#endif // HAPTIC_ENABLE - -#ifdef CONNECTION_ENABLE -typedef union connection_config_t connection_config_t; -void nvm_eeconfig_read_connection(connection_config_t *config); -void nvm_eeconfig_update_connection(const connection_config_t *config); -#endif // CONNECTION_ENABLE - -bool nvm_eeconfig_read_handedness(void); -void nvm_eeconfig_update_handedness(bool val); - -#if (EECONFIG_KB_DATA_SIZE) > 0 -bool nvm_eeconfig_is_kb_datablock_valid(void); -uint32_t nvm_eeconfig_read_kb_datablock(void *data, uint32_t offset, uint32_t length); -uint32_t nvm_eeconfig_update_kb_datablock(const void *data, uint32_t offset, uint32_t length); -void nvm_eeconfig_init_kb_datablock(void); -#endif // (EECONFIG_KB_DATA_SIZE) > 0 - -#if (EECONFIG_USER_DATA_SIZE) > 0 -bool nvm_eeconfig_is_user_datablock_valid(void); -uint32_t nvm_eeconfig_read_user_datablock(void *data, uint32_t offset, uint32_t length); -uint32_t nvm_eeconfig_update_user_datablock(const void *data, uint32_t offset, uint32_t length); -void nvm_eeconfig_init_user_datablock(void); -#endif // (EECONFIG_USER_DATA_SIZE) > 0 diff --git a/quantum/nvm/nvm_via.h b/quantum/nvm/nvm_via.h deleted file mode 100644 index 90c5e67421..0000000000 --- a/quantum/nvm/nvm_via.h +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2024 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include -#include - -void nvm_via_erase(void); - -void nvm_via_read_magic(uint8_t *magic0, uint8_t *magic1, uint8_t *magic2); -void nvm_via_update_magic(uint8_t magic0, uint8_t magic1, uint8_t magic2); - -uint32_t nvm_via_read_layout_options(void); -void nvm_via_update_layout_options(uint32_t val); - -uint32_t nvm_via_read_custom_config(void *buf, uint32_t offset, uint32_t length); -uint32_t nvm_via_update_custom_config(const void *buf, uint32_t offset, uint32_t length); diff --git a/quantum/nvm/readme.md b/quantum/nvm/readme.md deleted file mode 100644 index 0731695e92..0000000000 --- a/quantum/nvm/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# Non-volatile Memory - Data Repositories - -This area is intentionally structured in the following way: - -``` -╰- quantum - ╰- nvm - ├- readme.md - ├- rules.mk - | - ├- nvm_eeconfig.h - ├- nvm_<>.h - | - ├- eeprom - | ├- nvm_eeconfig.c - | ├- nvm_<>.c - | ╰- ... - | - ├- <> - | ├- nvm_eeconfig.c - | ├- nvm_<>.c - | ╰- ... - ╰- ... -``` - -At the base `nvm` level, for every QMK core system which requires persistence there must be a corresponding `nvm_<>.h` header file. This provides the data repository API to the "owner" system, and allows the underlying data persistence mechanism to be abstracted away from upper code. Any conversion to/from a `.raw` field should occur inside the `nvm_<>.c` layer, with the API using values, such as structs or unions exposed to the rest of QMK. - -Each `nvm` "provider" is a corresponding child directory consisting of its name, such as `eeprom`, and corresponding `nvm_<>.c` implementation files which provide the concrete implementation of the upper `nvm_<>.h`. - -New systems requiring persistence can add the corresponding `nvm_<>.h` file, and in most circumstances must also implement equivalent `nvm_<>.c` files for every `nvm` provider. If persistence is not possible for that system, a `nvm_<>.c` file with simple stubs which ignore writes and provide sane defaults must be used instead. \ No newline at end of file diff --git a/quantum/nvm/rules.mk b/quantum/nvm/rules.mk deleted file mode 100644 index c9c1fabfd4..0000000000 --- a/quantum/nvm/rules.mk +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 2024 Nick Brassel (@tzarc) -# SPDX-License-Identifier: GPL-2.0-or-later - -VPATH += $(QUANTUM_DIR)/nvm - -VALID_NVM_DRIVERS := eeprom custom none - -NVM_DRIVER ?= eeprom - -ifeq ($(filter $(NVM_DRIVER),$(VALID_NVM_DRIVERS)),) - $(call CATASTROPHIC_ERROR,Invalid NVM_DRIVER,NVM_DRIVER="$(NVM_DRIVER)" is not a valid NVM driver) -else - - # If we don't want one, fake it with transient eeprom. - ifeq ($(NVM_DRIVER),none) - NVM_DRIVER := eeprom - EEPROM_DRIVER := transient - endif - - NVM_DRIVER_UPPER := $(shell echo $(NVM_DRIVER) | tr '[:lower:]' '[:upper:]') - NVM_DRIVER_LOWER := $(shell echo $(NVM_DRIVER) | tr '[:upper:]' '[:lower:]') - - OPT_DEFS += -DNVM_DRIVER_$(NVM_DRIVER_UPPER) -DNVM_DRIVER="$(NVM_DRIVER)" - - ifneq ("$(wildcard $(QUANTUM_DIR)/nvm/$(NVM_DRIVER_LOWER))","") - COMMON_VPATH += $(QUANTUM_DIR)/nvm/$(NVM_DRIVER_LOWER) - endif - - QUANTUM_SRC += nvm_eeconfig.c - -endif diff --git a/quantum/os_detection.c b/quantum/os_detection.c index 552375f61c..0dd048a8c4 100644 --- a/quantum/os_detection.c +++ b/quantum/os_detection.c @@ -68,28 +68,14 @@ static volatile bool first_report = true; static volatile struct usb_device_state current_usb_device_state = {.configure_state = USB_DEVICE_STATE_NO_INIT}; static volatile struct usb_device_state maxprev_usb_device_state = {.configure_state = USB_DEVICE_STATE_NO_INIT}; -// to reset the keyboard on USB state change -#ifdef OS_DETECTION_KEYBOARD_RESET -# ifndef OS_DETECTION_RESET_DEBOUNCE -# define OS_DETECTION_RESET_DEBOUNCE OS_DETECTION_DEBOUNCE -# endif -static volatile fast_timer_t configured_since = 0; -static volatile bool reset_pending = false; -#endif - // the OS detection might be unstable for a while, "debounce" it static volatile bool debouncing = false; static volatile fast_timer_t last_time = 0; -bool process_detected_host_os_modules(os_variant_t os); - void os_detection_task(void) { #ifdef OS_DETECTION_KEYBOARD_RESET // resetting the keyboard on the USB device state change callback results in instability, so delegate that to this task - if (reset_pending) { - soft_reset_keyboard(); - } - // reset the keyboard if it is stuck in the init state for longer than debounce duration, which can happen with some KVMs + // only take action if it's been stable at least once, to avoid issues with some KVMs if (current_usb_device_state.configure_state <= USB_DEVICE_STATE_INIT && maxprev_usb_device_state.configure_state >= USB_DEVICE_STATE_CONFIGURED) { if (debouncing && timer_elapsed_fast(last_time) >= OS_DETECTION_DEBOUNCE) { soft_reset_keyboard(); @@ -110,17 +96,12 @@ void os_detection_task(void) { if (detected_os != reported_os || first_report) { first_report = false; reported_os = detected_os; - process_detected_host_os_modules(detected_os); process_detected_host_os_kb(detected_os); } } } } -__attribute__((weak)) bool process_detected_host_os_modules(os_variant_t os) { - return true; -} - __attribute__((weak)) bool process_detected_host_os_kb(os_variant_t detected_os) { return process_detected_host_os_user(detected_os); } @@ -152,7 +133,7 @@ void process_wlength(const uint16_t w_length) { } else if (setups_data.count == setups_data.cnt_ff) { // Linux has 3 packets with 0xFF. guessed = OS_LINUX; - } else if (setups_data.count >= 5 && setups_data.last_wlength == 0xFF && setups_data.cnt_ff >= 1 && setups_data.cnt_02 >= 2) { + } else if (setups_data.count == 5 && setups_data.last_wlength == 0xFF && setups_data.cnt_ff == 1 && setups_data.cnt_02 == 2) { guessed = OS_MACOS; } else if (setups_data.count == 4 && setups_data.cnt_ff == 0 && setups_data.cnt_02 == 2) { // iOS and iPadOS don't have the last 0xFF packet. @@ -199,18 +180,6 @@ void os_detection_notify_usb_device_state_change(struct usb_device_state usb_dev current_usb_device_state = usb_device_state; last_time = timer_read_fast(); debouncing = true; - -#ifdef OS_DETECTION_KEYBOARD_RESET - if (configured_since == 0 && current_usb_device_state.configure_state == USB_DEVICE_STATE_CONFIGURED) { - configured_since = timer_read_fast(); - } else if (current_usb_device_state.configure_state == USB_DEVICE_STATE_INIT) { - // reset the keyboard only if it's been stable for at least debounce duration, to avoid issues with some KVMs - if (configured_since > 0 && timer_elapsed_fast(configured_since) >= OS_DETECTION_RESET_DEBOUNCE) { - reset_pending = true; - } - configured_since = 0; - } -#endif } #if defined(SPLIT_KEYBOARD) && defined(SPLIT_DETECTED_OS_ENABLE) diff --git a/quantum/os_detection.h b/quantum/os_detection.h index e9e7b25f1d..98a8e805e4 100644 --- a/quantum/os_detection.h +++ b/quantum/os_detection.h @@ -43,9 +43,6 @@ void slave_update_detected_host_os(os_variant_t os); #endif #ifdef OS_DETECTION_DEBUG_ENABLE -# if defined(DYNAMIC_KEYMAP_ENABLE) || defined(VIA_ENABLE) -# error Cannot enable OS Detection debug mode simultaneously with DYNAMIC_KEYMAP or VIA -# endif void print_stored_setups(void); void store_setups_in_eeprom(void); #endif diff --git a/quantum/os_detection/tests/os_detection.cpp b/quantum/os_detection/tests/os_detection.cpp index 21c4536243..ea43de144c 100644 --- a/quantum/os_detection/tests/os_detection.cpp +++ b/quantum/os_detection/tests/os_detection.cpp @@ -68,12 +68,8 @@ ChibiOS: Windows 10: [FF, FF, 4, 24, 4, 24, 4, FF, 24, FF, 4, FF, 24, 4, 24, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A, 20A] Windows 10 (another host): [FF, FF, 4, 24, 4, 24, 4, 24, 4, 24, 4, 24] macOS 12.5: [2, 24, 2, 28, FF] -macOS 15.1.x: [ 2, 4E, 2, 1C, 2, 1A, FF, FF] -macOS 15.x (another host): [ 2, 0E, 2, 1E, 2, 42, FF] -macOS 15.x (periodic weirdness): [ 2, 42, 2, 1C, 2, 1A, FF, 2, 42, 2, 1C, 2, 1A, FF ] iOS/iPadOS 15.6: [2, 24, 2, 28] Linux (including Android, Raspberry Pi and WebOS TV): [FF, FF, FF] -Linux (another host): [FF, FF, FF, FF, FF, FF] PS5: [2, 4, 2, 28, 2, 24] Nintendo Switch: [82, FF, 40, 40, FF, 40, 40, FF, 40, 40, FF, 40, 40, FF, 40, 40] Quest 2: [FF, FF, FF, FE, FF, FE, FF, FE, FF, FE, FF] @@ -83,7 +79,6 @@ Windows 10 (first connect): [12, FF, FF, 4, 10, FF, FF, FF, 4, 10, 20A, 20A, 20A Windows 10 (subsequent connect): [FF, FF, 4, 10, FF, 4, FF, 10, FF, 20A, 20A, 20A, 20A, 20A, 20A] Windows 10 (another host): [FF, FF, 4, 10, 4, 10] macOS: [2, 10, 2, E, FF] -macOS 15.x: [ 2, 64, 2, 28, FF, FF] iOS/iPadOS: [2, 10, 2, E] Linux: [FF, FF, FF] PS5: [2, 4, 2, E, 2, 10] @@ -114,67 +109,18 @@ TEST_F(OsDetectionTest, TestLinux) { assert_not_reported(); } -TEST_F(OsDetectionTest, TestChibiosLinux) { - EXPECT_EQ(check_sequence({0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}), OS_LINUX); - os_detection_task(); - assert_not_reported(); -} - TEST_F(OsDetectionTest, TestChibiosMacos) { EXPECT_EQ(check_sequence({0x2, 0x24, 0x2, 0x28, 0xFF}), OS_MACOS); os_detection_task(); assert_not_reported(); } -TEST_F(OsDetectionTest, TestChibiosMacos2) { - EXPECT_EQ(check_sequence({0x2, 0x42, 0x2, 0x1C, 0x2, 0x1A, 0xFF}), OS_MACOS); - os_detection_task(); - assert_not_reported(); -} - -TEST_F(OsDetectionTest, TestChibiosMacos3) { - EXPECT_EQ(check_sequence({0x2, 0x42, 0x2, 0x1C, 0x2, 0x1A, 0xFF, 0x2, 0x42, 0x2, 0x1C, 0x2, 0x1A, 0xFF}), OS_MACOS); - os_detection_task(); - assert_not_reported(); -} - -// Regression reported in https://github.com/qmk/qmk_firmware/pull/21777#issuecomment-1922815841 -TEST_F(OsDetectionTest, TestChibiosMacM1) { - EXPECT_EQ(check_sequence({0x02, 0x32, 0x02, 0x24, 0x101, 0xFF}), OS_MACOS); - os_detection_task(); - assert_not_reported(); -} - -TEST_F(OsDetectionTest, TestChibiosMacSequoia) { - EXPECT_EQ(check_sequence({0x02, 0x4E, 0x02, 0x1C, 0x02, 0x1A, 0xFF, 0xFF}), OS_MACOS); - os_detection_task(); - assert_not_reported(); -} - -TEST_F(OsDetectionTest, TestChibiosMacSequoia2) { - EXPECT_EQ(check_sequence({0x02, 0x4E, 0x02, 0x1C, 0x02, 0x1A, 0xFF, 0x02, 0x42, 0x02, 0x1C, 0x02, 0x1A, 0xFF}), OS_MACOS); - os_detection_task(); - assert_not_reported(); -} - -TEST_F(OsDetectionTest, TestChibiosMacSequoia3) { - EXPECT_EQ(check_sequence({0x02, 0x0E, 0x02, 0x1E, 0x02, 0x42, 0xFF}), OS_MACOS); - os_detection_task(); - assert_not_reported(); -} - TEST_F(OsDetectionTest, TestLufaMacos) { EXPECT_EQ(check_sequence({0x2, 0x10, 0x2, 0xE, 0xFF}), OS_MACOS); os_detection_task(); assert_not_reported(); } -TEST_F(OsDetectionTest, TestDetectLufaMacSequoia2) { - EXPECT_EQ(check_sequence({0x02, 0x64, 0x02, 0x28, 0xFF, 0xFF}), OS_MACOS); - os_detection_task(); - assert_not_reported(); -} - TEST_F(OsDetectionTest, TestVusbMacos) { EXPECT_EQ(check_sequence({0x2, 0xE, 0x2, 0xE, 0xFF}), OS_MACOS); os_detection_task(); @@ -289,6 +235,13 @@ TEST_F(OsDetectionTest, TestVusbQuest2) { assert_not_reported(); } +// Regression reported in https://github.com/qmk/qmk_firmware/pull/21777#issuecomment-1922815841 +TEST_F(OsDetectionTest, TestDetectMacM1AsIOS) { + EXPECT_EQ(check_sequence({0x02, 0x32, 0x02, 0x24, 0x101, 0xFF}), OS_IOS); + os_detection_task(); + assert_not_reported(); +} + TEST_F(OsDetectionTest, TestDoNotReportIfUsbUnstable) { EXPECT_EQ(check_sequence({0xFF, 0xFF, 0xFF, 0xFE}), OS_LINUX); os_detection_task(); diff --git a/quantum/os_detection/tests/rules.mk b/quantum/os_detection/tests/rules.mk index 2f31f5e391..1b69b71ba9 100644 --- a/quantum/os_detection/tests/rules.mk +++ b/quantum/os_detection/tests/rules.mk @@ -4,5 +4,4 @@ os_detection_DEFS += -DOS_DETECTION_DEBOUNCE=50 os_detection_SRC := \ $(QUANTUM_PATH)/os_detection/tests/os_detection.cpp \ $(QUANTUM_PATH)/os_detection.c \ - $(PLATFORM_PATH)/timer.c \ $(PLATFORM_PATH)/$(PLATFORM_KEY)/timer.c diff --git a/quantum/painter/qff.h b/quantum/painter/qff.h index ed88508d73..c3b831da17 100644 --- a/quantum/painter/qff.h +++ b/quantum/painter/qff.h @@ -9,7 +9,6 @@ #include #include -#include "compiler_support.h" #include "qp_stream.h" #include "qp_internal.h" #include "qgf.h" @@ -37,7 +36,7 @@ typedef struct QP_PACKED qff_font_descriptor_v1_t { uint8_t transparency_index; // palette index used for transparent pixels (not yet implemented) } qff_font_descriptor_v1_t; -STATIC_ASSERT(sizeof(qff_font_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) + 20), "qff_font_descriptor_v1_t must be 25 bytes in v1 of QFF"); +_Static_assert(sizeof(qff_font_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) + 20), "qff_font_descriptor_v1_t must be 25 bytes in v1 of QFF"); #define QFF_MAGIC 0x464651 @@ -55,14 +54,14 @@ typedef struct QP_PACKED qff_ascii_glyph_v1_t { uint32_t value : 24; // Uses QFF_GLYPH_*_(BITS|MASK) as bitfield ordering is compiler-defined } qff_ascii_glyph_v1_t; -STATIC_ASSERT(sizeof(qff_ascii_glyph_v1_t) == 3, "qff_ascii_glyph_v1_t must be 3 bytes in v1 of QFF"); +_Static_assert(sizeof(qff_ascii_glyph_v1_t) == 3, "qff_ascii_glyph_v1_t must be 3 bytes in v1 of QFF"); typedef struct QP_PACKED qff_ascii_glyph_table_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x01, .neg_type_id = (~0x01), .length = 285 } qff_ascii_glyph_v1_t glyph[95]; // 95 glyphs, 0x20..0x7E } qff_ascii_glyph_table_v1_t; -STATIC_ASSERT(sizeof(qff_ascii_glyph_table_v1_t) == (sizeof(qgf_block_header_v1_t) + (95 * sizeof(qff_ascii_glyph_v1_t))), "qff_ascii_glyph_table_v1_t must be 290 bytes in v1 of QFF"); +_Static_assert(sizeof(qff_ascii_glyph_table_v1_t) == (sizeof(qgf_block_header_v1_t) + (95 * sizeof(qff_ascii_glyph_v1_t))), "qff_ascii_glyph_table_v1_t must be 290 bytes in v1 of QFF"); ///////////////////////////////////////// // Unicode glyph table descriptor @@ -74,7 +73,7 @@ typedef struct QP_PACKED qff_unicode_glyph_v1_t { uint32_t value : 24; // Uses QFF_GLYPH_*_(BITS|MASK) as bitfield ordering is compiler-defined } qff_unicode_glyph_v1_t; -STATIC_ASSERT(sizeof(qff_unicode_glyph_v1_t) == 6, "qff_unicode_glyph_v1_t must be 6 bytes in v1 of QFF"); +_Static_assert(sizeof(qff_unicode_glyph_v1_t) == 6, "qff_unicode_glyph_v1_t must be 6 bytes in v1 of QFF"); typedef struct QP_PACKED qff_unicode_glyph_table_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x02, .neg_type_id = (~0x02), .length = (N * 6) } diff --git a/quantum/painter/qgf.c b/quantum/painter/qgf.c index 07c3f80314..bc2df94933 100644 --- a/quantum/painter/qgf.c +++ b/quantum/painter/qgf.c @@ -255,10 +255,10 @@ bool qgf_validate_stream(qp_stream_t *stream) { // Read and validate all the frames (automatically validates the frame offset descriptor in the process) for (uint16_t i = 0; i < frame_count; ++i) { // Validate the frame descriptor block - uint8_t bpp = 0; - bool has_palette = false; - bool is_panel_native = false; - bool has_delta = false; + uint8_t bpp; + bool has_palette; + bool is_panel_native; + bool has_delta; if (!qgf_validate_frame_descriptor(stream, i, &bpp, &has_palette, &is_panel_native, &has_delta)) { return false; } diff --git a/quantum/painter/qgf.h b/quantum/painter/qgf.h index a1e245f15d..33a37709e6 100644 --- a/quantum/painter/qgf.h +++ b/quantum/painter/qgf.h @@ -9,7 +9,6 @@ #include #include -#include "compiler_support.h" #include "qp_stream.h" #include "qp_internal.h" @@ -25,7 +24,7 @@ typedef struct QP_PACKED qgf_block_header_v1_t { uint32_t length : 24; // 24-bit blob length, allowing for block sizes of a maximum of 16MB. } qgf_block_header_v1_t; -STATIC_ASSERT(sizeof(qgf_block_header_v1_t) == 5, "qgf_block_header_v1_t must be 5 bytes in v1 of QGF"); +_Static_assert(sizeof(qgf_block_header_v1_t) == 5, "qgf_block_header_v1_t must be 5 bytes in v1 of QGF"); ///////////////////////////////////////// // Graphics descriptor @@ -43,7 +42,7 @@ typedef struct QP_PACKED qgf_graphics_descriptor_v1_t { uint16_t frame_count; // minimum of 1 } qgf_graphics_descriptor_v1_t; -STATIC_ASSERT(sizeof(qgf_graphics_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) + 18), "qgf_graphics_descriptor_v1_t must be 23 bytes in v1 of QGF"); +_Static_assert(sizeof(qgf_graphics_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) + 18), "qgf_graphics_descriptor_v1_t must be 23 bytes in v1 of QGF"); #define QGF_MAGIC 0x464751 @@ -57,7 +56,7 @@ typedef struct QP_PACKED qgf_frame_offsets_v1_t { uint32_t offset[0]; // '0' signifies that this struct is immediately followed by the frame offsets } qgf_frame_offsets_v1_t; -STATIC_ASSERT(sizeof(qgf_frame_offsets_v1_t) == sizeof(qgf_block_header_v1_t), "qgf_frame_offsets_v1_t must only contain qgf_block_header_v1_t in v1 of QGF"); +_Static_assert(sizeof(qgf_frame_offsets_v1_t) == sizeof(qgf_block_header_v1_t), "qgf_frame_offsets_v1_t must only contain qgf_block_header_v1_t in v1 of QGF"); ///////////////////////////////////////// // Frame descriptor @@ -73,7 +72,7 @@ typedef struct QP_PACKED qgf_frame_v1_t { uint16_t delay; // frame delay time for animations (in units of milliseconds) } qgf_frame_v1_t; -STATIC_ASSERT(sizeof(qgf_frame_v1_t) == (sizeof(qgf_block_header_v1_t) + 6), "qgf_frame_v1_t must be 11 bytes in v1 of QGF"); +_Static_assert(sizeof(qgf_frame_v1_t) == (sizeof(qgf_block_header_v1_t) + 6), "qgf_frame_v1_t must be 11 bytes in v1 of QGF"); #define QGF_FRAME_FLAG_DELTA 0x02 #define QGF_FRAME_FLAG_TRANSPARENT 0x01 @@ -89,14 +88,14 @@ typedef struct QP_PACKED qgf_palette_entry_v1_t { uint8_t v; // value component: `[0,1]` is mapped to `[0,255]` uint8_t. } qgf_palette_entry_v1_t; -STATIC_ASSERT(sizeof(qgf_palette_entry_v1_t) == 3, "Palette entry is not 3 bytes in size"); +_Static_assert(sizeof(qgf_palette_entry_v1_t) == 3, "Palette entry is not 3 bytes in size"); typedef struct QP_PACKED qgf_palette_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x03, .neg_type_id = (~0x03), .length = (N * 3 * sizeof(uint8_t)) } qgf_palette_entry_v1_t hsv[0]; // N * hsv, where N is the number of palette entries depending on the frame format in the descriptor } qgf_palette_v1_t; -STATIC_ASSERT(sizeof(qgf_palette_v1_t) == sizeof(qgf_block_header_v1_t), "qgf_palette_v1_t must only contain qgf_block_header_v1_t in v1 of QGF"); +_Static_assert(sizeof(qgf_palette_v1_t) == sizeof(qgf_block_header_v1_t), "qgf_palette_v1_t must only contain qgf_block_header_v1_t in v1 of QGF"); ///////////////////////////////////////// // Frame delta descriptor @@ -111,7 +110,7 @@ typedef struct QP_PACKED qgf_delta_v1_t { uint16_t bottom; // The bottom pixel location to to draw the delta image } qgf_delta_v1_t; -STATIC_ASSERT(sizeof(qgf_delta_v1_t) == (sizeof(qgf_block_header_v1_t) + 8), "qgf_delta_v1_t must be 13 bytes in v1 of QGF"); +_Static_assert(sizeof(qgf_delta_v1_t) == (sizeof(qgf_block_header_v1_t) + 8), "qgf_delta_v1_t must be 13 bytes in v1 of QGF"); ///////////////////////////////////////// // Frame data descriptor @@ -123,7 +122,7 @@ typedef struct QP_PACKED qgf_data_v1_t { uint8_t data[0]; // 0 signifies that this struct is immediately followed by the length of data specified in the header } qgf_data_v1_t; -STATIC_ASSERT(sizeof(qgf_data_v1_t) == sizeof(qgf_block_header_v1_t), "qgf_data_v1_t must only contain qgf_block_header_v1_t in v1 of QGF"); +_Static_assert(sizeof(qgf_data_v1_t) == sizeof(qgf_block_header_v1_t), "qgf_data_v1_t must only contain qgf_block_header_v1_t in v1 of QGF"); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // QGF API diff --git a/quantum/painter/qp.h b/quantum/painter/qp.h index f7fdb02789..3dc77b42cf 100644 --- a/quantum/painter/qp.h +++ b/quantum/painter/qp.h @@ -557,12 +557,6 @@ int16_t qp_drawtext_recolor(painter_device_t device, uint16_t x, uint16_t y, pai # define SH1106_NUM_DEVICES 0 #endif // QUANTUM_PAINTER_SH1106_ENABLE -#ifdef QUANTUM_PAINTER_SH1107_ENABLE -# include "qp_sh1107.h" -#else // QUANTUM_PAINTER_SH1107_ENABLE -# define SH1107_NUM_DEVICES 0 -#endif // QUANTUM_PAINTER_SH1107_ENABLE - #ifdef QUANTUM_PAINTER_LD7032_ENABLE # include "qp_ld7032.h" #else // QUANTUM_PAINTER_LD7032_ENABLE diff --git a/quantum/painter/qp_draw_core.c b/quantum/painter/qp_draw_core.c index 852abb19e8..aa5fa4aa76 100644 --- a/quantum/painter/qp_draw_core.c +++ b/quantum/painter/qp_draw_core.c @@ -2,13 +2,12 @@ // Copyright 2021 Paul Cotter (@gr1mr3aver) // SPDX-License-Identifier: GPL-2.0-or-later -#include "compiler_support.h" #include "qp_internal.h" #include "qp_comms.h" #include "qp_draw.h" #include "qgf.h" -STATIC_ASSERT((QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE > 0) && (QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE % 16) == 0, "QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE needs to be a non-zero multiple of 16"); +_Static_assert((QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE > 0) && (QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE % 16) == 0, "QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE needs to be a non-zero multiple of 16"); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Global variables diff --git a/quantum/painter/qp_draw_image.c b/quantum/painter/qp_draw_image.c index a225039af4..18fa38cb19 100644 --- a/quantum/painter/qp_draw_image.c +++ b/quantum/painter/qp_draw_image.c @@ -318,9 +318,9 @@ static deferred_token qp_render_animation_state(animation_state_t *state, uint16 } static uint32_t animation_callback(uint32_t trigger_time, void *cb_arg) { - animation_state_t *state = (animation_state_t *)cb_arg; - uint16_t delay_ms = 0; - bool ret = qp_render_animation_state(state, &delay_ms); + animation_state_t *state = (animation_state_t *)cb_arg; + uint16_t delay_ms; + bool ret = qp_render_animation_state(state, &delay_ms); if (!ret) { // Setting the device to NULL clears the animation slot state->device = NULL; diff --git a/quantum/painter/qp_internal.c b/quantum/painter/qp_internal.c index fe0c598d78..5097edfa07 100644 --- a/quantum/painter/qp_internal.c +++ b/quantum/painter/qp_internal.c @@ -3,8 +3,6 @@ #include "qp_internal.h" -#include "compiler_support.h" - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Quantum Painter Core API: device registration @@ -21,7 +19,6 @@ enum { + (GC9107_NUM_DEVICES) // GC9107 + (SSD1351_NUM_DEVICES) // SSD1351 + (SH1106_NUM_DEVICES) // SH1106 - + (SH1107_NUM_DEVICES) // SH1107 + (LD7032_NUM_DEVICES) // LD7032 }; @@ -69,7 +66,7 @@ static void qp_internal_display_timeout_task(void) { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Quantum Painter Core API: qp_internal_task -STATIC_ASSERT((QUANTUM_PAINTER_TASK_THROTTLE) > 0 && (QUANTUM_PAINTER_TASK_THROTTLE) < 1000, "QUANTUM_PAINTER_TASK_THROTTLE must be between 1 and 999"); +_Static_assert((QUANTUM_PAINTER_TASK_THROTTLE) > 0 && (QUANTUM_PAINTER_TASK_THROTTLE) < 1000, "QUANTUM_PAINTER_TASK_THROTTLE must be between 1 and 999"); void qp_internal_task(void) { // Perform throttling of the internal processing of Quantum Painter diff --git a/quantum/painter/qp_internal_formats.h b/quantum/painter/qp_internal_formats.h index bd7105cab2..1beb604b9e 100644 --- a/quantum/painter/qp_internal_formats.h +++ b/quantum/painter/qp_internal_formats.h @@ -3,7 +3,6 @@ #pragma once -#include "compiler_support.h" #include "qp_internal.h" //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -30,7 +29,7 @@ typedef union QP_PACKED qp_pixel_t { uint32_t dummy; } qp_pixel_t; -STATIC_ASSERT(sizeof(qp_pixel_t) == 4, "Invalid size for qp_pixel_t"); +_Static_assert(sizeof(qp_pixel_t) == 4, "Invalid size for qp_pixel_t"); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Quantum Painter image format diff --git a/quantum/painter/rules.mk b/quantum/painter/rules.mk index 10c2698092..b773dd091c 100644 --- a/quantum/painter/rules.mk +++ b/quantum/painter/rules.mk @@ -18,8 +18,6 @@ VALID_QUANTUM_PAINTER_DRIVERS := \ ssd1351_spi \ sh1106_i2c \ sh1106_spi \ - sh1107_i2c \ - sh1107_spi \ ld7032_i2c \ ld7032_spi @@ -186,29 +184,6 @@ define handle_quantum_painter_driver $(DRIVER_PATH)/painter/oled_panel/qp_oled_panel.c \ $(DRIVER_PATH)/painter/sh1106/qp_sh1106.c - else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),sh1107_spi) - QUANTUM_PAINTER_NEEDS_SURFACE := yes - QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes - QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes - OPT_DEFS += -DQUANTUM_PAINTER_SH1107_ENABLE -DQUANTUM_PAINTER_SH1107_SPI_ENABLE - COMMON_VPATH += \ - $(DRIVER_PATH)/painter/oled_panel \ - $(DRIVER_PATH)/painter/sh1107 - SRC += \ - $(DRIVER_PATH)/painter/oled_panel/qp_oled_panel.c \ - $(DRIVER_PATH)/painter/sh1107/qp_sh1107.c - - else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),sh1107_i2c) - QUANTUM_PAINTER_NEEDS_SURFACE := yes - QUANTUM_PAINTER_NEEDS_COMMS_I2C := yes - OPT_DEFS += -DQUANTUM_PAINTER_SH1107_ENABLE -DQUANTUM_PAINTER_SH1107_I2C_ENABLE - COMMON_VPATH += \ - $(DRIVER_PATH)/painter/oled_panel \ - $(DRIVER_PATH)/painter/sh1107 - SRC += \ - $(DRIVER_PATH)/painter/oled_panel/qp_oled_panel.c \ - $(DRIVER_PATH)/painter/sh1107/qp_sh1107.c - else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ld7032_spi) QUANTUM_PAINTER_NEEDS_SURFACE := yes QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c index 564c2d294c..cac2875fc8 100644 --- a/quantum/pointing_device/pointing_device.c +++ b/quantum/pointing_device/pointing_device.c @@ -25,10 +25,6 @@ # include "mousekey.h" #endif -#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE -# include "usb_descriptor_common.h" -#endif - #if (defined(POINTING_DEVICE_ROTATION_90) + defined(POINTING_DEVICE_ROTATION_180) + defined(POINTING_DEVICE_ROTATION_270)) > 1 # error More than one rotation selected. This is not supported. #endif @@ -82,9 +78,6 @@ uint16_t pointing_device_get_shared_cpi(void) { static report_mouse_t local_mouse_report = {}; static bool pointing_device_force_send = false; -#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE -static uint16_t hires_scroll_resolution; -#endif #define POINTING_DEVICE_DRIVER_CONCAT(name) name##_pointing_device_driver #define POINTING_DEVICE_DRIVER(name) POINTING_DEVICE_DRIVER_CONCAT(name) @@ -109,11 +102,6 @@ const pointing_device_driver_t custom_pointing_device_driver = { const pointing_device_driver_t *pointing_device_driver = &POINTING_DEVICE_DRIVER(POINTING_DEVICE_DRIVER_NAME); -__attribute__((weak)) void pointing_device_init_modules(void) {} -__attribute__((weak)) report_mouse_t pointing_device_task_modules(report_mouse_t mouse_report) { - return mouse_report; -} - /** * @brief Keyboard level code pointing device initialisation * @@ -188,14 +176,7 @@ __attribute__((weak)) void pointing_device_init(void) { # endif #endif } -#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE - hires_scroll_resolution = POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER; - for (int i = 0; i < POINTING_DEVICE_HIRES_SCROLL_EXPONENT; i++) { - hires_scroll_resolution *= 10; - } -#endif - pointing_device_init_modules(); pointing_device_init_kb(); pointing_device_init_user(); } @@ -325,9 +306,8 @@ __attribute__((weak)) bool pointing_device_task(void) { local_mouse_report = is_keyboard_left() ? pointing_device_task_combined_kb(local_mouse_report, shared_mouse_report) : pointing_device_task_combined_kb(shared_mouse_report, local_mouse_report); #else local_mouse_report = pointing_device_adjust_by_defines(local_mouse_report); -#endif - local_mouse_report = pointing_device_task_modules(local_mouse_report); local_mouse_report = pointing_device_task_kb(local_mouse_report); +#endif // automatic mouse layer function #ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE pointing_device_task_auto_mouse(local_mouse_report); @@ -424,10 +404,10 @@ void pointing_device_set_cpi_on_side(bool left, uint16_t cpi) { * @return mouse_hv_report_t clamped value */ static inline mouse_hv_report_t pointing_device_hv_clamp(hv_clamp_range_t value) { - if (value < MOUSE_REPORT_HV_MIN) { - return MOUSE_REPORT_HV_MIN; - } else if (value > MOUSE_REPORT_HV_MAX) { - return MOUSE_REPORT_HV_MAX; + if (value < HV_REPORT_MIN) { + return HV_REPORT_MIN; + } else if (value > HV_REPORT_MAX) { + return HV_REPORT_MAX; } else { return value; } @@ -440,10 +420,10 @@ static inline mouse_hv_report_t pointing_device_hv_clamp(hv_clamp_range_t value) * @return mouse_xy_report_t clamped value */ static inline mouse_xy_report_t pointing_device_xy_clamp(xy_clamp_range_t value) { - if (value < MOUSE_REPORT_XY_MIN) { - return MOUSE_REPORT_XY_MIN; - } else if (value > MOUSE_REPORT_XY_MAX) { - return MOUSE_REPORT_XY_MAX; + if (value < XY_REPORT_MIN) { + return XY_REPORT_MIN; + } else if (value > XY_REPORT_MAX) { + return XY_REPORT_MAX; } else { return value; } @@ -543,9 +523,3 @@ __attribute__((weak)) void pointing_device_keycode_handler(uint16_t keycode, boo pointing_device_send(); } } - -#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE -uint16_t pointing_device_get_hires_scroll_resolution(void) { - return hires_scroll_resolution; -} -#endif \ No newline at end of file diff --git a/quantum/pointing_device/pointing_device.h b/quantum/pointing_device/pointing_device.h index e7a0819ed9..72188c977d 100644 --- a/quantum/pointing_device/pointing_device.h +++ b/quantum/pointing_device/pointing_device.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#include #include #include "host.h" #include "report.h" @@ -93,19 +92,27 @@ typedef enum { } pointing_device_buttons_t; #ifdef MOUSE_EXTENDED_REPORT +# define XY_REPORT_MIN INT16_MIN +# define XY_REPORT_MAX INT16_MAX typedef int32_t xy_clamp_range_t; #else +# define XY_REPORT_MIN INT8_MIN +# define XY_REPORT_MAX INT8_MAX typedef int16_t xy_clamp_range_t; #endif #ifdef WHEEL_EXTENDED_REPORT +# define HV_REPORT_MIN INT16_MIN +# define HV_REPORT_MAX INT16_MAX typedef int32_t hv_clamp_range_t; #else +# define HV_REPORT_MIN INT8_MIN +# define HV_REPORT_MAX INT8_MAX typedef int16_t hv_clamp_range_t; #endif #define CONSTRAIN_HID(amt) ((amt) < INT8_MIN ? INT8_MIN : ((amt) > INT8_MAX ? INT8_MAX : (amt))) -#define CONSTRAIN_HID_XY(amt) ((amt) < MOUSE_REPORT_XY_MIN ? MOUSE_REPORT_XY_MIN : ((amt) > MOUSE_REPORT_XY_MAX ? MOUSE_REPORT_XY_MAX : (amt))) +#define CONSTRAIN_HID_XY(amt) ((amt) < XY_REPORT_MIN ? XY_REPORT_MIN : ((amt) > XY_REPORT_MAX ? XY_REPORT_MAX : (amt))) void pointing_device_init(void); bool pointing_device_task(void); @@ -123,10 +130,6 @@ uint8_t pointing_device_handle_buttons(uint8_t buttons, bool pressed, poi report_mouse_t pointing_device_adjust_by_defines(report_mouse_t mouse_report); void pointing_device_keycode_handler(uint16_t keycode, bool pressed); -#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE -uint16_t pointing_device_get_hires_scroll_resolution(void); -#endif - #if defined(SPLIT_POINTING_ENABLE) void pointing_device_set_shared_report(report_mouse_t report); uint16_t pointing_device_get_shared_cpi(void); diff --git a/quantum/process_keycode/process_autocorrect.c b/quantum/process_keycode/process_autocorrect.c index 0cde520778..b7f9132acf 100644 --- a/quantum/process_keycode/process_autocorrect.c +++ b/quantum/process_keycode/process_autocorrect.c @@ -38,7 +38,7 @@ bool autocorrect_is_enabled(void) { */ void autocorrect_enable(void) { keymap_config.autocorrect_enable = true; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } /** @@ -48,7 +48,7 @@ void autocorrect_enable(void) { void autocorrect_disable(void) { keymap_config.autocorrect_enable = false; typo_buffer_size = 0; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } /** @@ -58,7 +58,7 @@ void autocorrect_disable(void) { void autocorrect_toggle(void) { keymap_config.autocorrect_enable = !keymap_config.autocorrect_enable; typo_buffer_size = 0; - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); } /** diff --git a/quantum/process_keycode/process_caps_word.c b/quantum/process_keycode/process_caps_word.c index 8ab66cc521..b8fb868c6d 100644 --- a/quantum/process_keycode/process_caps_word.c +++ b/quantum/process_keycode/process_caps_word.c @@ -160,13 +160,8 @@ bool process_caps_word(uint16_t keycode, keyrecord_t* record) { case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: -#ifdef TRI_LAYER_ENABLE // Ignore Tri Layer keys. case QK_TRI_LAYER_LOWER ... QK_TRI_LAYER_UPPER: -#endif // TRI_LAYER_ENABLE -#ifdef LAYER_LOCK_ENABLE // Ignore Layer Lock key. - case QK_LAYER_LOCK: -#endif // LAYER_LOCK_ENABLE - // Ignore AltGr. + // Ignore AltGr. case KC_RALT: case OSM(MOD_RALT): return true; diff --git a/quantum/process_keycode/process_clicky.c b/quantum/process_keycode/process_clicky.c index f50761268a..82000db9b3 100644 --- a/quantum/process_keycode/process_clicky.c +++ b/quantum/process_keycode/process_clicky.c @@ -66,17 +66,17 @@ void clicky_freq_reset(void) { void clicky_toggle(void) { audio_config.clicky_enable ^= 1; - eeconfig_update_audio(&audio_config); + eeconfig_update_audio(audio_config.raw); } void clicky_on(void) { audio_config.clicky_enable = 1; - eeconfig_update_audio(&audio_config); + eeconfig_update_audio(audio_config.raw); } void clicky_off(void) { audio_config.clicky_enable = 0; - eeconfig_update_audio(&audio_config); + eeconfig_update_audio(audio_config.raw); } bool is_clicky_on(void) { diff --git a/quantum/process_keycode/process_connection.c b/quantum/process_keycode/process_connection.c index 501529ede7..b0e230d680 100644 --- a/quantum/process_keycode/process_connection.c +++ b/quantum/process_keycode/process_connection.c @@ -1,34 +1,24 @@ // Copyright 2024 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later -#include "connection.h" +#include "outputselect.h" #include "process_connection.h" bool process_connection(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch (keycode) { case QK_OUTPUT_NEXT: - connection_next_host(); - return false; - case QK_OUTPUT_PREV: - connection_prev_host(); - return false; - - case QK_OUTPUT_AUTO: - connection_set_host(CONNECTION_HOST_AUTO); - return false; - case QK_OUTPUT_NONE: - connection_set_host(CONNECTION_HOST_NONE); + set_output(OUTPUT_AUTO); // This should cycle through the outputs going forward. Ensure `docs/keycodes.md`, `docs/features/bluetooth.md` are updated when it does. return false; case QK_OUTPUT_USB: - connection_set_host(CONNECTION_HOST_USB); + set_output(OUTPUT_USB); return false; case QK_OUTPUT_BLUETOOTH: - connection_set_host(CONNECTION_HOST_BLUETOOTH); - return false; - case QK_OUTPUT_2P4GHZ: - connection_set_host(CONNECTION_HOST_2P4GHZ); + set_output(OUTPUT_BLUETOOTH); return false; + case QK_OUTPUT_PREV: + case QK_OUTPUT_NONE: + case QK_OUTPUT_2P4GHZ: case QK_BLUETOOTH_PROFILE_NEXT: case QK_BLUETOOTH_PROFILE_PREV: case QK_BLUETOOTH_UNPAIR: diff --git a/quantum/process_keycode/process_leader.c b/quantum/process_keycode/process_leader.c index a5466c513c..ca017a577d 100644 --- a/quantum/process_keycode/process_leader.c +++ b/quantum/process_keycode/process_leader.c @@ -22,7 +22,11 @@ bool process_leader(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { if (leader_sequence_active() && !leader_sequence_timed_out()) { #ifndef LEADER_KEY_STRICT_KEY_PROCESSING - keycode = get_tap_keycode(keycode); + if (IS_QK_MOD_TAP(keycode)) { + keycode = QK_MOD_TAP_GET_TAP_KEYCODE(keycode); + } else if (IS_QK_LAYER_TAP(keycode)) { + keycode = QK_LAYER_TAP_GET_TAP_KEYCODE(keycode); + } #endif if (!leader_sequence_add(keycode)) { diff --git a/quantum/process_keycode/process_magic.c b/quantum/process_keycode/process_magic.c index d5280105de..3b35884d68 100644 --- a/quantum/process_keycode/process_magic.c +++ b/quantum/process_keycode/process_magic.c @@ -47,7 +47,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { if (IS_MAGIC_KEYCODE(keycode)) { /* keymap config */ - eeconfig_read_keymap(&keymap_config); + keymap_config.raw = eeconfig_read_keymap(); switch (keycode) { case QK_MAGIC_SWAP_CONTROL_CAPS_LOCK: keymap_config.swap_control_capslock = true; @@ -187,7 +187,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) { break; } - eeconfig_update_keymap(&keymap_config); + eeconfig_update_keymap(keymap_config.raw); clear_keyboard(); // clear to prevent stuck keys return false; diff --git a/quantum/process_keycode/process_repeat_key.c b/quantum/process_keycode/process_repeat_key.c index fdeed4f466..73f4ddedcf 100644 --- a/quantum/process_keycode/process_repeat_key.c +++ b/quantum/process_keycode/process_repeat_key.c @@ -41,10 +41,7 @@ static bool remember_last_key(uint16_t keycode, keyrecord_t* record, uint8_t* re #ifdef TRI_LAYER_ENABLE // Ignore Tri Layer keys. case QK_TRI_LAYER_LOWER: case QK_TRI_LAYER_UPPER: -#endif // TRI_LAYER_ENABLE -#ifdef LAYER_LOCK_ENABLE // Ignore Layer Lock key. - case QK_LAYER_LOCK: -#endif // LAYER_LOCK_ENABLE +#endif // TRI_LAYER_ENABLE return false; // Ignore hold events on tap-hold keys. diff --git a/quantum/process_keycode/process_steno.c b/quantum/process_keycode/process_steno.c index 4789461352..c491d6f1d8 100644 --- a/quantum/process_keycode/process_steno.c +++ b/quantum/process_keycode/process_steno.c @@ -20,6 +20,9 @@ #ifdef VIRTSER_ENABLE # include "virtser.h" #endif +#ifdef STENO_ENABLE_ALL +# include "eeprom.h" +#endif // All steno keys that have been pressed to form this chord, // stored in MAX_STROKE_SIZE groups of 8-bit arrays. @@ -125,13 +128,13 @@ static const uint16_t combinedmap_second[] PROGMEM = {STN_S2, STN_KL, STN_WL, ST #ifdef STENO_ENABLE_ALL void steno_init(void) { - mode = eeconfig_read_steno_mode(); + mode = eeprom_read_byte(EECONFIG_STENOMODE); } void steno_set_mode(steno_mode_t new_mode) { steno_clear_chord(); mode = new_mode; - eeconfig_update_steno_mode(mode); + eeprom_update_byte(EECONFIG_STENOMODE, mode); } #endif // STENO_ENABLE_ALL diff --git a/quantum/process_keycode/process_underglow.c b/quantum/process_keycode/process_underglow.c index b8d8989ef3..6104cd02c6 100644 --- a/quantum/process_keycode/process_underglow.c +++ b/quantum/process_keycode/process_underglow.c @@ -16,10 +16,7 @@ bool process_underglow(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { -#if defined(RGBLIGHT_ENABLE) || (defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES)) - const uint8_t shifted = get_mods() & MOD_MASK_SHIFT; -#endif - + uint8_t shifted = get_mods() & MOD_MASK_SHIFT; switch (keycode) { case QK_UNDERGLOW_TOGGLE: #if defined(RGBLIGHT_ENABLE) diff --git a/quantum/quantum.c b/quantum/quantum.c index 0bb6ee0a91..d4ebd58e7f 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -20,7 +20,7 @@ # include "process_backlight.h" #endif -#ifdef CONNECTION_ENABLE +#ifdef BLUETOOTH_ENABLE # include "process_connection.h" #endif @@ -162,10 +162,6 @@ __attribute__((weak)) void tap_code16(uint16_t code) { tap_code16_delay(code, code == KC_CAPS_LOCK ? TAP_HOLD_CAPS_DELAY : TAP_CODE_DELAY); } -__attribute__((weak)) bool pre_process_record_modules(uint16_t keycode, keyrecord_t *record) { - return true; -} - __attribute__((weak)) bool pre_process_record_kb(uint16_t keycode, keyrecord_t *record) { return pre_process_record_user(keycode, record); } @@ -178,10 +174,6 @@ __attribute__((weak)) bool process_action_kb(keyrecord_t *record) { return true; } -__attribute__((weak)) bool process_record_modules(uint16_t keycode, keyrecord_t *record) { - return true; -} - __attribute__((weak)) bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return process_record_user(keycode, record); } @@ -190,22 +182,12 @@ __attribute__((weak)) bool process_record_user(uint16_t keycode, keyrecord_t *re return true; } -__attribute__((weak)) void post_process_record_modules(uint16_t keycode, keyrecord_t *record) {} - __attribute__((weak)) void post_process_record_kb(uint16_t keycode, keyrecord_t *record) { post_process_record_user(keycode, record); } __attribute__((weak)) void post_process_record_user(uint16_t keycode, keyrecord_t *record) {} -__attribute__((weak)) bool shutdown_modules(bool jump_to_bootloader) { - return true; -} - -__attribute__((weak)) void suspend_power_down_modules(void) {} - -__attribute__((weak)) void suspend_wakeup_init_modules(void) {} - void shutdown_quantum(bool jump_to_bootloader) { clear_keyboard(); #if defined(MIDI_ENABLE) && defined(MIDI_BASIC) @@ -217,13 +199,11 @@ void shutdown_quantum(bool jump_to_bootloader) { # endif uint16_t timer_start = timer_read(); PLAY_SONG(goodbye_song); - shutdown_modules(jump_to_bootloader); shutdown_kb(jump_to_bootloader); while (timer_elapsed(timer_start) < 250) wait_ms(1); stop_all_notes(); #else - shutdown_modules(jump_to_bootloader); shutdown_kb(jump_to_bootloader); wait_ms(250); #endif @@ -278,7 +258,7 @@ uint16_t get_event_keycode(keyevent_t event, bool update_layer_cache) { /* Get keycode, and then process pre tapping functionality */ bool pre_process_record_quantum(keyrecord_t *record) { - return pre_process_record_modules(get_record_keycode(record, true), record) && pre_process_record_kb(get_record_keycode(record, true), record) && + return pre_process_record_kb(get_record_keycode(record, true), record) && #ifdef COMBO_ENABLE process_combo(get_record_keycode(record, true), record) && #endif @@ -288,7 +268,6 @@ bool pre_process_record_quantum(keyrecord_t *record) { /* Get keycode, and then call keyboard function */ void post_process_record_quantum(keyrecord_t *record) { uint16_t keycode = get_record_keycode(record, false); - post_process_record_modules(keycode, record); post_process_record_kb(keycode, record); } @@ -350,14 +329,13 @@ bool process_record_quantum(keyrecord_t *record) { #ifdef HAPTIC_ENABLE process_haptic(keycode, record) && #endif -#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) - process_auto_mouse(keycode, record) && -#endif - process_record_modules(keycode, record) && // modules must run before kb - process_record_kb(keycode, record) && #if defined(VIA_ENABLE) process_record_via(keycode, record) && #endif +#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) + process_auto_mouse(keycode, record) && +#endif + process_record_kb(keycode, record) && #if defined(SECURE_ENABLE) process_secure(keycode, record) && #endif @@ -436,7 +414,7 @@ bool process_record_quantum(keyrecord_t *record) { #ifdef LAYER_LOCK_ENABLE process_layer_lock(keycode, record) && #endif -#ifdef CONNECTION_ENABLE +#ifdef BLUETOOTH_ENABLE process_connection(keycode, record) && #endif true)) { @@ -548,7 +526,6 @@ __attribute__((weak)) bool shutdown_kb(bool jump_to_bootloader) { } void suspend_power_down_quantum(void) { - suspend_power_down_modules(); suspend_power_down_kb(); #ifndef NO_SUSPEND_POWER_DOWN // Turn off backlight @@ -616,7 +593,6 @@ __attribute__((weak)) void suspend_wakeup_init_quantum(void) { #if defined(RGB_MATRIX_ENABLE) rgb_matrix_set_suspend_state(false); #endif - suspend_wakeup_init_modules(); suspend_wakeup_init_kb(); } diff --git a/quantum/quantum.h b/quantum/quantum.h index 3a994e9a03..9db88a54d4 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -39,7 +39,6 @@ #include "keymap_common.h" #include "quantum_keycodes.h" #include "keycode_config.h" -#include "keycode_string.h" #include "action_layer.h" #include "eeconfig.h" #include "bootloader.h" @@ -245,10 +244,6 @@ extern layer_state_t layer_state; # include "layer_lock.h" #endif -#ifdef COMMUNITY_MODULES_ENABLE -# include "community_modules.h" -#endif - void set_single_default_layer(uint8_t default_layer); void set_single_persistent_default_layer(uint8_t default_layer); diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index a2a86e175c..bcaf94af8b 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -41,59 +41,44 @@ #define QK_MODS_GET_MODS(kc) (((kc) >> 8) & 0x1F) #define QK_MODS_GET_BASIC_KEYCODE(kc) ((kc)&0xFF) -// Modified keycodes +// Keycode modifiers & aliases #define LCTL(kc) (QK_LCTL | (kc)) #define LSFT(kc) (QK_LSFT | (kc)) #define LALT(kc) (QK_LALT | (kc)) #define LGUI(kc) (QK_LGUI | (kc)) - #define LOPT(kc) LALT(kc) #define LCMD(kc) LGUI(kc) #define LWIN(kc) LGUI(kc) - -#define C(kc) LCTL(kc) -#define S(kc) LSFT(kc) -#define A(kc) LALT(kc) -#define G(kc) LGUI(kc) - -#define LCS(kc) (QK_LCTL | QK_LSFT | (kc)) -#define LCA(kc) (QK_LCTL | QK_LALT | (kc)) -#define LCG(kc) (QK_LCTL | QK_LGUI | (kc)) -#define LSA(kc) (QK_LSFT | QK_LALT | (kc)) -#define LSG(kc) (QK_LSFT | QK_LGUI | (kc)) -#define LAG(kc) (QK_LALT | QK_LGUI | (kc)) -#define LCSG(kc) (QK_LCTL | QK_LSFT | QK_LGUI | (kc)) -#define LCAG(kc) (QK_LCTL | QK_LALT | QK_LGUI | (kc)) -#define LSAG(kc) (QK_LSFT | QK_LALT | QK_LGUI | (kc)) - -#define SGUI(kc) LSG(kc) -#define SCMD(kc) LSG(kc) -#define SWIN(kc) LSG(kc) - #define RCTL(kc) (QK_RCTL | (kc)) #define RSFT(kc) (QK_RSFT | (kc)) #define RALT(kc) (QK_RALT | (kc)) #define RGUI(kc) (QK_RGUI | (kc)) - #define ALGR(kc) RALT(kc) #define ROPT(kc) RALT(kc) #define RCMD(kc) RGUI(kc) #define RWIN(kc) RGUI(kc) -#define RCA(kc) (QK_RCTL | QK_RALT | (kc)) -#define RCS(kc) (QK_RCTL | QK_RSFT | (kc)) -#define RCG(kc) (QK_RCTL | QK_RGUI | (kc)) -#define RSA(kc) (QK_RSFT | QK_RALT | (kc)) -#define RSG(kc) (QK_RSFT | QK_RGUI | (kc)) -#define RAG(kc) (QK_RALT | QK_RGUI | (kc)) -#define RCSG(kc) (QK_RCTL | QK_RSFT | QK_RGUI | (kc)) -#define RCAG(kc) (QK_RCTL | QK_RALT | QK_RGUI | (kc)) -#define RSAG(kc) (QK_RSFT | QK_RALT | QK_RGUI | (kc)) - -#define SAGR(kc) RSA(kc) - #define HYPR(kc) (QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI | (kc)) #define MEH(kc) (QK_LCTL | QK_LSFT | QK_LALT | (kc)) +#define LCAG(kc) (QK_LCTL | QK_LALT | QK_LGUI | (kc)) +#define LSG(kc) (QK_LSFT | QK_LGUI | (kc)) +#define SGUI(kc) LSG(kc) +#define SCMD(kc) LSG(kc) +#define SWIN(kc) LSG(kc) +#define LAG(kc) (QK_LALT | QK_LGUI | (kc)) +#define RSG(kc) (QK_RSFT | QK_RGUI | (kc)) +#define RAG(kc) (QK_RALT | QK_RGUI | (kc)) +#define LCA(kc) (QK_LCTL | QK_LALT | (kc)) +#define LSA(kc) (QK_LSFT | QK_LALT | (kc)) +#define RSA(kc) (QK_RSFT | QK_RALT | (kc)) +#define RCS(kc) (QK_RCTL | QK_RSFT | (kc)) +#define SAGR(kc) RSA(kc) + +// Modified keycode aliases +#define C(kc) LCTL(kc) +#define S(kc) LSFT(kc) +#define A(kc) LALT(kc) +#define G(kc) LGUI(kc) // GOTO layer - 32 layer max #define TO(layer) (QK_TO | ((layer)&0x1F)) @@ -142,63 +127,50 @@ #define QK_MOD_TAP_GET_MODS(kc) (((kc) >> 8) & 0x1F) #define QK_MOD_TAP_GET_TAP_KEYCODE(kc) ((kc)&0xFF) -// Mod-Tap shortcuts #define LCTL_T(kc) MT(MOD_LCTL, kc) -#define LSFT_T(kc) MT(MOD_LSFT, kc) -#define LALT_T(kc) MT(MOD_LALT, kc) -#define LGUI_T(kc) MT(MOD_LGUI, kc) - +#define RCTL_T(kc) MT(MOD_RCTL, kc) #define CTL_T(kc) LCTL_T(kc) -#define SFT_T(kc) LSFT_T(kc) -#define ALT_T(kc) LALT_T(kc) -#define GUI_T(kc) LGUI_T(kc) +#define LSFT_T(kc) MT(MOD_LSFT, kc) +#define RSFT_T(kc) MT(MOD_RSFT, kc) +#define SFT_T(kc) LSFT_T(kc) + +#define LALT_T(kc) MT(MOD_LALT, kc) +#define RALT_T(kc) MT(MOD_RALT, kc) #define LOPT_T(kc) LALT_T(kc) +#define ROPT_T(kc) RALT_T(kc) +#define ALGR_T(kc) RALT_T(kc) +#define ALT_T(kc) LALT_T(kc) +#define OPT_T(kc) LOPT_T(kc) + +#define LGUI_T(kc) MT(MOD_LGUI, kc) +#define RGUI_T(kc) MT(MOD_RGUI, kc) #define LCMD_T(kc) LGUI_T(kc) #define LWIN_T(kc) LGUI_T(kc) - -#define OPT_T(kc) LOPT_T(kc) +#define RCMD_T(kc) RGUI_T(kc) +#define RWIN_T(kc) RGUI_T(kc) +#define GUI_T(kc) LGUI_T(kc) #define CMD_T(kc) LCMD_T(kc) #define WIN_T(kc) LWIN_T(kc) -#define LCS_T(kc) MT(MOD_LCTL | MOD_LSFT, kc) -#define LCA_T(kc) MT(MOD_LCTL | MOD_LALT, kc) -#define LCG_T(kc) MT(MOD_LCTL | MOD_LGUI, kc) -#define LSA_T(kc) MT(MOD_LSFT | MOD_LALT, kc) -#define LSG_T(kc) MT(MOD_LSFT | MOD_LGUI, kc) -#define LAG_T(kc) MT(MOD_LALT | MOD_LGUI, kc) -#define LCSG_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LGUI, kc) -#define LCAG_T(kc) MT(MOD_LCTL | MOD_LALT | MOD_LGUI, kc) -#define LSAG_T(kc) MT(MOD_LSFT | MOD_LALT | MOD_LGUI, kc) - +#define C_S_T(kc) MT(MOD_LCTL | MOD_LSFT, kc) // Left Control + Shift e.g. for gnome-terminal +#define MEH_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT, kc) // Meh is a less hyper version of the Hyper key -- doesn't include GUI, so just Left Control + Shift + Alt +#define LCAG_T(kc) MT(MOD_LCTL | MOD_LALT | MOD_LGUI, kc) // Left Control + Alt + GUI +#define RCAG_T(kc) MT(MOD_RCTL | MOD_RALT | MOD_RGUI, kc) // Right Control + Alt + GUI +#define HYPR_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI, kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/ +#define LSG_T(kc) MT(MOD_LSFT | MOD_LGUI, kc) // Left Shift + GUI #define SGUI_T(kc) LSG_T(kc) #define SCMD_T(kc) LSG_T(kc) #define SWIN_T(kc) LSG_T(kc) - -#define RCTL_T(kc) MT(MOD_RCTL, kc) -#define RSFT_T(kc) MT(MOD_RSFT, kc) -#define RALT_T(kc) MT(MOD_RALT, kc) -#define RGUI_T(kc) MT(MOD_RGUI, kc) - -#define ROPT_T(kc) RALT_T(kc) -#define ALGR_T(kc) RALT_T(kc) -#define RCMD_T(kc) RGUI_T(kc) -#define RWIN_T(kc) RGUI_T(kc) - -#define RCS_T(kc) MT(MOD_RCTL | MOD_RSFT, kc) -#define RCA_T(kc) MT(MOD_RCTL | MOD_RALT, kc) -#define RCG_T(kc) MT(MOD_RCTL | MOD_RGUI, kc) -#define RSA_T(kc) MT(MOD_RSFT | MOD_RALT, kc) -#define RSG_T(kc) MT(MOD_RSFT | MOD_RGUI, kc) -#define RAG_T(kc) MT(MOD_RALT | MOD_RGUI, kc) -#define RCSG_T(kc) MT(MOD_RCTL | MOD_RSFT | MOD_RGUI, kc) -#define RCAG_T(kc) MT(MOD_RCTL | MOD_RALT | MOD_RGUI, kc) -#define RSAG_T(kc) MT(MOD_RSFT | MOD_RALT | MOD_RGUI, kc) - +#define LAG_T(kc) MT(MOD_LALT | MOD_LGUI, kc) // Left Alt + GUI +#define RSG_T(kc) MT(MOD_RSFT | MOD_RGUI, kc) // Right Shift + GUI +#define RAG_T(kc) MT(MOD_RALT | MOD_RGUI, kc) // Right Alt + GUI +#define LCA_T(kc) MT(MOD_LCTL | MOD_LALT, kc) // Left Control + Alt +#define LSA_T(kc) MT(MOD_LSFT | MOD_LALT, kc) // Left Shift + Alt +#define RSA_T(kc) MT(MOD_RSFT | MOD_RALT, kc) // Right Shift + Alt +#define RCS_T(kc) MT(MOD_RCTL | MOD_RSFT, kc) // Right Control + Shift #define SAGR_T(kc) RSA_T(kc) -#define MEH_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT, kc) -#define HYPR_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI, kc) #define ALL_T(kc) HYPR_T(kc) // Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h index 55b0fc3596..21aec90675 100644 --- a/quantum/quantum_keycodes_legacy.h +++ b/quantum/quantum_keycodes_legacy.h @@ -57,5 +57,3 @@ #define KC_ACL2 QK_MOUSE_ACCELERATION_2 #define QK_OUTPUT_AUTO OU_AUTO - -#define C_S_T(kc) LCS_T(kc) diff --git a/quantum/raw_hid.c b/quantum/raw_hid.c deleted file mode 100644 index 2c7a75f325..0000000000 --- a/quantum/raw_hid.c +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "raw_hid.h" -#include "host.h" - -void raw_hid_send(uint8_t *data, uint8_t length) { - host_raw_hid_send(data, length); -} - -__attribute__((weak)) void raw_hid_receive(uint8_t *data, uint8_t length) { - // Users should #include "raw_hid.h" in their own code - // and implement this function there. Leave this as weak linkage - // so users can opt to not handle data coming in. -} diff --git a/quantum/rgb_matrix/animations/hue_breathing_anim.h b/quantum/rgb_matrix/animations/hue_breathing_anim.h index 60d7426cfc..5316e92dbd 100644 --- a/quantum/rgb_matrix/animations/hue_breathing_anim.h +++ b/quantum/rgb_matrix/animations/hue_breathing_anim.h @@ -2,17 +2,21 @@ RGB_MATRIX_EFFECT(HUE_BREATHING) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS +// Change huedelta to adjust range of hue change. 0-255. // Hue Breathing - All LED's light up -hsv_t HUE_BREATHING_math(hsv_t hsv, uint8_t i, uint8_t time) { - // Adjust delta between 0-255 to change hue range - uint8_t delta = 12; - hsv.h = hsv.h + scale8(abs8(sin8(time / 2) - 128) * 2, delta); - return hsv; -} - bool HUE_BREATHING(effect_params_t* params) { - return effect_runner_i(params, &HUE_BREATHING_math); + RGB_MATRIX_USE_LIMITS(led_min, led_max); + uint8_t huedelta = 12; + hsv_t hsv = rgb_matrix_config.hsv; + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); + hsv.h = hsv.h + scale8(abs8(sin8(time) - 128) * 2, huedelta); + rgb_t rgb = hsv_to_rgb(hsv); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return rgb_matrix_check_finished_leds(led_max); } # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_HUE_BREATHING +#endif // DISABLE_RGB_HUE_BREATHING diff --git a/quantum/rgb_matrix/animations/pixel_flow_anim.h b/quantum/rgb_matrix/animations/pixel_flow_anim.h index 44b4b5c481..35170f9588 100644 --- a/quantum/rgb_matrix/animations/pixel_flow_anim.h +++ b/quantum/rgb_matrix/animations/pixel_flow_anim.h @@ -22,7 +22,7 @@ static bool PIXEL_FLOW(effect_params_t* params) { // Clear LEDs and fill the state array rgb_matrix_set_color_all(0, 0, 0); for (uint8_t j = 0; j < RGB_MATRIX_LED_COUNT; ++j) { - led[j] = (random8() & 2) ? (rgb_t){0, 0, 0} : rgb_matrix_hsv_to_rgb((hsv_t){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}); + led[j] = (random8() & 2) ? (rgb_t){0, 0, 0} : hsv_to_rgb((hsv_t){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}); } } @@ -39,7 +39,7 @@ static bool PIXEL_FLOW(effect_params_t* params) { led[j] = led[j + 1]; } // Fill last LED - led[led_max - 1] = (random8() & 2) ? (rgb_t){0, 0, 0} : rgb_matrix_hsv_to_rgb((hsv_t){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}); + led[led_max - 1] = (random8() & 2) ? (rgb_t){0, 0, 0} : hsv_to_rgb((hsv_t){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}); // Set pulse timer wait_timer = g_rgb_timer + interval(); } diff --git a/quantum/rgb_matrix/animations/raindrops_anim.h b/quantum/rgb_matrix/animations/raindrops_anim.h index d4f79adb56..a682156da2 100644 --- a/quantum/rgb_matrix/animations/raindrops_anim.h +++ b/quantum/rgb_matrix/animations/raindrops_anim.h @@ -2,42 +2,35 @@ RGB_MATRIX_EFFECT(RAINDROPS) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static void raindrops_set_color(uint8_t i, effect_params_t* params) { +static void raindrops_set_color(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; - hsv_t hsv = rgb_matrix_config.hsv; + hsv_t hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; // Take the shortest path between hues - int16_t deltaH = ((hsv.h + 180) % 360 - hsv.h) / 4; + int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; if (deltaH > 127) { deltaH -= 256; } else if (deltaH < -127) { deltaH += 256; } - hsv.h += (deltaH * random8_max(3)); + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (random8() & 0x03)); rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } bool RAINDROPS(effect_params_t* params) { - static uint16_t index = RGB_MATRIX_LED_COUNT + 1; - - // Periodic trigger for LED change - if ((params->iter == 0) && (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0)) { - index = random8_max(RGB_MATRIX_LED_COUNT); - } - RGB_MATRIX_USE_LIMITS(led_min, led_max); - if (params->init) { - for (uint8_t i = led_min; i < led_max; i++) { + if (!params->init) { + // Change one LED every tick, make sure speed is not 0 + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { + raindrops_set_color(random8_max(RGB_MATRIX_LED_COUNT), params); + } + } else { + for (int i = led_min; i < led_max; i++) { raindrops_set_color(i, params); } } - // Change LED once and set index out of range till next trigger - else if (led_min <= index && index < led_max) { - raindrops_set_color(index, params); - index = RGB_MATRIX_LED_COUNT + 1; - } return rgb_matrix_check_finished_leds(led_max); } diff --git a/quantum/rgb_matrix/animations/rgb_matrix_effects.inc b/quantum/rgb_matrix/animations/rgb_matrix_effects.inc index abc2adf2cc..a02238a2d1 100644 --- a/quantum/rgb_matrix/animations/rgb_matrix_effects.inc +++ b/quantum/rgb_matrix/animations/rgb_matrix_effects.inc @@ -39,8 +39,7 @@ #include "solid_reactive_nexus.h" #include "splash_anim.h" #include "solid_splash_anim.h" -#include "starlight_smooth_anim.h" #include "starlight_anim.h" #include "starlight_dual_sat_anim.h" #include "starlight_dual_hue_anim.h" -#include "riverflow_anim.h" +#include "riverflow_anim.h" \ No newline at end of file diff --git a/quantum/rgb_matrix/animations/starlight_anim.h b/quantum/rgb_matrix/animations/starlight_anim.h index c4f943c5ce..742e843b57 100644 --- a/quantum/rgb_matrix/animations/starlight_anim.h +++ b/quantum/rgb_matrix/animations/starlight_anim.h @@ -2,9 +2,7 @@ RGB_MATRIX_EFFECT(STARLIGHT) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static void set_starlight_color(uint8_t i, effect_params_t* params) { - if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; - +void set_starlight_color(uint8_t i, effect_params_t* params) { uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); hsv_t hsv = rgb_matrix_config.hsv; hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); @@ -13,26 +11,21 @@ static void set_starlight_color(uint8_t i, effect_params_t* params) { } bool STARLIGHT(effect_params_t* params) { - static uint16_t index = RGB_MATRIX_LED_COUNT + 1; - - // Periodic trigger for LED change - if ((params->iter == 0) && (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 5)) % 5 == 0)) { - index = random8_max(RGB_MATRIX_LED_COUNT); + if (!params->init) { + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 5)) % 5 == 0) { + uint8_t rand_led = random8_max(RGB_MATRIX_LED_COUNT); + set_starlight_color(rand_led, params); + } + return false; } RGB_MATRIX_USE_LIMITS(led_min, led_max); - if (params->init) { - for (uint8_t i = led_min; i < led_max; i++) { - set_starlight_color(i, params); - } - } - // Change LED once and set index out of range till next trigger - else if (led_min <= index && index < led_max) { - set_starlight_color(index, params); - index = RGB_MATRIX_LED_COUNT + 1; + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + set_starlight_color(i, params); } return rgb_matrix_check_finished_leds(led_max); } # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_STARLIGHT +#endif // ENABLE_RGB_MATRIX_STARLIGHT \ No newline at end of file diff --git a/quantum/rgb_matrix/animations/starlight_dual_hue_anim.h b/quantum/rgb_matrix/animations/starlight_dual_hue_anim.h index 276b8c3fdf..50ce5d6ab4 100644 --- a/quantum/rgb_matrix/animations/starlight_dual_hue_anim.h +++ b/quantum/rgb_matrix/animations/starlight_dual_hue_anim.h @@ -2,38 +2,31 @@ RGB_MATRIX_EFFECT(STARLIGHT_DUAL_HUE) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static void set_starlight_dual_hue_color(uint8_t i, effect_params_t* params) { - if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; - +void set_starlight_dual_hue_color(uint8_t i, effect_params_t* params) { uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); hsv_t hsv = rgb_matrix_config.hsv; hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - hsv.h = hsv.h + random8_max(31); + hsv.h = hsv.h + random8_max((30 + 1 - -30) + -30); rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } bool STARLIGHT_DUAL_HUE(effect_params_t* params) { - static uint16_t index = RGB_MATRIX_LED_COUNT + 1; - - // Periodic trigger for LED change - if ((params->iter == 0) && (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 5)) % 5 == 0)) { - index = random8_max(RGB_MATRIX_LED_COUNT); + if (!params->init) { + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 5)) % 5 == 0) { + uint8_t rand_led = random8_max(RGB_MATRIX_LED_COUNT); + set_starlight_dual_hue_color(rand_led, params); + } + return false; } RGB_MATRIX_USE_LIMITS(led_min, led_max); - if (params->init) { - for (uint8_t i = led_min; i < led_max; i++) { - set_starlight_dual_hue_color(i, params); - } - } - // Change LED once and set index out of range till next trigger - else if (led_min <= index && index < led_max) { - set_starlight_dual_hue_color(index, params); - index = RGB_MATRIX_LED_COUNT + 1; + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + set_starlight_dual_hue_color(i, params); } return rgb_matrix_check_finished_leds(led_max); } # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_STARLIGHT_DUAL_HUE +#endif // ENABLE_RGB_MATRIX_STARLIGHT_DUAL_HUE \ No newline at end of file diff --git a/quantum/rgb_matrix/animations/starlight_dual_sat_anim.h b/quantum/rgb_matrix/animations/starlight_dual_sat_anim.h index e063658982..6def4eea09 100644 --- a/quantum/rgb_matrix/animations/starlight_dual_sat_anim.h +++ b/quantum/rgb_matrix/animations/starlight_dual_sat_anim.h @@ -2,38 +2,31 @@ RGB_MATRIX_EFFECT(STARLIGHT_DUAL_SAT) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static void set_starlight_dual_sat_color(uint8_t i, effect_params_t* params) { - if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; - +void set_starlight_dual_sat_color(uint8_t i, effect_params_t* params) { uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); hsv_t hsv = rgb_matrix_config.hsv; hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - hsv.s = hsv.s + random8_max(31); + hsv.s = hsv.s + random8_max((30 + 1 - -30) + -30); rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } bool STARLIGHT_DUAL_SAT(effect_params_t* params) { - static uint16_t index = RGB_MATRIX_LED_COUNT + 1; - - // Periodic trigger for LED change - if ((params->iter == 0) && (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 5)) % 5 == 0)) { - index = random8_max(RGB_MATRIX_LED_COUNT); + if (!params->init) { + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 5)) % 5 == 0) { + uint8_t rand_led = random8_max(RGB_MATRIX_LED_COUNT); + set_starlight_dual_sat_color(rand_led, params); + } + return false; } RGB_MATRIX_USE_LIMITS(led_min, led_max); - if (params->init) { - for (uint8_t i = led_min; i < led_max; i++) { - set_starlight_dual_sat_color(i, params); - } - } - // Change LED once and set index out of range till next trigger - else if (led_min <= index && index < led_max) { - set_starlight_dual_sat_color(index, params); - index = RGB_MATRIX_LED_COUNT + 1; + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + set_starlight_dual_sat_color(i, params); } return rgb_matrix_check_finished_leds(led_max); } # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_STARLIGHT_DUAL_SAT +#endif // ENABLE_RGB_MATRIX_STARLIGHT_DUAL_SAT \ No newline at end of file diff --git a/quantum/rgb_matrix/animations/starlight_smooth_anim.h b/quantum/rgb_matrix/animations/starlight_smooth_anim.h deleted file mode 100644 index a87c06f9df..0000000000 --- a/quantum/rgb_matrix/animations/starlight_smooth_anim.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2022 @art-was-here -// SPDX-License-Identifier: GPL-2.0+ - -#ifdef ENABLE_RGB_MATRIX_STARLIGHT_SMOOTH -RGB_MATRIX_EFFECT(STARLIGHT_SMOOTH) -# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS - -static uint8_t phase_offsets[RGB_MATRIX_LED_COUNT]; - -hsv_t STARLIGHT_SMOOTH_math(hsv_t hsv, uint8_t i, uint8_t time) { - if (phase_offsets[i] == 0) { - phase_offsets[i] = rand() % 255; - } - hsv.v = scale8(abs8(sin8((time + phase_offsets[i]) / 2) - 128) * 2, hsv.v); - return hsv; -} - -bool STARLIGHT_SMOOTH(effect_params_t* params) { - if (params->init) { - memset(phase_offsets, 0, sizeof(phase_offsets)); - } - return effect_runner_i(params, &STARLIGHT_SMOOTH_math); -} - -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_STARLIGHT_SMOOTH diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index 2679c48342..484d177546 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -18,6 +18,7 @@ #include "rgb_matrix.h" #include "progmem.h" +#include "eeprom.h" #include "eeconfig.h" #include "keyboard.h" #include "sync_timer.h" @@ -47,9 +48,6 @@ __attribute__((weak)) rgb_t rgb_matrix_hsv_to_rgb(hsv_t hsv) { #define RGB_MATRIX_CUSTOM_EFFECT_IMPLS #include "rgb_matrix_effects.inc" -#ifdef COMMUNITY_MODULES_ENABLE -# include "rgb_matrix_community_modules.inc" -#endif #ifdef RGB_MATRIX_CUSTOM_KB # include "rgb_matrix_kb.inc" #endif @@ -90,9 +88,9 @@ static last_hit_t last_hit_buffer; const uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT; #endif -EECONFIG_DEBOUNCE_HELPER(rgb_matrix, rgb_matrix_config); +EECONFIG_DEBOUNCE_HELPER(rgb_matrix, EECONFIG_RGB_MATRIX, rgb_matrix_config); -void eeconfig_force_flush_rgb_matrix(void) { +void eeconfig_update_rgb_matrix(void) { eeconfig_flush_rgb_matrix(true); } @@ -313,15 +311,6 @@ static void rgb_task_render(uint8_t effect) { #include "rgb_matrix_effects.inc" #undef RGB_MATRIX_EFFECT -#ifdef COMMUNITY_MODULES_ENABLE -# define RGB_MATRIX_EFFECT(name, ...) \ - case RGB_MATRIX_COMMUNITY_MODULE_##name: \ - rendering = name(&rgb_effect_params); \ - break; -# include "rgb_matrix_community_modules.inc" -# undef RGB_MATRIX_EFFECT -#endif - #if defined(RGB_MATRIX_CUSTOM_KB) || defined(RGB_MATRIX_CUSTOM_USER) # define RGB_MATRIX_EFFECT(name, ...) \ case RGB_MATRIX_CUSTOM_##name: \ @@ -405,12 +394,7 @@ void rgb_matrix_task(void) { } } -__attribute__((weak)) bool rgb_matrix_indicators_modules(void) { - return true; -} - void rgb_matrix_indicators(void) { - rgb_matrix_indicators_modules(); rgb_matrix_indicators_kb(); } @@ -450,10 +434,6 @@ struct rgb_matrix_limits_t rgb_matrix_get_limits(uint8_t iter) { return limits; } -__attribute__((weak)) bool rgb_matrix_indicators_advanced_modules(uint8_t led_min, uint8_t led_max) { - return true; -} - void rgb_matrix_indicators_advanced(effect_params_t *params) { /* special handling is needed for "params->iter", since it's already been incremented. * Could move the invocations to rgb_task_render, but then it's missing a few checks @@ -461,7 +441,6 @@ void rgb_matrix_indicators_advanced(effect_params_t *params) { * rgb_task_render, right before the iter++ line. */ RGB_MATRIX_USE_LIMITS_ITER(min, max, params->iter - 1); - rgb_matrix_indicators_advanced_modules(min, max); rgb_matrix_indicators_advanced_kb(min, max); } diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index c6b302631e..33f7e06a63 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -123,12 +123,6 @@ enum rgb_matrix_effects { #include "rgb_matrix_effects.inc" #undef RGB_MATRIX_EFFECT -#ifdef COMMUNITY_MODULES_ENABLE -# define RGB_MATRIX_EFFECT(name, ...) RGB_MATRIX_COMMUNITY_MODULE_##name, -# include "rgb_matrix_community_modules.inc" -# undef RGB_MATRIX_EFFECT -#endif - #if defined(RGB_MATRIX_CUSTOM_KB) || defined(RGB_MATRIX_CUSTOM_USER) # define RGB_MATRIX_EFFECT(name, ...) RGB_MATRIX_CUSTOM_##name, # ifdef RGB_MATRIX_CUSTOM_KB @@ -146,7 +140,7 @@ enum rgb_matrix_effects { }; void eeconfig_update_rgb_matrix_default(void); -void eeconfig_force_flush_rgb_matrix(void); +void eeconfig_update_rgb_matrix(void); uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i); uint8_t rgb_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *led_i); @@ -221,7 +215,7 @@ void rgb_matrix_set_flags_noeeprom(led_flags_t flags); void rgb_matrix_update_pwm_buffers(void); #ifndef RGBLIGHT_ENABLE -# define eeconfig_update_rgblight_current eeconfig_force_flush_rgb_matrix +# define eeconfig_update_rgblight_current eeconfig_update_rgb_matrix # define rgblight_reload_from_eeprom rgb_matrix_reload_from_eeprom # define rgblight_toggle rgb_matrix_toggle # define rgblight_toggle_noeeprom rgb_matrix_toggle_noeeprom diff --git a/quantum/rgb_matrix/rgb_matrix_types.h b/quantum/rgb_matrix/rgb_matrix_types.h index 0115edee6a..0834a7067c 100644 --- a/quantum/rgb_matrix/rgb_matrix_types.h +++ b/quantum/rgb_matrix/rgb_matrix_types.h @@ -18,8 +18,6 @@ #include #include - -#include "compiler_support.h" #include "color.h" #include "util.h" @@ -75,7 +73,7 @@ typedef struct PACKED { uint8_t flags[RGB_MATRIX_LED_COUNT]; } led_config_t; -typedef union rgb_config_t { +typedef union { uint64_t raw; struct PACKED { uint8_t enable : 2; @@ -86,4 +84,4 @@ typedef union rgb_config_t { }; } rgb_config_t; -STATIC_ASSERT(sizeof(rgb_config_t) == sizeof(uint64_t), "RGB Matrix EECONFIG out of spec."); +_Static_assert(sizeof(rgb_config_t) == sizeof(uint64_t), "RGB Matrix EECONFIG out of spec."); diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index bfccb472b5..ddccc9bae3 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -24,7 +24,9 @@ #include "util.h" #include "led_tables.h" #include -#include "eeconfig.h" +#ifdef EEPROM_ENABLE +# include "eeprom.h" +#endif #ifdef RGBLIGHT_SPLIT /* for split keyboard */ @@ -174,9 +176,24 @@ void rgblight_check_config(void) { } } -void eeconfig_update_rgblight_current(void) { +uint64_t eeconfig_read_rgblight(void) { +#ifdef EEPROM_ENABLE + return (uint64_t)((eeprom_read_dword(EECONFIG_RGBLIGHT)) | ((uint64_t)eeprom_read_byte(EECONFIG_RGBLIGHT_EXTENDED) << 32)); +#else + return 0; +#endif +} + +void eeconfig_update_rgblight(uint64_t val) { +#ifdef EEPROM_ENABLE rgblight_check_config(); - eeconfig_update_rgblight(&rgblight_config); + eeprom_update_dword(EECONFIG_RGBLIGHT, val & 0xFFFFFFFF); + eeprom_update_byte(EECONFIG_RGBLIGHT_EXTENDED, (val >> 32) & 0xFF); +#endif +} + +void eeconfig_update_rgblight_current(void) { + eeconfig_update_rgblight(rgblight_config.raw); } void eeconfig_update_rgblight_default(void) { @@ -188,7 +205,7 @@ void eeconfig_update_rgblight_default(void) { rgblight_config.val = RGBLIGHT_DEFAULT_VAL; rgblight_config.speed = RGBLIGHT_DEFAULT_SPD; RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; - eeconfig_update_rgblight(&rgblight_config); + eeconfig_update_rgblight(rgblight_config.raw); } void eeconfig_debug_rgblight(void) { @@ -211,12 +228,12 @@ void rgblight_init(void) { } dprintf("rgblight_init start!\n"); - eeconfig_read_rgblight(&rgblight_config); + rgblight_config.raw = eeconfig_read_rgblight(); RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; if (!rgblight_config.mode) { dprintf("rgblight_init rgblight_config.mode = 0. Write default values to EEPROM.\n"); eeconfig_update_rgblight_default(); - eeconfig_read_rgblight(&rgblight_config); + rgblight_config.raw = eeconfig_read_rgblight(); } rgblight_check_config(); @@ -235,7 +252,7 @@ void rgblight_init(void) { void rgblight_reload_from_eeprom(void) { /* Reset back to what we have in eeprom */ - eeconfig_read_rgblight(&rgblight_config); + rgblight_config.raw = eeconfig_read_rgblight(); RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; rgblight_check_config(); eeconfig_debug_rgblight(); // display current eeprom values @@ -324,7 +341,7 @@ void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) { } RGBLIGHT_SPLIT_SET_CHANGE_MODE; if (write_to_eeprom) { - eeconfig_update_rgblight(&rgblight_config); + eeconfig_update_rgblight(rgblight_config.raw); dprintf("rgblight mode [EEPROM]: %u\n", rgblight_config.mode); } else { dprintf("rgblight mode [NOEEPROM]: %u\n", rgblight_config.mode); @@ -369,7 +386,7 @@ void rgblight_toggle_noeeprom(void) { void rgblight_enable(void) { rgblight_config.enable = 1; // No need to update EEPROM here. rgblight_mode() will do that, actually - // eeconfig_update_rgblight(&rgblight_config); + // eeconfig_update_rgblight(rgblight_config.raw); dprintf("rgblight enable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable); rgblight_mode(rgblight_config.mode); } @@ -382,7 +399,7 @@ void rgblight_enable_noeeprom(void) { void rgblight_disable(void) { rgblight_config.enable = 0; - eeconfig_update_rgblight(&rgblight_config); + eeconfig_update_rgblight(rgblight_config.raw); dprintf("rgblight disable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable); rgblight_timer_disable(); RGBLIGHT_SPLIT_SET_CHANGE_MODE; @@ -470,7 +487,7 @@ void rgblight_increase_speed_helper(bool write_to_eeprom) { if (rgblight_config.speed < 3) rgblight_config.speed++; // RGBLIGHT_SPLIT_SET_CHANGE_HSVS; // NEED? if (write_to_eeprom) { - eeconfig_update_rgblight(&rgblight_config); + eeconfig_update_rgblight(rgblight_config.raw); } } void rgblight_increase_speed(void) { @@ -484,7 +501,7 @@ void rgblight_decrease_speed_helper(bool write_to_eeprom) { if (rgblight_config.speed > 0) rgblight_config.speed--; // RGBLIGHT_SPLIT_SET_CHANGE_HSVS; // NEED?? if (write_to_eeprom) { - eeconfig_update_rgblight(&rgblight_config); + eeconfig_update_rgblight(rgblight_config.raw); } } void rgblight_decrease_speed(void) { @@ -496,7 +513,7 @@ void rgblight_decrease_speed_noeeprom(void) { void rgblight_sethsv_noeeprom_old(uint8_t hue, uint8_t sat, uint8_t val) { if (rgblight_config.enable) { - rgb_t rgb = rgblight_hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgb_t rgb = hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); rgblight_setrgb(rgb.r, rgb.g, rgb.b); } } @@ -515,7 +532,7 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w // needed for rgblight_layers_write() to get the new val, since it reads rgblight_config.val rgblight_config.val = val; #endif - rgb_t rgb = rgblight_hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgb_t rgb = hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); rgblight_setrgb(rgb.r, rgb.g, rgb.b); } else { // all LEDs in same color @@ -568,7 +585,7 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w rgblight_config.sat = sat; rgblight_config.val = val; if (write_to_eeprom) { - eeconfig_update_rgblight(&rgblight_config); + eeconfig_update_rgblight(rgblight_config.raw); dprintf("rgblight set hsv [EEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val); } else { dprintf("rgblight set hsv [NOEEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val); @@ -591,7 +608,7 @@ uint8_t rgblight_get_speed(void) { void rgblight_set_speed_eeprom_helper(uint8_t speed, bool write_to_eeprom) { rgblight_config.speed = speed; if (write_to_eeprom) { - eeconfig_update_rgblight(&rgblight_config); + eeconfig_update_rgblight(rgblight_config.raw); dprintf("rgblight set speed [EEPROM]: %u\n", rgblight_config.speed); } else { dprintf("rgblight set speed [NOEEPROM]: %u\n", rgblight_config.speed); @@ -647,7 +664,7 @@ void rgblight_sethsv_at(uint8_t hue, uint8_t sat, uint8_t val, uint8_t index) { return; } - rgb_t rgb = rgblight_hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgb_t rgb = hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); rgblight_setrgb_at(rgb.r, rgb.g, rgb.b, index); } @@ -679,7 +696,7 @@ void rgblight_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start, return; } - rgb_t rgb = rgblight_hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgb_t rgb = hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); rgblight_setrgb_range(rgb.r, rgb.g, rgb.b, start, end); } diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h index c061e71895..f4b6e621e4 100644 --- a/quantum/rgblight/rgblight.h +++ b/quantum/rgblight/rgblight.h @@ -16,8 +16,6 @@ #pragma once -#include "compiler_support.h" - // DEPRECATED DEFINES - DO NOT USE #if defined(RGBLED_NUM) # define RGBLIGHT_LED_COUNT RGBLED_NUM @@ -170,6 +168,7 @@ enum RGBLIGHT_EFFECT_MODE { #include #include "rgblight_drivers.h" #include "progmem.h" +#include "eeconfig.h" #include "color.h" #ifdef RGBLIGHT_LAYERS @@ -249,7 +248,7 @@ extern const uint16_t RGBLED_RGBTEST_INTERVALS[1] PROGMEM; extern const uint8_t RGBLED_TWINKLE_INTERVALS[3] PROGMEM; extern bool is_rgblight_initialized; -typedef union rgblight_config_t { +typedef union { uint64_t raw; struct { bool enable : 1; @@ -262,7 +261,7 @@ typedef union rgblight_config_t { }; } rgblight_config_t; -STATIC_ASSERT(sizeof(rgblight_config_t) == sizeof(uint64_t), "RGB Light EECONFIG out of spec."); +_Static_assert(sizeof(rgblight_config_t) == sizeof(uint64_t), "RGB Light EECONFIG out of spec."); typedef struct _rgblight_status_t { uint8_t base_mode; @@ -371,6 +370,8 @@ void rgblight_suspend(void); void rgblight_wakeup(void); uint64_t rgblight_read_qword(void); void rgblight_update_qword(uint64_t qword); +uint64_t eeconfig_read_rgblight(void); +void eeconfig_update_rgblight(uint64_t val); void eeconfig_update_rgblight_current(void); void eeconfig_update_rgblight_default(void); void eeconfig_debug_rgblight(void); diff --git a/quantum/send_string/send_string.c b/quantum/send_string/send_string.c index 602f24dabe..44c5ec5ab9 100644 --- a/quantum/send_string/send_string.c +++ b/quantum/send_string/send_string.c @@ -150,65 +150,48 @@ void send_string(const char *string) { send_string_with_delay(string, TAP_CODE_DELAY); } -void send_string_with_delay_impl(char (*getter)(void *), void *arg, uint8_t interval) { +void send_string_with_delay(const char *string, uint8_t interval) { while (1) { - char ascii_code = getter(arg); + char ascii_code = *string; if (!ascii_code) break; if (ascii_code == SS_QMK_PREFIX) { - ascii_code = getter(arg); + ascii_code = *(++string); if (ascii_code == SS_TAP_CODE) { // tap - uint8_t keycode = getter(arg); + uint8_t keycode = *(++string); tap_code(keycode); } else if (ascii_code == SS_DOWN_CODE) { // down - uint8_t keycode = getter(arg); + uint8_t keycode = *(++string); register_code(keycode); } else if (ascii_code == SS_UP_CODE) { // up - uint8_t keycode = getter(arg); + uint8_t keycode = *(++string); unregister_code(keycode); } else if (ascii_code == SS_DELAY_CODE) { // delay - int ms = 0; - ascii_code = getter(arg); + int ms = 0; + uint8_t keycode = *(++string); - while (isdigit(ascii_code)) { + while (isdigit(keycode)) { ms *= 10; - ms += ascii_code - '0'; - ascii_code = getter(arg); + ms += keycode - '0'; + keycode = *(++string); } wait_ms(ms); } wait_ms(interval); - - // if we had a delay that terminated with a null, we're done - if (ascii_code == 0) break; } else { send_char_with_delay(ascii_code, interval); } + + ++string; } } -typedef struct send_string_memory_state_t { - const char *string; -} send_string_memory_state_t; - -char send_string_get_next_ram(void *arg) { - send_string_memory_state_t *state = (send_string_memory_state_t *)arg; - char ret = *state->string; - state->string++; - return ret; -} - -void send_string_with_delay(const char *string, uint8_t interval) { - send_string_memory_state_t state = {string}; - send_string_with_delay_impl(send_string_get_next_ram, &state, interval); -} - void send_char(char ascii_code) { send_char_with_delay(ascii_code, TAP_CODE_DELAY); } @@ -314,15 +297,42 @@ void send_string_P(const char *string) { send_string_with_delay_P(string, TAP_CODE_DELAY); } -char send_string_get_next_progmem(void *arg) { - send_string_memory_state_t *state = (send_string_memory_state_t *)arg; - char ret = pgm_read_byte(state->string); - state->string++; - return ret; -} - void send_string_with_delay_P(const char *string, uint8_t interval) { - send_string_memory_state_t state = {string}; - send_string_with_delay_impl(send_string_get_next_progmem, &state, interval); + while (1) { + char ascii_code = pgm_read_byte(string); + if (!ascii_code) break; + if (ascii_code == SS_QMK_PREFIX) { + ascii_code = pgm_read_byte(++string); + + if (ascii_code == SS_TAP_CODE) { + // tap + uint8_t keycode = pgm_read_byte(++string); + tap_code(keycode); + } else if (ascii_code == SS_DOWN_CODE) { + // down + uint8_t keycode = pgm_read_byte(++string); + register_code(keycode); + } else if (ascii_code == SS_UP_CODE) { + // up + uint8_t keycode = pgm_read_byte(++string); + unregister_code(keycode); + } else if (ascii_code == SS_DELAY_CODE) { + // delay + int ms = 0; + uint8_t keycode = pgm_read_byte(++string); + + while (isdigit(keycode)) { + ms *= 10; + ms += keycode - '0'; + keycode = pgm_read_byte(++string); + } + wait_ms(ms); + } + } else { + send_char_with_delay(ascii_code, interval); + } + + ++string; + } } #endif diff --git a/quantum/send_string/send_string.h b/quantum/send_string/send_string.h index 4f91252075..f727ec507d 100644 --- a/quantum/send_string/send_string.h +++ b/quantum/send_string/send_string.h @@ -161,12 +161,4 @@ void send_string_with_delay_P(const char *string, uint8_t interval); */ #define SEND_STRING_DELAY(string, interval) send_string_with_delay_P(PSTR(string), interval) -/** - * \brief Actual implementation function that iterates and sends the string returned by the getter function. - * - * The getter assumes that the next byte is available to be read, and returns it. `arg` is passed in and can be whatever - * makes most sense for the getter -- each invocation of `getter` must advance its position in the source. - */ -void send_string_with_delay_impl(char (*getter)(void *), void *arg, uint8_t interval); - /** \} */ diff --git a/quantum/sequencer/tests/rules.mk b/quantum/sequencer/tests/rules.mk index 74b680ae31..611459e060 100644 --- a/quantum/sequencer/tests/rules.mk +++ b/quantum/sequencer/tests/rules.mk @@ -8,5 +8,4 @@ sequencer_SRC := \ $(QUANTUM_PATH)/sequencer/tests/midi_mock.c \ $(QUANTUM_PATH)/sequencer/tests/sequencer_tests.cpp \ $(QUANTUM_PATH)/sequencer/sequencer.c \ - $(PLATFORM_PATH)/timer.c \ $(PLATFORM_PATH)/$(PLATFORM_KEY)/timer.c diff --git a/quantum/split_common/split_util.c b/quantum/split_common/split_util.c index 59b6009ec4..9af3c29d75 100644 --- a/quantum/split_common/split_util.c +++ b/quantum/split_common/split_util.c @@ -13,8 +13,6 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - -#include "compiler_support.h" #include "split_util.h" #include "matrix.h" #include "keyboard.h" @@ -64,7 +62,7 @@ static struct { } split_config; #if defined(SPLIT_USB_DETECT) -STATIC_ASSERT((SPLIT_USB_TIMEOUT / SPLIT_USB_TIMEOUT_POLL) <= UINT16_MAX, "Please lower SPLIT_USB_TIMEOUT and/or increase SPLIT_USB_TIMEOUT_POLL."); +_Static_assert((SPLIT_USB_TIMEOUT / SPLIT_USB_TIMEOUT_POLL) <= UINT16_MAX, "Please lower SPLIT_USB_TIMEOUT and/or increase SPLIT_USB_TIMEOUT_POLL."); static bool usb_bus_detected(void) { for (uint16_t i = 0; i < (SPLIT_USB_TIMEOUT / SPLIT_USB_TIMEOUT_POLL); i++) { // This will return true if a USB connection has been established @@ -90,9 +88,9 @@ static inline bool usb_bus_detected(void) { # endif # endif # if defined(SPLIT_USB_DETECT) -STATIC_ASSERT(SPLIT_USB_TIMEOUT < SPLIT_WATCHDOG_TIMEOUT, "SPLIT_WATCHDOG_TIMEOUT should not be below SPLIT_USB_TIMEOUT."); +_Static_assert(SPLIT_USB_TIMEOUT < SPLIT_WATCHDOG_TIMEOUT, "SPLIT_WATCHDOG_TIMEOUT should not be below SPLIT_USB_TIMEOUT."); # endif -STATIC_ASSERT(SPLIT_MAX_CONNECTION_ERRORS > 0, "SPLIT_WATCHDOG_ENABLE requires SPLIT_MAX_CONNECTION_ERRORS be above 0 for a functioning disconnection check."); +_Static_assert(SPLIT_MAX_CONNECTION_ERRORS > 0, "SPLIT_WATCHDOG_ENABLE requires SPLIT_MAX_CONNECTION_ERRORS be above 0 for a functioning disconnection check."); static uint32_t split_watchdog_started = 0; static bool split_watchdog_done = false; diff --git a/quantum/split_common/split_util.h b/quantum/split_common/split_util.h index 6f4c4dc660..f83b05b6a6 100644 --- a/quantum/split_common/split_util.h +++ b/quantum/split_common/split_util.h @@ -15,4 +15,4 @@ bool is_transport_connected(void); void split_watchdog_update(bool done); void split_watchdog_task(void); -bool split_watchdog_check(void); +bool split_watchdog_check(void); \ No newline at end of file diff --git a/quantum/split_common/transaction_id_define.h b/quantum/split_common/transaction_id_define.h index 694737868a..5bfbe2aec7 100644 --- a/quantum/split_common/transaction_id_define.h +++ b/quantum/split_common/transaction_id_define.h @@ -16,8 +16,6 @@ #pragma once -#include "compiler_support.h" - enum serial_transaction_id { #ifdef USE_I2C I2C_EXECUTE_CALLBACK, @@ -124,4 +122,4 @@ enum serial_transaction_id { }; // Ensure we only use 5 bits for transaction -STATIC_ASSERT(NUM_TOTAL_TRANSACTIONS <= (1 << 5), "Max number of usable transactions exceeded"); +_Static_assert(NUM_TOTAL_TRANSACTIONS <= (1 << 5), "Max number of usable transactions exceeded"); diff --git a/quantum/split_common/transport.c b/quantum/split_common/transport.c index ea687af1c2..83edc34859 100644 --- a/quantum/split_common/transport.c +++ b/quantum/split_common/transport.c @@ -17,7 +17,6 @@ #include #include -#include "compiler_support.h" #include "transactions.h" #include "transport.h" #include "transaction_id_define.h" @@ -37,7 +36,7 @@ # include "i2c_slave.h" // Ensure the I2C buffer has enough space -STATIC_ASSERT(sizeof(split_shared_memory_t) <= I2C_SLAVE_REG_COUNT, "split_shared_memory_t too large for I2C_SLAVE_REG_COUNT"); +_Static_assert(sizeof(split_shared_memory_t) <= I2C_SLAVE_REG_COUNT, "split_shared_memory_t too large for I2C_SLAVE_REG_COUNT"); split_shared_memory_t *const split_shmem = (split_shared_memory_t *)i2c_slave_reg; diff --git a/quantum/unicode/unicode.c b/quantum/unicode/unicode.c index dff1d43fb4..78a4cad585 100644 --- a/quantum/unicode/unicode.c +++ b/quantum/unicode/unicode.c @@ -16,6 +16,7 @@ #include "unicode.h" +#include "eeprom.h" #include "eeconfig.h" #include "action.h" #include "action_util.h" @@ -135,7 +136,7 @@ static void unicode_play_song(uint8_t mode) { #endif void unicode_input_mode_init(void) { - eeconfig_read_unicode_mode(&unicode_config); + unicode_config.raw = eeprom_read_byte(EECONFIG_UNICODEMODE); #if UNICODE_SELECTED_MODES != -1 # if UNICODE_CYCLE_PERSIST // Find input_mode in selected modes @@ -164,7 +165,7 @@ uint8_t get_unicode_input_mode(void) { } static void persist_unicode_input_mode(void) { - eeconfig_update_unicode_mode(&unicode_config); + eeprom_update_byte(EECONFIG_UNICODEMODE, unicode_config.input_mode); } void set_unicode_input_mode(uint8_t mode) { diff --git a/quantum/unicode/unicode.h b/quantum/unicode/unicode.h index 7cddc78b7a..90a54c8b18 100644 --- a/quantum/unicode/unicode.h +++ b/quantum/unicode/unicode.h @@ -17,8 +17,6 @@ #pragma once #include - -#include "compiler_support.h" #include "unicode_keycodes.h" /** @@ -28,14 +26,14 @@ * \{ */ -typedef union unicode_config_t { +typedef union { uint8_t raw; struct { uint8_t input_mode : 8; }; } unicode_config_t; -STATIC_ASSERT(sizeof(unicode_config_t) == sizeof(uint8_t), "Unicode EECONFIG out of spec."); +_Static_assert(sizeof(unicode_config_t) == sizeof(uint8_t), "Unicode EECONFIG out of spec."); extern unicode_config_t unicode_config; diff --git a/quantum/via.c b/quantum/via.c index 3682b4ab2b..643d7aa3c3 100644 --- a/quantum/via.c +++ b/quantum/via.c @@ -26,12 +26,12 @@ #include "raw_hid.h" #include "dynamic_keymap.h" +#include "eeprom.h" #include "eeconfig.h" #include "matrix.h" #include "timer.h" #include "wait.h" #include "version.h" // for QMK_BUILDDATE used in EEPROM magic -#include "nvm_via.h" #if defined(AUDIO_ENABLE) # include "audio.h" @@ -65,26 +65,20 @@ bool via_eeprom_is_valid(void) { uint8_t magic1 = ((p[5] & 0x0F) << 4) | (p[6] & 0x0F); uint8_t magic2 = ((p[8] & 0x0F) << 4) | (p[9] & 0x0F); - uint8_t ee_magic0; - uint8_t ee_magic1; - uint8_t ee_magic2; - nvm_via_read_magic(&ee_magic0, &ee_magic1, &ee_magic2); - - return ee_magic0 == magic0 && ee_magic1 == magic1 && ee_magic2 == magic2; + return (eeprom_read_byte((void *)VIA_EEPROM_MAGIC_ADDR + 0) == magic0 && eeprom_read_byte((void *)VIA_EEPROM_MAGIC_ADDR + 1) == magic1 && eeprom_read_byte((void *)VIA_EEPROM_MAGIC_ADDR + 2) == magic2); } // Sets VIA/keyboard level usage of EEPROM to valid/invalid // Keyboard level code (eg. via_init_kb()) should not call this void via_eeprom_set_valid(bool valid) { - if (valid) { - char * p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" - uint8_t magic0 = ((p[2] & 0x0F) << 4) | (p[3] & 0x0F); - uint8_t magic1 = ((p[5] & 0x0F) << 4) | (p[6] & 0x0F); - uint8_t magic2 = ((p[8] & 0x0F) << 4) | (p[9] & 0x0F); - nvm_via_update_magic(magic0, magic1, magic2); - } else { - nvm_via_update_magic(0xFF, 0xFF, 0xFF); - } + char * p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" + uint8_t magic0 = ((p[2] & 0x0F) << 4) | (p[3] & 0x0F); + uint8_t magic1 = ((p[5] & 0x0F) << 4) | (p[6] & 0x0F); + uint8_t magic2 = ((p[8] & 0x0F) << 4) | (p[9] & 0x0F); + + eeprom_update_byte((void *)VIA_EEPROM_MAGIC_ADDR + 0, valid ? magic0 : 0xFF); + eeprom_update_byte((void *)VIA_EEPROM_MAGIC_ADDR + 1, valid ? magic1 : 0xFF); + eeprom_update_byte((void *)VIA_EEPROM_MAGIC_ADDR + 2, valid ? magic2 : 0xFF); } // Override this at the keyboard code level to check @@ -110,8 +104,6 @@ void via_init(void) { } void eeconfig_init_via(void) { - // Erase any NVM storage if necessary - nvm_via_erase(); // set the magic number to false, in case this gets interrupted via_eeprom_set_valid(false); // This resets the layout options @@ -127,25 +119,30 @@ void eeconfig_init_via(void) { // This is generalized so the layout options EEPROM usage can be // variable, between 1 and 4 bytes. uint32_t via_get_layout_options(void) { - return nvm_via_read_layout_options(); + uint32_t value = 0; + // Start at the most significant byte + void *source = (void *)(VIA_EEPROM_LAYOUT_OPTIONS_ADDR); + for (uint8_t i = 0; i < VIA_EEPROM_LAYOUT_OPTIONS_SIZE; i++) { + value = value << 8; + value |= eeprom_read_byte(source); + source++; + } + return value; } __attribute__((weak)) void via_set_layout_options_kb(uint32_t value) {} void via_set_layout_options(uint32_t value) { via_set_layout_options_kb(value); - nvm_via_update_layout_options(value); + // Start at the least significant byte + void *target = (void *)(VIA_EEPROM_LAYOUT_OPTIONS_ADDR + VIA_EEPROM_LAYOUT_OPTIONS_SIZE - 1); + for (uint8_t i = 0; i < VIA_EEPROM_LAYOUT_OPTIONS_SIZE; i++) { + eeprom_update_byte(target, value & 0xFF); + value = value >> 8; + target--; + } } -#if VIA_EEPROM_CUSTOM_CONFIG_SIZE > 0 -uint32_t via_read_custom_config(void *buf, uint32_t offset, uint32_t length) { - return nvm_via_read_custom_config(buf, offset, length); -} -uint32_t via_update_custom_config(const void *buf, uint32_t offset, uint32_t length) { - return nvm_via_update_custom_config(buf, offset, length); -} -#endif - #if defined(AUDIO_ENABLE) float via_device_indication_song[][2] = SONG(STARTUP_SOUND); #endif // AUDIO_ENABLE @@ -718,7 +715,7 @@ void via_qmk_rgb_matrix_set_value(uint8_t *data) { } void via_qmk_rgb_matrix_save(void) { - eeconfig_force_flush_rgb_matrix(); + eeconfig_update_rgb_matrix(); } #endif // RGB_MATRIX_ENABLE @@ -797,7 +794,7 @@ void via_qmk_led_matrix_set_value(uint8_t *data) { } void via_qmk_led_matrix_save(void) { - eeconfig_force_flush_led_matrix(); + eeconfig_update_led_matrix(); } #endif // LED_MATRIX_ENABLE @@ -864,7 +861,7 @@ void via_qmk_audio_set_value(uint8_t *data) { } void via_qmk_audio_save(void) { - eeconfig_update_audio(&audio_config); + eeconfig_update_audio(audio_config.raw); } #endif // QMK_AUDIO_ENABLE diff --git a/quantum/via.h b/quantum/via.h index 9f0eef10f7..01d4c48b37 100644 --- a/quantum/via.h +++ b/quantum/via.h @@ -16,8 +16,21 @@ #pragma once +#include "eeconfig.h" // for EECONFIG_SIZE #include "action.h" +// Keyboard level code can change where VIA stores the magic. +// The magic is the build date YYMMDD encoded as BCD in 3 bytes, +// thus installing firmware built on a different date to the one +// already installed can be detected and the EEPROM data is reset. +// The only reason this is important is in case EEPROM usage changes +// and the EEPROM was not explicitly reset by bootmagic lite. +#ifndef VIA_EEPROM_MAGIC_ADDR +# define VIA_EEPROM_MAGIC_ADDR (EECONFIG_SIZE) +#endif + +#define VIA_EEPROM_LAYOUT_OPTIONS_ADDR (VIA_EEPROM_MAGIC_ADDR + 3) + // Changing the layout options size after release will invalidate EEPROM, // but this is something that should be set correctly on initial implementation. // 1 byte is enough for most uses (i.e. 8 binary states, or 6 binary + 1 ternary/quaternary ) @@ -33,10 +46,17 @@ # define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x00000000 #endif +// The end of the EEPROM memory used by VIA +// By default, dynamic keymaps will start at this if there is no +// custom config +#define VIA_EEPROM_CUSTOM_CONFIG_ADDR (VIA_EEPROM_LAYOUT_OPTIONS_ADDR + VIA_EEPROM_LAYOUT_OPTIONS_SIZE) + #ifndef VIA_EEPROM_CUSTOM_CONFIG_SIZE # define VIA_EEPROM_CUSTOM_CONFIG_SIZE 0 #endif +#define VIA_EEPROM_CONFIG_END (VIA_EEPROM_CUSTOM_CONFIG_ADDR + VIA_EEPROM_CUSTOM_CONFIG_SIZE) + // This is changed only when the command IDs change, // so VIA Configurator can detect compatible firmware. #define VIA_PROTOCOL_VERSION 0x000C @@ -140,11 +160,6 @@ uint32_t via_get_layout_options(void); void via_set_layout_options(uint32_t value); void via_set_layout_options_kb(uint32_t value); -#if VIA_EEPROM_CUSTOM_CONFIG_SIZE > 0 -uint32_t via_read_custom_config(void *buf, uint32_t offset, uint32_t length); -uint32_t via_update_custom_config(const void *buf, uint32_t offset, uint32_t length); -#endif - // Used by VIA to tell a device to flash LEDs (or do something else) when that // device becomes the active device being configured, on startup or switching // between devices. @@ -187,4 +202,4 @@ void via_qmk_audio_command(uint8_t *data, uint8_t length); void via_qmk_audio_set_value(uint8_t *data); void via_qmk_audio_get_value(uint8_t *data); void via_qmk_audio_save(void); -#endif +#endif \ No newline at end of file diff --git a/quantum/wear_leveling/tests/rules.mk b/quantum/wear_leveling/tests/rules.mk index f5f36e5b6e..4d7a964049 100644 --- a/quantum/wear_leveling/tests/rules.mk +++ b/quantum/wear_leveling/tests/rules.mk @@ -63,4 +63,4 @@ wear_leveling_8byte_SRC := \ $(wear_leveling_common_SRC) \ $(QUANTUM_PATH)/wear_leveling/tests/wear_leveling_8byte.cpp wear_leveling_8byte_INC := \ - $(wear_leveling_common_INC) + $(wear_leveling_common_INC) \ No newline at end of file diff --git a/quantum/wear_leveling/wear_leveling.c b/quantum/wear_leveling/wear_leveling.c index 258f074a5c..429df45df5 100644 --- a/quantum/wear_leveling/wear_leveling.c +++ b/quantum/wear_leveling/wear_leveling.c @@ -3,7 +3,6 @@ #include #include "fnv.h" #include "wear_leveling.h" -#include "wear_leveling_drivers.h" #include "wear_leveling_internal.h" /* diff --git a/quantum/wear_leveling/wear_leveling_drivers.h b/quantum/wear_leveling/wear_leveling_drivers.h deleted file mode 100644 index e81f833fd1..0000000000 --- a/quantum/wear_leveling/wear_leveling_drivers.h +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#if defined(WEAR_LEVELING_EMBEDDED_FLASH) -# include "wear_leveling/wear_leveling_efl_config.h" -#elif defined(WEAR_LEVELING_SPI_FLASH) -# include "wear_leveling/wear_leveling_flash_spi_config.h" -#elif defined(WEAR_LEVELING_RP2040_FLASH) -# include "wear_leveling/wear_leveling_rp2040_flash_config.h" -#elif defined(WEAR_LEVELING_LEGACY) -# include "wear_leveling/wear_leveling_legacy_config.h" -#endif diff --git a/quantum/wear_leveling/wear_leveling_internal.h b/quantum/wear_leveling/wear_leveling_internal.h index c590f42235..e83f9b22ea 100644 --- a/quantum/wear_leveling/wear_leveling_internal.h +++ b/quantum/wear_leveling/wear_leveling_internal.h @@ -2,7 +2,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#include "compiler_support.h" +#ifdef __cplusplus +# define _Static_assert static_assert +#endif #include #include @@ -60,9 +62,9 @@ typedef uint64_t backing_store_int_t; #endif // WEAR_LEVELING_ASSERTS // Compile-time validation of configurable options -STATIC_ASSERT(WEAR_LEVELING_BACKING_SIZE >= (WEAR_LEVELING_LOGICAL_SIZE * 2), "Total backing size must be at least twice the size of the logical size"); -STATIC_ASSERT(WEAR_LEVELING_LOGICAL_SIZE % BACKING_STORE_WRITE_SIZE == 0, "Logical size must be a multiple of write size"); -STATIC_ASSERT(WEAR_LEVELING_BACKING_SIZE % WEAR_LEVELING_LOGICAL_SIZE == 0, "Backing size must be a multiple of logical size"); +_Static_assert(WEAR_LEVELING_BACKING_SIZE >= (WEAR_LEVELING_LOGICAL_SIZE * 2), "Total backing size must be at least twice the size of the logical size"); +_Static_assert(WEAR_LEVELING_LOGICAL_SIZE % BACKING_STORE_WRITE_SIZE == 0, "Logical size must be a multiple of write size"); +_Static_assert(WEAR_LEVELING_BACKING_SIZE % WEAR_LEVELING_LOGICAL_SIZE == 0, "Backing size must be a multiple of logical size"); // Backing Store API, to be implemented elsewhere by flash driver etc. bool backing_store_init(void); @@ -84,7 +86,7 @@ typedef union write_log_entry_t { uint8_t raw8[8]; } write_log_entry_t; -STATIC_ASSERT(sizeof(write_log_entry_t) == 8, "Wear leveling write log entry size was not 8"); +_Static_assert(sizeof(write_log_entry_t) == 8, "Wear leveling write log entry size was not 8"); /** * Log entry type discriminator. @@ -102,7 +104,7 @@ enum { LOG_ENTRY_TYPES }; -STATIC_ASSERT(LOG_ENTRY_TYPES <= (1 << 2), "Too many log entry types to fit into 2 bits of storage"); +_Static_assert(LOG_ENTRY_TYPES <= (1 << 2), "Too many log entry types to fit into 2 bits of storage"); #define BITMASK_FOR_BITCOUNT(n) ((1 << (n)) - 1) diff --git a/requirements.txt b/requirements.txt index 68b05d64e6..fbee51ee57 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ dotty-dict hid hjson jsonschema>=4 -milc>=1.9.0 +milc>=1.4.2 pygments pyserial pyusb diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000000..88822b0b17 --- /dev/null +++ b/shell.nix @@ -0,0 +1,72 @@ +let + # We specify sources via Niv: use "niv update nixpkgs" to update nixpkgs, for example. + sources = import ./util/nix/sources.nix { }; +in +# However, if you want to override Niv's inputs, this will let you do that. +{ pkgs ? import sources.nixpkgs { } +, poetry2nix ? pkgs.callPackage (import sources.poetry2nix) { } +, avr ? true +, arm ? true +, teensy ? true }: +with pkgs; +let + avrlibc = pkgsCross.avr.libcCross; + + avr_incflags = [ + "-isystem ${avrlibc}/avr/include" + "-B${avrlibc}/avr/lib/avr5" + "-L${avrlibc}/avr/lib/avr5" + "-B${avrlibc}/avr/lib/avr35" + "-L${avrlibc}/avr/lib/avr35" + "-B${avrlibc}/avr/lib/avr51" + "-L${avrlibc}/avr/lib/avr51" + ]; + + # Builds the python env based on nix/pyproject.toml and + # nix/poetry.lock Use the "poetry update --lock", "poetry add + # --lock" etc. in the nix folder to adjust the contents of those + # files if the requirements*.txt files change + pythonEnv = poetry2nix.mkPoetryEnv { + projectDir = ./util/nix; + overrides = poetry2nix.overrides.withDefaults (self: super: { + qmk = super.qmk.overridePythonAttrs(old: { + # Allow QMK CLI to run "qmk" as a subprocess (the wrapper changes + # $PATH and breaks these invocations). + dontWrapPythonPrograms = true; + + # Fix "qmk setup" to use the Python interpreter from the environment + # when invoking "qmk doctor" (sys.executable gets its value from + # $NIX_PYTHONEXECUTABLE, which is set by the "qmk" wrapper from the + # Python environment, so "qmk doctor" then runs with the proper + # $NIX_PYTHONPATH too, because sys.executable actually points to + # another wrapper from the same Python environment). + postPatch = '' + substituteInPlace qmk_cli/subcommands/setup.py \ + --replace "[Path(sys.argv[0]).as_posix()" \ + "[Path(sys.executable).as_posix(), Path(sys.argv[0]).as_posix()" + ''; + }); + }); + }; +in +mkShell { + name = "qmk-firmware"; + + buildInputs = [ clang-tools_11 dfu-programmer dfu-util diffutils git pythonEnv niv ] + ++ lib.optional avr [ + pkgsCross.avr.buildPackages.binutils + pkgsCross.avr.buildPackages.gcc8 + avrlibc + avrdude + ] + ++ lib.optional arm [ gcc-arm-embedded ] + ++ lib.optional teensy [ teensy-loader-cli ]; + + AVR_CFLAGS = lib.optional avr avr_incflags; + AVR_ASFLAGS = lib.optional avr avr_incflags; + shellHook = '' + # Prevent the avr-gcc wrapper from picking up host GCC flags + # like -iframework, which is problematic on Darwin + unset NIX_CFLAGS_COMPILE_FOR_TARGET + ''; +} diff --git a/tests/basic/test_keycode_util.cpp b/tests/basic/test_keycode_util.cpp new file mode 100644 index 0000000000..693334676e --- /dev/null +++ b/tests/basic/test_keycode_util.cpp @@ -0,0 +1,52 @@ +// Copyright 2022 Stefan Kerkmann +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "test_common.hpp" + +class KeycodeToIdentifierSuite : public ::testing::TestWithParam> {}; + +TEST_P(KeycodeToIdentifierSuite, ConversionTests) { + ASSERT_EQ(get_keycode_identifier_or_default(GetParam().first), GetParam().second); +} + +INSTANTIATE_TEST_CASE_P(ConversionTestsP, KeycodeToIdentifierSuite, + // clang-format off +::testing::Values( + // Goto layer + std::make_pair(TO(0), "TO(0)"), + std::make_pair(TO(0x1F), "TO(31)"), + // Momentary switch layer + std::make_pair(MO(0), "MO(0)"), + std::make_pair(MO(0x1F), "MO(31)"), + // Set default layer + std::make_pair(DF(0), "DF(0)"), + std::make_pair(DF(0x1F), "DF(31)"), + // Toggle layer + std::make_pair(TG(0), "TG(0)"), + std::make_pair(TG(0x1F), "TG(31)"), + // One-shot layer + std::make_pair(OSL(0), "OSL(0)"), + std::make_pair(OSL(0x1F), "OSL(31)"), + // One-shot mod + std::make_pair(OSM(MOD_LSFT), "OSM(MOD_LSFT)"), + std::make_pair(OSM(MOD_LSFT | MOD_LCTL), "OSM(MOD_LCTL | MOD_LSFT)"), + // Layer Mod + std::make_pair(LM(0, MOD_LSFT), "LM(0, MOD_LSFT)"), + std::make_pair(LM(0xF, MOD_LSFT), "LM(15, MOD_LSFT)"), + std::make_pair(LM(0xF, MOD_LSFT | MOD_LCTL), "LM(15, MOD_LCTL | MOD_LSFT)"), + // Layer tap toggle + std::make_pair(TT(0), "TT(0)"), + std::make_pair(TT(0x1F), "TT(31)"), + // Layer tap + std::make_pair(LT(0, KC_A), "LT(0, KC_A)"), + std::make_pair(LT(0xF, KC_SPACE), "LT(15, KC_SPACE)"), + std::make_pair(LT(1, KC_SPC), "LT(1, KC_SPACE)"), + // Mod tap + std::make_pair(MT(MOD_LCTL, KC_A), "MT(MOD_LCTL, KC_A)"), + std::make_pair(MT(MOD_LCTL | MOD_LSFT, KC_A), "MT(MOD_LCTL | MOD_LSFT, KC_A)"), + std::make_pair(ALT_T(KC_TAB), "MT(MOD_LALT, KC_TAB)"), + // Mods + std::make_pair(LCTL(KC_A), "QK_MODS(KC_A, QK_LCTL)"), + std::make_pair(HYPR(KC_SPACE), "QK_MODS(KC_SPACE, QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI)") +)); +// clang-format on diff --git a/tests/basic/test_one_shot_keys.cpp b/tests/basic/test_one_shot_keys.cpp index 4784c86694..64a8673a5c 100644 --- a/tests/basic/test_one_shot_keys.cpp +++ b/tests/basic/test_one_shot_keys.cpp @@ -168,7 +168,7 @@ TEST_F(OneShot, OSMChainingTwoOSMs) { tap_key(osm_key1); VERIFY_AND_CLEAR(driver); - /* Press and release OSM2 */ + /* Press and relesea OSM2 */ EXPECT_NO_REPORT(driver); tap_key(osm_key2); VERIFY_AND_CLEAR(driver); @@ -353,337 +353,3 @@ TEST_F(OneShot, OSLWithOsmAndAdditionalKeypress) { run_one_scan_loop(); VERIFY_AND_CLEAR(driver); } - -TEST_F(OneShot, OSLWithMoAndAdditionalKeypress) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey mo_key = KeymapKey{1, 1, 0, MO(2)}; - KeymapKey regular_key = KeymapKey{2, 1, 1, KC_A}; - - set_keymap({osl_key, mo_key, regular_key}); - - /* Press OSL key */ - EXPECT_NO_REPORT(driver); - osl_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Release OSL key */ - EXPECT_NO_REPORT(driver); - osl_key.release(); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - /* Press MO */ - EXPECT_NO_REPORT(driver); - mo_key.press(); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(2)); - VERIFY_AND_CLEAR(driver); - - /* Press regular key */ - EXPECT_REPORT(driver, (regular_key.report_code)).Times(1); - regular_key.press(); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(2)); - VERIFY_AND_CLEAR(driver); - - /* Release regular key */ - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Release MO */ - EXPECT_NO_REPORT(driver); - mo_key.release(); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(0)); - VERIFY_AND_CLEAR(driver); -} - -class OneShotLayerParametrizedTestFixture : public ::testing::WithParamInterface, public OneShot {}; - -TEST_P(OneShotLayerParametrizedTestFixture, OSLWithActionAndAdditionalKeypress) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey action_key = KeymapKey{1, 1, 0, GetParam()}; - KeymapKey regular_key = KeymapKey{2, 1, 1, KC_A}; - - set_keymap({osl_key, action_key, regular_key}); - - /* Tap OSL key */ - EXPECT_NO_REPORT(driver); - tap_key(osl_key); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Tag Action key */ - EXPECT_NO_REPORT(driver); - tap_key(action_key); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(2)); - VERIFY_AND_CLEAR(driver); - - /* Press regular key */ - EXPECT_REPORT(driver, (regular_key.report_code)).Times(1); - regular_key.press(); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(2)); - VERIFY_AND_CLEAR(driver); - - /* Release regular key */ - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -INSTANTIATE_TEST_CASE_P(OneShotLayerTests, OneShotLayerParametrizedTestFixture, ::testing::Values(TG(2), TO(2))); - -TEST_F(OneShot, OSLWithDFAndAdditionalKeypress) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey df_key = KeymapKey{1, 1, 0, DF(2)}; - KeymapKey regular_key = KeymapKey{2, 1, 1, KC_A}; - - set_keymap({osl_key, df_key, regular_key}); - - layer_state_t default_layer_state_bak = default_layer_state; - - /* Tap OSL key */ - EXPECT_NO_REPORT(driver); - tap_key(osl_key); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - /* Press DF key */ - EXPECT_NO_REPORT(driver); - df_key.press(); - run_one_scan_loop(); - EXPECT_EQ(default_layer_state, 0b001); - - VERIFY_AND_CLEAR(driver); - - /* Release DF key */ - EXPECT_NO_REPORT(driver); - df_key.release(); - run_one_scan_loop(); - EXPECT_EQ(default_layer_state, 0b100); - VERIFY_AND_CLEAR(driver); - - /* Press regular key */ - EXPECT_REPORT(driver, (regular_key.report_code)).Times(1); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Release regular key */ - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - default_layer_state = default_layer_state_bak; -} - -TEST_F(OneShot, OSLChainingTwoOSLsAndAdditionalKeypress) { - TestDriver driver; - InSequence s; - KeymapKey osl1_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey osl2_key = KeymapKey{1, 1, 0, OSL(2)}; - KeymapKey regular_key = KeymapKey{2, 1, 1, KC_A}; - - set_keymap({osl1_key, osl2_key, regular_key}); - - /* Press and release first OSL key */ - EXPECT_NO_REPORT(driver); - osl1_key.press(); - run_one_scan_loop(); - osl1_key.release(); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - /* Press and release second OSL */ - EXPECT_NO_REPORT(driver); - osl2_key.press(); - run_one_scan_loop(); - osl2_key.release(); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(2)); - VERIFY_AND_CLEAR(driver); - - /* Press regular key */ - EXPECT_REPORT(driver, (regular_key.report_code)).Times(1); - EXPECT_EMPTY_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Release regular key */ - EXPECT_NO_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(0)); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(OneShot, OSLWithShortLT) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey lt_key = KeymapKey(1, 1, 0, LT(2, KC_A)); - - set_keymap({osl_key, lt_key}); - - /* Tap OSL key */ - EXPECT_NO_REPORT(driver); - tap_key(osl_key); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - /* Tap LT key. */ - EXPECT_REPORT(driver, (lt_key.report_code)).Times(1); - EXPECT_EMPTY_REPORT(driver); - tap_key(lt_key); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(0)); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(OneShot, OSLWithLongLTAndRegularKey) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey lt_key = KeymapKey(1, 1, 0, LT(2, KC_A)); - KeymapKey regular_key = KeymapKey(2, 1, 1, KC_B); - - set_keymap({osl_key, lt_key, regular_key}); - - /* Tap OSL key */ - EXPECT_NO_REPORT(driver); - tap_key(osl_key); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - /* Press LT key. */ - EXPECT_NO_REPORT(driver); - lt_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Idle for tapping term of mod tap hold key. */ - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - EXPECT_TRUE(layer_state_is(2)); - - /* Press regular key. */ - EXPECT_REPORT(driver, (regular_key.report_code)).Times(1); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Release regular key. */ - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(OneShot, OSLWithShortModTapKeyAndRegularKey) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey mod_tap_hold_key = KeymapKey(1, 1, 0, SFT_T(KC_P)); - KeymapKey regular_key = KeymapKey(0, 2, 0, KC_A); - - set_keymap({osl_key, mod_tap_hold_key, regular_key}); - - /* Tap OSL key */ - EXPECT_NO_REPORT(driver); - tap_key(osl_key); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Release mod-tap-hold key. */ - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Press regular key. */ - EXPECT_REPORT(driver, (regular_key.report_code)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Release regular key. */ - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(OneShot, OSLWithLongModTapKeyAndRegularKey) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey mod_tap_hold_key = KeymapKey(1, 1, 0, SFT_T(KC_P)); - KeymapKey regular_key = KeymapKey(1, 2, 0, KC_A); - - set_keymap({osl_key, mod_tap_hold_key, regular_key}); - - /* Tap OSL key */ - EXPECT_NO_REPORT(driver); - tap_key(osl_key); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Idle for tapping term of mod tap hold key. */ - EXPECT_REPORT(driver, (KC_LSFT)); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - /* Release mod-tap-hold key. */ - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Press regular key. */ - EXPECT_REPORT(driver, (regular_key.report_code)).Times(1); - EXPECT_EMPTY_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - /* Release regular key. */ - EXPECT_NO_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} diff --git a/tests/caps_word/test.mk b/tests/caps_word/test.mk index 6d5664aa05..2509b01858 100644 --- a/tests/caps_word/test.mk +++ b/tests/caps_word/test.mk @@ -15,7 +15,5 @@ CAPS_WORD_ENABLE = yes COMMAND_ENABLE = no -LAYER_LOCK_ENABLE = yes SPACE_CADET_ENABLE = yes -TRI_LAYER_ENABLE = yes diff --git a/tests/caps_word/test_caps_word.cpp b/tests/caps_word/test_caps_word.cpp index 4b58790915..28d86e9324 100644 --- a/tests/caps_word/test_caps_word.cpp +++ b/tests/caps_word/test_caps_word.cpp @@ -156,22 +156,21 @@ TEST_F(CapsWord, IdleTimeout) { // Turn on Caps Word and tap "A". caps_word_on(); tap_key(key_a); + VERIFY_AND_CLEAR(driver); - EXPECT_EMPTY_REPORT(driver); idle_for(CAPS_WORD_IDLE_TIMEOUT); run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); // Caps Word should be off and mods should be clear. EXPECT_EQ(is_caps_word_on(), false); EXPECT_EQ(get_mods() | get_weak_mods(), 0); + EXPECT_EMPTY_REPORT(driver).Times(AnyNumber()); // Expect unshifted "A". EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); tap_key(key_a); - run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); } @@ -245,7 +244,6 @@ TEST_F(CapsWord, ShiftsAltGrSymbols) { // clang-format off EXPECT_CALL(driver, send_keyboard_mock(AnyOf( KeyboardReport(), - KeyboardReport(KC_LSFT), KeyboardReport(KC_RALT), KeyboardReport(KC_LSFT, KC_RALT)))) .Times(AnyNumber()); @@ -261,9 +259,6 @@ TEST_F(CapsWord, ShiftsAltGrSymbols) { tap_key(key_a); run_one_scan_loop(); key_altgr.release(); - run_one_scan_loop(); - - idle_for(CAPS_WORD_IDLE_TIMEOUT); VERIFY_AND_CLEAR(driver); } @@ -279,7 +274,6 @@ TEST_F(CapsWord, ShiftsModTapAltGrSymbols) { // clang-format off EXPECT_CALL(driver, send_keyboard_mock(AnyOf( KeyboardReport(), - KeyboardReport(KC_LSFT), KeyboardReport(KC_RALT), KeyboardReport(KC_LSFT, KC_RALT)))) .Times(AnyNumber()); @@ -295,11 +289,8 @@ TEST_F(CapsWord, ShiftsModTapAltGrSymbols) { tap_key(key_a); run_one_scan_loop(); key_altgr_t.release(); - run_one_scan_loop(); + EXPECT_TRUE(is_caps_word_on()); - - idle_for(CAPS_WORD_IDLE_TIMEOUT); - VERIFY_AND_CLEAR(driver); } @@ -544,11 +535,7 @@ TEST_P(CapsWordDoubleTapShift, Activation) { // machine at this point. This due to imperfect test isolation which can't // reset the caps word double shift timer on test case setup. idle_for(CAPS_WORD_IDLE_TIMEOUT); - - EXPECT_REPORT(driver, (KC_ESC)); - EXPECT_EMPTY_REPORT(driver); tap_key(esc); - VERIFY_AND_CLEAR(driver); } // Double tap doesn't count if another key is pressed between the taps. @@ -602,7 +589,6 @@ TEST_P(CapsWordDoubleTapShift, SlowTaps) { EXPECT_EQ(is_caps_word_on(), false); // Caps Word is still off. clear_oneshot_mods(); - send_keyboard_report(); VERIFY_AND_CLEAR(driver); } @@ -640,7 +626,7 @@ TEST_F(CapsWord, IgnoresOSLHold) { run_one_scan_loop(); tap_key(key_b); key_osl.release(); - idle_for(CAPS_WORD_IDLE_TIMEOUT + 1); + run_one_scan_loop(); VERIFY_AND_CLEAR(driver); } @@ -659,39 +645,15 @@ TEST_F(CapsWord, IgnoresOSLTap) { KeyboardReport(), KeyboardReport(KC_LSFT)))) .Times(AnyNumber()); - // clang-format on EXPECT_REPORT(driver, (KC_LSFT, KC_B)); caps_word_on(); tap_key(key_osl); tap_key(key_b); - idle_for(CAPS_WORD_IDLE_TIMEOUT); - - VERIFY_AND_CLEAR(driver); -} - -TEST_F(CapsWord, IgnoresLayerLockKey) { - TestDriver driver; - KeymapKey key_llock(0, 1, 0, QK_LAYER_LOCK); - KeymapKey key_b(0, 0, 0, KC_B); - set_keymap({key_llock, key_b}); - - // Allow any number of reports with no keys or only modifiers. - // clang-format off - EXPECT_CALL(driver, send_keyboard_mock(AnyOf( - KeyboardReport(), - KeyboardReport(KC_LSFT)))) - .Times(AnyNumber()); - // clang-format on - - EXPECT_REPORT(driver, (KC_LSFT, KC_B)); - caps_word_on(); - - tap_key(key_llock); - tap_key(key_b); - idle_for(CAPS_WORD_IDLE_TIMEOUT); + run_one_scan_loop(); VERIFY_AND_CLEAR(driver); } +// clang-format on } // namespace diff --git a/tests/combo/combo_repress/test_combo.cpp b/tests/combo/combo_repress/test_combo.cpp index b1a2d36cb3..1488d5c1bd 100644 --- a/tests/combo/combo_repress/test_combo.cpp +++ b/tests/combo/combo_repress/test_combo.cpp @@ -2,9 +2,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "keyboard_report_util.hpp" +#include "quantum.h" #include "keycode.h" #include "test_common.h" -#include "test_common.hpp" #include "test_driver.hpp" #include "test_fixture.hpp" #include "test_keymap_key.hpp" diff --git a/tests/combo/test_combo.cpp b/tests/combo/test_combo.cpp index d78ec55990..ac852f9d16 100644 --- a/tests/combo/test_combo.cpp +++ b/tests/combo/test_combo.cpp @@ -3,6 +3,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "keyboard_report_util.hpp" +#include "quantum.h" #include "keycode.h" #include "test_common.h" #include "test_driver.hpp" diff --git a/tests/keycode_string/test.mk b/tests/keycode_string/test.mk deleted file mode 100644 index aa255a1b6b..0000000000 --- a/tests/keycode_string/test.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2025 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -EXTRAKEY_ENABLE = yes -KEYCODE_STRING_ENABLE = yes -KEY_LOCK_ENABLE = yes -MAGIC_ENABLE = yes -MOUSEKEY_ENABLE = yes -PROGRAMMABLE_BUTTON_ENABLE = yes -SECURE_ENABLE = yes -SWAP_HANDS_ENABLE = yes diff --git a/tests/keycode_string/test_keycode_string.cpp b/tests/keycode_string/test_keycode_string.cpp deleted file mode 100644 index e1dec70e7a..0000000000 --- a/tests/keycode_string/test_keycode_string.cpp +++ /dev/null @@ -1,153 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include - -#include "test_common.hpp" - -enum { - MYMACRO1 = SAFE_RANGE, - MYMACRO2, -}; - -// clang-format off -extern "C" { - -KEYCODE_STRING_NAMES_KB( - KEYCODE_STRING_NAME(MYMACRO1), -); - -KEYCODE_STRING_NAMES_USER( - KEYCODE_STRING_NAME(MYMACRO2), - KEYCODE_STRING_NAME(KC_EXLM), -); - -const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { - {{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, - {{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, - {{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, - {{9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, -}; - -} // extern "C" -// clang-format on - -class KeycodeStringTest : public TestFixture {}; - -TEST_F(KeycodeStringTest, get_keycode_string) { - struct TestParams { - uint16_t keycode; - std::string expected; - }; - for (const auto [keycode, expected] : std::vector({ - {KC_TRNS, "KC_TRNS"}, - {KC_ESC, "KC_ESC"}, - {KC_A, "KC_A"}, - {KC_Z, "KC_Z"}, - {KC_0, "KC_0"}, - {KC_9, "KC_9"}, - {KC_KP_0, "KC_KP_0"}, - {KC_KP_9, "KC_KP_9"}, - {KC_LBRC, "KC_LBRC"}, - {KC_NUHS, "KC_NUHS"}, - {KC_NUBS, "KC_NUBS"}, - {KC_CAPS, "KC_CAPS"}, - {DB_TOGG, "DB_TOGG"}, - {KC_LCTL, "KC_LCTL"}, - {KC_LSFT, "KC_LSFT"}, - {KC_RALT, "KC_RALT"}, - {KC_RGUI, "KC_RGUI"}, - {KC_UP, "KC_UP"}, - {KC_HYPR, "KC_HYPR"}, - {KC_MEH, "KC_MEH"}, - // F1-F24 keycodes. - {KC_F1, "KC_F1"}, - {KC_F12, "KC_F12"}, - {KC_F13, "KC_F13"}, - {KC_F24, "KC_F24"}, - // Macro keycodes. - {MC_0, "MC_0"}, - {MC_31, "MC_31"}, - // Keyboard range keycodes. - {QK_KB_0, "QK_KB_0"}, - {QK_KB_31, "QK_KB_31"}, - // User range keycodes. - {QK_USER_2, "QK_USER_2"}, - {QK_USER_31, "QK_USER_31"}, - // Modified keycodes. - {KC_COLN, "S(KC_SCLN)"}, - {C(KC_PGUP), "C(KC_PGUP)"}, - {RALT(KC_BSPC), "RALT(KC_BSPC)"}, - // One-shot mods. - {OSM(MOD_LSFT), "OSM(MOD_LSFT)"}, - {OSM(MOD_RGUI), "OSM(MOD_RGUI)"}, - {OSM(MOD_RCTL | MOD_RGUI), "OSM(0x19)"}, - // Layer switch keycodes. - {DF(2), "DF(2)"}, - {PDF(12), "PDF(12)"}, - {MO(3), "MO(3)"}, - {TO(0), "TO(0)"}, - {TT(1), "TT(1)"}, - {TG(3), "TG(3)"}, - {OSL(3), "OSL(3)"}, - {LM(3, MOD_RALT), "LM(3,MOD_RALT)"}, - {LT(15, KC_QUOT), "LT(15,KC_QUOT)"}, - // Tap dance keycodes. - {TD(0), "TD(0)"}, - {TD(31), "TD(31)"}, - // Mod-tap keycodes. - {LSFT_T(KC_ENT), "LSFT_T(KC_ENT)"}, - {RCTL_T(KC_RGHT), "RCTL_T(KC_RGHT)"}, - {HYPR_T(KC_GRV), "HYPR_T(KC_GRV)"}, - {MEH_T(KC_EQL), "MEH_T(KC_EQL)"}, - {RSA_T(KC_LBRC), "MT(0x16,KC_LBRC)"}, - // Extrakey keycodes. - {KC_WBAK, "KC_WBAK"}, - {KC_WFWD, "KC_WFWD"}, - {KC_WREF, "KC_WREF"}, - {KC_VOLU, "KC_VOLU"}, - {KC_VOLD, "KC_VOLD"}, - // Mouse Key keycodes. - {MS_LEFT, "MS_LEFT"}, - {MS_RGHT, "MS_RGHT"}, - {MS_UP, "MS_UP"}, - {MS_WHLU, "MS_WHLU"}, - {MS_WHLD, "MS_WHLD"}, - {MS_BTN1, "MS_BTN1"}, - {MS_BTN8, "MS_BTN8"}, - // Swap Hands keycodes. - {SH_MON, "SH_MON"}, - {SH_TOGG, "SH_TOGG"}, - {SH_T(KC_PSCR), "SH_T(KC_PSCR)"}, - // Secure keycodes. - {SE_LOCK, "SE_LOCK"}, - {SE_UNLK, "SE_UNLK"}, - {SE_TOGG, "SE_TOGG"}, - {SE_REQ, "SE_REQ"}, - // Programmable button keycodes. - {PB_1, "PB_1"}, - {PB_32, "PB_32"}, - // Magic button keycodes. - {QK_MAGIC + 7, "QK_MAGIC+7"}, - // Quantum keycodes. - {QK_LOCK, "QK_LOCK"}, - {QK_QUANTUM + 7, "QK_QUANTUM+7"}, - // Custom keycode names. - {MYMACRO1, "MYMACRO1"}, - {MYMACRO2, "MYMACRO2"}, - {KC_EXLM, "KC_EXLM"}, - })) { - EXPECT_EQ(get_keycode_string(keycode), expected) << "where keycode = 0x" << std::hex << keycode; - } -} diff --git a/tests/no_tapping/no_action_tapping/test.mk b/tests/no_tapping/no_action_tapping/test.mk index 6ec384609c..29690d1adf 100644 --- a/tests/no_tapping/no_action_tapping/test.mk +++ b/tests/no_tapping/no_action_tapping/test.mk @@ -15,4 +15,4 @@ # -------------------------------------------------------------------------------- # Keep this file, even if it is empty, as a marker that this folder contains tests -# -------------------------------------------------------------------------------- +# -------------------------------------------------------------------------------- \ No newline at end of file diff --git a/tests/no_tapping/no_mod_tap_mods/test.mk b/tests/no_tapping/no_mod_tap_mods/test.mk index 6ec384609c..29690d1adf 100644 --- a/tests/no_tapping/no_mod_tap_mods/test.mk +++ b/tests/no_tapping/no_mod_tap_mods/test.mk @@ -15,4 +15,4 @@ # -------------------------------------------------------------------------------- # Keep this file, even if it is empty, as a marker that this folder contains tests -# -------------------------------------------------------------------------------- +# -------------------------------------------------------------------------------- \ No newline at end of file diff --git a/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp b/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp index e2eed3dbb6..ae525acb45 100644 --- a/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp +++ b/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp @@ -210,7 +210,7 @@ TEST_F(AltRepeatKey, GetAltRepeatKeyKeycode) { {MO(1), 0, KC_NO}, // clang-format on })) { - SCOPED_TRACE(std::string("Input keycode: ") + get_keycode_string(params.keycode)); + SCOPED_TRACE(std::string("Input keycode: ") + get_keycode_identifier_or_default(params.keycode)); set_last_keycode(params.keycode); set_last_mods(params.mods); diff --git a/tests/repeat_key/test.mk b/tests/repeat_key/test.mk index 186207ffc2..aec8ff3bfb 100644 --- a/tests/repeat_key/test.mk +++ b/tests/repeat_key/test.mk @@ -16,4 +16,3 @@ REPEAT_KEY_ENABLE = yes AUTO_SHIFT_ENABLE = yes -LAYER_LOCK_ENABLE = yes diff --git a/tests/repeat_key/test_repeat_key.cpp b/tests/repeat_key/test_repeat_key.cpp index ed5d618761..eee44fc104 100644 --- a/tests/repeat_key/test_repeat_key.cpp +++ b/tests/repeat_key/test_repeat_key.cpp @@ -751,37 +751,4 @@ TEST_F(RepeatKey, RepeatKeyInvoke) { testing::Mock::VerifyAndClearExpectations(&driver); } -// Check that mods and Layer Lock are not remembered. -TEST_F(RepeatKey, IgnoredKeys) { - TestDriver driver; - KeymapKey regular_key(0, 0, 0, KC_A); - KeymapKey key_repeat(0, 1, 0, QK_REP); - KeymapKey key_lsft(0, 2, 0, KC_LSFT); - KeymapKey key_lctl(0, 3, 0, KC_LCTL); - KeymapKey key_llck(0, 4, 0, QK_LAYER_LOCK); - set_keymap({regular_key, key_repeat, key_lsft, key_lctl, key_llck}); - - // Allow any number of empty reports. - EXPECT_EMPTY_REPORT(driver).Times(AnyNumber()); - { - InSequence seq; - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A)); - } - - tap_key(regular_key); // Taps the KC_A key. - - // Tap Shift, Ctrl, and Layer Lock keys, which should not be remembered. - tap_keys(key_lsft, key_lctl, key_llck); - EXPECT_KEYCODE_EQ(get_last_keycode(), KC_A); - - // Tapping the Repeat Key should still reproduce KC_A. - tap_keys(key_repeat, key_repeat); - - testing::Mock::VerifyAndClearExpectations(&driver); -} - } // namespace diff --git a/tests/tap_hold_configurations/chordal_hold/default/config.h b/tests/tap_hold_configurations/chordal_hold/default/config.h deleted file mode 100644 index 2ba155df73..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/default/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2022 Vladislav Kucheriavykh - * Copyright 2024 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" -#define CHORDAL_HOLD diff --git a/tests/tap_hold_configurations/chordal_hold/default/test.mk b/tests/tap_hold_configurations/chordal_hold/default/test.mk deleted file mode 100644 index 2b049cea3b..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/default/test.mk +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 2022 Vladislav Kucheriavykh -# Copyright 2024 Google LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -INTROSPECTION_KEYMAP_C = test_keymap.c diff --git a/tests/tap_hold_configurations/chordal_hold/default/test_keymap.c b/tests/tap_hold_configurations/chordal_hold/default/test_keymap.c deleted file mode 100644 index 8a6a2c59b0..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/default/test_keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "quantum.h" - -const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM = { - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'*', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, -}; diff --git a/tests/tap_hold_configurations/chordal_hold/default/test_one_shot_keys.cpp b/tests/tap_hold_configurations/chordal_hold/default/test_one_shot_keys.cpp deleted file mode 100644 index ac4edd08b2..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/default/test_one_shot_keys.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/* Copyright 2021 Stefan Kerkmann - * Copyright 2024 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "action_util.h" -#include "keyboard_report_util.hpp" -#include "test_common.hpp" - -using testing::_; -using testing::InSequence; - -class OneShot : public TestFixture {}; -class OneShotParametrizedTestFixture : public ::testing::WithParamInterface>, public OneShot {}; - -TEST_P(OneShotParametrizedTestFixture, OSMWithAdditionalKeypress) { - TestDriver driver; - KeymapKey osm_key = GetParam().first; - KeymapKey regular_key = GetParam().second; - - set_keymap({osm_key, regular_key}); - - // Press and release OSM. - EXPECT_NO_REPORT(driver); - tap_key(osm_key); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (osm_key.report_code, regular_key.report_code)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_P(OneShotParametrizedTestFixture, OSMAsRegularModifierWithAdditionalKeypress) { - TestDriver driver; - KeymapKey osm_key = GetParam().first; - KeymapKey regular_key = GetParam().second; - - set_keymap({osm_key, regular_key}); - - // Press OSM. - EXPECT_NO_REPORT(driver); - osm_key.press(); - run_one_scan_loop(); - // Press regular key. - regular_key.press(); - run_one_scan_loop(); - // Release regular key. - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release OSM. - EXPECT_REPORT(driver, (regular_key.report_code, osm_key.report_code)); - EXPECT_EMPTY_REPORT(driver); - osm_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -// clang-format off - -INSTANTIATE_TEST_CASE_P( - OneShotModifierTests, - OneShotParametrizedTestFixture, - ::testing::Values( - // First is osm key, second is regular key. - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LSFT), KC_LSFT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LCTL), KC_LCTL}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LALT), KC_LALT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LGUI), KC_LGUI}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RCTL), KC_RCTL}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RSFT), KC_RSFT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RALT), KC_RALT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RGUI), KC_RGUI}, KeymapKey{0, 1, 1, KC_A}) - )); -// clang-format on - -TEST_F(OneShot, OSLWithAdditionalKeypress) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey osl_key1 = KeymapKey{1, 0, 0, KC_X}; - KeymapKey regular_key0 = KeymapKey{0, 1, 0, KC_Y}; - KeymapKey regular_key1 = KeymapKey{1, 1, 0, KC_A}; - - set_keymap({osl_key, osl_key1, regular_key0, regular_key1}); - - // Press OSL key. - EXPECT_NO_REPORT(driver); - osl_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release OSL key. - EXPECT_NO_REPORT(driver); - osl_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (regular_key1.report_code)); - EXPECT_EMPTY_REPORT(driver); - regular_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_NO_REPORT(driver); - regular_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(OneShot, OSLWithOsmAndAdditionalKeypress) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey osm_key = KeymapKey{1, 1, 0, OSM(MOD_LSFT), KC_LSFT}; - KeymapKey regular_key = KeymapKey{1, 1, 1, KC_A}; - KeymapKey blank_key = KeymapKey{1, 0, 0, KC_NO}; - - set_keymap({osl_key, osm_key, regular_key, blank_key}); - - // Press OSL key. - EXPECT_NO_REPORT(driver); - osl_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release OSL key. - EXPECT_NO_REPORT(driver); - osl_key.release(); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - // Press and release OSM. - EXPECT_NO_REPORT(driver); - tap_key(osm_key); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - // Tap regular key. - EXPECT_REPORT(driver, (osm_key.report_code, regular_key.report_code)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); -} diff --git a/tests/tap_hold_configurations/chordal_hold/default/test_tap_hold.cpp b/tests/tap_hold_configurations/chordal_hold/default/test_tap_hold.cpp deleted file mode 100644 index 70949e218c..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/default/test_tap_hold.cpp +++ /dev/null @@ -1,264 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::InSequence; - -class ChordalHoldDefault : public TestFixture {}; - -TEST_F(ChordalHoldDefault, chord_nested_press_settled_as_tap) { - TestDriver driver; - InSequence s; - // Mod-tap key on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - // Regular key on the right hand. - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - // Tap regular key. - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldDefault, chord_rolled_press_settled_as_tap) { - TestDriver driver; - InSequence s; - // Mod-tap key on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - // Regular key on the right hand. - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap key and regular key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldDefault, non_chord_with_mod_tap_settled_as_tap) { - TestDriver driver; - InSequence s; - // Mod-tap key and regular key both on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - auto regular_key = KeymapKey(0, 2, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_REPORT(driver, (KC_P)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldDefault, tap_mod_tap_key) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - idle_for(TAPPING_TERM - 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldDefault, hold_mod_tap_key) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldDefault, two_mod_taps_same_hand_hold_til_timeout) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, MATRIX_COLS - 2, 0, RCTL_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Continue holding til the tapping term. - EXPECT_REPORT(driver, (KC_RIGHT_CTRL)); - EXPECT_REPORT(driver, (KC_RIGHT_CTRL, KC_RIGHT_SHIFT)); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_RIGHT_SHIFT)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldDefault, three_mod_taps_same_hand_streak_roll) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 3, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 1, 2, 3. - // - // NOTE: The correct order of events should be - // EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - // EXPECT_REPORT(driver, (KC_B, KC_C)); - // EXPECT_REPORT(driver, (KC_C)); - // EXPECT_EMPTY_REPORT(driver); - // - // However, due to a workaround for https://github.com/tmk/tmk_keyboard/issues/60, - // the events are processed out of order, with the first two keys released - // before pressing KC_C. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldDefault, tap_regular_key_while_layer_tap_key_is_held) { - TestDriver driver; - InSequence s; - auto layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - auto layer_key = KeymapKey(1, MATRIX_COLS - 1, 0, KC_B); - - set_keymap({layer_tap_hold_key, regular_key, layer_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.press(); // Press layer-tap-hold key. - run_one_scan_loop(); - regular_key.press(); // Press regular key. - run_one_scan_loop(); - regular_key.release(); // Release regular key. - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_hold_key.release(); // Release layer-tap-hold key. - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} diff --git a/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/config.h b/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/config.h deleted file mode 100644 index 87094b2fac..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2022 Vladislav Kucheriavykh - * Copyright 2024 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" -#define CHORDAL_HOLD -#define HOLD_ON_OTHER_KEY_PRESS diff --git a/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test_keymap.c b/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test_keymap.c deleted file mode 100644 index 8a6a2c59b0..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test_keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "quantum.h" - -const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM = { - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'*', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, -}; diff --git a/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test_tap_hold.cpp b/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test_tap_hold.cpp deleted file mode 100644 index 7691f226af..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test_tap_hold.cpp +++ /dev/null @@ -1,850 +0,0 @@ -// Copyright 2024-2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::InSequence; - -class ChordalHoldHoldOnOtherKeyPress : public TestFixture {}; - -TEST_F(ChordalHoldHoldOnOtherKeyPress, chord_with_mod_tap_settled_as_hold) { - TestDriver driver; - InSequence s; - // Mod-tap key on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - // Regular key on the right hand. - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_A)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, chord_nested_press_settled_as_hold) { - TestDriver driver; - InSequence s; - // Mod-tap key on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - // Regular key on the right hand. - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_A)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, chord_rolled_press_settled_as_hold) { - TestDriver driver; - InSequence s; - // Mod-tap key on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - // Regular key on the right hand. - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_A)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, non_chord_with_mod_tap_settled_as_tap) { - TestDriver driver; - InSequence s; - // Mod-tap key and regular key both on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - auto regular_key = KeymapKey(0, 2, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_REPORT(driver, (KC_P)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, tap_mod_tap_key) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - idle_for(TAPPING_TERM - 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, hold_mod_tap_key) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, two_mod_taps_same_hand_hold_til_timeout) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, MATRIX_COLS - 2, 0, RCTL_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Continue holding til the tapping term. - EXPECT_REPORT(driver, (KC_RIGHT_CTRL)); - EXPECT_REPORT(driver, (KC_RIGHT_CTRL, KC_RIGHT_SHIFT)); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_RIGHT_SHIFT)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, two_mod_taps_nested_press_opposite_hands) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press first mod-tap key. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press second mod-tap key. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release second mod-tap key. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release first mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, two_mod_taps_nested_press_same_hand) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, RSFT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, three_mod_taps_same_hand_streak_roll) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 3, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 1, 2, 3. - // - // NOTE: The correct order of events should be - // EXPECT_REPORT(driver, (KC_A)); - // EXPECT_REPORT(driver, (KC_A, KC_B)); - // EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - // EXPECT_REPORT(driver, (KC_B, KC_C)); - // EXPECT_REPORT(driver, (KC_C)); - // EXPECT_EMPTY_REPORT(driver); - // - // However, due to a workaround for https://github.com/tmk/tmk_keyboard/issues/60, - // the events are processed out of order, with the first two keys released - // before pressing KC_C. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, three_mod_taps_same_hand_streak_orders) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 3, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - // Press mod-tap keys. - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - // Release keys 3, 2, 1. - mod_tap_key3.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - idle_for(TAPPING_TERM); - // Press mod-tap keys. - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - // Release keys 3, 1, 2. - mod_tap_key3.release(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // NOTE: The correct order of events should be - // EXPECT_REPORT(driver, (KC_A)); - // EXPECT_REPORT(driver, (KC_A, KC_B)); - // EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - // EXPECT_REPORT(driver, (KC_A, KC_C)); - // EXPECT_REPORT(driver, (KC_A)); - // EXPECT_EMPTY_REPORT(driver); - // - // However, due to a workaround for https://github.com/tmk/tmk_keyboard/issues/60, - // the events are processed out of order, with the first two keys released - // before pressing KC_C. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_C)); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - idle_for(TAPPING_TERM); - // Press mod-tap keys. - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - // Release keys 2, 3, 1. - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, three_mod_taps_two_left_one_right) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 3. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 2, then key 1. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 3. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 1, then key 2. - EXPECT_REPORT(driver, (KC_LEFT_CTRL)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, three_mod_taps_one_held_two_tapped) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 3, 2, 1. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key3.press(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_key1.press(); - run_one_scan_loop(); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 3, 1, 2. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key3.press(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, tap_regular_key_while_layer_tap_key_is_held) { - TestDriver driver; - InSequence s; - auto layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - auto no_key = KeymapKey(1, 1, 0, XXXXXXX); - auto layer_key = KeymapKey(1, MATRIX_COLS - 1, 0, KC_B); - - set_keymap({layer_tap_hold_key, regular_key, no_key, layer_key}); - - // Press layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_B)); - regular_key.press(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 2); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 2); - VERIFY_AND_CLEAR(driver); - - // Release layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 0); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, long_distinct_taps_of_layer_tap_key_and_regular_key) { - TestDriver driver; - InSequence s; - auto layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - auto layer_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_B); - - set_keymap({layer_tap_hold_key, regular_key}); - - // Press layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Idle for tapping term of layer tap hold key. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - EXPECT_EQ(layer_state, 2); - VERIFY_AND_CLEAR(driver); - - // Release layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 0); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_A)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, nested_tap_of_layer_0_layer_tap_keys) { - TestDriver driver; - InSequence s; - // The keys are layer-taps on layer 0 but regular keys on layer 1. - auto first_layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto second_layer_tap_key = KeymapKey(0, MATRIX_COLS - 1, 0, LT(1, KC_P)); - auto first_key_on_layer = KeymapKey(1, 1, 0, KC_B); - auto second_key_on_layer = KeymapKey(1, MATRIX_COLS - 1, 0, KC_Q); - - set_keymap({first_layer_tap_key, second_layer_tap_key, first_key_on_layer, second_key_on_layer}); - - // Press first layer-tap key. - EXPECT_NO_REPORT(driver); - first_layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press second layer-tap key. - EXPECT_REPORT(driver, (KC_Q)); - second_layer_tap_key.press(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 2); - VERIFY_AND_CLEAR(driver); - - // Release second layer-tap key. - EXPECT_EMPTY_REPORT(driver); - second_layer_tap_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 2); - VERIFY_AND_CLEAR(driver); - - // Release first layer-tap key. - EXPECT_NO_REPORT(driver); - first_layer_tap_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 0); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, lt_mt_one_regular_key) { - TestDriver driver; - InSequence s; - auto lt_key = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto mt_key0 = KeymapKey(0, 2, 0, SFT_T(KC_B)); - auto mt_key1 = KeymapKey(1, 2, 0, CTL_T(KC_C)); - auto regular_key = KeymapKey(1, MATRIX_COLS - 1, 0, KC_X); - auto no_key0 = KeymapKey(0, MATRIX_COLS - 1, 0, XXXXXXX); - auto no_key1 = KeymapKey(1, 1, 0, XXXXXXX); - - set_keymap({lt_key, mt_key0, mt_key1, regular_key, no_key0, no_key1}); - - // Press LT, MT. - EXPECT_NO_REPORT(driver); - lt_key.press(); - run_one_scan_loop(); - mt_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_REPORT(driver, (KC_LCTL, KC_X)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release the regular key. - EXPECT_REPORT(driver, (KC_LCTL)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release MT key. - EXPECT_EMPTY_REPORT(driver); - mt_key1.release(); - run_one_scan_loop(); - EXPECT_EQ(get_mods(), 0); - VERIFY_AND_CLEAR(driver); - - // Release LT key. - lt_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 0); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, nested_tap_of_layer_tap_keys) { - TestDriver driver; - InSequence s; - // The keys are layer-taps on all layers. - auto first_key_layer_0 = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto second_key_layer_0 = KeymapKey(0, MATRIX_COLS - 1, 0, LT(1, KC_P)); - auto first_key_layer_1 = KeymapKey(1, 1, 0, LT(2, KC_B)); - auto second_key_layer_1 = KeymapKey(1, MATRIX_COLS - 1, 0, LT(2, KC_Q)); - auto first_key_layer_2 = KeymapKey(2, 1, 0, KC_TRNS); - auto second_key_layer_2 = KeymapKey(2, MATRIX_COLS - 1, 0, KC_TRNS); - - set_keymap({first_key_layer_0, second_key_layer_0, first_key_layer_1, second_key_layer_1, first_key_layer_2, second_key_layer_2}); - - // Press first layer-tap key. - EXPECT_NO_REPORT(driver); - first_key_layer_0.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press second layer-tap key. - EXPECT_NO_REPORT(driver); - second_key_layer_0.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release second layer-tap key. - EXPECT_REPORT(driver, (KC_Q)); - EXPECT_EMPTY_REPORT(driver); - second_key_layer_0.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release first layer-tap key. - EXPECT_NO_REPORT(driver); - first_key_layer_0.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, roll_layer_tap_key_with_regular_key) { - TestDriver driver; - InSequence s; - - auto layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - auto layer_key = KeymapKey(1, MATRIX_COLS - 1, 0, KC_B); - - set_keymap({layer_tap_hold_key, regular_key, layer_key}); - - // Press layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_B)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldHoldOnOtherKeyPress, two_mod_tap_keys_stuttered_press) { - TestDriver driver; - InSequence s; - - auto mod_tap_key1 = KeymapKey(0, 1, 0, LSFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, LCTL_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Hold first mod-tap key until the tapping term. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key1.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press the second mod-tap key, then quickly release and press the first. - EXPECT_NO_REPORT(driver); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_REPORT(driver, (KC_B, KC_A)); - mod_tap_key1.press(); - run_one_scan_loop(); - EXPECT_EQ(get_mods(), 0); // Verify that Shift was released. - VERIFY_AND_CLEAR(driver); - - // Release both keys. - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} diff --git a/tests/tap_hold_configurations/chordal_hold/permissive_hold/config.h b/tests/tap_hold_configurations/chordal_hold/permissive_hold/config.h deleted file mode 100644 index f7bb7ab0ec..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/permissive_hold/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2022 Vladislav Kucheriavykh - * Copyright 2024 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" -#define CHORDAL_HOLD -#define PERMISSIVE_HOLD diff --git a/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_keymap.c b/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_keymap.c deleted file mode 100644 index 8a6a2c59b0..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "quantum.h" - -const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM = { - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'*', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, -}; diff --git a/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_one_shot_keys.cpp b/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_one_shot_keys.cpp deleted file mode 100644 index e48cba73e2..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_one_shot_keys.cpp +++ /dev/null @@ -1,174 +0,0 @@ -/* Copyright 2021 Stefan Kerkmann - * Copyright 2024 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "action_util.h" -#include "keyboard_report_util.hpp" -#include "test_common.hpp" - -using testing::_; -using testing::InSequence; - -class OneShot : public TestFixture {}; -class OneShotParametrizedTestFixture : public ::testing::WithParamInterface>, public OneShot {}; - -TEST_P(OneShotParametrizedTestFixture, OSMWithAdditionalKeypress) { - TestDriver driver; - KeymapKey osm_key = GetParam().first; - KeymapKey regular_key = GetParam().second; - - set_keymap({osm_key, regular_key}); - - // Press and release OSM. - EXPECT_NO_REPORT(driver); - tap_key(osm_key); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (osm_key.report_code, regular_key.report_code)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_P(OneShotParametrizedTestFixture, OSMAsRegularModifierWithAdditionalKeypress) { - TestDriver driver; - KeymapKey osm_key = GetParam().first; - KeymapKey regular_key = GetParam().second; - - set_keymap({osm_key, regular_key}); - - // Press OSM. - EXPECT_NO_REPORT(driver); - osm_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_REPORT(driver, (osm_key.report_code)).Times(2); - EXPECT_REPORT(driver, (regular_key.report_code, osm_key.report_code)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release OSM. - EXPECT_EMPTY_REPORT(driver); - osm_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -// clang-format off - -INSTANTIATE_TEST_CASE_P( - OneShotModifierTests, - OneShotParametrizedTestFixture, - ::testing::Values( - // First is osm key, second is regular key. - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LSFT), KC_LSFT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LCTL), KC_LCTL}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LALT), KC_LALT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LGUI), KC_LGUI}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RCTL), KC_RCTL}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RSFT), KC_RSFT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RALT), KC_RALT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RGUI), KC_RGUI}, KeymapKey{0, 1, 1, KC_A}) - )); -// clang-format on - -TEST_F(OneShot, OSLWithAdditionalKeypress) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey osl_key1 = KeymapKey{1, 0, 0, KC_X}; - KeymapKey regular_key0 = KeymapKey{0, 1, 0, KC_Y}; - KeymapKey regular_key1 = KeymapKey{1, 1, 0, KC_A}; - - set_keymap({osl_key, osl_key1, regular_key0, regular_key1}); - - // Press OSL key. - EXPECT_NO_REPORT(driver); - osl_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release OSL key. - EXPECT_NO_REPORT(driver); - osl_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (regular_key1.report_code)); - EXPECT_EMPTY_REPORT(driver); - regular_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_NO_REPORT(driver); - regular_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(OneShot, OSLWithOsmAndAdditionalKeypress) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey osm_key = KeymapKey{1, 1, 0, OSM(MOD_LSFT), KC_LSFT}; - KeymapKey regular_key = KeymapKey{1, 1, 1, KC_A}; - KeymapKey blank_key = KeymapKey{1, 0, 0, KC_NO}; - - set_keymap({osl_key, osm_key, regular_key, blank_key}); - - // Press OSL key. - EXPECT_NO_REPORT(driver); - osl_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release OSL key. - EXPECT_NO_REPORT(driver); - osl_key.release(); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - // Press and release OSM. - EXPECT_NO_REPORT(driver); - tap_key(osm_key); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - // Tap regular key. - EXPECT_REPORT(driver, (osm_key.report_code, regular_key.report_code)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); -} diff --git a/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_tap_hold.cpp b/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_tap_hold.cpp deleted file mode 100644 index 19e73edb02..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_tap_hold.cpp +++ /dev/null @@ -1,941 +0,0 @@ -// Copyright 2024-2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::InSequence; - -class ChordalHoldPermissiveHold : public TestFixture {}; - -TEST_F(ChordalHoldPermissiveHold, chordal_hold_handedness) { - EXPECT_EQ(chordal_hold_handedness({.col = 0, .row = 0}), 'L'); - EXPECT_EQ(chordal_hold_handedness({.col = MATRIX_COLS - 1, .row = 0}), 'R'); - EXPECT_EQ(chordal_hold_handedness({.col = 0, .row = 2}), '*'); -} - -TEST_F(ChordalHoldPermissiveHold, get_chordal_hold_default) { - auto make_record = [](uint8_t row, uint8_t col, keyevent_type_t type = KEY_EVENT) { - return keyrecord_t{ - .event = - { - .key = {.col = col, .row = row}, - .type = type, - .pressed = true, - }, - }; - }; - // Create two records on the left hand. - keyrecord_t record_l0 = make_record(0, 0); - keyrecord_t record_l1 = make_record(1, 0); - // Create a record on the right hand. - keyrecord_t record_r = make_record(0, MATRIX_COLS - 1); - - // Function should return true when records are on opposite hands. - EXPECT_TRUE(get_chordal_hold_default(&record_l0, &record_r)); - EXPECT_TRUE(get_chordal_hold_default(&record_r, &record_l0)); - // ... and false when on the same hand. - EXPECT_FALSE(get_chordal_hold_default(&record_l0, &record_l1)); - EXPECT_FALSE(get_chordal_hold_default(&record_l1, &record_l0)); - // But (2, 0) has handedness '*', for which true is returned for chords - // with either hand. - keyrecord_t record_l2 = make_record(2, 0); - EXPECT_TRUE(get_chordal_hold_default(&record_l2, &record_l0)); - EXPECT_TRUE(get_chordal_hold_default(&record_l2, &record_r)); - - // Create a record resulting from a combo. - keyrecord_t record_combo = make_record(0, 0, COMBO_EVENT); - // Function returns true in all cases. - EXPECT_TRUE(get_chordal_hold_default(&record_l0, &record_combo)); - EXPECT_TRUE(get_chordal_hold_default(&record_r, &record_combo)); - EXPECT_TRUE(get_chordal_hold_default(&record_combo, &record_l0)); - EXPECT_TRUE(get_chordal_hold_default(&record_combo, &record_r)); -} - -TEST_F(ChordalHoldPermissiveHold, chord_nested_press_settled_as_hold) { - TestDriver driver; - InSequence s; - // Mod-tap key on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - // Regular key on the right hand. - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_A)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, chord_rolled_press_settled_as_tap) { - TestDriver driver; - InSequence s; - // Mod-tap key on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - // Regular key on the right hand. - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap key and regular key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, non_chord_with_mod_tap_settled_as_tap) { - TestDriver driver; - InSequence s; - // Mod-tap key and regular key both on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - auto regular_key = KeymapKey(0, 2, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_REPORT(driver, (KC_P)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, tap_mod_tap_key) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - idle_for(TAPPING_TERM - 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, hold_mod_tap_key) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, two_mod_taps_same_hand_hold_til_timeout) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, MATRIX_COLS - 2, 0, RCTL_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Continue holding til the tapping term. - EXPECT_REPORT(driver, (KC_RIGHT_CTRL)); - EXPECT_REPORT(driver, (KC_RIGHT_CTRL, KC_RIGHT_SHIFT)); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_RIGHT_SHIFT)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, two_mod_taps_nested_press_opposite_hands) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, two_mod_taps_nested_press_same_hand) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, RSFT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key2.release(); - run_one_scan_loop(); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, three_mod_taps_same_hand_streak_roll) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 3, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 1, 2, 3. - // - // NOTE: The correct order of events should be - // EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - // EXPECT_REPORT(driver, (KC_B, KC_C)); - // EXPECT_REPORT(driver, (KC_C)); - // EXPECT_EMPTY_REPORT(driver); - // - // However, due to a workaround for https://github.com/tmk/tmk_keyboard/issues/60, - // the events are processed out of order, with the first two keys released - // before pressing KC_C. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, three_mod_taps_same_hand_streak_orders) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 3, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 3, 2, 1. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 3, 1, 2. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 2, 3, 1. - // - // NOTE: The correct order of events should be - // EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - // EXPECT_REPORT(driver, (KC_A, KC_C)); - // EXPECT_REPORT(driver, (KC_A)); - // EXPECT_EMPTY_REPORT(driver); - // - // However, due to a workaround for https://github.com/tmk/tmk_keyboard/issues/60, - // the events are processed out of order. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_C)); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, three_mod_taps_opposite_hands_roll) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 1, 2, 3. - // - // NOTE: The correct order of events should be - // EXPECT_REPORT(driver, (KC_A, KC_B)); - // EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - // EXPECT_REPORT(driver, (KC_B, KC_C)); - // EXPECT_REPORT(driver, (KC_C)); - // EXPECT_EMPTY_REPORT(driver); - // - // However, due to a workaround for https://github.com/tmk/tmk_keyboard/issues/60, - // the events are processed out of order, with the first two keys released - // before pressing KC_C. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, three_mod_taps_two_left_one_right) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 3. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 2, then key 1. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 3. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 1, then key 2. - EXPECT_REPORT(driver, (KC_LEFT_CTRL)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, three_mod_taps_one_held_two_tapped) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 3, 2, 1. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 3, 1, 2. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, two_mod_taps_one_regular_key) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 2, 0, CTL_T(KC_B)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_C); - - set_keymap({mod_tap_key1, mod_tap_key2, regular_key}); - - // Press keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_C)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, tap_regular_key_while_layer_tap_key_is_held) { - TestDriver driver; - InSequence s; - auto layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - auto no_key = KeymapKey(1, 1, 0, XXXXXXX); - auto layer_key = KeymapKey(1, MATRIX_COLS - 1, 0, KC_B); - - set_keymap({layer_tap_hold_key, regular_key, no_key, layer_key}); - - // Press layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.press(); - run_one_scan_loop(); - // Press regular key. - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 2); - VERIFY_AND_CLEAR(driver); - - // Release layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 0); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, nested_tap_of_layer_0_layer_tap_keys) { - TestDriver driver; - InSequence s; - // The keys are layer-taps on layer 2 but regular keys on layer 1. - auto first_layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto second_layer_tap_key = KeymapKey(0, MATRIX_COLS - 1, 0, LT(1, KC_P)); - auto first_key_on_layer = KeymapKey(1, 1, 0, KC_B); - auto second_key_on_layer = KeymapKey(1, MATRIX_COLS - 1, 0, KC_Q); - - set_keymap({first_layer_tap_key, second_layer_tap_key, first_key_on_layer, second_key_on_layer}); - - // Press first layer-tap key. - EXPECT_NO_REPORT(driver); - first_layer_tap_key.press(); - run_one_scan_loop(); - // Press second layer-tap key. - second_layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release second layer-tap key. - EXPECT_REPORT(driver, (KC_Q)); - EXPECT_EMPTY_REPORT(driver); - second_layer_tap_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 2); - VERIFY_AND_CLEAR(driver); - - // Release first layer-tap key. - EXPECT_NO_REPORT(driver); - first_layer_tap_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 0); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, lt_mt_one_regular_key) { - TestDriver driver; - InSequence s; - auto lt_key = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto mt_key0 = KeymapKey(0, 2, 0, SFT_T(KC_B)); - auto mt_key1 = KeymapKey(1, 2, 0, CTL_T(KC_C)); - auto regular_key = KeymapKey(1, MATRIX_COLS - 1, 0, KC_X); - auto no_key0 = KeymapKey(0, MATRIX_COLS - 1, 0, XXXXXXX); - auto no_key1 = KeymapKey(1, 1, 0, XXXXXXX); - - set_keymap({lt_key, mt_key0, mt_key1, regular_key, no_key0, no_key1}); - - // Press LT, MT, and regular key. - EXPECT_NO_REPORT(driver); - lt_key.press(); - run_one_scan_loop(); - mt_key1.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release the regular key. - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_REPORT(driver, (KC_LCTL, KC_X)); - EXPECT_REPORT(driver, (KC_LCTL)); - regular_key.release(); - run_one_scan_loop(); - EXPECT_EQ(get_mods(), MOD_BIT_LCTRL); - EXPECT_EQ(layer_state, 2); - VERIFY_AND_CLEAR(driver); - - // Release MT key. - EXPECT_EMPTY_REPORT(driver); - mt_key1.release(); - run_one_scan_loop(); - EXPECT_EQ(get_mods(), 0); - VERIFY_AND_CLEAR(driver); - - // Release LT key. - EXPECT_NO_REPORT(driver); - lt_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 0); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, nested_tap_of_layer_tap_keys) { - TestDriver driver; - InSequence s; - // The keys are layer-taps on all layers. - auto first_key_layer_0 = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto second_key_layer_0 = KeymapKey(0, MATRIX_COLS - 1, 0, LT(1, KC_P)); - auto first_key_layer_1 = KeymapKey(1, 1, 0, LT(2, KC_B)); - auto second_key_layer_1 = KeymapKey(1, MATRIX_COLS - 1, 0, LT(2, KC_Q)); - auto first_key_layer_2 = KeymapKey(2, 1, 0, KC_TRNS); - auto second_key_layer_2 = KeymapKey(2, MATRIX_COLS - 1, 0, KC_TRNS); - - set_keymap({first_key_layer_0, second_key_layer_0, first_key_layer_1, second_key_layer_1, first_key_layer_2, second_key_layer_2}); - - // Press first layer-tap key. - EXPECT_NO_REPORT(driver); - first_key_layer_0.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press second layer-tap key. - EXPECT_NO_REPORT(driver); - second_key_layer_0.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release second layer-tap key. - EXPECT_REPORT(driver, (KC_Q)); - EXPECT_EMPTY_REPORT(driver); - second_key_layer_0.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release first layer-tap key. - EXPECT_NO_REPORT(driver); - first_key_layer_0.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, roll_layer_tap_key_with_regular_key) { - TestDriver driver; - InSequence s; - - auto layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - auto layer_key = KeymapKey(1, MATRIX_COLS - 1, 0, KC_B); - - set_keymap({layer_tap_hold_key, regular_key, layer_key}); - - // Press layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release layer-tap-hold key. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - EXPECT_REPORT(driver, (KC_A)); - layer_tap_hold_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHold, two_mod_tap_keys_stuttered_press) { - TestDriver driver; - InSequence s; - - auto mod_tap_key1 = KeymapKey(0, 1, 0, LSFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, LCTL_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Hold first mod-tap key until the tapping term. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key1.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press the second mod-tap key, then quickly release and press the first. - EXPECT_NO_REPORT(driver); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_REPORT(driver, (KC_B, KC_A)); - mod_tap_key1.press(); - run_one_scan_loop(); - EXPECT_EQ(get_mods(), 0); // Verify that Shift was released. - VERIFY_AND_CLEAR(driver); - - // Release both keys. - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} diff --git a/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/config.h b/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/config.h deleted file mode 100644 index 9267b94bec..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2022 Vladislav Kucheriavykh - * Copyright 2024-2025 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" -#define CHORDAL_HOLD -#define PERMISSIVE_HOLD -#define FLOW_TAP_TERM 150 diff --git a/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test.mk b/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test.mk deleted file mode 100644 index 2b049cea3b..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test.mk +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 2022 Vladislav Kucheriavykh -# Copyright 2024 Google LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -INTROSPECTION_KEYMAP_C = test_keymap.c diff --git a/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test_keymap.c b/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test_keymap.c deleted file mode 100644 index 8a6a2c59b0..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test_keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "quantum.h" - -const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM = { - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'*', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, -}; diff --git a/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test_one_shot_keys.cpp b/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test_one_shot_keys.cpp deleted file mode 100644 index e48cba73e2..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test_one_shot_keys.cpp +++ /dev/null @@ -1,174 +0,0 @@ -/* Copyright 2021 Stefan Kerkmann - * Copyright 2024 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "action_util.h" -#include "keyboard_report_util.hpp" -#include "test_common.hpp" - -using testing::_; -using testing::InSequence; - -class OneShot : public TestFixture {}; -class OneShotParametrizedTestFixture : public ::testing::WithParamInterface>, public OneShot {}; - -TEST_P(OneShotParametrizedTestFixture, OSMWithAdditionalKeypress) { - TestDriver driver; - KeymapKey osm_key = GetParam().first; - KeymapKey regular_key = GetParam().second; - - set_keymap({osm_key, regular_key}); - - // Press and release OSM. - EXPECT_NO_REPORT(driver); - tap_key(osm_key); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (osm_key.report_code, regular_key.report_code)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_P(OneShotParametrizedTestFixture, OSMAsRegularModifierWithAdditionalKeypress) { - TestDriver driver; - KeymapKey osm_key = GetParam().first; - KeymapKey regular_key = GetParam().second; - - set_keymap({osm_key, regular_key}); - - // Press OSM. - EXPECT_NO_REPORT(driver); - osm_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_REPORT(driver, (osm_key.report_code)).Times(2); - EXPECT_REPORT(driver, (regular_key.report_code, osm_key.report_code)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release OSM. - EXPECT_EMPTY_REPORT(driver); - osm_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -// clang-format off - -INSTANTIATE_TEST_CASE_P( - OneShotModifierTests, - OneShotParametrizedTestFixture, - ::testing::Values( - // First is osm key, second is regular key. - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LSFT), KC_LSFT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LCTL), KC_LCTL}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LALT), KC_LALT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_LGUI), KC_LGUI}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RCTL), KC_RCTL}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RSFT), KC_RSFT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RALT), KC_RALT}, KeymapKey{0, 1, 1, KC_A}), - std::make_pair(KeymapKey{0, 0, 0, OSM(MOD_RGUI), KC_RGUI}, KeymapKey{0, 1, 1, KC_A}) - )); -// clang-format on - -TEST_F(OneShot, OSLWithAdditionalKeypress) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey osl_key1 = KeymapKey{1, 0, 0, KC_X}; - KeymapKey regular_key0 = KeymapKey{0, 1, 0, KC_Y}; - KeymapKey regular_key1 = KeymapKey{1, 1, 0, KC_A}; - - set_keymap({osl_key, osl_key1, regular_key0, regular_key1}); - - // Press OSL key. - EXPECT_NO_REPORT(driver); - osl_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release OSL key. - EXPECT_NO_REPORT(driver); - osl_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (regular_key1.report_code)); - EXPECT_EMPTY_REPORT(driver); - regular_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_NO_REPORT(driver); - regular_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(OneShot, OSLWithOsmAndAdditionalKeypress) { - TestDriver driver; - InSequence s; - KeymapKey osl_key = KeymapKey{0, 0, 0, OSL(1)}; - KeymapKey osm_key = KeymapKey{1, 1, 0, OSM(MOD_LSFT), KC_LSFT}; - KeymapKey regular_key = KeymapKey{1, 1, 1, KC_A}; - KeymapKey blank_key = KeymapKey{1, 0, 0, KC_NO}; - - set_keymap({osl_key, osm_key, regular_key, blank_key}); - - // Press OSL key. - EXPECT_NO_REPORT(driver); - osl_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release OSL key. - EXPECT_NO_REPORT(driver); - osl_key.release(); - run_one_scan_loop(); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - // Press and release OSM. - EXPECT_NO_REPORT(driver); - tap_key(osm_key); - EXPECT_TRUE(layer_state_is(1)); - VERIFY_AND_CLEAR(driver); - - // Tap regular key. - EXPECT_REPORT(driver, (osm_key.report_code, regular_key.report_code)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); -} diff --git a/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test_tap_hold.cpp b/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test_tap_hold.cpp deleted file mode 100644 index 05acb6f416..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/permissive_hold_flow_tap/test_tap_hold.cpp +++ /dev/null @@ -1,911 +0,0 @@ -// Copyright 2024-2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::InSequence; - -class ChordalHoldPermissiveHoldFlowTap : public TestFixture {}; - -TEST_F(ChordalHoldPermissiveHoldFlowTap, chordal_hold_handedness) { - EXPECT_EQ(chordal_hold_handedness({.col = 0, .row = 0}), 'L'); - EXPECT_EQ(chordal_hold_handedness({.col = MATRIX_COLS - 1, .row = 0}), 'R'); - EXPECT_EQ(chordal_hold_handedness({.col = 0, .row = 2}), '*'); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, get_chordal_hold_default) { - auto make_record = [](uint8_t row, uint8_t col, keyevent_type_t type = KEY_EVENT) { - return keyrecord_t{ - .event = - { - .key = {.col = col, .row = row}, - .type = type, - .pressed = true, - }, - }; - }; - // Create two records on the left hand. - keyrecord_t record_l0 = make_record(0, 0); - keyrecord_t record_l1 = make_record(1, 0); - // Create a record on the right hand. - keyrecord_t record_r = make_record(0, MATRIX_COLS - 1); - - // Function should return true when records are on opposite hands. - EXPECT_TRUE(get_chordal_hold_default(&record_l0, &record_r)); - EXPECT_TRUE(get_chordal_hold_default(&record_r, &record_l0)); - // ... and false when on the same hand. - EXPECT_FALSE(get_chordal_hold_default(&record_l0, &record_l1)); - EXPECT_FALSE(get_chordal_hold_default(&record_l1, &record_l0)); - // But (2, 0) has handedness '*', for which true is returned for chords - // with either hand. - keyrecord_t record_l2 = make_record(2, 0); - EXPECT_TRUE(get_chordal_hold_default(&record_l2, &record_l0)); - EXPECT_TRUE(get_chordal_hold_default(&record_l2, &record_r)); - - // Create a record resulting from a combo. - keyrecord_t record_combo = make_record(0, 0, COMBO_EVENT); - // Function returns true in all cases. - EXPECT_TRUE(get_chordal_hold_default(&record_l0, &record_combo)); - EXPECT_TRUE(get_chordal_hold_default(&record_r, &record_combo)); - EXPECT_TRUE(get_chordal_hold_default(&record_combo, &record_l0)); - EXPECT_TRUE(get_chordal_hold_default(&record_combo, &record_r)); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, chord_nested_press_settled_as_hold) { - TestDriver driver; - InSequence s; - // Mod-tap key on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - // Regular key on the right hand. - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_A)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, chord_rolled_press_settled_as_tap) { - TestDriver driver; - InSequence s; - // Mod-tap key on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - // Regular key on the right hand. - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap key and regular key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, non_chord_with_mod_tap_settled_as_tap) { - TestDriver driver; - InSequence s; - // Mod-tap key and regular key both on the left hand. - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - auto regular_key = KeymapKey(0, 2, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_REPORT(driver, (KC_P)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, tap_mod_tap_key) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - idle_for(TAPPING_TERM - 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, hold_mod_tap_key) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, two_mod_taps_same_hand_hold_til_timeout) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, MATRIX_COLS - 2, 0, RCTL_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Continue holding til the tapping term. - EXPECT_REPORT(driver, (KC_RIGHT_CTRL)); - EXPECT_REPORT(driver, (KC_RIGHT_CTRL, KC_RIGHT_SHIFT)); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_RIGHT_SHIFT)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, two_mod_taps_nested_press_opposite_hands) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, two_mod_taps_nested_press_same_hand) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, RSFT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key2.release(); - run_one_scan_loop(); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, three_mod_taps_same_hand_streak_roll) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 3, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 1, 2, 3. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, three_mod_taps_same_hand_streak_orders) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 3, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 3, 2, 1. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 3, 1, 2. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 2, 3, 1. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_A, KC_C)); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, three_mod_taps_opposite_hands_roll) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 1, 2, 3. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, three_mod_taps_two_left_one_right) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 3. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 2, then key 1. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 3. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_CTRL)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release key 1, then key 2. - EXPECT_REPORT(driver, (KC_LEFT_CTRL)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, three_mod_taps_one_held_two_tapped) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 2, 0, CTL_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, MATRIX_COLS - 1, 0, RSFT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 3, 2, 1. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys 3, 1, 2. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, two_mod_taps_one_regular_key) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, MATRIX_COLS - 2, 0, CTL_T(KC_B)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_C); - - set_keymap({mod_tap_key1, mod_tap_key2, regular_key}); - - // Press keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_C)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, tap_regular_key_while_layer_tap_key_is_held) { - TestDriver driver; - InSequence s; - auto layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - auto no_key = KeymapKey(1, 1, 0, XXXXXXX); - auto layer_key = KeymapKey(1, MATRIX_COLS - 1, 0, KC_B); - - set_keymap({layer_tap_hold_key, regular_key, no_key, layer_key}); - - // Press layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.press(); - run_one_scan_loop(); - // Press regular key. - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 2); - VERIFY_AND_CLEAR(driver); - - // Release layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 0); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, nested_tap_of_layer_0_layer_tap_keys) { - TestDriver driver; - InSequence s; - // The keys are layer-taps on layer 2 but regular keys on layer 1. - auto first_layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto second_layer_tap_key = KeymapKey(0, MATRIX_COLS - 1, 0, LT(1, KC_P)); - auto first_key_on_layer = KeymapKey(1, 1, 0, KC_B); - auto second_key_on_layer = KeymapKey(1, MATRIX_COLS - 1, 0, KC_Q); - - set_keymap({first_layer_tap_key, second_layer_tap_key, first_key_on_layer, second_key_on_layer}); - - // Press first layer-tap key. - EXPECT_NO_REPORT(driver); - first_layer_tap_key.press(); - run_one_scan_loop(); - // Press second layer-tap key. - second_layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release second layer-tap key. - EXPECT_REPORT(driver, (KC_Q)); - EXPECT_EMPTY_REPORT(driver); - second_layer_tap_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 2); - VERIFY_AND_CLEAR(driver); - - // Release first layer-tap key. - EXPECT_NO_REPORT(driver); - first_layer_tap_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 0); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, lt_mt_one_regular_key) { - TestDriver driver; - InSequence s; - auto lt_key = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto mt_key0 = KeymapKey(0, 2, 0, SFT_T(KC_B)); - auto mt_key1 = KeymapKey(1, 2, 0, CTL_T(KC_C)); - auto regular_key = KeymapKey(1, MATRIX_COLS - 1, 0, KC_X); - auto no_key0 = KeymapKey(0, MATRIX_COLS - 1, 0, XXXXXXX); - auto no_key1 = KeymapKey(1, 1, 0, XXXXXXX); - - set_keymap({lt_key, mt_key0, mt_key1, regular_key, no_key0, no_key1}); - - // Press LT, MT, and regular key. - EXPECT_NO_REPORT(driver); - lt_key.press(); - run_one_scan_loop(); - mt_key1.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release the regular key. - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_REPORT(driver, (KC_LCTL, KC_X)); - EXPECT_REPORT(driver, (KC_LCTL)); - regular_key.release(); - run_one_scan_loop(); - EXPECT_EQ(get_mods(), MOD_BIT_LCTRL); - EXPECT_EQ(layer_state, 2); - VERIFY_AND_CLEAR(driver); - - // Release MT key. - EXPECT_EMPTY_REPORT(driver); - mt_key1.release(); - run_one_scan_loop(); - EXPECT_EQ(get_mods(), 0); - VERIFY_AND_CLEAR(driver); - - // Release LT key. - EXPECT_NO_REPORT(driver); - lt_key.release(); - run_one_scan_loop(); - EXPECT_EQ(layer_state, 0); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, nested_tap_of_layer_tap_keys) { - TestDriver driver; - InSequence s; - // The keys are layer-taps on all layers. - auto first_key_layer_0 = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto second_key_layer_0 = KeymapKey(0, MATRIX_COLS - 1, 0, LT(1, KC_P)); - auto first_key_layer_1 = KeymapKey(1, 1, 0, LT(2, KC_B)); - auto second_key_layer_1 = KeymapKey(1, MATRIX_COLS - 1, 0, LT(2, KC_Q)); - auto first_key_layer_2 = KeymapKey(2, 1, 0, KC_TRNS); - auto second_key_layer_2 = KeymapKey(2, MATRIX_COLS - 1, 0, KC_TRNS); - - set_keymap({first_key_layer_0, second_key_layer_0, first_key_layer_1, second_key_layer_1, first_key_layer_2, second_key_layer_2}); - - // Press first layer-tap key. - EXPECT_NO_REPORT(driver); - first_key_layer_0.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press second layer-tap key. - EXPECT_NO_REPORT(driver); - second_key_layer_0.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release second layer-tap key. - EXPECT_REPORT(driver, (KC_Q)); - EXPECT_EMPTY_REPORT(driver); - second_key_layer_0.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release first layer-tap key. - EXPECT_NO_REPORT(driver); - first_key_layer_0.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, roll_layer_tap_key_with_regular_key) { - TestDriver driver; - InSequence s; - - auto layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - auto layer_key = KeymapKey(1, MATRIX_COLS - 1, 0, KC_B); - - set_keymap({layer_tap_hold_key, regular_key, layer_key}); - - // Press layer-tap-hold key. - EXPECT_NO_REPORT(driver); - layer_tap_hold_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release layer-tap-hold key. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - EXPECT_REPORT(driver, (KC_A)); - layer_tap_hold_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(ChordalHoldPermissiveHoldFlowTap, two_mod_tap_keys_stuttered_press) { - TestDriver driver; - InSequence s; - - auto mod_tap_key1 = KeymapKey(0, 1, 0, LSFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, LCTL_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Hold first mod-tap key until the tapping term. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key1.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press the second mod-tap key, then quickly release and press the first. - EXPECT_NO_REPORT(driver); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_REPORT(driver, (KC_B, KC_A)); - mod_tap_key1.press(); - run_one_scan_loop(); - EXPECT_EQ(get_mods(), 0); // Verify that Shift was released. - VERIFY_AND_CLEAR(driver); - - // Release both keys. - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} diff --git a/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/config.h b/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/config.h deleted file mode 100644 index 4d704c5978..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2022 Isaac Elenbaas - * Copyright 2024 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" - -#define CHORDAL_HOLD -#define PERMISSIVE_HOLD - -#define RETRO_SHIFT 2 * TAPPING_TERM -// releases between AUTO_SHIFT_TIMEOUT and TAPPING_TERM are not tested -#define AUTO_SHIFT_TIMEOUT TAPPING_TERM -#define AUTO_SHIFT_MODIFIERS diff --git a/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/test.mk b/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/test.mk deleted file mode 100644 index c39dfa9cb1..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/test.mk +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2022 Isaac Elenbaas -# Copyright 2024 Google LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -AUTO_SHIFT_ENABLE = yes -INTROSPECTION_KEYMAP_C = test_keymap.c diff --git a/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/test_keymap.c b/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/test_keymap.c deleted file mode 100644 index 8a6a2c59b0..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/test_keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "quantum.h" - -const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM = { - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'*', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, - {'L', 'L', 'L', 'L', 'L', 'R', 'R', 'R', 'R', 'R'}, -}; diff --git a/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/test_retro_shift.cpp b/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/test_retro_shift.cpp deleted file mode 100644 index 16fbabbd8a..0000000000 --- a/tests/tap_hold_configurations/chordal_hold/retro_shift_permissive_hold/test_retro_shift.cpp +++ /dev/null @@ -1,420 +0,0 @@ -/* Copyright 2022 Isaac Elenbaas - * Copyright 2024 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { - return true; -} - -using testing::_; -using testing::AnyNumber; -using testing::AnyOf; -using testing::InSequence; - -class RetroShiftPermissiveHold : public TestFixture {}; - -TEST_F(RetroShiftPermissiveHold, tap_regular_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 0, 0, CTL_T(KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_hold_key, regular_key}); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Press regular key. */ - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release regular key. */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LCTL))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LCTL, KC_A)); - EXPECT_REPORT(driver, (KC_LCTL)); - regular_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-hold key. */ - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); -} - -TEST_F(RetroShiftPermissiveHold, tap_mod_tap_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 0, 0, CTL_T(KC_P)); - auto mod_tap_regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, ALT_T(KC_A)); - - set_keymap({mod_tap_hold_key, mod_tap_regular_key}); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Press mod-tap-regular key. */ - EXPECT_NO_REPORT(driver); - mod_tap_regular_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-regular key. */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LCTL))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LCTL, KC_A)); - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_regular_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-hold key. */ - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); -} - -TEST_F(RetroShiftPermissiveHold, tap_regular_key_while_mod_tap_key_is_held_over_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 0, 0, CTL_T(KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_hold_key, regular_key}); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Press regular key. */ - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release regular key. */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LCTL))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LCTL, KC_A)); - EXPECT_REPORT(driver, (KC_LCTL)); - regular_key.release(); - run_one_scan_loop(); - idle_for(TAPPING_TERM); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-hold key. */ - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); -} - -TEST_F(RetroShiftPermissiveHold, tap_mod_tap_key_while_mod_tap_key_is_held_over_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 0, 0, CTL_T(KC_P)); - auto mod_tap_regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, ALT_T(KC_A)); - - set_keymap({mod_tap_hold_key, mod_tap_regular_key}); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Press mod-tap-regular key. */ - EXPECT_NO_REPORT(driver); - mod_tap_regular_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-regular key. */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LCTL))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LCTL, KC_A)); - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_regular_key.release(); - run_one_scan_loop(); - idle_for(TAPPING_TERM); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-hold key. */ - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); -} - -TEST_F(RetroShiftPermissiveHold, hold_regular_key_while_mod_tap_key_is_held_over_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 0, 0, CTL_T(KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_hold_key, regular_key}); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Press regular key. */ - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - idle_for(AUTO_SHIFT_TIMEOUT); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release regular key. */ - // clang-format off - EXPECT_CALL(driver, send_keyboard_mock(AnyOf( - KeyboardReport(KC_LCTL, KC_LSFT), - KeyboardReport(KC_LSFT), - KeyboardReport(KC_LCTL)))) - .Times(AnyNumber()); - // clang-format on - EXPECT_REPORT(driver, (KC_LCTL, KC_LSFT, KC_A)); - // clang-format off - EXPECT_CALL(driver, send_keyboard_mock(AnyOf( - KeyboardReport(KC_LCTL, KC_LSFT), - KeyboardReport(KC_LSFT)))) - .Times(AnyNumber()); - // clang-format on - EXPECT_REPORT(driver, (KC_LCTL)); - regular_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-hold key. */ - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); -} - -TEST_F(RetroShiftPermissiveHold, hold_mod_tap_key_while_mod_tap_key_is_held_over_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 0, 0, CTL_T(KC_P)); - auto mod_tap_regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, ALT_T(KC_A)); - - set_keymap({mod_tap_hold_key, mod_tap_regular_key}); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Press mod-tap-regular key. */ - EXPECT_NO_REPORT(driver); - mod_tap_regular_key.press(); - run_one_scan_loop(); - idle_for(AUTO_SHIFT_TIMEOUT); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-regular key. */ - // clang-format off - EXPECT_CALL(driver, send_keyboard_mock(AnyOf( - KeyboardReport(KC_LCTL, KC_LSFT), - KeyboardReport(KC_LSFT), - KeyboardReport(KC_LCTL)))) - .Times(AnyNumber()); - // clang-format on - EXPECT_REPORT(driver, (KC_LCTL, KC_LSFT, KC_A)); - // clang-format off - EXPECT_CALL(driver, send_keyboard_mock(AnyOf( - KeyboardReport(KC_LCTL, KC_LSFT), - KeyboardReport(KC_LSFT)))) - .Times(AnyNumber()); - // clang-format on - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_regular_key.release(); - run_one_scan_loop(); - idle_for(TAPPING_TERM); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-hold key. */ - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); -} - -TEST_F(RetroShiftPermissiveHold, roll_tap_regular_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 0, 0, CTL_T(KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_hold_key, regular_key}); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Press regular key. */ - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-hold key. */ - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release regular key. */ - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); -} - -TEST_F(RetroShiftPermissiveHold, roll_tap_mod_tap_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 0, 0, CTL_T(KC_P)); - auto mod_tap_regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, ALT_T(KC_A)); - - set_keymap({mod_tap_hold_key, mod_tap_regular_key}); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Press mod-tap-regular key. */ - EXPECT_NO_REPORT(driver); - mod_tap_regular_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-hold key. */ - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-regular key. */ - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_regular_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); -} - -TEST_F(RetroShiftPermissiveHold, roll_hold_regular_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 0, 0, CTL_T(KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_hold_key, regular_key}); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Press regular key. */ - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-hold key. */ - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LSFT, KC_A)); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber()); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - idle_for(AUTO_SHIFT_TIMEOUT); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release regular key. */ - EXPECT_NO_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); -} - -TEST_F(RetroShiftPermissiveHold, roll_hold_mod_tap_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 0, 0, CTL_T(KC_P)); - auto mod_tap_regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, ALT_T(KC_A)); - - set_keymap({mod_tap_hold_key, mod_tap_regular_key}); - - /* Press mod-tap-hold key. */ - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Press mod-tap-regular key. */ - EXPECT_NO_REPORT(driver); - mod_tap_regular_key.press(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-hold key. */ - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); - - /* Release mod-tap-regular key. */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LSFT, KC_A)); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber()); - EXPECT_EMPTY_REPORT(driver); - idle_for(AUTO_SHIFT_TIMEOUT); - mod_tap_regular_key.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); -} diff --git a/tests/tap_hold_configurations/flow_tap/config.h b/tests/tap_hold_configurations/flow_tap/config.h deleted file mode 100644 index d6f385d8d4..0000000000 --- a/tests/tap_hold_configurations/flow_tap/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2022 Vladislav Kucheriavykh - * Copyright 2025 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" - -#define FLOW_TAP_TERM 150 -#define PERMISSIVE_HOLD diff --git a/tests/tap_hold_configurations/flow_tap/test_keymap.c b/tests/tap_hold_configurations/flow_tap/test_keymap.c deleted file mode 100644 index 4dfe5e4cb6..0000000000 --- a/tests/tap_hold_configurations/flow_tap/test_keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "quantum.h" - -uint16_t const mt_lt_combo[] = {SFT_T(KC_X), LT(1, KC_Y), COMBO_END}; - -// clang-format off -combo_t key_combos[] = { - COMBO(mt_lt_combo, KC_Z), -}; -// clang-format on diff --git a/tests/tap_hold_configurations/flow_tap/test_tap_hold.cpp b/tests/tap_hold_configurations/flow_tap/test_tap_hold.cpp deleted file mode 100644 index d419a3b313..0000000000 --- a/tests/tap_hold_configurations/flow_tap/test_tap_hold.cpp +++ /dev/null @@ -1,844 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::AnyNumber; -using testing::InSequence; - -class FlowTapTest : public TestFixture {}; - -// Test an input of quick distinct taps. All should be settled as tapped. -TEST_F(FlowTapTest, distinct_taps) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_C)); - auto mod_tap_key3 = KeymapKey(0, 3, 0, ALT_T(KC_D)); - - set_keymap({regular_key, mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key, FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Tap mod-tap 1. - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap mod-tap 2. - EXPECT_REPORT(driver, (KC_C)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap mod-tap 3. - EXPECT_REPORT(driver, (KC_D)); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key3.release(); - idle_for(FLOW_TAP_TERM + 1); // Pause between taps. - VERIFY_AND_CLEAR(driver); - - // Tap mod-tap 1. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap mod-tap 2. - EXPECT_REPORT(driver, (KC_C)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - idle_for(TAPPING_TERM + 1); - mod_tap_key2.release(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); -} - -// By default, Flow Tap is disabled when mods other than Shift and AltGr are on. -TEST_F(FlowTapTest, hotkey_taps) { - TestDriver driver; - InSequence s; - auto ctrl_key = KeymapKey(0, 0, 0, KC_LCTL); - auto shft_key = KeymapKey(0, 1, 0, KC_LSFT); - auto alt_key = KeymapKey(0, 2, 0, KC_LALT); - auto gui_key = KeymapKey(0, 3, 0, KC_LGUI); - auto regular_key = KeymapKey(0, 4, 0, KC_A); - auto mod_tap_key = KeymapKey(0, 5, 0, RCTL_T(KC_B)); - - set_keymap({ctrl_key, shft_key, alt_key, gui_key, regular_key, mod_tap_key}); - - for (KeymapKey* mod_key : {&ctrl_key, &alt_key, &gui_key}) { - // Hold mod key. - EXPECT_REPORT(driver, (mod_key->code)); - mod_key->press(); - run_one_scan_loop(); - - // Tap regular key. - EXPECT_REPORT(driver, (mod_key->code, KC_A)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (mod_key->code)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap, where Flow Tap is disabled due to the held mod. - EXPECT_REPORT(driver, (mod_key->code, KC_RCTL)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap. - EXPECT_REPORT(driver, (mod_key->code)); - mod_tap_key.release(); - run_one_scan_loop(); - - // Release mod key. - EXPECT_EMPTY_REPORT(driver); - mod_key->release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - } - - // Hold Shift key. - EXPECT_REPORT(driver, (KC_LSFT)); - shft_key.press(); - run_one_scan_loop(); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_LSFT, KC_A)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap, where Flow Tap applies to settle as tapped. - EXPECT_REPORT(driver, (KC_LSFT, KC_B)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.release(); - run_one_scan_loop(); - - // Release Shift key. - EXPECT_EMPTY_REPORT(driver); - shft_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -// Test input with two mod-taps in a rolled press quickly after a regular key. -TEST_F(FlowTapTest, rolled_press) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_C)); - - set_keymap({regular_key, mod_tap_key1, mod_tap_key2}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key 1 quickly after regular key. The mod-tap should settle - // immediately as tapped, sending `KC_B`. - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key 2 quickly. - EXPECT_REPORT(driver, (KC_B, KC_C)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for longer than the tapping term. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, long_flow_tap_settled_as_held) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_B)); - - set_keymap({regular_key, mod_tap_key}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for the tapping term. - EXPECT_REPORT(driver, (KC_LSFT)); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, holding_multiple_mod_taps) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_C)); - - set_keymap({regular_key, mod_tap_key1, mod_tap_key2}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - idle_for(TAPPING_TERM - 5); // Hold almost until tapping term. - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL)); - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL, KC_A)); - regular_key.press(); - idle_for(10); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL)); - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, holding_mod_tap_with_regular_mod) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_key = KeymapKey(0, 1, 0, KC_LSFT); - auto mod_tap_key = KeymapKey(0, 2, 0, CTL_T(KC_C)); - - set_keymap({regular_key, mod_key, mod_tap_key}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press mod and mod-tap keys. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_key.press(); - run_one_scan_loop(); - mod_tap_key.press(); - idle_for(TAPPING_TERM - 5); // Hold almost until tapping term. - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL)); - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL, KC_A)); - regular_key.press(); - idle_for(10); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL)); - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - mod_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, layer_tap_key) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_B)); - auto regular_key2 = KeymapKey(1, 0, 0, KC_C); - - set_keymap({regular_key, layer_tap_key, regular_key2}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Press layer-tap key, quickly after the regular key. - EXPECT_REPORT(driver, (KC_B)); - layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release layer-tap key. - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press layer-tap key, slowly after the regular key. - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - EXPECT_EQ(layer_state, 1 << 1); - VERIFY_AND_CLEAR(driver); - - // Tap regular key2. - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Release layer-tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, layer_tap_ignored_with_disabled_key) { - TestDriver driver; - InSequence s; - auto no_key = KeymapKey(0, 0, 0, KC_NO); - auto regular_key = KeymapKey(1, 0, 0, KC_ESC); - auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 2, 0, CTL_T(KC_B)); - - set_keymap({no_key, regular_key, layer_tap_key, mod_tap_key}); - - EXPECT_REPORT(driver, (KC_ESC)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - tap_key(regular_key); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, layer_tap_ignored_with_disabled_key_complex) { - TestDriver driver; - InSequence s; - auto regular_key1 = KeymapKey(0, 0, 0, KC_Q); - auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_SPC)); - auto mod_tap_key1 = KeymapKey(0, 2, 0, CTL_T(KC_T)); - // Place RALT_T(KC_I), where Flow Tap is enabled, in the same position on - // layer 0 as KC_RGHT, where Flow Tap is disabled. This tests that Flow Tap - // tracks the keycode from the correct layer. - auto mod_tap_key2 = KeymapKey(0, 3, 0, RALT_T(KC_I)); - auto regular_key2 = KeymapKey(1, 3, 0, KC_RGHT); - - set_keymap({regular_key1, layer_tap_key, mod_tap_key1, mod_tap_key2, regular_key2}); - - // Tap regular key 1. - EXPECT_REPORT(driver, (KC_Q)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key1); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Hold layer-tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - // idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Tap regular key 2. - EXPECT_REPORT(driver, (KC_RGHT)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key2); - VERIFY_AND_CLEAR(driver); - - // Release layer-tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Quickly hold mod-tap key 1. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_REPORT(driver, (KC_LCTL, KC_Q)); - EXPECT_REPORT(driver, (KC_LCTL)); - tap_key(regular_key1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, layer_tap_ignored_with_enabled_key) { - TestDriver driver; - InSequence s; - auto no_key = KeymapKey(0, 0, 0, KC_NO); - auto regular_key = KeymapKey(1, 0, 0, KC_C); - auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 2, 0, CTL_T(KC_B)); - - set_keymap({no_key, regular_key, layer_tap_key, mod_tap_key}); - - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - tap_key(regular_key); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - idle_for(TAPPING_TERM + 1); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, combo_key) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_X)); - auto layer_tap_key = KeymapKey(0, 2, 0, LT(1, KC_Y)); - - set_keymap({regular_key, mod_tap_key, layer_tap_key}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Press combo keys quickly after regular key. - EXPECT_REPORT(driver, (KC_Z)); - EXPECT_EMPTY_REPORT(driver); - tap_combo({mod_tap_key, layer_tap_key}); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key quickly. - EXPECT_REPORT(driver, (KC_X)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, oneshot_mod_key) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto osm_key = KeymapKey(0, 1, 0, OSM(MOD_LSFT)); - - set_keymap({regular_key, osm_key}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Tap OSM, tap regular key. - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LSFT, KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(osm_key); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Nested press of OSM and regular keys. - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LSFT, KC_A)); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber()); - EXPECT_EMPTY_REPORT(driver); - osm_key.press(); - run_one_scan_loop(); - tap_key(regular_key); - osm_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, quick_tap) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_A)); - - set_keymap({mod_tap_key}); - - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(mod_tap_key); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, rolling_mt_mt) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for longer than the tapping term. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, rolling_lt_mt_regular) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, CTL_T(KC_B)); - auto regular_key = KeymapKey(0, 2, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - layer_tap_key.press(); - run_one_scan_loop(); - mod_tap_key.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_B, KC_C)); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for longer than the tapping term. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, rolling_lt_regular_mt) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto mod_tap_key = KeymapKey(0, 2, 0, CTL_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - layer_tap_key.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_B, KC_C)); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for longer than the tapping term. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, rolling_mt_mt_mt) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 0, 0, CTL_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 1, 0, GUI_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 2, 0, ALT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release first mod-tap key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_B, KC_C)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for longer than the tapping term. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release other mod-tap keys. - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(FlowTapTest, roll_release_132) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 0, 0, CTL_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 1, 0, GUI_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 2, 0, ALT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release first mod-tap key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release other mod-tap keys. - EXPECT_REPORT(driver, (KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key3.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} diff --git a/tests/tap_hold_configurations/retro_tapping/test_key_roll.cpp b/tests/tap_hold_configurations/retro_tapping/test_key_roll.cpp deleted file mode 100644 index afcbde9937..0000000000 --- a/tests/tap_hold_configurations/retro_tapping/test_key_roll.cpp +++ /dev/null @@ -1,408 +0,0 @@ -/* Copyright 2024 John Rigoni - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "keycodes.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::InSequence; - -class RetroTapKeyRoll : public TestFixture {}; - -TEST_F(RetroTapKeyRoll, regular_to_left_gui_mod_over_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto regular_key = KeymapKey(0, 2, 0, KC_B); - - set_keymap({mod_tap_hold_key, regular_key}); - - EXPECT_REPORT(driver, (KC_B)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B, KC_LEFT_GUI)); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_GUI)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_GUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LEFT_GUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroTapKeyRoll, regular_to_mod_over_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto regular_key = KeymapKey(0, 2, 0, KC_B); - - set_keymap({mod_tap_hold_key, regular_key}); - - EXPECT_REPORT(driver, (KC_B)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B, KC_LEFT_SHIFT)); - mod_tap_hold_key.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroTapKeyRoll, regular_to_mod_under_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto regular_key = KeymapKey(0, 2, 0, KC_B); - - set_keymap({mod_tap_hold_key, regular_key}); - - EXPECT_REPORT(driver, (KC_B)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroTapKeyRoll, mod_under_tap_term_to_regular) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto regular_key = KeymapKey(0, 2, 0, KC_B); - - set_keymap({mod_tap_hold_key, regular_key}); - - EXPECT_NO_REPORT(driver); - mod_tap_hold_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_B, KC_P)); - EXPECT_REPORT(driver, (KC_B)); - mod_tap_hold_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroTapKeyRoll, mod_over_tap_term_to_regular) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto regular_key = KeymapKey(0, 2, 0, KC_B); - - set_keymap({mod_tap_hold_key, regular_key}); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_hold_key.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - mod_tap_hold_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroTapKeyRoll, mod_under_tap_term_to_mod_under_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_gui = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto mod_tap_hold_lshft = KeymapKey(0, 2, 0, SFT_T(KC_A)); - - set_keymap({mod_tap_hold_gui, mod_tap_hold_lshft}); - - EXPECT_NO_REPORT(driver); - mod_tap_hold_lshft.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - mod_tap_hold_gui.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_lshft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_gui.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroTapKeyRoll, mod_over_tap_term_to_mod_under_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_gui = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto mod_tap_hold_lshft = KeymapKey(0, 2, 0, SFT_T(KC_A)); - - set_keymap({mod_tap_hold_gui, mod_tap_hold_lshft}); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_hold_lshft.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - mod_tap_hold_gui.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - mod_tap_hold_lshft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_P)); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_gui.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroTapKeyRoll, mod_under_tap_term_to_mod_over_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_gui = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto mod_tap_hold_lshft = KeymapKey(0, 2, 0, SFT_T(KC_A)); - - set_keymap({mod_tap_hold_gui, mod_tap_hold_lshft}); - - EXPECT_NO_REPORT(driver); - mod_tap_hold_lshft.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_GUI)); - mod_tap_hold_gui.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_GUI)); - mod_tap_hold_lshft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_GUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LEFT_GUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_P, KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_gui.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroTapKeyRoll, mod_under_tap_term_to_mod_over_tap_term_offset) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_gui = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto mod_tap_hold_lshft = KeymapKey(0, 2, 0, SFT_T(KC_A)); - - set_keymap({mod_tap_hold_gui, mod_tap_hold_lshft}); - - EXPECT_NO_REPORT(driver); - mod_tap_hold_lshft.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - mod_tap_hold_gui.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_lshft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_GUI)); - EXPECT_REPORT(driver, (KC_LEFT_GUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LEFT_GUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_hold_gui.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroTapKeyRoll, mod_over_tap_term_to_mod_over_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_gui = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto mod_tap_hold_lshft = KeymapKey(0, 2, 0, SFT_T(KC_A)); - - set_keymap({mod_tap_hold_gui, mod_tap_hold_lshft}); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_hold_lshft.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_GUI)); - mod_tap_hold_gui.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_GUI)); - mod_tap_hold_lshft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_GUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LEFT_GUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_P, KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_gui.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroTapKeyRoll, mod_to_mod_to_mod) { - TestDriver driver; - InSequence s; - auto mod_tap_hold_lalt = KeymapKey(0, 1, 0, LALT_T(KC_R)); - auto mod_tap_hold_lshft = KeymapKey(0, 2, 0, SFT_T(KC_A)); - auto mod_tap_hold_lctrl = KeymapKey(0, 3, 0, LCTL_T(KC_C)); - - set_keymap({mod_tap_hold_lalt, mod_tap_hold_lshft, mod_tap_hold_lctrl}); - - EXPECT_REPORT(driver, (KC_LEFT_ALT)); - mod_tap_hold_lalt.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_LEFT_ALT)); - mod_tap_hold_lshft.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - mod_tap_hold_lalt.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_CTRL, KC_LEFT_SHIFT)); - EXPECT_NO_REPORT(driver); - mod_tap_hold_lctrl.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LEFT_CTRL)); - mod_tap_hold_lshft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_C, KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_hold_lctrl.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} diff --git a/tests/test_common/build.mk b/tests/test_common/build.mk index 385da7adf9..d7423bc78a 100644 --- a/tests/test_common/build.mk +++ b/tests/test_common/build.mk @@ -14,4 +14,3 @@ # along with this program. If not, see . CUSTOM_MATRIX=yes -KEYCODE_STRING_ENABLE = yes diff --git a/tests/test_common/keyboard_report_util.cpp b/tests/test_common/keyboard_report_util.cpp index 5e40323669..18e0574277 100644 --- a/tests/test_common/keyboard_report_util.cpp +++ b/tests/test_common/keyboard_report_util.cpp @@ -19,10 +19,6 @@ #include #include -extern "C" { -#include "keycode_string.h" -} - using namespace testing; extern std::map KEYCODE_ID_TABLE; @@ -76,7 +72,7 @@ std::ostream& operator<<(std::ostream& os, const report_keyboard_t& report) { os << "("; for (auto key = keys.cbegin(); key != keys.cend();) { - os << get_keycode_string(*key); + os << KEYCODE_ID_TABLE.at(*key); key++; if (key != keys.cend()) { os << ", "; @@ -86,7 +82,7 @@ std::ostream& operator<<(std::ostream& os, const report_keyboard_t& report) { os << ") ["; for (auto mod = mods.cbegin(); mod != mods.cend();) { - os << get_keycode_string(*mod); + os << KEYCODE_ID_TABLE.at(*mod); mod++; if (mod != mods.cend()) { os << ", "; diff --git a/tests/test_common/keycode_table.cpp b/tests/test_common/keycode_table.cpp new file mode 100644 index 0000000000..26d0919619 --- /dev/null +++ b/tests/test_common/keycode_table.cpp @@ -0,0 +1,767 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +/******************************************************************************* + 88888888888 888 d8b .d888 d8b 888 d8b + 888 888 Y8P d88P" Y8P 888 Y8P + 888 888 888 888 + 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b + 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K + 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. + 888 888 888 888 X88 888 888 888 Y8b. 888 X88 + 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' + 888 888 + 888 888 + 888 888 + .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 + d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 + 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 + Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 + "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 + 888 + Y8b d88P + "Y88P" +*******************************************************************************/ + +// clang-format off +extern "C" { +#include +} +#include +#include +#include + +std::map KEYCODE_ID_TABLE = { + {KC_NO, "KC_NO"}, + {KC_TRANSPARENT, "KC_TRANSPARENT"}, + {KC_A, "KC_A"}, + {KC_B, "KC_B"}, + {KC_C, "KC_C"}, + {KC_D, "KC_D"}, + {KC_E, "KC_E"}, + {KC_F, "KC_F"}, + {KC_G, "KC_G"}, + {KC_H, "KC_H"}, + {KC_I, "KC_I"}, + {KC_J, "KC_J"}, + {KC_K, "KC_K"}, + {KC_L, "KC_L"}, + {KC_M, "KC_M"}, + {KC_N, "KC_N"}, + {KC_O, "KC_O"}, + {KC_P, "KC_P"}, + {KC_Q, "KC_Q"}, + {KC_R, "KC_R"}, + {KC_S, "KC_S"}, + {KC_T, "KC_T"}, + {KC_U, "KC_U"}, + {KC_V, "KC_V"}, + {KC_W, "KC_W"}, + {KC_X, "KC_X"}, + {KC_Y, "KC_Y"}, + {KC_Z, "KC_Z"}, + {KC_1, "KC_1"}, + {KC_2, "KC_2"}, + {KC_3, "KC_3"}, + {KC_4, "KC_4"}, + {KC_5, "KC_5"}, + {KC_6, "KC_6"}, + {KC_7, "KC_7"}, + {KC_8, "KC_8"}, + {KC_9, "KC_9"}, + {KC_0, "KC_0"}, + {KC_ENTER, "KC_ENTER"}, + {KC_ESCAPE, "KC_ESCAPE"}, + {KC_BACKSPACE, "KC_BACKSPACE"}, + {KC_TAB, "KC_TAB"}, + {KC_SPACE, "KC_SPACE"}, + {KC_MINUS, "KC_MINUS"}, + {KC_EQUAL, "KC_EQUAL"}, + {KC_LEFT_BRACKET, "KC_LEFT_BRACKET"}, + {KC_RIGHT_BRACKET, "KC_RIGHT_BRACKET"}, + {KC_BACKSLASH, "KC_BACKSLASH"}, + {KC_NONUS_HASH, "KC_NONUS_HASH"}, + {KC_SEMICOLON, "KC_SEMICOLON"}, + {KC_QUOTE, "KC_QUOTE"}, + {KC_GRAVE, "KC_GRAVE"}, + {KC_COMMA, "KC_COMMA"}, + {KC_DOT, "KC_DOT"}, + {KC_SLASH, "KC_SLASH"}, + {KC_CAPS_LOCK, "KC_CAPS_LOCK"}, + {KC_F1, "KC_F1"}, + {KC_F2, "KC_F2"}, + {KC_F3, "KC_F3"}, + {KC_F4, "KC_F4"}, + {KC_F5, "KC_F5"}, + {KC_F6, "KC_F6"}, + {KC_F7, "KC_F7"}, + {KC_F8, "KC_F8"}, + {KC_F9, "KC_F9"}, + {KC_F10, "KC_F10"}, + {KC_F11, "KC_F11"}, + {KC_F12, "KC_F12"}, + {KC_PRINT_SCREEN, "KC_PRINT_SCREEN"}, + {KC_SCROLL_LOCK, "KC_SCROLL_LOCK"}, + {KC_PAUSE, "KC_PAUSE"}, + {KC_INSERT, "KC_INSERT"}, + {KC_HOME, "KC_HOME"}, + {KC_PAGE_UP, "KC_PAGE_UP"}, + {KC_DELETE, "KC_DELETE"}, + {KC_END, "KC_END"}, + {KC_PAGE_DOWN, "KC_PAGE_DOWN"}, + {KC_RIGHT, "KC_RIGHT"}, + {KC_LEFT, "KC_LEFT"}, + {KC_DOWN, "KC_DOWN"}, + {KC_UP, "KC_UP"}, + {KC_NUM_LOCK, "KC_NUM_LOCK"}, + {KC_KP_SLASH, "KC_KP_SLASH"}, + {KC_KP_ASTERISK, "KC_KP_ASTERISK"}, + {KC_KP_MINUS, "KC_KP_MINUS"}, + {KC_KP_PLUS, "KC_KP_PLUS"}, + {KC_KP_ENTER, "KC_KP_ENTER"}, + {KC_KP_1, "KC_KP_1"}, + {KC_KP_2, "KC_KP_2"}, + {KC_KP_3, "KC_KP_3"}, + {KC_KP_4, "KC_KP_4"}, + {KC_KP_5, "KC_KP_5"}, + {KC_KP_6, "KC_KP_6"}, + {KC_KP_7, "KC_KP_7"}, + {KC_KP_8, "KC_KP_8"}, + {KC_KP_9, "KC_KP_9"}, + {KC_KP_0, "KC_KP_0"}, + {KC_KP_DOT, "KC_KP_DOT"}, + {KC_NONUS_BACKSLASH, "KC_NONUS_BACKSLASH"}, + {KC_APPLICATION, "KC_APPLICATION"}, + {KC_KB_POWER, "KC_KB_POWER"}, + {KC_KP_EQUAL, "KC_KP_EQUAL"}, + {KC_F13, "KC_F13"}, + {KC_F14, "KC_F14"}, + {KC_F15, "KC_F15"}, + {KC_F16, "KC_F16"}, + {KC_F17, "KC_F17"}, + {KC_F18, "KC_F18"}, + {KC_F19, "KC_F19"}, + {KC_F20, "KC_F20"}, + {KC_F21, "KC_F21"}, + {KC_F22, "KC_F22"}, + {KC_F23, "KC_F23"}, + {KC_F24, "KC_F24"}, + {KC_EXECUTE, "KC_EXECUTE"}, + {KC_HELP, "KC_HELP"}, + {KC_MENU, "KC_MENU"}, + {KC_SELECT, "KC_SELECT"}, + {KC_STOP, "KC_STOP"}, + {KC_AGAIN, "KC_AGAIN"}, + {KC_UNDO, "KC_UNDO"}, + {KC_CUT, "KC_CUT"}, + {KC_COPY, "KC_COPY"}, + {KC_PASTE, "KC_PASTE"}, + {KC_FIND, "KC_FIND"}, + {KC_KB_MUTE, "KC_KB_MUTE"}, + {KC_KB_VOLUME_UP, "KC_KB_VOLUME_UP"}, + {KC_KB_VOLUME_DOWN, "KC_KB_VOLUME_DOWN"}, + {KC_LOCKING_CAPS_LOCK, "KC_LOCKING_CAPS_LOCK"}, + {KC_LOCKING_NUM_LOCK, "KC_LOCKING_NUM_LOCK"}, + {KC_LOCKING_SCROLL_LOCK, "KC_LOCKING_SCROLL_LOCK"}, + {KC_KP_COMMA, "KC_KP_COMMA"}, + {KC_KP_EQUAL_AS400, "KC_KP_EQUAL_AS400"}, + {KC_INTERNATIONAL_1, "KC_INTERNATIONAL_1"}, + {KC_INTERNATIONAL_2, "KC_INTERNATIONAL_2"}, + {KC_INTERNATIONAL_3, "KC_INTERNATIONAL_3"}, + {KC_INTERNATIONAL_4, "KC_INTERNATIONAL_4"}, + {KC_INTERNATIONAL_5, "KC_INTERNATIONAL_5"}, + {KC_INTERNATIONAL_6, "KC_INTERNATIONAL_6"}, + {KC_INTERNATIONAL_7, "KC_INTERNATIONAL_7"}, + {KC_INTERNATIONAL_8, "KC_INTERNATIONAL_8"}, + {KC_INTERNATIONAL_9, "KC_INTERNATIONAL_9"}, + {KC_LANGUAGE_1, "KC_LANGUAGE_1"}, + {KC_LANGUAGE_2, "KC_LANGUAGE_2"}, + {KC_LANGUAGE_3, "KC_LANGUAGE_3"}, + {KC_LANGUAGE_4, "KC_LANGUAGE_4"}, + {KC_LANGUAGE_5, "KC_LANGUAGE_5"}, + {KC_LANGUAGE_6, "KC_LANGUAGE_6"}, + {KC_LANGUAGE_7, "KC_LANGUAGE_7"}, + {KC_LANGUAGE_8, "KC_LANGUAGE_8"}, + {KC_LANGUAGE_9, "KC_LANGUAGE_9"}, + {KC_ALTERNATE_ERASE, "KC_ALTERNATE_ERASE"}, + {KC_SYSTEM_REQUEST, "KC_SYSTEM_REQUEST"}, + {KC_CANCEL, "KC_CANCEL"}, + {KC_CLEAR, "KC_CLEAR"}, + {KC_PRIOR, "KC_PRIOR"}, + {KC_RETURN, "KC_RETURN"}, + {KC_SEPARATOR, "KC_SEPARATOR"}, + {KC_OUT, "KC_OUT"}, + {KC_OPER, "KC_OPER"}, + {KC_CLEAR_AGAIN, "KC_CLEAR_AGAIN"}, + {KC_CRSEL, "KC_CRSEL"}, + {KC_EXSEL, "KC_EXSEL"}, + {KC_SYSTEM_POWER, "KC_SYSTEM_POWER"}, + {KC_SYSTEM_SLEEP, "KC_SYSTEM_SLEEP"}, + {KC_SYSTEM_WAKE, "KC_SYSTEM_WAKE"}, + {KC_AUDIO_MUTE, "KC_AUDIO_MUTE"}, + {KC_AUDIO_VOL_UP, "KC_AUDIO_VOL_UP"}, + {KC_AUDIO_VOL_DOWN, "KC_AUDIO_VOL_DOWN"}, + {KC_MEDIA_NEXT_TRACK, "KC_MEDIA_NEXT_TRACK"}, + {KC_MEDIA_PREV_TRACK, "KC_MEDIA_PREV_TRACK"}, + {KC_MEDIA_STOP, "KC_MEDIA_STOP"}, + {KC_MEDIA_PLAY_PAUSE, "KC_MEDIA_PLAY_PAUSE"}, + {KC_MEDIA_SELECT, "KC_MEDIA_SELECT"}, + {KC_MEDIA_EJECT, "KC_MEDIA_EJECT"}, + {KC_MAIL, "KC_MAIL"}, + {KC_CALCULATOR, "KC_CALCULATOR"}, + {KC_MY_COMPUTER, "KC_MY_COMPUTER"}, + {KC_WWW_SEARCH, "KC_WWW_SEARCH"}, + {KC_WWW_HOME, "KC_WWW_HOME"}, + {KC_WWW_BACK, "KC_WWW_BACK"}, + {KC_WWW_FORWARD, "KC_WWW_FORWARD"}, + {KC_WWW_STOP, "KC_WWW_STOP"}, + {KC_WWW_REFRESH, "KC_WWW_REFRESH"}, + {KC_WWW_FAVORITES, "KC_WWW_FAVORITES"}, + {KC_MEDIA_FAST_FORWARD, "KC_MEDIA_FAST_FORWARD"}, + {KC_MEDIA_REWIND, "KC_MEDIA_REWIND"}, + {KC_BRIGHTNESS_UP, "KC_BRIGHTNESS_UP"}, + {KC_BRIGHTNESS_DOWN, "KC_BRIGHTNESS_DOWN"}, + {KC_CONTROL_PANEL, "KC_CONTROL_PANEL"}, + {KC_ASSISTANT, "KC_ASSISTANT"}, + {KC_MISSION_CONTROL, "KC_MISSION_CONTROL"}, + {KC_LAUNCHPAD, "KC_LAUNCHPAD"}, + {QK_MOUSE_CURSOR_UP, "QK_MOUSE_CURSOR_UP"}, + {QK_MOUSE_CURSOR_DOWN, "QK_MOUSE_CURSOR_DOWN"}, + {QK_MOUSE_CURSOR_LEFT, "QK_MOUSE_CURSOR_LEFT"}, + {QK_MOUSE_CURSOR_RIGHT, "QK_MOUSE_CURSOR_RIGHT"}, + {QK_MOUSE_BUTTON_1, "QK_MOUSE_BUTTON_1"}, + {QK_MOUSE_BUTTON_2, "QK_MOUSE_BUTTON_2"}, + {QK_MOUSE_BUTTON_3, "QK_MOUSE_BUTTON_3"}, + {QK_MOUSE_BUTTON_4, "QK_MOUSE_BUTTON_4"}, + {QK_MOUSE_BUTTON_5, "QK_MOUSE_BUTTON_5"}, + {QK_MOUSE_BUTTON_6, "QK_MOUSE_BUTTON_6"}, + {QK_MOUSE_BUTTON_7, "QK_MOUSE_BUTTON_7"}, + {QK_MOUSE_BUTTON_8, "QK_MOUSE_BUTTON_8"}, + {QK_MOUSE_WHEEL_UP, "QK_MOUSE_WHEEL_UP"}, + {QK_MOUSE_WHEEL_DOWN, "QK_MOUSE_WHEEL_DOWN"}, + {QK_MOUSE_WHEEL_LEFT, "QK_MOUSE_WHEEL_LEFT"}, + {QK_MOUSE_WHEEL_RIGHT, "QK_MOUSE_WHEEL_RIGHT"}, + {QK_MOUSE_ACCELERATION_0, "QK_MOUSE_ACCELERATION_0"}, + {QK_MOUSE_ACCELERATION_1, "QK_MOUSE_ACCELERATION_1"}, + {QK_MOUSE_ACCELERATION_2, "QK_MOUSE_ACCELERATION_2"}, + {KC_LEFT_CTRL, "KC_LEFT_CTRL"}, + {KC_LEFT_SHIFT, "KC_LEFT_SHIFT"}, + {KC_LEFT_ALT, "KC_LEFT_ALT"}, + {KC_LEFT_GUI, "KC_LEFT_GUI"}, + {KC_RIGHT_CTRL, "KC_RIGHT_CTRL"}, + {KC_RIGHT_SHIFT, "KC_RIGHT_SHIFT"}, + {KC_RIGHT_ALT, "KC_RIGHT_ALT"}, + {KC_RIGHT_GUI, "KC_RIGHT_GUI"}, + {QK_SWAP_HANDS_TOGGLE, "QK_SWAP_HANDS_TOGGLE"}, + {QK_SWAP_HANDS_TAP_TOGGLE, "QK_SWAP_HANDS_TAP_TOGGLE"}, + {QK_SWAP_HANDS_MOMENTARY_ON, "QK_SWAP_HANDS_MOMENTARY_ON"}, + {QK_SWAP_HANDS_MOMENTARY_OFF, "QK_SWAP_HANDS_MOMENTARY_OFF"}, + {QK_SWAP_HANDS_OFF, "QK_SWAP_HANDS_OFF"}, + {QK_SWAP_HANDS_ON, "QK_SWAP_HANDS_ON"}, + {QK_SWAP_HANDS_ONE_SHOT, "QK_SWAP_HANDS_ONE_SHOT"}, + {QK_MAGIC_SWAP_CONTROL_CAPS_LOCK, "QK_MAGIC_SWAP_CONTROL_CAPS_LOCK"}, + {QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK, "QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK"}, + {QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK, "QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK"}, + {QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF, "QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF"}, + {QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON, "QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON"}, + {QK_MAGIC_SWAP_LALT_LGUI, "QK_MAGIC_SWAP_LALT_LGUI"}, + {QK_MAGIC_UNSWAP_LALT_LGUI, "QK_MAGIC_UNSWAP_LALT_LGUI"}, + {QK_MAGIC_SWAP_RALT_RGUI, "QK_MAGIC_SWAP_RALT_RGUI"}, + {QK_MAGIC_UNSWAP_RALT_RGUI, "QK_MAGIC_UNSWAP_RALT_RGUI"}, + {QK_MAGIC_GUI_ON, "QK_MAGIC_GUI_ON"}, + {QK_MAGIC_GUI_OFF, "QK_MAGIC_GUI_OFF"}, + {QK_MAGIC_TOGGLE_GUI, "QK_MAGIC_TOGGLE_GUI"}, + {QK_MAGIC_SWAP_GRAVE_ESC, "QK_MAGIC_SWAP_GRAVE_ESC"}, + {QK_MAGIC_UNSWAP_GRAVE_ESC, "QK_MAGIC_UNSWAP_GRAVE_ESC"}, + {QK_MAGIC_SWAP_BACKSLASH_BACKSPACE, "QK_MAGIC_SWAP_BACKSLASH_BACKSPACE"}, + {QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE, "QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE"}, + {QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE, "QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE"}, + {QK_MAGIC_NKRO_ON, "QK_MAGIC_NKRO_ON"}, + {QK_MAGIC_NKRO_OFF, "QK_MAGIC_NKRO_OFF"}, + {QK_MAGIC_TOGGLE_NKRO, "QK_MAGIC_TOGGLE_NKRO"}, + {QK_MAGIC_SWAP_ALT_GUI, "QK_MAGIC_SWAP_ALT_GUI"}, + {QK_MAGIC_UNSWAP_ALT_GUI, "QK_MAGIC_UNSWAP_ALT_GUI"}, + {QK_MAGIC_TOGGLE_ALT_GUI, "QK_MAGIC_TOGGLE_ALT_GUI"}, + {QK_MAGIC_SWAP_LCTL_LGUI, "QK_MAGIC_SWAP_LCTL_LGUI"}, + {QK_MAGIC_UNSWAP_LCTL_LGUI, "QK_MAGIC_UNSWAP_LCTL_LGUI"}, + {QK_MAGIC_SWAP_RCTL_RGUI, "QK_MAGIC_SWAP_RCTL_RGUI"}, + {QK_MAGIC_UNSWAP_RCTL_RGUI, "QK_MAGIC_UNSWAP_RCTL_RGUI"}, + {QK_MAGIC_SWAP_CTL_GUI, "QK_MAGIC_SWAP_CTL_GUI"}, + {QK_MAGIC_UNSWAP_CTL_GUI, "QK_MAGIC_UNSWAP_CTL_GUI"}, + {QK_MAGIC_TOGGLE_CTL_GUI, "QK_MAGIC_TOGGLE_CTL_GUI"}, + {QK_MAGIC_EE_HANDS_LEFT, "QK_MAGIC_EE_HANDS_LEFT"}, + {QK_MAGIC_EE_HANDS_RIGHT, "QK_MAGIC_EE_HANDS_RIGHT"}, + {QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK, "QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK"}, + {QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK, "QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK"}, + {QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK, "QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK"}, + {QK_MIDI_ON, "QK_MIDI_ON"}, + {QK_MIDI_OFF, "QK_MIDI_OFF"}, + {QK_MIDI_TOGGLE, "QK_MIDI_TOGGLE"}, + {QK_MIDI_NOTE_C_0, "QK_MIDI_NOTE_C_0"}, + {QK_MIDI_NOTE_C_SHARP_0, "QK_MIDI_NOTE_C_SHARP_0"}, + {QK_MIDI_NOTE_D_0, "QK_MIDI_NOTE_D_0"}, + {QK_MIDI_NOTE_D_SHARP_0, "QK_MIDI_NOTE_D_SHARP_0"}, + {QK_MIDI_NOTE_E_0, "QK_MIDI_NOTE_E_0"}, + {QK_MIDI_NOTE_F_0, "QK_MIDI_NOTE_F_0"}, + {QK_MIDI_NOTE_F_SHARP_0, "QK_MIDI_NOTE_F_SHARP_0"}, + {QK_MIDI_NOTE_G_0, "QK_MIDI_NOTE_G_0"}, + {QK_MIDI_NOTE_G_SHARP_0, "QK_MIDI_NOTE_G_SHARP_0"}, + {QK_MIDI_NOTE_A_0, "QK_MIDI_NOTE_A_0"}, + {QK_MIDI_NOTE_A_SHARP_0, "QK_MIDI_NOTE_A_SHARP_0"}, + {QK_MIDI_NOTE_B_0, "QK_MIDI_NOTE_B_0"}, + {QK_MIDI_NOTE_C_1, "QK_MIDI_NOTE_C_1"}, + {QK_MIDI_NOTE_C_SHARP_1, "QK_MIDI_NOTE_C_SHARP_1"}, + {QK_MIDI_NOTE_D_1, "QK_MIDI_NOTE_D_1"}, + {QK_MIDI_NOTE_D_SHARP_1, "QK_MIDI_NOTE_D_SHARP_1"}, + {QK_MIDI_NOTE_E_1, "QK_MIDI_NOTE_E_1"}, + {QK_MIDI_NOTE_F_1, "QK_MIDI_NOTE_F_1"}, + {QK_MIDI_NOTE_F_SHARP_1, "QK_MIDI_NOTE_F_SHARP_1"}, + {QK_MIDI_NOTE_G_1, "QK_MIDI_NOTE_G_1"}, + {QK_MIDI_NOTE_G_SHARP_1, "QK_MIDI_NOTE_G_SHARP_1"}, + {QK_MIDI_NOTE_A_1, "QK_MIDI_NOTE_A_1"}, + {QK_MIDI_NOTE_A_SHARP_1, "QK_MIDI_NOTE_A_SHARP_1"}, + {QK_MIDI_NOTE_B_1, "QK_MIDI_NOTE_B_1"}, + {QK_MIDI_NOTE_C_2, "QK_MIDI_NOTE_C_2"}, + {QK_MIDI_NOTE_C_SHARP_2, "QK_MIDI_NOTE_C_SHARP_2"}, + {QK_MIDI_NOTE_D_2, "QK_MIDI_NOTE_D_2"}, + {QK_MIDI_NOTE_D_SHARP_2, "QK_MIDI_NOTE_D_SHARP_2"}, + {QK_MIDI_NOTE_E_2, "QK_MIDI_NOTE_E_2"}, + {QK_MIDI_NOTE_F_2, "QK_MIDI_NOTE_F_2"}, + {QK_MIDI_NOTE_F_SHARP_2, "QK_MIDI_NOTE_F_SHARP_2"}, + {QK_MIDI_NOTE_G_2, "QK_MIDI_NOTE_G_2"}, + {QK_MIDI_NOTE_G_SHARP_2, "QK_MIDI_NOTE_G_SHARP_2"}, + {QK_MIDI_NOTE_A_2, "QK_MIDI_NOTE_A_2"}, + {QK_MIDI_NOTE_A_SHARP_2, "QK_MIDI_NOTE_A_SHARP_2"}, + {QK_MIDI_NOTE_B_2, "QK_MIDI_NOTE_B_2"}, + {QK_MIDI_NOTE_C_3, "QK_MIDI_NOTE_C_3"}, + {QK_MIDI_NOTE_C_SHARP_3, "QK_MIDI_NOTE_C_SHARP_3"}, + {QK_MIDI_NOTE_D_3, "QK_MIDI_NOTE_D_3"}, + {QK_MIDI_NOTE_D_SHARP_3, "QK_MIDI_NOTE_D_SHARP_3"}, + {QK_MIDI_NOTE_E_3, "QK_MIDI_NOTE_E_3"}, + {QK_MIDI_NOTE_F_3, "QK_MIDI_NOTE_F_3"}, + {QK_MIDI_NOTE_F_SHARP_3, "QK_MIDI_NOTE_F_SHARP_3"}, + {QK_MIDI_NOTE_G_3, "QK_MIDI_NOTE_G_3"}, + {QK_MIDI_NOTE_G_SHARP_3, "QK_MIDI_NOTE_G_SHARP_3"}, + {QK_MIDI_NOTE_A_3, "QK_MIDI_NOTE_A_3"}, + {QK_MIDI_NOTE_A_SHARP_3, "QK_MIDI_NOTE_A_SHARP_3"}, + {QK_MIDI_NOTE_B_3, "QK_MIDI_NOTE_B_3"}, + {QK_MIDI_NOTE_C_4, "QK_MIDI_NOTE_C_4"}, + {QK_MIDI_NOTE_C_SHARP_4, "QK_MIDI_NOTE_C_SHARP_4"}, + {QK_MIDI_NOTE_D_4, "QK_MIDI_NOTE_D_4"}, + {QK_MIDI_NOTE_D_SHARP_4, "QK_MIDI_NOTE_D_SHARP_4"}, + {QK_MIDI_NOTE_E_4, "QK_MIDI_NOTE_E_4"}, + {QK_MIDI_NOTE_F_4, "QK_MIDI_NOTE_F_4"}, + {QK_MIDI_NOTE_F_SHARP_4, "QK_MIDI_NOTE_F_SHARP_4"}, + {QK_MIDI_NOTE_G_4, "QK_MIDI_NOTE_G_4"}, + {QK_MIDI_NOTE_G_SHARP_4, "QK_MIDI_NOTE_G_SHARP_4"}, + {QK_MIDI_NOTE_A_4, "QK_MIDI_NOTE_A_4"}, + {QK_MIDI_NOTE_A_SHARP_4, "QK_MIDI_NOTE_A_SHARP_4"}, + {QK_MIDI_NOTE_B_4, "QK_MIDI_NOTE_B_4"}, + {QK_MIDI_NOTE_C_5, "QK_MIDI_NOTE_C_5"}, + {QK_MIDI_NOTE_C_SHARP_5, "QK_MIDI_NOTE_C_SHARP_5"}, + {QK_MIDI_NOTE_D_5, "QK_MIDI_NOTE_D_5"}, + {QK_MIDI_NOTE_D_SHARP_5, "QK_MIDI_NOTE_D_SHARP_5"}, + {QK_MIDI_NOTE_E_5, "QK_MIDI_NOTE_E_5"}, + {QK_MIDI_NOTE_F_5, "QK_MIDI_NOTE_F_5"}, + {QK_MIDI_NOTE_F_SHARP_5, "QK_MIDI_NOTE_F_SHARP_5"}, + {QK_MIDI_NOTE_G_5, "QK_MIDI_NOTE_G_5"}, + {QK_MIDI_NOTE_G_SHARP_5, "QK_MIDI_NOTE_G_SHARP_5"}, + {QK_MIDI_NOTE_A_5, "QK_MIDI_NOTE_A_5"}, + {QK_MIDI_NOTE_A_SHARP_5, "QK_MIDI_NOTE_A_SHARP_5"}, + {QK_MIDI_NOTE_B_5, "QK_MIDI_NOTE_B_5"}, + {QK_MIDI_OCTAVE_N2, "QK_MIDI_OCTAVE_N2"}, + {QK_MIDI_OCTAVE_N1, "QK_MIDI_OCTAVE_N1"}, + {QK_MIDI_OCTAVE_0, "QK_MIDI_OCTAVE_0"}, + {QK_MIDI_OCTAVE_1, "QK_MIDI_OCTAVE_1"}, + {QK_MIDI_OCTAVE_2, "QK_MIDI_OCTAVE_2"}, + {QK_MIDI_OCTAVE_3, "QK_MIDI_OCTAVE_3"}, + {QK_MIDI_OCTAVE_4, "QK_MIDI_OCTAVE_4"}, + {QK_MIDI_OCTAVE_5, "QK_MIDI_OCTAVE_5"}, + {QK_MIDI_OCTAVE_6, "QK_MIDI_OCTAVE_6"}, + {QK_MIDI_OCTAVE_7, "QK_MIDI_OCTAVE_7"}, + {QK_MIDI_OCTAVE_DOWN, "QK_MIDI_OCTAVE_DOWN"}, + {QK_MIDI_OCTAVE_UP, "QK_MIDI_OCTAVE_UP"}, + {QK_MIDI_TRANSPOSE_N6, "QK_MIDI_TRANSPOSE_N6"}, + {QK_MIDI_TRANSPOSE_N5, "QK_MIDI_TRANSPOSE_N5"}, + {QK_MIDI_TRANSPOSE_N4, "QK_MIDI_TRANSPOSE_N4"}, + {QK_MIDI_TRANSPOSE_N3, "QK_MIDI_TRANSPOSE_N3"}, + {QK_MIDI_TRANSPOSE_N2, "QK_MIDI_TRANSPOSE_N2"}, + {QK_MIDI_TRANSPOSE_N1, "QK_MIDI_TRANSPOSE_N1"}, + {QK_MIDI_TRANSPOSE_0, "QK_MIDI_TRANSPOSE_0"}, + {QK_MIDI_TRANSPOSE_1, "QK_MIDI_TRANSPOSE_1"}, + {QK_MIDI_TRANSPOSE_2, "QK_MIDI_TRANSPOSE_2"}, + {QK_MIDI_TRANSPOSE_3, "QK_MIDI_TRANSPOSE_3"}, + {QK_MIDI_TRANSPOSE_4, "QK_MIDI_TRANSPOSE_4"}, + {QK_MIDI_TRANSPOSE_5, "QK_MIDI_TRANSPOSE_5"}, + {QK_MIDI_TRANSPOSE_6, "QK_MIDI_TRANSPOSE_6"}, + {QK_MIDI_TRANSPOSE_DOWN, "QK_MIDI_TRANSPOSE_DOWN"}, + {QK_MIDI_TRANSPOSE_UP, "QK_MIDI_TRANSPOSE_UP"}, + {QK_MIDI_VELOCITY_0, "QK_MIDI_VELOCITY_0"}, + {QK_MIDI_VELOCITY_1, "QK_MIDI_VELOCITY_1"}, + {QK_MIDI_VELOCITY_2, "QK_MIDI_VELOCITY_2"}, + {QK_MIDI_VELOCITY_3, "QK_MIDI_VELOCITY_3"}, + {QK_MIDI_VELOCITY_4, "QK_MIDI_VELOCITY_4"}, + {QK_MIDI_VELOCITY_5, "QK_MIDI_VELOCITY_5"}, + {QK_MIDI_VELOCITY_6, "QK_MIDI_VELOCITY_6"}, + {QK_MIDI_VELOCITY_7, "QK_MIDI_VELOCITY_7"}, + {QK_MIDI_VELOCITY_8, "QK_MIDI_VELOCITY_8"}, + {QK_MIDI_VELOCITY_9, "QK_MIDI_VELOCITY_9"}, + {QK_MIDI_VELOCITY_10, "QK_MIDI_VELOCITY_10"}, + {QK_MIDI_VELOCITY_DOWN, "QK_MIDI_VELOCITY_DOWN"}, + {QK_MIDI_VELOCITY_UP, "QK_MIDI_VELOCITY_UP"}, + {QK_MIDI_CHANNEL_1, "QK_MIDI_CHANNEL_1"}, + {QK_MIDI_CHANNEL_2, "QK_MIDI_CHANNEL_2"}, + {QK_MIDI_CHANNEL_3, "QK_MIDI_CHANNEL_3"}, + {QK_MIDI_CHANNEL_4, "QK_MIDI_CHANNEL_4"}, + {QK_MIDI_CHANNEL_5, "QK_MIDI_CHANNEL_5"}, + {QK_MIDI_CHANNEL_6, "QK_MIDI_CHANNEL_6"}, + {QK_MIDI_CHANNEL_7, "QK_MIDI_CHANNEL_7"}, + {QK_MIDI_CHANNEL_8, "QK_MIDI_CHANNEL_8"}, + {QK_MIDI_CHANNEL_9, "QK_MIDI_CHANNEL_9"}, + {QK_MIDI_CHANNEL_10, "QK_MIDI_CHANNEL_10"}, + {QK_MIDI_CHANNEL_11, "QK_MIDI_CHANNEL_11"}, + {QK_MIDI_CHANNEL_12, "QK_MIDI_CHANNEL_12"}, + {QK_MIDI_CHANNEL_13, "QK_MIDI_CHANNEL_13"}, + {QK_MIDI_CHANNEL_14, "QK_MIDI_CHANNEL_14"}, + {QK_MIDI_CHANNEL_15, "QK_MIDI_CHANNEL_15"}, + {QK_MIDI_CHANNEL_16, "QK_MIDI_CHANNEL_16"}, + {QK_MIDI_CHANNEL_DOWN, "QK_MIDI_CHANNEL_DOWN"}, + {QK_MIDI_CHANNEL_UP, "QK_MIDI_CHANNEL_UP"}, + {QK_MIDI_ALL_NOTES_OFF, "QK_MIDI_ALL_NOTES_OFF"}, + {QK_MIDI_SUSTAIN, "QK_MIDI_SUSTAIN"}, + {QK_MIDI_PORTAMENTO, "QK_MIDI_PORTAMENTO"}, + {QK_MIDI_SOSTENUTO, "QK_MIDI_SOSTENUTO"}, + {QK_MIDI_SOFT, "QK_MIDI_SOFT"}, + {QK_MIDI_LEGATO, "QK_MIDI_LEGATO"}, + {QK_MIDI_MODULATION, "QK_MIDI_MODULATION"}, + {QK_MIDI_MODULATION_SPEED_DOWN, "QK_MIDI_MODULATION_SPEED_DOWN"}, + {QK_MIDI_MODULATION_SPEED_UP, "QK_MIDI_MODULATION_SPEED_UP"}, + {QK_MIDI_PITCH_BEND_DOWN, "QK_MIDI_PITCH_BEND_DOWN"}, + {QK_MIDI_PITCH_BEND_UP, "QK_MIDI_PITCH_BEND_UP"}, + {QK_SEQUENCER_ON, "QK_SEQUENCER_ON"}, + {QK_SEQUENCER_OFF, "QK_SEQUENCER_OFF"}, + {QK_SEQUENCER_TOGGLE, "QK_SEQUENCER_TOGGLE"}, + {QK_SEQUENCER_TEMPO_DOWN, "QK_SEQUENCER_TEMPO_DOWN"}, + {QK_SEQUENCER_TEMPO_UP, "QK_SEQUENCER_TEMPO_UP"}, + {QK_SEQUENCER_RESOLUTION_DOWN, "QK_SEQUENCER_RESOLUTION_DOWN"}, + {QK_SEQUENCER_RESOLUTION_UP, "QK_SEQUENCER_RESOLUTION_UP"}, + {QK_SEQUENCER_STEPS_ALL, "QK_SEQUENCER_STEPS_ALL"}, + {QK_SEQUENCER_STEPS_CLEAR, "QK_SEQUENCER_STEPS_CLEAR"}, + {QK_JOYSTICK_BUTTON_0, "QK_JOYSTICK_BUTTON_0"}, + {QK_JOYSTICK_BUTTON_1, "QK_JOYSTICK_BUTTON_1"}, + {QK_JOYSTICK_BUTTON_2, "QK_JOYSTICK_BUTTON_2"}, + {QK_JOYSTICK_BUTTON_3, "QK_JOYSTICK_BUTTON_3"}, + {QK_JOYSTICK_BUTTON_4, "QK_JOYSTICK_BUTTON_4"}, + {QK_JOYSTICK_BUTTON_5, "QK_JOYSTICK_BUTTON_5"}, + {QK_JOYSTICK_BUTTON_6, "QK_JOYSTICK_BUTTON_6"}, + {QK_JOYSTICK_BUTTON_7, "QK_JOYSTICK_BUTTON_7"}, + {QK_JOYSTICK_BUTTON_8, "QK_JOYSTICK_BUTTON_8"}, + {QK_JOYSTICK_BUTTON_9, "QK_JOYSTICK_BUTTON_9"}, + {QK_JOYSTICK_BUTTON_10, "QK_JOYSTICK_BUTTON_10"}, + {QK_JOYSTICK_BUTTON_11, "QK_JOYSTICK_BUTTON_11"}, + {QK_JOYSTICK_BUTTON_12, "QK_JOYSTICK_BUTTON_12"}, + {QK_JOYSTICK_BUTTON_13, "QK_JOYSTICK_BUTTON_13"}, + {QK_JOYSTICK_BUTTON_14, "QK_JOYSTICK_BUTTON_14"}, + {QK_JOYSTICK_BUTTON_15, "QK_JOYSTICK_BUTTON_15"}, + {QK_JOYSTICK_BUTTON_16, "QK_JOYSTICK_BUTTON_16"}, + {QK_JOYSTICK_BUTTON_17, "QK_JOYSTICK_BUTTON_17"}, + {QK_JOYSTICK_BUTTON_18, "QK_JOYSTICK_BUTTON_18"}, + {QK_JOYSTICK_BUTTON_19, "QK_JOYSTICK_BUTTON_19"}, + {QK_JOYSTICK_BUTTON_20, "QK_JOYSTICK_BUTTON_20"}, + {QK_JOYSTICK_BUTTON_21, "QK_JOYSTICK_BUTTON_21"}, + {QK_JOYSTICK_BUTTON_22, "QK_JOYSTICK_BUTTON_22"}, + {QK_JOYSTICK_BUTTON_23, "QK_JOYSTICK_BUTTON_23"}, + {QK_JOYSTICK_BUTTON_24, "QK_JOYSTICK_BUTTON_24"}, + {QK_JOYSTICK_BUTTON_25, "QK_JOYSTICK_BUTTON_25"}, + {QK_JOYSTICK_BUTTON_26, "QK_JOYSTICK_BUTTON_26"}, + {QK_JOYSTICK_BUTTON_27, "QK_JOYSTICK_BUTTON_27"}, + {QK_JOYSTICK_BUTTON_28, "QK_JOYSTICK_BUTTON_28"}, + {QK_JOYSTICK_BUTTON_29, "QK_JOYSTICK_BUTTON_29"}, + {QK_JOYSTICK_BUTTON_30, "QK_JOYSTICK_BUTTON_30"}, + {QK_JOYSTICK_BUTTON_31, "QK_JOYSTICK_BUTTON_31"}, + {QK_PROGRAMMABLE_BUTTON_1, "QK_PROGRAMMABLE_BUTTON_1"}, + {QK_PROGRAMMABLE_BUTTON_2, "QK_PROGRAMMABLE_BUTTON_2"}, + {QK_PROGRAMMABLE_BUTTON_3, "QK_PROGRAMMABLE_BUTTON_3"}, + {QK_PROGRAMMABLE_BUTTON_4, "QK_PROGRAMMABLE_BUTTON_4"}, + {QK_PROGRAMMABLE_BUTTON_5, "QK_PROGRAMMABLE_BUTTON_5"}, + {QK_PROGRAMMABLE_BUTTON_6, "QK_PROGRAMMABLE_BUTTON_6"}, + {QK_PROGRAMMABLE_BUTTON_7, "QK_PROGRAMMABLE_BUTTON_7"}, + {QK_PROGRAMMABLE_BUTTON_8, "QK_PROGRAMMABLE_BUTTON_8"}, + {QK_PROGRAMMABLE_BUTTON_9, "QK_PROGRAMMABLE_BUTTON_9"}, + {QK_PROGRAMMABLE_BUTTON_10, "QK_PROGRAMMABLE_BUTTON_10"}, + {QK_PROGRAMMABLE_BUTTON_11, "QK_PROGRAMMABLE_BUTTON_11"}, + {QK_PROGRAMMABLE_BUTTON_12, "QK_PROGRAMMABLE_BUTTON_12"}, + {QK_PROGRAMMABLE_BUTTON_13, "QK_PROGRAMMABLE_BUTTON_13"}, + {QK_PROGRAMMABLE_BUTTON_14, "QK_PROGRAMMABLE_BUTTON_14"}, + {QK_PROGRAMMABLE_BUTTON_15, "QK_PROGRAMMABLE_BUTTON_15"}, + {QK_PROGRAMMABLE_BUTTON_16, "QK_PROGRAMMABLE_BUTTON_16"}, + {QK_PROGRAMMABLE_BUTTON_17, "QK_PROGRAMMABLE_BUTTON_17"}, + {QK_PROGRAMMABLE_BUTTON_18, "QK_PROGRAMMABLE_BUTTON_18"}, + {QK_PROGRAMMABLE_BUTTON_19, "QK_PROGRAMMABLE_BUTTON_19"}, + {QK_PROGRAMMABLE_BUTTON_20, "QK_PROGRAMMABLE_BUTTON_20"}, + {QK_PROGRAMMABLE_BUTTON_21, "QK_PROGRAMMABLE_BUTTON_21"}, + {QK_PROGRAMMABLE_BUTTON_22, "QK_PROGRAMMABLE_BUTTON_22"}, + {QK_PROGRAMMABLE_BUTTON_23, "QK_PROGRAMMABLE_BUTTON_23"}, + {QK_PROGRAMMABLE_BUTTON_24, "QK_PROGRAMMABLE_BUTTON_24"}, + {QK_PROGRAMMABLE_BUTTON_25, "QK_PROGRAMMABLE_BUTTON_25"}, + {QK_PROGRAMMABLE_BUTTON_26, "QK_PROGRAMMABLE_BUTTON_26"}, + {QK_PROGRAMMABLE_BUTTON_27, "QK_PROGRAMMABLE_BUTTON_27"}, + {QK_PROGRAMMABLE_BUTTON_28, "QK_PROGRAMMABLE_BUTTON_28"}, + {QK_PROGRAMMABLE_BUTTON_29, "QK_PROGRAMMABLE_BUTTON_29"}, + {QK_PROGRAMMABLE_BUTTON_30, "QK_PROGRAMMABLE_BUTTON_30"}, + {QK_PROGRAMMABLE_BUTTON_31, "QK_PROGRAMMABLE_BUTTON_31"}, + {QK_PROGRAMMABLE_BUTTON_32, "QK_PROGRAMMABLE_BUTTON_32"}, + {QK_AUDIO_ON, "QK_AUDIO_ON"}, + {QK_AUDIO_OFF, "QK_AUDIO_OFF"}, + {QK_AUDIO_TOGGLE, "QK_AUDIO_TOGGLE"}, + {QK_AUDIO_CLICKY_TOGGLE, "QK_AUDIO_CLICKY_TOGGLE"}, + {QK_AUDIO_CLICKY_ON, "QK_AUDIO_CLICKY_ON"}, + {QK_AUDIO_CLICKY_OFF, "QK_AUDIO_CLICKY_OFF"}, + {QK_AUDIO_CLICKY_UP, "QK_AUDIO_CLICKY_UP"}, + {QK_AUDIO_CLICKY_DOWN, "QK_AUDIO_CLICKY_DOWN"}, + {QK_AUDIO_CLICKY_RESET, "QK_AUDIO_CLICKY_RESET"}, + {QK_MUSIC_ON, "QK_MUSIC_ON"}, + {QK_MUSIC_OFF, "QK_MUSIC_OFF"}, + {QK_MUSIC_TOGGLE, "QK_MUSIC_TOGGLE"}, + {QK_MUSIC_MODE_NEXT, "QK_MUSIC_MODE_NEXT"}, + {QK_AUDIO_VOICE_NEXT, "QK_AUDIO_VOICE_NEXT"}, + {QK_AUDIO_VOICE_PREVIOUS, "QK_AUDIO_VOICE_PREVIOUS"}, + {QK_STENO_BOLT, "QK_STENO_BOLT"}, + {QK_STENO_GEMINI, "QK_STENO_GEMINI"}, + {QK_STENO_COMB, "QK_STENO_COMB"}, + {QK_STENO_COMB_MAX, "QK_STENO_COMB_MAX"}, + {QK_MACRO_0, "QK_MACRO_0"}, + {QK_MACRO_1, "QK_MACRO_1"}, + {QK_MACRO_2, "QK_MACRO_2"}, + {QK_MACRO_3, "QK_MACRO_3"}, + {QK_MACRO_4, "QK_MACRO_4"}, + {QK_MACRO_5, "QK_MACRO_5"}, + {QK_MACRO_6, "QK_MACRO_6"}, + {QK_MACRO_7, "QK_MACRO_7"}, + {QK_MACRO_8, "QK_MACRO_8"}, + {QK_MACRO_9, "QK_MACRO_9"}, + {QK_MACRO_10, "QK_MACRO_10"}, + {QK_MACRO_11, "QK_MACRO_11"}, + {QK_MACRO_12, "QK_MACRO_12"}, + {QK_MACRO_13, "QK_MACRO_13"}, + {QK_MACRO_14, "QK_MACRO_14"}, + {QK_MACRO_15, "QK_MACRO_15"}, + {QK_MACRO_16, "QK_MACRO_16"}, + {QK_MACRO_17, "QK_MACRO_17"}, + {QK_MACRO_18, "QK_MACRO_18"}, + {QK_MACRO_19, "QK_MACRO_19"}, + {QK_MACRO_20, "QK_MACRO_20"}, + {QK_MACRO_21, "QK_MACRO_21"}, + {QK_MACRO_22, "QK_MACRO_22"}, + {QK_MACRO_23, "QK_MACRO_23"}, + {QK_MACRO_24, "QK_MACRO_24"}, + {QK_MACRO_25, "QK_MACRO_25"}, + {QK_MACRO_26, "QK_MACRO_26"}, + {QK_MACRO_27, "QK_MACRO_27"}, + {QK_MACRO_28, "QK_MACRO_28"}, + {QK_MACRO_29, "QK_MACRO_29"}, + {QK_MACRO_30, "QK_MACRO_30"}, + {QK_MACRO_31, "QK_MACRO_31"}, + {QK_OUTPUT_AUTO, "QK_OUTPUT_AUTO"}, + {QK_OUTPUT_NEXT, "QK_OUTPUT_NEXT"}, + {QK_OUTPUT_PREV, "QK_OUTPUT_PREV"}, + {QK_OUTPUT_NONE, "QK_OUTPUT_NONE"}, + {QK_OUTPUT_USB, "QK_OUTPUT_USB"}, + {QK_OUTPUT_2P4GHZ, "QK_OUTPUT_2P4GHZ"}, + {QK_OUTPUT_BLUETOOTH, "QK_OUTPUT_BLUETOOTH"}, + {QK_BLUETOOTH_PROFILE_NEXT, "QK_BLUETOOTH_PROFILE_NEXT"}, + {QK_BLUETOOTH_PROFILE_PREV, "QK_BLUETOOTH_PROFILE_PREV"}, + {QK_BLUETOOTH_UNPAIR, "QK_BLUETOOTH_UNPAIR"}, + {QK_BLUETOOTH_PROFILE1, "QK_BLUETOOTH_PROFILE1"}, + {QK_BLUETOOTH_PROFILE2, "QK_BLUETOOTH_PROFILE2"}, + {QK_BLUETOOTH_PROFILE3, "QK_BLUETOOTH_PROFILE3"}, + {QK_BLUETOOTH_PROFILE4, "QK_BLUETOOTH_PROFILE4"}, + {QK_BLUETOOTH_PROFILE5, "QK_BLUETOOTH_PROFILE5"}, + {QK_BACKLIGHT_ON, "QK_BACKLIGHT_ON"}, + {QK_BACKLIGHT_OFF, "QK_BACKLIGHT_OFF"}, + {QK_BACKLIGHT_TOGGLE, "QK_BACKLIGHT_TOGGLE"}, + {QK_BACKLIGHT_DOWN, "QK_BACKLIGHT_DOWN"}, + {QK_BACKLIGHT_UP, "QK_BACKLIGHT_UP"}, + {QK_BACKLIGHT_STEP, "QK_BACKLIGHT_STEP"}, + {QK_BACKLIGHT_TOGGLE_BREATHING, "QK_BACKLIGHT_TOGGLE_BREATHING"}, + {QK_LED_MATRIX_ON, "QK_LED_MATRIX_ON"}, + {QK_LED_MATRIX_OFF, "QK_LED_MATRIX_OFF"}, + {QK_LED_MATRIX_TOGGLE, "QK_LED_MATRIX_TOGGLE"}, + {QK_LED_MATRIX_MODE_NEXT, "QK_LED_MATRIX_MODE_NEXT"}, + {QK_LED_MATRIX_MODE_PREVIOUS, "QK_LED_MATRIX_MODE_PREVIOUS"}, + {QK_LED_MATRIX_BRIGHTNESS_UP, "QK_LED_MATRIX_BRIGHTNESS_UP"}, + {QK_LED_MATRIX_BRIGHTNESS_DOWN, "QK_LED_MATRIX_BRIGHTNESS_DOWN"}, + {QK_LED_MATRIX_SPEED_UP, "QK_LED_MATRIX_SPEED_UP"}, + {QK_LED_MATRIX_SPEED_DOWN, "QK_LED_MATRIX_SPEED_DOWN"}, + {QK_UNDERGLOW_TOGGLE, "QK_UNDERGLOW_TOGGLE"}, + {QK_UNDERGLOW_MODE_NEXT, "QK_UNDERGLOW_MODE_NEXT"}, + {QK_UNDERGLOW_MODE_PREVIOUS, "QK_UNDERGLOW_MODE_PREVIOUS"}, + {QK_UNDERGLOW_HUE_UP, "QK_UNDERGLOW_HUE_UP"}, + {QK_UNDERGLOW_HUE_DOWN, "QK_UNDERGLOW_HUE_DOWN"}, + {QK_UNDERGLOW_SATURATION_UP, "QK_UNDERGLOW_SATURATION_UP"}, + {QK_UNDERGLOW_SATURATION_DOWN, "QK_UNDERGLOW_SATURATION_DOWN"}, + {QK_UNDERGLOW_VALUE_UP, "QK_UNDERGLOW_VALUE_UP"}, + {QK_UNDERGLOW_VALUE_DOWN, "QK_UNDERGLOW_VALUE_DOWN"}, + {QK_UNDERGLOW_SPEED_UP, "QK_UNDERGLOW_SPEED_UP"}, + {QK_UNDERGLOW_SPEED_DOWN, "QK_UNDERGLOW_SPEED_DOWN"}, + {RGB_MODE_PLAIN, "RGB_MODE_PLAIN"}, + {RGB_MODE_BREATHE, "RGB_MODE_BREATHE"}, + {RGB_MODE_RAINBOW, "RGB_MODE_RAINBOW"}, + {RGB_MODE_SWIRL, "RGB_MODE_SWIRL"}, + {RGB_MODE_SNAKE, "RGB_MODE_SNAKE"}, + {RGB_MODE_KNIGHT, "RGB_MODE_KNIGHT"}, + {RGB_MODE_XMAS, "RGB_MODE_XMAS"}, + {RGB_MODE_GRADIENT, "RGB_MODE_GRADIENT"}, + {RGB_MODE_RGBTEST, "RGB_MODE_RGBTEST"}, + {RGB_MODE_TWINKLE, "RGB_MODE_TWINKLE"}, + {QK_RGB_MATRIX_ON, "QK_RGB_MATRIX_ON"}, + {QK_RGB_MATRIX_OFF, "QK_RGB_MATRIX_OFF"}, + {QK_RGB_MATRIX_TOGGLE, "QK_RGB_MATRIX_TOGGLE"}, + {QK_RGB_MATRIX_MODE_NEXT, "QK_RGB_MATRIX_MODE_NEXT"}, + {QK_RGB_MATRIX_MODE_PREVIOUS, "QK_RGB_MATRIX_MODE_PREVIOUS"}, + {QK_RGB_MATRIX_HUE_UP, "QK_RGB_MATRIX_HUE_UP"}, + {QK_RGB_MATRIX_HUE_DOWN, "QK_RGB_MATRIX_HUE_DOWN"}, + {QK_RGB_MATRIX_SATURATION_UP, "QK_RGB_MATRIX_SATURATION_UP"}, + {QK_RGB_MATRIX_SATURATION_DOWN, "QK_RGB_MATRIX_SATURATION_DOWN"}, + {QK_RGB_MATRIX_VALUE_UP, "QK_RGB_MATRIX_VALUE_UP"}, + {QK_RGB_MATRIX_VALUE_DOWN, "QK_RGB_MATRIX_VALUE_DOWN"}, + {QK_RGB_MATRIX_SPEED_UP, "QK_RGB_MATRIX_SPEED_UP"}, + {QK_RGB_MATRIX_SPEED_DOWN, "QK_RGB_MATRIX_SPEED_DOWN"}, + {QK_BOOTLOADER, "QK_BOOTLOADER"}, + {QK_REBOOT, "QK_REBOOT"}, + {QK_DEBUG_TOGGLE, "QK_DEBUG_TOGGLE"}, + {QK_CLEAR_EEPROM, "QK_CLEAR_EEPROM"}, + {QK_MAKE, "QK_MAKE"}, + {QK_AUTO_SHIFT_DOWN, "QK_AUTO_SHIFT_DOWN"}, + {QK_AUTO_SHIFT_UP, "QK_AUTO_SHIFT_UP"}, + {QK_AUTO_SHIFT_REPORT, "QK_AUTO_SHIFT_REPORT"}, + {QK_AUTO_SHIFT_ON, "QK_AUTO_SHIFT_ON"}, + {QK_AUTO_SHIFT_OFF, "QK_AUTO_SHIFT_OFF"}, + {QK_AUTO_SHIFT_TOGGLE, "QK_AUTO_SHIFT_TOGGLE"}, + {QK_GRAVE_ESCAPE, "QK_GRAVE_ESCAPE"}, + {QK_VELOCIKEY_TOGGLE, "QK_VELOCIKEY_TOGGLE"}, + {QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPEN, "QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPEN"}, + {QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSE, "QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSE"}, + {QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN, "QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN"}, + {QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSE, "QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSE"}, + {QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPEN, "QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPEN"}, + {QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSE, "QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSE"}, + {QK_SPACE_CADET_RIGHT_SHIFT_ENTER, "QK_SPACE_CADET_RIGHT_SHIFT_ENTER"}, + {QK_UNICODE_MODE_NEXT, "QK_UNICODE_MODE_NEXT"}, + {QK_UNICODE_MODE_PREVIOUS, "QK_UNICODE_MODE_PREVIOUS"}, + {QK_UNICODE_MODE_MACOS, "QK_UNICODE_MODE_MACOS"}, + {QK_UNICODE_MODE_LINUX, "QK_UNICODE_MODE_LINUX"}, + {QK_UNICODE_MODE_WINDOWS, "QK_UNICODE_MODE_WINDOWS"}, + {QK_UNICODE_MODE_BSD, "QK_UNICODE_MODE_BSD"}, + {QK_UNICODE_MODE_WINCOMPOSE, "QK_UNICODE_MODE_WINCOMPOSE"}, + {QK_UNICODE_MODE_EMACS, "QK_UNICODE_MODE_EMACS"}, + {QK_HAPTIC_ON, "QK_HAPTIC_ON"}, + {QK_HAPTIC_OFF, "QK_HAPTIC_OFF"}, + {QK_HAPTIC_TOGGLE, "QK_HAPTIC_TOGGLE"}, + {QK_HAPTIC_RESET, "QK_HAPTIC_RESET"}, + {QK_HAPTIC_FEEDBACK_TOGGLE, "QK_HAPTIC_FEEDBACK_TOGGLE"}, + {QK_HAPTIC_BUZZ_TOGGLE, "QK_HAPTIC_BUZZ_TOGGLE"}, + {QK_HAPTIC_MODE_NEXT, "QK_HAPTIC_MODE_NEXT"}, + {QK_HAPTIC_MODE_PREVIOUS, "QK_HAPTIC_MODE_PREVIOUS"}, + {QK_HAPTIC_CONTINUOUS_TOGGLE, "QK_HAPTIC_CONTINUOUS_TOGGLE"}, + {QK_HAPTIC_CONTINUOUS_UP, "QK_HAPTIC_CONTINUOUS_UP"}, + {QK_HAPTIC_CONTINUOUS_DOWN, "QK_HAPTIC_CONTINUOUS_DOWN"}, + {QK_HAPTIC_DWELL_UP, "QK_HAPTIC_DWELL_UP"}, + {QK_HAPTIC_DWELL_DOWN, "QK_HAPTIC_DWELL_DOWN"}, + {QK_COMBO_ON, "QK_COMBO_ON"}, + {QK_COMBO_OFF, "QK_COMBO_OFF"}, + {QK_COMBO_TOGGLE, "QK_COMBO_TOGGLE"}, + {QK_DYNAMIC_MACRO_RECORD_START_1, "QK_DYNAMIC_MACRO_RECORD_START_1"}, + {QK_DYNAMIC_MACRO_RECORD_START_2, "QK_DYNAMIC_MACRO_RECORD_START_2"}, + {QK_DYNAMIC_MACRO_RECORD_STOP, "QK_DYNAMIC_MACRO_RECORD_STOP"}, + {QK_DYNAMIC_MACRO_PLAY_1, "QK_DYNAMIC_MACRO_PLAY_1"}, + {QK_DYNAMIC_MACRO_PLAY_2, "QK_DYNAMIC_MACRO_PLAY_2"}, + {QK_LEADER, "QK_LEADER"}, + {QK_LOCK, "QK_LOCK"}, + {QK_ONE_SHOT_ON, "QK_ONE_SHOT_ON"}, + {QK_ONE_SHOT_OFF, "QK_ONE_SHOT_OFF"}, + {QK_ONE_SHOT_TOGGLE, "QK_ONE_SHOT_TOGGLE"}, + {QK_KEY_OVERRIDE_TOGGLE, "QK_KEY_OVERRIDE_TOGGLE"}, + {QK_KEY_OVERRIDE_ON, "QK_KEY_OVERRIDE_ON"}, + {QK_KEY_OVERRIDE_OFF, "QK_KEY_OVERRIDE_OFF"}, + {QK_SECURE_LOCK, "QK_SECURE_LOCK"}, + {QK_SECURE_UNLOCK, "QK_SECURE_UNLOCK"}, + {QK_SECURE_TOGGLE, "QK_SECURE_TOGGLE"}, + {QK_SECURE_REQUEST, "QK_SECURE_REQUEST"}, + {QK_DYNAMIC_TAPPING_TERM_PRINT, "QK_DYNAMIC_TAPPING_TERM_PRINT"}, + {QK_DYNAMIC_TAPPING_TERM_UP, "QK_DYNAMIC_TAPPING_TERM_UP"}, + {QK_DYNAMIC_TAPPING_TERM_DOWN, "QK_DYNAMIC_TAPPING_TERM_DOWN"}, + {QK_CAPS_WORD_TOGGLE, "QK_CAPS_WORD_TOGGLE"}, + {QK_AUTOCORRECT_ON, "QK_AUTOCORRECT_ON"}, + {QK_AUTOCORRECT_OFF, "QK_AUTOCORRECT_OFF"}, + {QK_AUTOCORRECT_TOGGLE, "QK_AUTOCORRECT_TOGGLE"}, + {QK_TRI_LAYER_LOWER, "QK_TRI_LAYER_LOWER"}, + {QK_TRI_LAYER_UPPER, "QK_TRI_LAYER_UPPER"}, + {QK_REPEAT_KEY, "QK_REPEAT_KEY"}, + {QK_ALT_REPEAT_KEY, "QK_ALT_REPEAT_KEY"}, + {QK_LAYER_LOCK, "QK_LAYER_LOCK"}, + {QK_KB_0, "QK_KB_0"}, + {QK_KB_1, "QK_KB_1"}, + {QK_KB_2, "QK_KB_2"}, + {QK_KB_3, "QK_KB_3"}, + {QK_KB_4, "QK_KB_4"}, + {QK_KB_5, "QK_KB_5"}, + {QK_KB_6, "QK_KB_6"}, + {QK_KB_7, "QK_KB_7"}, + {QK_KB_8, "QK_KB_8"}, + {QK_KB_9, "QK_KB_9"}, + {QK_KB_10, "QK_KB_10"}, + {QK_KB_11, "QK_KB_11"}, + {QK_KB_12, "QK_KB_12"}, + {QK_KB_13, "QK_KB_13"}, + {QK_KB_14, "QK_KB_14"}, + {QK_KB_15, "QK_KB_15"}, + {QK_KB_16, "QK_KB_16"}, + {QK_KB_17, "QK_KB_17"}, + {QK_KB_18, "QK_KB_18"}, + {QK_KB_19, "QK_KB_19"}, + {QK_KB_20, "QK_KB_20"}, + {QK_KB_21, "QK_KB_21"}, + {QK_KB_22, "QK_KB_22"}, + {QK_KB_23, "QK_KB_23"}, + {QK_KB_24, "QK_KB_24"}, + {QK_KB_25, "QK_KB_25"}, + {QK_KB_26, "QK_KB_26"}, + {QK_KB_27, "QK_KB_27"}, + {QK_KB_28, "QK_KB_28"}, + {QK_KB_29, "QK_KB_29"}, + {QK_KB_30, "QK_KB_30"}, + {QK_KB_31, "QK_KB_31"}, + {QK_USER_0, "QK_USER_0"}, + {QK_USER_1, "QK_USER_1"}, + {QK_USER_2, "QK_USER_2"}, + {QK_USER_3, "QK_USER_3"}, + {QK_USER_4, "QK_USER_4"}, + {QK_USER_5, "QK_USER_5"}, + {QK_USER_6, "QK_USER_6"}, + {QK_USER_7, "QK_USER_7"}, + {QK_USER_8, "QK_USER_8"}, + {QK_USER_9, "QK_USER_9"}, + {QK_USER_10, "QK_USER_10"}, + {QK_USER_11, "QK_USER_11"}, + {QK_USER_12, "QK_USER_12"}, + {QK_USER_13, "QK_USER_13"}, + {QK_USER_14, "QK_USER_14"}, + {QK_USER_15, "QK_USER_15"}, + {QK_USER_16, "QK_USER_16"}, + {QK_USER_17, "QK_USER_17"}, + {QK_USER_18, "QK_USER_18"}, + {QK_USER_19, "QK_USER_19"}, + {QK_USER_20, "QK_USER_20"}, + {QK_USER_21, "QK_USER_21"}, + {QK_USER_22, "QK_USER_22"}, + {QK_USER_23, "QK_USER_23"}, + {QK_USER_24, "QK_USER_24"}, + {QK_USER_25, "QK_USER_25"}, + {QK_USER_26, "QK_USER_26"}, + {QK_USER_27, "QK_USER_27"}, + {QK_USER_28, "QK_USER_28"}, + {QK_USER_29, "QK_USER_29"}, + {QK_USER_30, "QK_USER_30"}, + {QK_USER_31, "QK_USER_31"}, +}; diff --git a/tests/test_common/keycode_util.cpp b/tests/test_common/keycode_util.cpp new file mode 100644 index 0000000000..539cab819a --- /dev/null +++ b/tests/test_common/keycode_util.cpp @@ -0,0 +1,130 @@ +#include "keycode_util.hpp" +#include +extern "C" { +#include "action_code.h" +#include "keycode.h" +#include "quantum_keycodes.h" +#include "util.h" +} +#include +#include +#include + +extern std::map KEYCODE_ID_TABLE; + +std::string get_mods(uint8_t mods) { + std::stringstream s; + if ((mods & MOD_RCTL) == MOD_RCTL) { + s << XSTR(MOD_RCTL) << " | "; + } else if ((mods & MOD_LCTL) == MOD_LCTL) { + s << XSTR(MOD_LCTL) << " | "; + } + + if ((mods & MOD_RSFT) == MOD_RSFT) { + s << XSTR(MOD_RSFT) << " | "; + } else if ((mods & MOD_LSFT) == MOD_LSFT) { + s << XSTR(MOD_LSFT) << " | "; + } + + if ((mods & MOD_RALT) == MOD_RALT) { + s << XSTR(MOD_RALT) << " | "; + } else if ((mods & MOD_LALT) == MOD_LALT) { + s << XSTR(MOD_LALT) << " | "; + } + + if ((mods & MOD_RGUI) == MOD_RGUI) { + s << XSTR(MOD_RGUI) << " | "; + } else if ((mods & MOD_LGUI) == MOD_LGUI) { + s << XSTR(MOD_LGUI) << " | "; + } + + auto _mods = s.str(); + + if (_mods.size()) { + _mods.resize(_mods.size() - 3); + } + + return std::string(_mods); +} + +std::string get_qk_mods(uint16_t keycode) { + std::stringstream s; + if ((keycode & QK_RCTL) == QK_RCTL) { + s << XSTR(QK_RCTL) << " | "; + } else if ((keycode & QK_LCTL) == QK_LCTL) { + s << XSTR(QK_LCTL) << " | "; + } + + if ((keycode & QK_RSFT) == QK_RSFT) { + s << XSTR(QK_RSFT) << " | "; + } else if ((keycode & QK_LSFT) == QK_LSFT) { + s << XSTR(QK_LSFT) << " | "; + } + + if ((keycode & QK_RALT) == QK_RALT) { + s << XSTR(QK_RALT) << " | "; + } else if ((keycode & QK_LALT) == QK_LALT) { + s << XSTR(QK_LALT) << " | "; + } + + if ((keycode & QK_RGUI) == QK_RGUI) { + s << XSTR(QK_RGUI) << " | "; + } else if ((keycode & QK_LGUI) == QK_LGUI) { + s << XSTR(QK_LGUI) << " | "; + } + + auto _mods = s.str(); + + if (_mods.size()) { + _mods.resize(_mods.size() - 3); + } + + return std::string(_mods); +} + +std::string generate_identifier(uint16_t kc) { + std::stringstream s; + if (IS_QK_MOD_TAP(kc)) { + s << "MT(" << get_mods(QK_MOD_TAP_GET_MODS(kc)) << ", " << KEYCODE_ID_TABLE.at(kc & 0xFF) << ")"; + } else if (IS_QK_LAYER_TAP(kc)) { + s << "LT(" << +QK_LAYER_TAP_GET_LAYER(kc) << ", " << KEYCODE_ID_TABLE.at(kc & 0xFF) << ")"; + } else if (IS_QK_TO(kc)) { + s << "TO(" << +QK_TO_GET_LAYER(kc) << ")"; + } else if (IS_QK_MOMENTARY(kc)) { + s << "MO(" << +QK_MOMENTARY_GET_LAYER(kc) << ")"; + } else if (IS_QK_DEF_LAYER(kc)) { + s << "DF(" << +QK_DEF_LAYER_GET_LAYER(kc) << ")"; + } else if (IS_QK_PERSISTENT_DEF_LAYER(kc)) { + s << "PDF(" << +QK_PERSISTENT_DEF_LAYER_GET_LAYER(kc) << ")"; + } else if (IS_QK_TOGGLE_LAYER(kc)) { + s << "TG(" << +QK_TOGGLE_LAYER_GET_LAYER(kc) << ")"; + } else if (IS_QK_LAYER_TAP_TOGGLE(kc)) { + s << "TT(" << +QK_LAYER_TAP_TOGGLE_GET_LAYER(kc) << ")"; + } else if (IS_QK_ONE_SHOT_LAYER(kc)) { + s << "OSL(" << +QK_ONE_SHOT_LAYER_GET_LAYER(kc) << ")"; + } else if (IS_QK_LAYER_MOD(kc)) { + s << "LM(" << +QK_LAYER_MOD_GET_LAYER(kc) << ", " << get_mods(QK_LAYER_MOD_GET_MODS(kc)) << ")"; + } else if (IS_QK_ONE_SHOT_MOD(kc)) { + s << "OSM(" << get_mods(QK_ONE_SHOT_MOD_GET_MODS(kc)) << ")"; + } else if (IS_QK_MODS(kc)) { + s << "QK_MODS(" << KEYCODE_ID_TABLE.at(QK_MODS_GET_BASIC_KEYCODE(kc)) << ", " << get_qk_mods(kc) << ")"; + } else if (IS_QK_TAP_DANCE(kc)) { + s << "TD(" << +(kc & 0xFF) << ")"; + } else { + // Fallback - we didn't found any matching keycode, generate the hex representation. + s << "unknown keycode: 0x" << std::hex << kc << ". Add conversion to " << XSTR(generate_identifier); + } + + return std::string(s.str()); +} + +std::string get_keycode_identifier_or_default(uint16_t keycode) { + auto identifier = KEYCODE_ID_TABLE.find(keycode); + if (identifier != KEYCODE_ID_TABLE.end()) { + return identifier->second; + } + + KEYCODE_ID_TABLE[keycode] = generate_identifier(keycode); + + return KEYCODE_ID_TABLE[keycode]; +} diff --git a/tests/test_common/keycode_util.hpp b/tests/test_common/keycode_util.hpp new file mode 100644 index 0000000000..3143ab364e --- /dev/null +++ b/tests/test_common/keycode_util.hpp @@ -0,0 +1,6 @@ +#pragma once + +#include +#include + +std::string get_keycode_identifier_or_default(uint16_t keycode); diff --git a/tests/test_common/test_driver.hpp b/tests/test_common/test_driver.hpp index 5c36c80dfc..fea8225953 100644 --- a/tests/test_common/test_driver.hpp +++ b/tests/test_common/test_driver.hpp @@ -20,9 +20,7 @@ #include #include "host.h" #include "keyboard_report_util.hpp" -extern "C" { -#include "keycode_string.h" -} +#include "keycode_util.hpp" #include "test_logger.hpp" class TestDriver { @@ -148,11 +146,11 @@ class TestDriver { /** @brief Tests whether keycode `actual` is equal to `expected`. */ #define EXPECT_KEYCODE_EQ(actual, expected) EXPECT_THAT((actual), KeycodeEq((expected))) -MATCHER_P(KeycodeEq, expected_keycode, "is equal to " + testing::PrintToString(expected_keycode) + ", keycode " + get_keycode_string(expected_keycode)) { +MATCHER_P(KeycodeEq, expected_keycode, "is equal to " + testing::PrintToString(expected_keycode) + ", keycode " + get_keycode_identifier_or_default(expected_keycode)) { if (arg == expected_keycode) { return true; } - *result_listener << "keycode " << get_keycode_string(arg); + *result_listener << "keycode " << get_keycode_identifier_or_default(arg); return false; } diff --git a/tests/test_common/test_fixture.cpp b/tests/test_common/test_fixture.cpp index 00084721d6..81806b0e6d 100644 --- a/tests/test_common/test_fixture.cpp +++ b/tests/test_common/test_fixture.cpp @@ -46,7 +46,7 @@ void TestFixture::SetUpTestCase() { // The following is enough to bootstrap the values set in main eeconfig_init_quantum(); - eeconfig_update_debug(&debug_config); + eeconfig_update_debug(debug_config.raw); TestDriver driver; keyboard_init(); diff --git a/tests/test_common/test_keymap_key.hpp b/tests/test_common/test_keymap_key.hpp index ba2c2912e3..37b4c827e4 100644 --- a/tests/test_common/test_keymap_key.hpp +++ b/tests/test_common/test_keymap_key.hpp @@ -18,10 +18,10 @@ #include #include +#include "keycode_util.hpp" extern "C" { #include "keyboard.h" #include "test_matrix.h" -#include "keycode_string.h" } #include @@ -29,11 +29,11 @@ extern "C" { typedef uint8_t layer_t; struct KeymapKey { - KeymapKey(layer_t layer, uint8_t col, uint8_t row, uint16_t keycode) : layer(layer), position({.col = col, .row = row}), code(keycode), report_code(keycode), name(get_keycode_string(keycode)) { + KeymapKey(layer_t layer, uint8_t col, uint8_t row, uint16_t keycode) : layer(layer), position({.col = col, .row = row}), code(keycode), report_code(keycode), name(get_keycode_identifier_or_default(keycode)) { validate(); } - KeymapKey(layer_t layer, uint8_t col, uint8_t row, uint16_t keycode, uint16_t report_code) : layer(layer), position({.col = col, .row = row}), code(keycode), report_code(report_code), name{get_keycode_string(keycode)} { + KeymapKey(layer_t layer, uint8_t col, uint8_t row, uint16_t keycode, uint16_t report_code) : layer(layer), position({.col = col, .row = row}), code(keycode), report_code(report_code), name{get_keycode_identifier_or_default(keycode)} { validate(); } diff --git a/tmk_core/protocol.mk b/tmk_core/protocol.mk index 81520c1bc8..8f01976548 100644 --- a/tmk_core/protocol.mk +++ b/tmk_core/protocol.mk @@ -33,6 +33,10 @@ ifeq ($(strip $(PROGRAMMABLE_BUTTON_ENABLE)), yes) SHARED_EP_ENABLE = yes endif +ifeq ($(strip $(RAW_ENABLE)), yes) + OPT_DEFS += -DRAW_ENABLE +endif + ifeq ($(strip $(CONSOLE_ENABLE)), yes) OPT_DEFS += -DCONSOLE_ENABLE else @@ -42,8 +46,12 @@ else endif ifeq ($(strip $(NKRO_ENABLE)), yes) - OPT_DEFS += -DNKRO_ENABLE - SHARED_EP_ENABLE = yes + ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) + $(info NKRO is not currently supported with Bluetooth, and has been disabled.) + else + OPT_DEFS += -DNKRO_ENABLE + SHARED_EP_ENABLE = yes + endif endif ifeq ($(strip $(NO_SUSPEND_POWER_DOWN)), yes) diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c index 19d8121e34..cf948154f9 100644 --- a/tmk_core/protocol/chibios/chibios.c +++ b/tmk_core/protocol/chibios/chibios.c @@ -66,19 +66,9 @@ void send_keyboard(report_keyboard_t *report); void send_nkro(report_nkro_t *report); void send_mouse(report_mouse_t *report); void send_extra(report_extra_t *report); -void send_raw_hid(uint8_t *data, uint8_t length); /* host struct */ -host_driver_t chibios_driver = { - .keyboard_leds = usb_device_state_get_leds, - .send_keyboard = send_keyboard, - .send_nkro = send_nkro, - .send_mouse = send_mouse, - .send_extra = send_extra, -#ifdef RAW_ENABLE - .send_raw_hid = send_raw_hid, -#endif -}; +host_driver_t chibios_driver = {.keyboard_leds = usb_device_state_get_leds, .send_keyboard = send_keyboard, .send_nkro = send_nkro, .send_mouse = send_mouse, .send_extra = send_extra}; #ifdef VIRTSER_ENABLE void virtser_task(void); @@ -144,6 +134,8 @@ void protocol_setup(void) { // chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL); } +static host_driver_t *driver = NULL; + void protocol_pre_init(void) { /* Init USB */ usb_event_queue_init(); @@ -154,11 +146,18 @@ void protocol_pre_init(void) { #endif /* Wait until USB is active */ -#ifdef USB_WAIT_FOR_ENUMERATION - while (USB_DRIVER.state != USB_ACTIVE) { + while (true) { +#if defined(USB_WAIT_FOR_ENUMERATION) + if (USB_DRIVER.state == USB_ACTIVE) { + driver = &chibios_driver; + break; + } +#else + driver = &chibios_driver; + break; +#endif wait_ms(50); } -#endif /* Do need to wait here! * Otherwise the next print might start a transfer on console EP @@ -171,7 +170,7 @@ void protocol_pre_init(void) { } void protocol_post_init(void) { - host_set_driver(&chibios_driver); + host_set_driver(driver); } void protocol_pre_task(void) { diff --git a/tmk_core/protocol/chibios/usb_endpoints.h b/tmk_core/protocol/chibios/usb_endpoints.h index 9fad83726e..a4e5ed88fc 100644 --- a/tmk_core/protocol/chibios/usb_endpoints.h +++ b/tmk_core/protocol/chibios/usb_endpoints.h @@ -121,7 +121,7 @@ typedef enum { #define IS_VALID_USB_ENDPOINT_IN_LUT(i) ((i) >= 0 && (i) < USB_ENDPOINT_IN_COUNT) -extern usb_endpoint_in_lut_t usb_endpoint_interface_lut[TOTAL_INTERFACES]; +usb_endpoint_in_lut_t usb_endpoint_interface_lut[TOTAL_INTERFACES]; typedef enum { #if defined(RAW_ENABLE) diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index f9d7f5c4d6..2a287e0d98 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -32,10 +32,6 @@ #include "usb_driver.h" #include "usb_types.h" -#ifdef RAW_ENABLE -# include "raw_hid.h" -#endif - #ifdef NKRO_ENABLE # include "keycode_config.h" @@ -329,10 +325,18 @@ static bool usb_requests_hook_cb(USBDriver *usbp) { return false; } +static __attribute__((unused)) void dummy_cb(USBDriver *usbp) { + (void)usbp; +} + static const USBConfig usbcfg = { usb_event_cb, /* USB events callback */ usb_get_descriptor_cb, /* Device GET_DESCRIPTOR request callback */ usb_requests_hook_cb, /* Requests hook callback */ +#if STM32_USB_USE_OTG1 == TRUE || STM32_USB_USE_OTG2 == TRUE + dummy_cb, /* Workaround for OTG Peripherals not servicing new interrupts + after resuming from suspend. */ +#endif }; void init_usb_driver(USBDriver *usbp) { @@ -519,13 +523,19 @@ void console_task(void) { #endif /* CONSOLE_ENABLE */ #ifdef RAW_ENABLE -void send_raw_hid(uint8_t *data, uint8_t length) { +void raw_hid_send(uint8_t *data, uint8_t length) { if (length != RAW_EPSIZE) { return; } send_report(USB_ENDPOINT_IN_RAW, data, length); } +__attribute__((weak)) void raw_hid_receive(uint8_t *data, uint8_t length) { + // Users should #include "raw_hid.h" in their own code + // and implement this function there. Leave this as weak linkage + // so users can opt to not handle data coming in. +} + void raw_hid_task(void) { uint8_t buffer[RAW_EPSIZE]; while (receive_report(USB_ENDPOINT_OUT_RAW, buffer, sizeof(buffer))) { diff --git a/tmk_core/protocol/host.c b/tmk_core/protocol/host.c index 4874d7c1d3..df805c827c 100644 --- a/tmk_core/protocol/host.c +++ b/tmk_core/protocol/host.c @@ -21,7 +21,6 @@ along with this program. If not, see . #include "host.h" #include "util.h" #include "debug.h" -#include "usb_device_state.h" #ifdef DIGITIZER_ENABLE # include "digitizer.h" @@ -31,34 +30,9 @@ along with this program. If not, see . # include "joystick.h" #endif -#ifdef CONNECTION_ENABLE -# include "connection.h" -#endif - #ifdef BLUETOOTH_ENABLE # include "bluetooth.h" - -static void bluetooth_send_extra(report_extra_t *report) { - switch (report->report_id) { - case REPORT_ID_SYSTEM: - bluetooth_send_system(report->usage); - return; - case REPORT_ID_CONSUMER: - bluetooth_send_consumer(report->usage); - return; - } -} - -host_driver_t bt_driver = { - .keyboard_leds = bluetooth_keyboard_leds, - .send_keyboard = bluetooth_send_keyboard, - .send_nkro = bluetooth_send_nkro, - .send_mouse = bluetooth_send_mouse, - .send_extra = bluetooth_send_extra, -# ifdef RAW_ENABLE - .send_raw_hid = bluetooth_send_raw_hid, -# endif -}; +# include "outputselect.h" #endif #ifdef NKRO_ENABLE @@ -78,39 +52,6 @@ host_driver_t *host_get_driver(void) { return driver; } -static host_driver_t *host_get_active_driver(void) { -#ifdef CONNECTION_ENABLE - switch (connection_get_host()) { -# ifdef BLUETOOTH_ENABLE - case CONNECTION_HOST_BLUETOOTH: - return &bt_driver; -# endif - case CONNECTION_HOST_NONE: - return NULL; - default: - break; - } -#endif - return driver; -} - -bool host_can_send_nkro(void) { -#ifdef CONNECTION_ENABLE - switch (connection_get_host()) { -# ifdef BLUETOOTH_ENABLE - case CONNECTION_HOST_BLUETOOTH: - return bluetooth_can_send_nkro(); -# endif - case CONNECTION_HOST_NONE: - return false; - default: - break; - } -#endif - - return usb_device_state_get_protocol() == USB_PROTOCOL_REPORT; -} - #ifdef SPLIT_KEYBOARD uint8_t split_led_state = 0; void set_split_host_keyboard_leds(uint8_t led_state) { @@ -122,10 +63,7 @@ uint8_t host_keyboard_leds(void) { #ifdef SPLIT_KEYBOARD if (!is_keyboard_master()) return split_led_state; #endif - - host_driver_t *driver = host_get_active_driver(); - if (!driver || !driver->keyboard_leds) return 0; - + if (!driver) return 0; return (*driver->keyboard_leds)(); } @@ -135,9 +73,14 @@ led_t host_keyboard_led_state(void) { /* send report */ void host_keyboard_send(report_keyboard_t *report) { - host_driver_t *driver = host_get_active_driver(); - if (!driver || !driver->send_keyboard) return; +#ifdef BLUETOOTH_ENABLE + if (where_to_send() == OUTPUT_BLUETOOTH) { + bluetooth_send_keyboard(report); + return; + } +#endif + if (!driver) return; #ifdef KEYBOARD_SHARED_EP report->report_id = REPORT_ID_KEYBOARD; #endif @@ -153,9 +96,7 @@ void host_keyboard_send(report_keyboard_t *report) { } void host_nkro_send(report_nkro_t *report) { - host_driver_t *driver = host_get_active_driver(); - if (!driver || !driver->send_nkro) return; - + if (!driver) return; report->report_id = REPORT_ID_NKRO; (*driver->send_nkro)(report); @@ -169,9 +110,14 @@ void host_nkro_send(report_nkro_t *report) { } void host_mouse_send(report_mouse_t *report) { - host_driver_t *driver = host_get_active_driver(); - if (!driver || !driver->send_mouse) return; +#ifdef BLUETOOTH_ENABLE + if (where_to_send() == OUTPUT_BLUETOOTH) { + bluetooth_send_mouse(report); + return; + } +#endif + if (!driver) return; #ifdef MOUSE_SHARED_EP report->report_id = REPORT_ID_MOUSE; #endif @@ -187,8 +133,7 @@ void host_system_send(uint16_t usage) { if (usage == last_system_usage) return; last_system_usage = usage; - host_driver_t *driver = host_get_active_driver(); - if (!driver || !driver->send_extra) return; + if (!driver) return; report_extra_t report = { .report_id = REPORT_ID_SYSTEM, @@ -201,8 +146,14 @@ void host_consumer_send(uint16_t usage) { if (usage == last_consumer_usage) return; last_consumer_usage = usage; - host_driver_t *driver = host_get_active_driver(); - if (!driver || !driver->send_extra) return; +#ifdef BLUETOOTH_ENABLE + if (where_to_send() == OUTPUT_BLUETOOTH) { + bluetooth_send_consumer(usage); + return; + } +#endif + + if (!driver) return; report_extra_t report = { .report_id = REPORT_ID_CONSUMER, @@ -302,15 +253,6 @@ void host_programmable_button_send(uint32_t data) { __attribute__((weak)) void send_programmable_button(report_programmable_button_t *report) {} -#ifdef RAW_ENABLE -void host_raw_hid_send(uint8_t *data, uint8_t length) { - host_driver_t *driver = host_get_active_driver(); - if (!driver || !driver->send_raw_hid) return; - - (*driver->send_raw_hid)(data, length); -} -#endif - uint16_t host_last_system_usage(void) { return last_system_usage; } diff --git a/tmk_core/protocol/host.h b/tmk_core/protocol/host.h index a0b1e73dcc..d824fca077 100644 --- a/tmk_core/protocol/host.h +++ b/tmk_core/protocol/host.h @@ -32,7 +32,6 @@ void host_set_driver(host_driver_t *driver); host_driver_t *host_get_driver(void); /* host driver interface */ -bool host_can_send_nkro(void); uint8_t host_keyboard_leds(void); led_t host_keyboard_led_state(void); void host_keyboard_send(report_keyboard_t *report); @@ -41,7 +40,6 @@ void host_mouse_send(report_mouse_t *report); void host_system_send(uint16_t usage); void host_consumer_send(uint16_t usage); void host_programmable_button_send(uint32_t data); -void host_raw_hid_send(uint8_t *data, uint8_t length); uint16_t host_last_system_usage(void); uint16_t host_last_consumer_usage(void); diff --git a/tmk_core/protocol/host_driver.h b/tmk_core/protocol/host_driver.h index c2835aaa99..8aa38b6dee 100644 --- a/tmk_core/protocol/host_driver.h +++ b/tmk_core/protocol/host_driver.h @@ -29,9 +29,6 @@ typedef struct { void (*send_nkro)(report_nkro_t *); void (*send_mouse)(report_mouse_t *); void (*send_extra)(report_extra_t *); -#ifdef RAW_ENABLE - void (*send_raw_hid)(uint8_t *, uint8_t); -#endif } host_driver_t; void send_joystick(report_joystick_t *report); diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index d59468133c..81da035f0c 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c @@ -75,24 +75,11 @@ static report_keyboard_t keyboard_report_sent; /* Host driver */ -static void send_keyboard(report_keyboard_t *report); -static void send_nkro(report_nkro_t *report); -static void send_mouse(report_mouse_t *report); -static void send_extra(report_extra_t *report); -#ifdef RAW_ENABLE -static void send_raw_hid(uint8_t *data, uint8_t length); -#endif - -host_driver_t lufa_driver = { - .keyboard_leds = usb_device_state_get_leds, - .send_keyboard = send_keyboard, - .send_nkro = send_nkro, - .send_mouse = send_mouse, - .send_extra = send_extra, -#ifdef RAW_ENABLE - .send_raw_hid = send_raw_hid, -#endif -}; +static void send_keyboard(report_keyboard_t *report); +static void send_nkro(report_nkro_t *report); +static void send_mouse(report_mouse_t *report); +static void send_extra(report_extra_t *report); +host_driver_t lufa_driver = {.keyboard_leds = usb_device_state_get_leds, .send_keyboard = send_keyboard, .send_nkro = send_nkro, .send_mouse = send_mouse, .send_extra = send_extra}; void send_report(uint8_t endpoint, void *report, size_t size) { uint8_t timeout = 255; @@ -144,11 +131,21 @@ USB_ClassInfo_CDC_Device_t cdc_device = { * * FIXME: Needs doc */ -static void send_raw_hid(uint8_t *data, uint8_t length) { +void raw_hid_send(uint8_t *data, uint8_t length) { if (length != RAW_EPSIZE) return; send_report(RAW_IN_EPNUM, data, RAW_EPSIZE); } +/** \brief Raw HID Receive + * + * FIXME: Needs doc + */ +__attribute__((weak)) void raw_hid_receive(uint8_t *data, uint8_t length) { + // Users should #include "raw_hid.h" in their own code + // and implement this function there. Leave this as weak linkage + // so users can opt to not handle data coming in. +} + /** \brief Raw HID Task * * FIXME: Needs doc diff --git a/tmk_core/protocol/report.c b/tmk_core/protocol/report.c index f68334adeb..6203a3116b 100644 --- a/tmk_core/protocol/report.c +++ b/tmk_core/protocol/report.c @@ -32,7 +32,7 @@ uint8_t has_anykey(void) { uint8_t* p = keyboard_report->keys; uint8_t lp = sizeof(keyboard_report->keys); #ifdef NKRO_ENABLE - if (host_can_send_nkro() && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { p = nkro_report->bits; lp = sizeof(nkro_report->bits); } @@ -49,7 +49,7 @@ uint8_t has_anykey(void) { */ uint8_t get_first_key(void) { #ifdef NKRO_ENABLE - if (host_can_send_nkro() && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { uint8_t i = 0; for (; i < NKRO_REPORT_BITS && !nkro_report->bits[i]; i++) ; @@ -69,7 +69,7 @@ bool is_key_pressed(uint8_t key) { return false; } #ifdef NKRO_ENABLE - if (host_can_send_nkro() && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { if ((key >> 3) < NKRO_REPORT_BITS) { return nkro_report->bits[key >> 3] & 1 << (key & 7); } else { @@ -151,7 +151,7 @@ void del_key_bit(report_nkro_t* nkro_report, uint8_t code) { */ void add_key_to_report(uint8_t key) { #ifdef NKRO_ENABLE - if (host_can_send_nkro() && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { add_key_bit(nkro_report, key); return; } @@ -165,7 +165,7 @@ void add_key_to_report(uint8_t key) { */ void del_key_from_report(uint8_t key) { #ifdef NKRO_ENABLE - if (host_can_send_nkro() && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { del_key_bit(nkro_report, key); return; } @@ -180,7 +180,7 @@ void del_key_from_report(uint8_t key) { void clear_keys_from_report(void) { // not clear mods #ifdef NKRO_ENABLE - if (host_can_send_nkro() && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { memset(nkro_report->bits, 0, sizeof(nkro_report->bits)); return; } diff --git a/tmk_core/protocol/report.h b/tmk_core/protocol/report.h index 9053b0bb3f..d854f51d5c 100644 --- a/tmk_core/protocol/report.h +++ b/tmk_core/protocol/report.h @@ -194,22 +194,14 @@ typedef struct { } PACKED report_programmable_button_t; #ifdef MOUSE_EXTENDED_REPORT -# define MOUSE_REPORT_XY_MIN INT16_MIN -# define MOUSE_REPORT_XY_MAX INT16_MAX typedef int16_t mouse_xy_report_t; #else -# define MOUSE_REPORT_XY_MIN INT8_MIN -# define MOUSE_REPORT_XY_MAX INT8_MAX typedef int8_t mouse_xy_report_t; #endif #ifdef WHEEL_EXTENDED_REPORT -# define MOUSE_REPORT_HV_MIN INT16_MIN -# define MOUSE_REPORT_HV_MAX INT16_MAX typedef int16_t mouse_hv_report_t; #else -# define MOUSE_REPORT_HV_MIN INT8_MIN -# define MOUSE_REPORT_HV_MAX INT8_MAX typedef int8_t mouse_hv_report_t; #endif diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index ceab9eef9a..c7fb660b65 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -165,24 +165,6 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { # endif HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE), -# ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE - HID_RI_COLLECTION(8, 0x02), - // Feature report and padding (1 byte) - HID_RI_USAGE(8, 0x48), // Resolution Multiplier - HID_RI_REPORT_COUNT(8, 0x01), - HID_RI_REPORT_SIZE(8, 0x02), - HID_RI_LOGICAL_MINIMUM(8, 0x00), - HID_RI_LOGICAL_MAXIMUM(8, 0x01), - HID_RI_PHYSICAL_MINIMUM(8, 1), - HID_RI_PHYSICAL_MAXIMUM(8, POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER), - HID_RI_UNIT_EXPONENT(8, POINTING_DEVICE_HIRES_SCROLL_EXPONENT), - HID_RI_FEATURE(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), - HID_RI_PHYSICAL_MINIMUM(8, 0x00), - HID_RI_PHYSICAL_MAXIMUM(8, 0x00), - HID_RI_REPORT_SIZE(8, 0x06), - HID_RI_FEATURE(8, HID_IOF_CONSTANT), -# endif - // Vertical wheel (1 or 2 bytes) HID_RI_USAGE(8, 0x38), // Wheel # ifndef WHEEL_EXTENDED_REPORT @@ -197,7 +179,6 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { HID_RI_REPORT_SIZE(8, 0x10), # endif HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE), - // Horizontal wheel (1 or 2 bytes) HID_RI_USAGE_PAGE(8, 0x0C),// Consumer HID_RI_USAGE(16, 0x0238), // AC Pan @@ -213,11 +194,6 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { HID_RI_REPORT_SIZE(8, 0x10), # endif HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE), - -# ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE - HID_RI_END_COLLECTION(0), -# endif - HID_RI_END_COLLECTION(0), HID_RI_END_COLLECTION(0), # ifndef MOUSE_SHARED_EP diff --git a/tmk_core/protocol/usb_descriptor_common.h b/tmk_core/protocol/usb_descriptor_common.h index f782d83fbc..909c230a99 100644 --- a/tmk_core/protocol/usb_descriptor_common.h +++ b/tmk_core/protocol/usb_descriptor_common.h @@ -32,23 +32,3 @@ #ifndef RAW_USAGE_ID # define RAW_USAGE_ID 0x61 #endif - -///////////////////// -// Hires Scroll Defaults - -#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE -# ifdef POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER -# if POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER > 127 || POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER < 1 -# error "POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER must be between 1 and 127, inclusive!" -# endif -# else -# define POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER 120 -# endif -# ifdef POINTING_DEVICE_HIRES_SCROLL_EXPONENT -# if POINTING_DEVICE_HIRES_SCROLL_EXPONENT > 127 || POINTING_DEVICE_HIRES_SCROLL_EXPONENT < 0 -# error "POINTING_DEVICE_HIRES_SCROLL_EXPONENT must be between 0 and 127, inclusive!" -# endif -# else -# define POINTING_DEVICE_HIRES_SCROLL_EXPONENT 0 -# endif -#endif \ No newline at end of file diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index 1f0f82664b..fdbfcc17dc 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -21,7 +21,6 @@ along with this program. If not, see . #include -#include "compiler_support.h" #include "usbconfig.h" #include "host.h" #include "report.h" @@ -81,7 +80,7 @@ enum usb_interfaces { #define MAX_INTERFACES 3 -STATIC_ASSERT(TOTAL_INTERFACES <= MAX_INTERFACES, "There are not enough available interfaces to support all functions. Please disable one or more of the following: Mouse Keys, Extra Keys, Raw HID, Console."); +_Static_assert(TOTAL_INTERFACES <= MAX_INTERFACES, "There are not enough available interfaces to support all functions. Please disable one or more of the following: Mouse Keys, Extra Keys, Raw HID, Console."); #if (defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE)) && CONSOLE_ENABLE # error Mouse/Extra Keys share an endpoint with Console. Please disable one of the two. @@ -145,7 +144,7 @@ static void send_report(uint8_t endpoint, void *report, size_t size) { static uint8_t raw_output_buffer[RAW_BUFFER_SIZE]; static uint8_t raw_output_received_bytes = 0; -static void send_raw_hid(uint8_t *data, uint8_t length) { +void raw_hid_send(uint8_t *data, uint8_t length) { if (length != RAW_BUFFER_SIZE) { return; } @@ -153,6 +152,12 @@ static void send_raw_hid(uint8_t *data, uint8_t length) { send_report(4, data, 32); } +__attribute__((weak)) void raw_hid_receive(uint8_t *data, uint8_t length) { + // Users should #include "raw_hid.h" in their own code + // and implement this function there. Leave this as weak linkage + // so users can opt to not handle data coming in. +} + void raw_hid_task(void) { usbPoll(); @@ -208,20 +213,8 @@ static void send_keyboard(report_keyboard_t *report); static void send_nkro(report_nkro_t *report); static void send_mouse(report_mouse_t *report); static void send_extra(report_extra_t *report); -#ifdef RAW_ENABLE -static void send_raw_hid(uint8_t *data, uint8_t length); -#endif -static host_driver_t driver = { - .keyboard_leds = usb_device_state_get_leds, - .send_keyboard = send_keyboard, - .send_nkro = send_nkro, - .send_mouse = send_mouse, - .send_extra = send_extra, -#ifdef RAW_ENABLE - .send_raw_hid = send_raw_hid, -#endif -}; +static host_driver_t driver = {.keyboard_leds = usb_device_state_get_leds, .send_keyboard = send_keyboard, .send_nkro = send_nkro, .send_mouse = send_mouse, .send_extra = send_extra}; host_driver_t *vusb_driver(void) { return &driver; @@ -527,24 +520,6 @@ const PROGMEM uchar shared_hid_report[] = { # endif 0x81, 0x06, // Input (Data, Variable, Relative) -# ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE - // Feature report and padding (1 byte) - 0xA1, 0x02, // Collection (Logical) - 0x09, 0x48, // Usage (Resolution Multiplier) - 0x95, 0x01, // Report Count (1) - 0x75, 0x02, // Report Size (2) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x01, // Logical Maximum (1) - 0x35, 0x01, // Physical Minimum (1) - 0x45, POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER, // Physical Maximum (POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER) - 0x55, POINTING_DEVICE_HIRES_SCROLL_EXPONENT, // Unit Exponent (POINTING_DEVICE_HIRES_SCROLL_EXPONENT) - 0xB1, 0x02, // Feature (Data, Variable, Absolute) - 0x35, 0x00, // Physical Minimum (0) - 0x45, 0x00, // Physical Maximum (0) - 0x75, 0x06, // Report Size (6) - 0xB1, 0x03, // Feature (Constant) -# endif - // Vertical wheel (1 or 2 bytes) 0x09, 0x38, // Usage (Wheel) # ifndef WHEEL_EXTENDED_REPORT @@ -559,7 +534,6 @@ const PROGMEM uchar shared_hid_report[] = { 0x75, 0x10, // Report Size (16) # endif 0x81, 0x06, // Input (Data, Variable, Relative) - // Horizontal wheel (1 or 2 bytes) 0x05, 0x0C, // Usage Page (Consumer) 0x0A, 0x38, 0x02, // Usage (AC Pan) @@ -575,13 +549,8 @@ const PROGMEM uchar shared_hid_report[] = { 0x75, 0x10, // Report Size (16) # endif 0x81, 0x06, // Input (Data, Variable, Relative) - -# ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE - 0xC0, // End Collection -# endif - - 0xC0, // End Collection - 0xC0, // End Collection + 0xC0, // End Collection + 0xC0, // End Collection #endif #ifdef EXTRAKEY_ENABLE diff --git a/users/_example/_example.c b/users/_example/_example.c index 5f9580d8e9..8e0778b122 100644 --- a/users/_example/_example.c +++ b/users/_example/_example.c @@ -2,4 +2,4 @@ void my_custom_function(void) { -} +} \ No newline at end of file diff --git a/users/_example/_example.h b/users/_example/_example.h index 72907d06d7..f7c7990257 100644 --- a/users/_example/_example.h +++ b/users/_example/_example.h @@ -5,4 +5,4 @@ void my_custom_function(void); -#endif +#endif \ No newline at end of file diff --git a/users/_example/readme.md b/users/_example/readme.md index d6ead7efd2..fdea33b67a 100644 --- a/users/_example/readme.md +++ b/users/_example/readme.md @@ -11,4 +11,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program. If not, see . +along with this program. If not, see . \ No newline at end of file diff --git a/users/_example/rules.mk b/users/_example/rules.mk index af076dd7fe..250adc3d0d 100644 --- a/users/_example/rules.mk +++ b/users/_example/rules.mk @@ -1 +1 @@ -SRC += _example.c +SRC += _example.c \ No newline at end of file diff --git a/users/readme.md b/users/readme.md index 8a490c28ce..d8f14d8beb 100644 --- a/users/readme.md +++ b/users/readme.md @@ -1,3 +1,3 @@ # User space -This is a place for users to put code that they might use between keyboards. If you build the keymap `mine`, `/users/mine/rules.mk` will be included in your build, and `/users/mine/` will be in your path - keep these things in mind when naming your files and referencing them from other places. +This is a place for users to put code that they might use between keyboards. If you build the keymap `mine`, `/users/mine/rules.mk` will be included in your build, and `/users/mine/` will be in your path - keep these things in mind when naming your files and referencing them from other places. \ No newline at end of file diff --git a/util/docker_cmd.sh b/util/docker_cmd.sh index cb0c4f3281..18725db068 100755 --- a/util/docker_cmd.sh +++ b/util/docker_cmd.sh @@ -34,17 +34,15 @@ if [ -z "$RUNTIME" ]; then fi fi -# If SKIP_FLASHING_SUPPORT is defined, do not check for docker-machine and do not run a privileged container -if [ -z "$SKIP_FLASHING_SUPPORT" ]; then - # IF we are using docker on non Linux and docker-machine isn't working print an error - # ELSE set usb_args - if [ ! "$(uname)" = "Linux" ] && [ "$RUNTIME" = "docker" ] && ! docker-machine active >/dev/null 2>&1; then - errcho "Error: target requires docker-machine to work on your platform" - errcho "See http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos" - exit 3 - else - usb_args="--privileged -v /dev:/dev" - fi + +# IF we are using docker on non Linux and docker-machine isn't working print an error +# ELSE set usb_args +if [ ! "$(uname)" = "Linux" ] && [ "$RUNTIME" = "docker" ] && ! docker-machine active >/dev/null 2>&1; then + errcho "Error: target requires docker-machine to work on your platform" + errcho "See http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos" + exit 3 +else + usb_args="--privileged -v /dev:/dev" fi qmk_firmware_dir=$(pwd -W 2>/dev/null) || qmk_firmware_dir=$PWD # Use Windows path if on Windows diff --git a/util/install/gentoo.sh b/util/install/gentoo.sh index 3c8f417fb7..49e80490be 100755 --- a/util/install/gentoo.sh +++ b/util/install/gentoo.sh @@ -22,7 +22,7 @@ _qmk_install() { echo "sys-devel/gcc multilib\ncross-arm-none-eabi/newlib nano" | sudo tee --append /etc/portage/package.use/qmkfirmware >/dev/null sudo emerge -auN sys-devel/gcc sudo emerge -au --noreplace \ - app-arch/unzip app-arch/zip net-misc/wget llvm-core/clang \ + app-arch/unzip app-arch/zip net-misc/wget sys-devel/clang \ sys-devel/crossdev \>=dev-lang/python-3.7 dev-embedded/avrdude \ dev-embedded/dfu-programmer app-mobilephone/dfu-util sys-apps/hwloc \ dev-libs/hidapi diff --git a/util/install/macos.sh b/util/install/macos.sh index 4db2f9be6b..a1b79fe868 100755 --- a/util/install/macos.sh +++ b/util/install/macos.sh @@ -9,24 +9,23 @@ _qmk_install_prepare() { return 1 fi - # Conflicts with arm-none-eabi toolchain from osx-cross - brew uninstall --ignore-dependencies --cask gcc-arm-embedded >/dev/null 2>&1 - brew uninstall --ignore-dependencies homebrew/core/arm-none-eabi-gcc >/dev/null 2>&1 - brew uninstall --ignore-dependencies homebrew/core/arm-none-eabi-binutils >/dev/null 2>&1 - brew uninstall --ignore-dependencies osx-cross/arm/arm-gcc-bin@8 >/dev/null 2>&1 - brew update && brew upgrade --formulae } _qmk_install() { echo "Installing dependencies" - # All macOS & Python dependencies are managed in the Homebrew package: - # https://github.com/qmk/homebrew-qmk + # All macOS dependencies are managed in the Homebrew package: + # https://github.com/qmk/homebrew-qmk brew install qmk/qmk/qmk + # Conflicts with new toolchain formulae + brew uninstall --ignore-dependencies arm-gcc-bin@8 >/dev/null 2>&1 + # Keg-only, so need to be manually linked brew link --force avr-gcc@8 brew link --force arm-none-eabi-binutils brew link --force arm-none-eabi-gcc@8 + + python3 -m pip install -r $QMK_FIRMWARE_DIR/requirements.txt } diff --git a/util/nix/poetry.lock b/util/nix/poetry.lock new file mode 100644 index 0000000000..e9ac914702 --- /dev/null +++ b/util/nix/poetry.lock @@ -0,0 +1,671 @@ +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. + +[[package]] +name = "appdirs" +version = "1.4.4" +description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +optional = false +python-versions = "*" +files = [ + {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, + {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, +] + +[[package]] +name = "argcomplete" +version = "3.2.2" +description = "Bash tab completion for argparse" +optional = false +python-versions = ">=3.8" +files = [ + {file = "argcomplete-3.2.2-py3-none-any.whl", hash = "sha256:e44f4e7985883ab3e73a103ef0acd27299dbfe2dfed00142c35d4ddd3005901d"}, + {file = "argcomplete-3.2.2.tar.gz", hash = "sha256:f3e49e8ea59b4026ee29548e24488af46e30c9de57d48638e24f54a1ea1000a2"}, +] + +[package.extras] +test = ["coverage", "mypy", "pexpect", "ruff", "wheel"] + +[[package]] +name = "attrs" +version = "23.2.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.7" +files = [ + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] +dev = ["attrs[tests]", "pre-commit"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] +tests = ["attrs[tests-no-zope]", "zope-interface"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "dotty-dict" +version = "1.3.1" +description = "Dictionary wrapper for quick access to deeply nested keys." +optional = false +python-versions = ">=3.5,<4.0" +files = [ + {file = "dotty_dict-1.3.1-py3-none-any.whl", hash = "sha256:5022d234d9922f13aa711b4950372a06a6d64cb6d6db9ba43d0ba133ebfce31f"}, + {file = "dotty_dict-1.3.1.tar.gz", hash = "sha256:4b016e03b8ae265539757a53eba24b9bfda506fb94fbce0bee843c6f05541a15"}, +] + +[[package]] +name = "flake8" +version = "7.0.0" +description = "the modular source code checker: pep8 pyflakes and co" +optional = false +python-versions = ">=3.8.1" +files = [ + {file = "flake8-7.0.0-py2.py3-none-any.whl", hash = "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3"}, + {file = "flake8-7.0.0.tar.gz", hash = "sha256:33f96621059e65eec474169085dc92bf26e7b2d47366b70be2f67ab80dc25132"}, +] + +[package.dependencies] +mccabe = ">=0.7.0,<0.8.0" +pycodestyle = ">=2.11.0,<2.12.0" +pyflakes = ">=3.2.0,<3.3.0" + +[[package]] +name = "halo" +version = "0.0.31" +description = "Beautiful terminal spinners in Python" +optional = false +python-versions = ">=3.4" +files = [ + {file = "halo-0.0.31-py2-none-any.whl", hash = "sha256:5350488fb7d2aa7c31a1344120cee67a872901ce8858f60da7946cef96c208ab"}, + {file = "halo-0.0.31.tar.gz", hash = "sha256:7b67a3521ee91d53b7152d4ee3452811e1d2a6321975137762eb3d70063cc9d6"}, +] + +[package.dependencies] +colorama = ">=0.3.9" +log-symbols = ">=0.0.14" +six = ">=1.12.0" +spinners = ">=0.0.24" +termcolor = ">=1.1.0" + +[package.extras] +ipython = ["IPython (==5.7.0)", "ipywidgets (==7.1.0)"] + +[[package]] +name = "hid" +version = "1.0.6" +description = "ctypes bindings for hidapi" +optional = false +python-versions = "*" +files = [ + {file = "hid-1.0.6-py3-none-any.whl", hash = "sha256:60446054aec54a767d9a4e97920761f41809a055c6d51c54879e37a706dcb588"}, + {file = "hid-1.0.6.tar.gz", hash = "sha256:48d764d7ae9746ba123b96dbf457893ca80268b7791c4b1d2e051310eeb83860"}, +] + +[[package]] +name = "hjson" +version = "3.1.0" +description = "Hjson, a user interface for JSON." +optional = false +python-versions = "*" +files = [ + {file = "hjson-3.1.0-py3-none-any.whl", hash = "sha256:65713cdcf13214fb554eb8b4ef803419733f4f5e551047c9b711098ab7186b89"}, + {file = "hjson-3.1.0.tar.gz", hash = "sha256:55af475a27cf83a7969c808399d7bccdec8fb836a07ddbd574587593b9cdcf75"}, +] + +[[package]] +name = "importlib-metadata" +version = "7.0.1" +description = "Read metadata from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_metadata-7.0.1-py3-none-any.whl", hash = "sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e"}, + {file = "importlib_metadata-7.0.1.tar.gz", hash = "sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc"}, +] + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +perf = ["ipython"] +testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] + +[[package]] +name = "jsonschema" +version = "4.21.1" +description = "An implementation of JSON Schema validation for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jsonschema-4.21.1-py3-none-any.whl", hash = "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f"}, + {file = "jsonschema-4.21.1.tar.gz", hash = "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +jsonschema-specifications = ">=2023.03.6" +referencing = ">=0.28.4" +rpds-py = ">=0.7.1" + +[package.extras] +format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] + +[[package]] +name = "jsonschema-specifications" +version = "2023.12.1" +description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, + {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, +] + +[package.dependencies] +referencing = ">=0.31.0" + +[[package]] +name = "log-symbols" +version = "0.0.14" +description = "Colored symbols for various log levels for Python" +optional = false +python-versions = "*" +files = [ + {file = "log_symbols-0.0.14-py3-none-any.whl", hash = "sha256:4952106ff8b605ab7d5081dd2c7e6ca7374584eff7086f499c06edd1ce56dcca"}, + {file = "log_symbols-0.0.14.tar.gz", hash = "sha256:cf0bbc6fe1a8e53f0d174a716bc625c4f87043cc21eb55dd8a740cfe22680556"}, +] + +[package.dependencies] +colorama = ">=0.3.9" + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +optional = false +python-versions = ">=3.6" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "milc" +version = "1.8.0" +description = "Opinionated Batteries-Included Python 3 CLI Framework." +optional = false +python-versions = ">=3.7" +files = [ + {file = "milc-1.8.0-py2.py3-none-any.whl", hash = "sha256:faee16fe92ce13eb1b0b4e24ac5b5003d7234880a8d21e4210016d70512bc921"}, + {file = "milc-1.8.0.tar.gz", hash = "sha256:cabe658de07ab97f937c7672b8a604cc825174c28d66d3afd047a9b4b2770bbe"}, +] + +[package.dependencies] +appdirs = "*" +argcomplete = "*" +colorama = "*" +halo = "*" +spinners = "*" +types-colorama = "*" + +[[package]] +name = "nose2" +version = "0.14.1" +description = "unittest with plugins" +optional = false +python-versions = ">=3.8" +files = [ + {file = "nose2-0.14.1-py3-none-any.whl", hash = "sha256:dfbf0d90c98b8d7bbf47d7721c7554ffcca86828ec074c985bb6ecc83c445a4e"}, + {file = "nose2-0.14.1.tar.gz", hash = "sha256:7f8f03a21c9de2c33015933afcef72bf8e4a2d5dfec3b40092287de6e41b093a"}, +] + +[package.extras] +coverage-plugin = ["coverage"] +dev = ["Sphinx", "sphinx-issues", "sphinx-rtd-theme"] + +[[package]] +name = "pep8-naming" +version = "0.13.3" +description = "Check PEP-8 naming conventions, plugin for flake8" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pep8-naming-0.13.3.tar.gz", hash = "sha256:1705f046dfcd851378aac3be1cd1551c7c1e5ff363bacad707d43007877fa971"}, + {file = "pep8_naming-0.13.3-py3-none-any.whl", hash = "sha256:1a86b8c71a03337c97181917e2b472f0f5e4ccb06844a0d6f0a33522549e7a80"}, +] + +[package.dependencies] +flake8 = ">=5.0.0" + +[[package]] +name = "pillow" +version = "10.2.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"}, + {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"}, + {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"}, + {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"}, + {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"}, + {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"}, + {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"}, + {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"}, + {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"}, + {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"}, + {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"}, + {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"}, + {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"}, + {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"}, + {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"}, + {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"}, + {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] + +[[package]] +name = "platformdirs" +version = "4.2.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, + {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] + +[[package]] +name = "pycodestyle" +version = "2.11.1" +description = "Python style guide checker" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"}, + {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"}, +] + +[[package]] +name = "pyflakes" +version = "3.2.0" +description = "passive checker of Python programs" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, + {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, +] + +[[package]] +name = "pygments" +version = "2.17.2" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.7" +files = [ + {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, + {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, +] + +[package.extras] +plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] + +[[package]] +name = "pyserial" +version = "3.5" +description = "Python Serial Port Extension" +optional = false +python-versions = "*" +files = [ + {file = "pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0"}, + {file = "pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb"}, +] + +[package.extras] +cp2110 = ["hidapi"] + +[[package]] +name = "pyusb" +version = "1.2.1" +description = "Python USB access module" +optional = false +python-versions = ">=3.6.0" +files = [ + {file = "pyusb-1.2.1-py3-none-any.whl", hash = "sha256:2b4c7cb86dbadf044dfb9d3a4ff69fd217013dbe78a792177a3feb172449ea36"}, + {file = "pyusb-1.2.1.tar.gz", hash = "sha256:a4cc7404a203144754164b8b40994e2849fde1cfff06b08492f12fff9d9de7b9"}, +] + +[[package]] +name = "qmk" +version = "1.1.5" +description = "A program to help users work with QMK Firmware." +optional = false +python-versions = ">=3.7" +files = [ + {file = "qmk-1.1.5-py2.py3-none-any.whl", hash = "sha256:9c16fa2ad9b279ce9cc121a5462f02637611c6f54c49f9f2cac8ba2898f35b94"}, + {file = "qmk-1.1.5.tar.gz", hash = "sha256:2efe3c752230c6ba24b8719c3b6e85a5644bf8f7d0dd237757eda9b7b7e60b11"}, +] + +[package.dependencies] +dotty-dict = "*" +hid = "*" +hjson = "*" +jsonschema = ">=4" +milc = ">=1.6.8" +pillow = "*" +pygments = "*" +pyserial = "*" +pyusb = "*" +setuptools = ">=45" + +[[package]] +name = "referencing" +version = "0.33.0" +description = "JSON Referencing + Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"}, + {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +rpds-py = ">=0.7.0" + +[[package]] +name = "rpds-py" +version = "0.18.0" +description = "Python bindings to Rust's persistent data structures (rpds)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "rpds_py-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e"}, + {file = "rpds_py-0.18.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88"}, + {file = "rpds_py-0.18.0-cp310-none-win32.whl", hash = "sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337"}, + {file = "rpds_py-0.18.0-cp310-none-win_amd64.whl", hash = "sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66"}, + {file = "rpds_py-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4"}, + {file = "rpds_py-0.18.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836"}, + {file = "rpds_py-0.18.0-cp311-none-win32.whl", hash = "sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1"}, + {file = "rpds_py-0.18.0-cp311-none-win_amd64.whl", hash = "sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa"}, + {file = "rpds_py-0.18.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0"}, + {file = "rpds_py-0.18.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7"}, + {file = "rpds_py-0.18.0-cp312-none-win32.whl", hash = "sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98"}, + {file = "rpds_py-0.18.0-cp312-none-win_amd64.whl", hash = "sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec"}, + {file = "rpds_py-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e"}, + {file = "rpds_py-0.18.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594"}, + {file = "rpds_py-0.18.0-cp38-none-win32.whl", hash = "sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e"}, + {file = "rpds_py-0.18.0-cp38-none-win_amd64.whl", hash = "sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1"}, + {file = "rpds_py-0.18.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33"}, + {file = "rpds_py-0.18.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20"}, + {file = "rpds_py-0.18.0-cp39-none-win32.whl", hash = "sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7"}, + {file = "rpds_py-0.18.0-cp39-none-win_amd64.whl", hash = "sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f"}, + {file = "rpds_py-0.18.0.tar.gz", hash = "sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d"}, +] + +[[package]] +name = "setuptools" +version = "69.1.1" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-69.1.1-py3-none-any.whl", hash = "sha256:02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56"}, + {file = "setuptools-69.1.1.tar.gz", hash = "sha256:5c0806c7d9af348e6dd3777b4f4dbb42c7ad85b190104837488eab9a7c945cf8"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "spinners" +version = "0.0.24" +description = "Spinners for terminals" +optional = false +python-versions = "*" +files = [ + {file = "spinners-0.0.24-py3-none-any.whl", hash = "sha256:2fa30d0b72c9650ad12bbe031c9943b8d441e41b4f5602b0ec977a19f3290e98"}, + {file = "spinners-0.0.24.tar.gz", hash = "sha256:1eb6aeb4781d72ab42ed8a01dcf20f3002bf50740d7154d12fb8c9769bf9e27f"}, +] + +[[package]] +name = "termcolor" +version = "2.4.0" +description = "ANSI color formatting for output in terminal" +optional = false +python-versions = ">=3.8" +files = [ + {file = "termcolor-2.4.0-py3-none-any.whl", hash = "sha256:9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63"}, + {file = "termcolor-2.4.0.tar.gz", hash = "sha256:aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a"}, +] + +[package.extras] +tests = ["pytest", "pytest-cov"] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "types-colorama" +version = "0.4.15.20240205" +description = "Typing stubs for colorama" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-colorama-0.4.15.20240205.tar.gz", hash = "sha256:7ae4f58d407d387f4f98b24d81e1b7657ec754ea1dc4619ae5bd27f0c367637e"}, + {file = "types_colorama-0.4.15.20240205-py3-none-any.whl", hash = "sha256:3ab26dcd76d2f13b1b795ed5c87a1a1a29331ea64cf614bb6ae958a3cebc3a53"}, +] + +[[package]] +name = "yapf" +version = "0.40.2" +description = "A formatter for Python code" +optional = false +python-versions = ">=3.7" +files = [ + {file = "yapf-0.40.2-py3-none-any.whl", hash = "sha256:adc8b5dd02c0143108878c499284205adb258aad6db6634e5b869e7ee2bd548b"}, + {file = "yapf-0.40.2.tar.gz", hash = "sha256:4dab8a5ed7134e26d57c1647c7483afb3f136878b579062b786c9ba16b94637b"}, +] + +[package.dependencies] +importlib-metadata = ">=6.6.0" +platformdirs = ">=3.5.1" +tomli = ">=2.0.1" + +[[package]] +name = "zipp" +version = "3.17.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, + {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.11" +content-hash = "6146ea1571def62c4f7ff33173e0144bcfd206c178936365bff8b4e1669b90ff" diff --git a/util/nix/pyproject.toml b/util/nix/pyproject.toml new file mode 100644 index 0000000000..fa62eb96c0 --- /dev/null +++ b/util/nix/pyproject.toml @@ -0,0 +1,39 @@ +# This file should be kept in sync with requirements.txt and requirements-dev.txt +# It is particularly required by the Nix environment (see shell.nix). To update versions, +# normally one would run "poetry update --lock" +[tool.poetry] +name = "qmk_firmware" +version = "0.1.0" +description = "" +authors = [] + +[tool.poetry.dependencies] +python = "^3.11" +appdirs = "*" +argcomplete = "*" +colorama = "*" +dotty-dict = "*" +hid = "*" +hjson = "*" +jsonschema = ">=4" +milc = ">=1.4.2" +Pygments = "*" +pyserial = "*" +pyusb = "*" +pillow = "*" + +# This dependency is not mentioned in requirements.txt (QMK CLI is not a +# library package that is required by the Python code in qmk_firmware), but is +# required to build a proper nix-shell environment. +qmk = "*" + +[tool.poetry.dev-dependencies] +nose2 = "*" +flake8 = "*" +pep8-naming = "*" +pyflakes = "*" +yapf = "*" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/util/nix/sources.json b/util/nix/sources.json new file mode 100644 index 0000000000..3985f75e03 --- /dev/null +++ b/util/nix/sources.json @@ -0,0 +1,38 @@ +{ + "niv": { + "branch": "master", + "description": "Easy dependency management for Nix projects", + "homepage": "https://github.com/nmattia/niv", + "owner": "nmattia", + "repo": "niv", + "rev": "af958e8057f345ee1aca714c1247ef3ba1c15f5e", + "sha256": "1qjavxabbrsh73yck5dcq8jggvh3r2jkbr6b5nlz5d9yrqm9255n", + "type": "tarball", + "url": "https://github.com/nmattia/niv/archive/af958e8057f345ee1aca714c1247ef3ba1c15f5e.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + }, + "nixpkgs": { + "branch": "nixpkgs-unstable", + "description": "Nix Packages collection", + "homepage": "", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "98b00b6947a9214381112bdb6f89c25498db4959", + "sha256": "1m6dm144mbm56n9293m26f46bjrklknyr4q4kzvxkiv036ijma98", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/98b00b6947a9214381112bdb6f89c25498db4959.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + }, + "poetry2nix": { + "branch": "master", + "description": "Convert poetry projects to nix automagically [maintainer=@adisbladis] ", + "homepage": "", + "owner": "nix-community", + "repo": "poetry2nix", + "rev": "3c92540611f42d3fb2d0d084a6c694cd6544b609", + "sha256": "1jfrangw0xb5b8sdkimc550p3m98zhpb1fayahnr7crg74as4qyq", + "type": "tarball", + "url": "https://github.com/nix-community/poetry2nix/archive/3c92540611f42d3fb2d0d084a6c694cd6544b609.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + } +} diff --git a/util/nix/sources.nix b/util/nix/sources.nix new file mode 100644 index 0000000000..fe3dadf7eb --- /dev/null +++ b/util/nix/sources.nix @@ -0,0 +1,198 @@ +# This file has been generated by Niv. + +let + + # + # The fetchers. fetch_ fetches specs of type . + # + + fetch_file = pkgs: name: spec: + let + name' = sanitizeName name + "-src"; + in + if spec.builtin or true then + builtins_fetchurl { inherit (spec) url sha256; name = name'; } + else + pkgs.fetchurl { inherit (spec) url sha256; name = name'; }; + + fetch_tarball = pkgs: name: spec: + let + name' = sanitizeName name + "-src"; + in + if spec.builtin or true then + builtins_fetchTarball { name = name'; inherit (spec) url sha256; } + else + pkgs.fetchzip { name = name'; inherit (spec) url sha256; }; + + fetch_git = name: spec: + let + ref = + spec.ref or ( + if spec ? branch then "refs/heads/${spec.branch}" else + if spec ? tag then "refs/tags/${spec.tag}" else + abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!" + ); + submodules = spec.submodules or false; + submoduleArg = + let + nixSupportsSubmodules = builtins.compareVersions builtins.nixVersion "2.4" >= 0; + emptyArgWithWarning = + if submodules + then + builtins.trace + ( + "The niv input \"${name}\" uses submodules " + + "but your nix's (${builtins.nixVersion}) builtins.fetchGit " + + "does not support them" + ) + { } + else { }; + in + if nixSupportsSubmodules + then { inherit submodules; } + else emptyArgWithWarning; + in + builtins.fetchGit + ({ url = spec.repo; inherit (spec) rev; inherit ref; } // submoduleArg); + + fetch_local = spec: spec.path; + + fetch_builtin-tarball = name: throw + ''[${name}] The niv type "builtin-tarball" is deprecated. You should instead use `builtin = true`. + $ niv modify ${name} -a type=tarball -a builtin=true''; + + fetch_builtin-url = name: throw + ''[${name}] The niv type "builtin-url" will soon be deprecated. You should instead use `builtin = true`. + $ niv modify ${name} -a type=file -a builtin=true''; + + # + # Various helpers + # + + # https://github.com/NixOS/nixpkgs/pull/83241/files#diff-c6f540a4f3bfa4b0e8b6bafd4cd54e8bR695 + sanitizeName = name: + ( + concatMapStrings (s: if builtins.isList s then "-" else s) + ( + builtins.split "[^[:alnum:]+._?=-]+" + ((x: builtins.elemAt (builtins.match "\\.*(.*)" x) 0) name) + ) + ); + + # The set of packages used when specs are fetched using non-builtins. + mkPkgs = sources: system: + let + sourcesNixpkgs = + import (builtins_fetchTarball { inherit (sources.nixpkgs) url sha256; }) { inherit system; }; + hasNixpkgsPath = builtins.any (x: x.prefix == "nixpkgs") builtins.nixPath; + hasThisAsNixpkgsPath = == ./.; + in + if builtins.hasAttr "nixpkgs" sources + then sourcesNixpkgs + else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then + import { } + else + abort + '' + Please specify either (through -I or NIX_PATH=nixpkgs=...) or + add a package called "nixpkgs" to your sources.json. + ''; + + # The actual fetching function. + fetch = pkgs: name: spec: + + if ! builtins.hasAttr "type" spec then + abort "ERROR: niv spec ${name} does not have a 'type' attribute" + else if spec.type == "file" then fetch_file pkgs name spec + else if spec.type == "tarball" then fetch_tarball pkgs name spec + else if spec.type == "git" then fetch_git name spec + else if spec.type == "local" then fetch_local spec + else if spec.type == "builtin-tarball" then fetch_builtin-tarball name + else if spec.type == "builtin-url" then fetch_builtin-url name + else + abort "ERROR: niv spec ${name} has unknown type ${builtins.toJSON spec.type}"; + + # If the environment variable NIV_OVERRIDE_${name} is set, then use + # the path directly as opposed to the fetched source. + replace = name: drv: + let + saneName = stringAsChars (c: if (builtins.match "[a-zA-Z0-9]" c) == null then "_" else c) name; + ersatz = builtins.getEnv "NIV_OVERRIDE_${saneName}"; + in + if ersatz == "" then drv else + # this turns the string into an actual Nix path (for both absolute and + # relative paths) + if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}"; + + # Ports of functions for older nix versions + + # a Nix version of mapAttrs if the built-in doesn't exist + mapAttrs = builtins.mapAttrs or ( + f: set: with builtins; + listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set)) + ); + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295 + range = first: last: if first > last then [ ] else builtins.genList (n: first + n) (last - first + 1); + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257 + stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1)); + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L269 + stringAsChars = f: s: concatStrings (map f (stringToCharacters s)); + concatMapStrings = f: list: concatStrings (map f list); + concatStrings = builtins.concatStringsSep ""; + + # https://github.com/NixOS/nixpkgs/blob/8a9f58a375c401b96da862d969f66429def1d118/lib/attrsets.nix#L331 + optionalAttrs = cond: as: if cond then as else { }; + + # fetchTarball version that is compatible between all the versions of Nix + builtins_fetchTarball = { url, name ? null, sha256 }@attrs: + let + inherit (builtins) lessThan nixVersion fetchTarball; + in + if lessThan nixVersion "1.12" then + fetchTarball ({ inherit url; } // (optionalAttrs (name != null) { inherit name; })) + else + fetchTarball attrs; + + # fetchurl version that is compatible between all the versions of Nix + builtins_fetchurl = { url, name ? null, sha256 }@attrs: + let + inherit (builtins) lessThan nixVersion fetchurl; + in + if lessThan nixVersion "1.12" then + fetchurl ({ inherit url; } // (optionalAttrs (name != null) { inherit name; })) + else + fetchurl attrs; + + # Create the final "sources" from the config + mkSources = config: + mapAttrs + ( + name: spec: + if builtins.hasAttr "outPath" spec + then + abort + "The values in sources.json should not have an 'outPath' attribute" + else + spec // { outPath = replace name (fetch config.pkgs name spec); } + ) + config.sources; + + # The "config" used by the fetchers + mkConfig = + { sourcesFile ? if builtins.pathExists ./sources.json then ./sources.json else null + , sources ? if sourcesFile == null then { } else builtins.fromJSON (builtins.readFile sourcesFile) + , system ? builtins.currentSystem + , pkgs ? mkPkgs sources system + }: rec { + # The sources, i.e. the attribute set of spec name to spec + inherit sources; + + # The "pkgs" (evaluated nixpkgs) to use for e.g. non-builtin fetchers + inherit pkgs; + }; + +in +mkSources (mkConfig { }) // { __functor = _: settings: mkSources (mkConfig settings); } diff --git a/util/regen.sh b/util/regen.sh index df40444f80..ab03018893 100755 --- a/util/regen.sh +++ b/util/regen.sh @@ -3,6 +3,7 @@ set -e qmk generate-rgb-breathe-table -o quantum/rgblight/rgblight_breathe_table.h qmk generate-keycodes --version latest -o quantum/keycodes.h +qmk generate-keycodes-tests --version latest -o tests/test_common/keycode_table.cpp for lang in $(find data/constants/keycodes/extras/ -type f -exec basename '{}' \; | sed "s/keycodes_\(.*\)_[0-9].*/\1/"); do qmk generate-keycode-extras --version latest --lang $lang -o quantum/keymap_extras/keymap_$lang.h diff --git a/util/usb_detach/usb_detach.c b/util/usb_detach/usb_detach.c index 8047c37ba3..786ab5e674 100644 --- a/util/usb_detach/usb_detach.c +++ b/util/usb_detach/usb_detach.c @@ -31,4 +31,4 @@ int main(int argc, char**argv) printf ("usage: %s /dev/bus/usb/BUS/DEVICE\n",argv[0]); printf("Release all interfaces of this usb device for usage in virtualisation\n"); } -} +} \ No newline at end of file