Compare commits

..

1 Commits

Author SHA1 Message Date
33f5e67408 Download relevant toolchain. 2024-07-01 23:04:04 +10:00
7552 changed files with 167954 additions and 36424 deletions

View File

@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: QMK Discord
url: https://discord.gg/qmk
url: https://discord.gg/Uq7gcHh
about: Ask questions, discuss issues and features. Chill.
- name: OLKB Subreddit
url: https://www.reddit.com/r/olkb

View File

@ -1,5 +1,6 @@
<!--- Provide a general summary of your changes in the title above. -->
<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
## Description
@ -14,7 +15,7 @@
- [ ] New feature
- [ ] Enhancement/optimization
- [ ] Keyboard (addition or update)
- [ ] Keymap/layout (addition or update)
- [ ] Keymap/layout/userspace (addition or update)
- [ ] Documentation
## Issues Fixed or Closed by This PR

82
.github/labeler.yml vendored
View File

@ -1,56 +1,46 @@
core:
- changed-files:
- any-glob-to-any-file:
- quantum/**
- tmk_core/**
- drivers/**
- tests/**
- util/**
- platforms/**
- builddefs/*.mk
- Makefile
- '*.mk'
- quantum/**/*
- tmk_core/**/*
- drivers/**/*
- tests/**/*
- util/**/*
- platforms/**/*
- builddefs/**/*
- Makefile
- '*.mk'
dependencies:
- changed-files:
- all-globs-to-any-file:
- lib/**
- '!lib/python/**'
- any:
- 'lib/**/*'
- '!lib/python/**/*'
keyboard:
- changed-files:
- all-globs-to-any-file:
- keyboards/**
- '!keyboards/**/keymaps/**'
- any:
- 'keyboards/**/*'
- '!keyboards/**/keymaps/**/*'
keymap:
- changed-files:
- any-glob-to-any-file:
- users/**
- layouts/**
- keyboards/**/keymaps/**
- users/**/*
- layouts/**/*
- keyboards/**/keymaps/**/*
via:
- changed-files:
- any-glob-to-any-file:
- keyboards/**/keymaps/via/*
- keyboards/**/keymaps/via/*
cli:
- changed-files:
- any-glob-to-any-file:
- requirements.txt
- lib/python/**
- requirements.txt
- lib/python/**/*
python:
- changed-files:
- any-glob-to-any-file:
- '**/*.py'
- '**/*.py'
documentation:
- changed-files:
- any-glob-to-any-file:
- docs/**
- builddefs/docsgen/**
- docs/**/*
translation:
- docs/fr-fr/**/*
- docs/es/**/*
- docs/ja/**/*
- docs/he-il/**/*
- docs/pt-br/**/*
- docs/zh-cn/**/*
- docs/de/**/*
- docs/ru-ru/**/*
CI:
- changed-files:
- any-glob-to-any-file:
- .github/**
- .github/**/*
dd:
- changed-files:
- any-glob-to-any-file:
- data/constants/**
- data/mappings/**
- data/schemas/**
- data/constants/**/*
- data/mappings/**/*
- data/schemas/**/*

View File

@ -13,8 +13,8 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: zvecr/automatic-approve-action@safe_files
- uses: mheap/automatic-approve-action@v1
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
workflows: "labeler.yml,lint.yml,docs.yml"
safe_files: "keyboards/,docs/"
workflows: "format.yml,lint.yml,unit_test.yml"
dangerous_files: "lib/python/,Makefile,paths.mk,builddefs/"

View File

@ -52,9 +52,9 @@ jobs:
run: |
target_count=$( {
qmk find -km default 2>/dev/null
# qmk find -km xap 2>/dev/null
qmk find -km via 2>/dev/null
} | sort | uniq | wc -l)
slice_length=$((target_count / ($CONCURRENT_JOBS - 1))) # Err on the side of caution
slice_length=$((target_count / ($CONCURRENT_JOBS - 1))) # Err on the side of caution as we're splitting default and via
echo "slice_length=$slice_length" >> $GITHUB_OUTPUT
build_targets:
@ -63,8 +63,7 @@ jobs:
strategy:
fail-fast: false
matrix:
keymap: [default]
# keymap: [default, xap]
keymap: [default, via]
uses: ./.github/workflows/ci_build_major_branch_keymap.yml
with:
branch: ${{ inputs.branch || github.ref_name }}
@ -78,59 +77,44 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Disable safe.directory check
run: |
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download firmwares
uses: actions/download-artifact@v4
with:
pattern: firmware-*
path: .
path: firmwares
merge-multiple: true
- name: Generate index page
run: |
python3 -m pip install -r ./util/ci/requirements.txt
./util/ci/index_generator.py > index.html
./util/ci/firmware_list_generator.py > firmware_list.json
- name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/${{ github.sha }}
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2'
args: --acl public-read --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }}
AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }}
AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }}
SOURCE_DIR: .
SOURCE_DIR: firmwares
DEST_DIR: ${{ inputs.branch || github.ref_name }}/${{ github.sha }}
- name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/latest
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2'
args: --acl public-read --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }}
AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }}
AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }}
SOURCE_DIR: .
SOURCE_DIR: firmwares
DEST_DIR: ${{ inputs.branch || github.ref_name }}/latest
- name: Check if failure marker file exists
id: check_failure_marker
uses: andstor/file-existence-action@v3
with:
files: ./.failed
files: firmwares/.failed
- name: Fail build if needed
if: steps.check_failure_marker.outputs.files_exists == 'true'

View File

@ -172,10 +172,10 @@ jobs:
targets-${{ inputs.keymap }}
- name: 'CI Discord Notification'
if: always() && !cancelled()
if: always()
working-directory: util/ci/
env:
DISCORD_WEBHOOK: ${{ secrets.CI_DISCORD_WEBHOOK }}
run: |
python3 -m pip install -r requirements.txt
python3 ./discord-results.py --branch ${{ inputs.branch || github.ref_name }} --sha $(git rev-parse HEAD) --keymap ${{ inputs.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
python3 ./discord-results.py --branch ${{ inputs.branch || github.ref_name }} --keymap ${{ inputs.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}

View File

@ -56,7 +56,7 @@ jobs:
- name: Deploy
if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }}
uses: JamesIves/github-pages-deploy-action@v4.6.4
uses: JamesIves/github-pages-deploy-action@v4.6.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages

View File

@ -35,7 +35,7 @@ jobs:
- name: Get changed files
id: file_changes
uses: tj-actions/changed-files@v45
uses: tj-actions/changed-files@v44
with:
use_rest_api: true

View File

@ -47,7 +47,7 @@ jobs:
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
uses: peter-evans/create-pull-request@v6
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}

View File

@ -1,13 +1,18 @@
name: "Pull Request Labeler"
permissions:
contents: read
pull-requests: write
on:
- pull_request_target
pull_request_target:
types: [opened, synchronize, reopened, ready_for_review, locked]
jobs:
triage:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: '.github/labeler.yml'

View File

@ -27,7 +27,7 @@ jobs:
- name: Get changed files
id: file_changes
uses: tj-actions/changed-files@v45
uses: tj-actions/changed-files@v44
with:
use_rest_api: true

View File

@ -34,7 +34,7 @@ jobs:
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
uses: peter-evans/create-pull-request@v6
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}

4
.gitignore vendored
View File

@ -25,8 +25,7 @@
*.la
*.stackdump
*.sym
index.html
firmware_list.json
qmk_toolchains*
# QMK-specific
api_data/v1
@ -118,5 +117,4 @@ compile_commands.json
# VIA(L) files that don't belong in QMK repo
via*.json
/keyboards/**/keymaps/via/*
/keyboards/**/keymaps/vial/*

View File

@ -34,13 +34,10 @@ ifeq ($(strip $(DUMP_CI_METADATA)),yes)
endif
# Force expansion
override TARGET := $(TARGET)
TARGET := $(TARGET)
ifneq ($(FORCE_LAYOUT),)
override TARGET := $(TARGET)_$(FORCE_LAYOUT)
endif
ifneq ($(CONVERT_TO),)
override TARGET := $(TARGET)_$(CONVERT_TO)
TARGET := $(TARGET)_$(FORCE_LAYOUT)
endif
# Object files and generated keymap directory
@ -61,6 +58,9 @@ ifdef SKIP_GIT
VERSION_H_FLAGS += --skip-git
endif
# Generate the board's version.h file.
$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(INTERMEDIATE_OUTPUT)/src/version.h)
# Determine which subfolders exist.
KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD)
KEYBOARD_FOLDER_PATH_2 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_1)))
@ -212,20 +212,12 @@ $(INTERMEDIATE_OUTPUT)/src/config.h: $(KEYMAP_JSON)
$(eval CMD=$(QMK_BIN) generate-config-h --quiet --output $(KEYMAP_H) $(KEYMAP_JSON))
@$(BUILD_CMD)
$(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)
generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/keymap.c $(INTERMEDIATE_OUTPUT)/src/keymap.h
generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/keymap.c
endif
include $(BUILDDEFS_PATH)/converters.mk
# Generate the board's version.h file.
$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(INTERMEDIATE_OUTPUT)/src/version.h)
MCU_ORIG := $(MCU)
include $(wildcard $(PLATFORM_PATH)/*/mcu_selection.mk)

View File

@ -47,8 +47,7 @@ PLATFORM:=TEST
PLATFORM_KEY:=test
BOOTLOADER_TYPE:=none
DEBUG ?= 0
ifneq ($(strip $(DEBUG)), 0)
ifeq ($(strip $(DEBUG)), 1)
CONSOLE_ENABLE = yes
endif

View File

@ -282,17 +282,18 @@ ifneq ($(strip $(WEAR_LEVELING_DRIVER)),none)
endif
endif
VALID_FLASH_DRIVER_TYPES := spi custom
VALID_FLASH_DRIVER_TYPES := spi
FLASH_DRIVER ?= none
ifneq ($(strip $(FLASH_DRIVER)), none)
ifeq ($(filter $(FLASH_DRIVER),$(VALID_FLASH_DRIVER_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid FLASH_DRIVER,FLASH_DRIVER="$(FLASH_DRIVER)" is not a valid flash driver)
else
OPT_DEFS += -DFLASH_ENABLE -DFLASH_DRIVER -DFLASH_DRIVER_$(strip $(shell echo $(FLASH_DRIVER) | tr '[:lower:]' '[:upper:]'))
COMMON_VPATH += $(DRIVER_PATH)/flash
OPT_DEFS += -DFLASH_ENABLE
ifeq ($(strip $(FLASH_DRIVER)),spi)
SRC += flash_spi.c
SPI_DRIVER_REQUIRED = yes
OPT_DEFS += -DFLASH_DRIVER -DFLASH_SPI
COMMON_VPATH += $(DRIVER_PATH)/flash
SRC += flash_spi.c
endif
endif
endif

View File

@ -32,6 +32,9 @@ ifneq ($(CONVERT_TO),)
PLATFORM_KEY = $(shell echo $(CONVERTER) | cut -d "/" -f2)
# force setting as value can be from environment
override TARGET := $(TARGET)_$(CONVERT_TO)
# Configure any defaults
OPT_DEFS += -DCONVERT_TO_$(shell echo $(CONVERT_TO) | tr '[:lower:]' '[:upper:]')
OPT_DEFS += -DCONVERTER_TARGET=\"$(CONVERT_TO)\"

View File

@ -33,7 +33,7 @@ export default defineConfig(({ mode }) => {
},
title: 'QMK Firmware',
nav: [{ text: "Home", link: "/" }],
nav: [{ text: "Home", link: "./" }],
search: {
provider: "local",

View File

@ -1,7 +1,7 @@
{
"license": "GPL-2.0-or-later",
"devDependencies": {
"vite": "^5.2.14",
"vite": "^5.2.10",
"vitepress": "^1.1.0",
"vitepress-plugin-tabs": "^0.5.0",
"vue": "^3.4.24"

View File

@ -743,10 +743,10 @@ tabbable@^6.2.0:
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
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==
vite@^5.2.10, vite@^5.2.9:
version "5.2.10"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.10.tgz#2ac927c91e99d51b376a5c73c0e4b059705f5bd7"
integrity sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==
dependencies:
esbuild "^0.20.1"
postcss "^8.4.38"

File diff suppressed because it is too large Load Diff

View File

@ -1,175 +0,0 @@
{
"keycodes": {
"0x00CD": {
"group": "mouse",
"key": "QK_MOUSE_CURSOR_UP",
"label": "Mouse cursor up",
"aliases": [
"!reset!",
"MS_UP"
]
},
"0x00CE": {
"group": "mouse",
"key": "QK_MOUSE_CURSOR_DOWN",
"label": "Mouse cursor down",
"aliases": [
"!reset!",
"MS_DOWN"
]
},
"0x00CF": {
"group": "mouse",
"key": "QK_MOUSE_CURSOR_LEFT",
"label": "Mouse cursor left",
"aliases": [
"!reset!",
"MS_LEFT"
]
},
"0x00D0": {
"group": "mouse",
"key": "QK_MOUSE_CURSOR_RIGHT",
"label": "Mouse cursor right",
"aliases": [
"!reset!",
"MS_RGHT"
]
},
"0x00D1": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_1",
"label": "Mouse button 1",
"aliases": [
"!reset!",
"MS_BTN1"
]
},
"0x00D2": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_2",
"label": "Mouse button 2",
"aliases": [
"!reset!",
"MS_BTN2"
]
},
"0x00D3": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_3",
"label": "Mouse button 3",
"aliases": [
"!reset!",
"MS_BTN3"
]
},
"0x00D4": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_4",
"label": "Mouse button 4",
"aliases": [
"!reset!",
"MS_BTN4"
]
},
"0x00D5": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_5",
"label": "Mouse button 5",
"aliases": [
"!reset!",
"MS_BTN5"
]
},
"0x00D6": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_6",
"label": "Mouse button 6",
"aliases": [
"!reset!",
"MS_BTN6"
]
},
"0x00D7": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_7",
"label": "Mouse button 7",
"aliases": [
"!reset!",
"MS_BTN7"
]
},
"0x00D8": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_8",
"label": "Mouse button 8",
"aliases": [
"!reset!",
"MS_BTN8"
]
},
"0x00D9": {
"group": "mouse",
"key": "QK_MOUSE_WHEEL_UP",
"label": "Mouse wheel up",
"aliases": [
"!reset!",
"MS_WHLU"
]
},
"0x00DA": {
"group": "mouse",
"key": "QK_MOUSE_WHEEL_DOWN",
"label": "Mouse wheel down",
"aliases": [
"!reset!",
"MS_WHLD"
]
},
"0x00DB": {
"group": "mouse",
"key": "QK_MOUSE_WHEEL_LEFT",
"label": "Mouse wheel left",
"aliases": [
"!reset!",
"MS_WHLL"
]
},
"0x00DC": {
"group": "mouse",
"key": "QK_MOUSE_WHEEL_RIGHT",
"label": "Mouse wheel right",
"aliases": [
"!reset!",
"MS_WHLR"
]
},
"0x00DD": {
"group": "mouse",
"key": "QK_MOUSE_ACCELERATION_0",
"label": "Set mouse acceleration to 0",
"aliases": [
"!reset!",
"MS_ACL0"
]
},
"0x00DE": {
"group": "mouse",
"key": "QK_MOUSE_ACCELERATION_1",
"label": "Set mouse acceleration to 1",
"aliases": [
"!reset!",
"MS_ACL1"
]
},
"0x00DF": {
"group": "mouse",
"key": "QK_MOUSE_ACCELERATION_2",
"label": "Set mouse acceleration to 2",
"aliases": [
"!reset!",
"MS_ACL2"
]
}
}
}

View File

@ -72,11 +72,6 @@
"LED_KANA_PIN": {"info_key": "indicators.kana"},
"LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"},
// Joystick
"JOYSTICK_AXIS_COUNT": {"info_key": "joystick.axis_count", "value_type": "int"},
"JOYSTICK_AXIS_RESOLUTION": {"info_key": "joystick.axis_resolution", "value_type": "int"},
"JOYSTICK_BUTTON_COUNT": {"info_key": "joystick.button_count", "value_type": "int"},
// Leader Key
"LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "flag"},
"LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "flag"},
@ -176,7 +171,7 @@
"SECURE_UNLOCK_TIMEOUT": {"info_key": "secure.unlock_timeout", "value_type": "int"},
// Split Keyboard
"SOFT_SERIAL_PIN": {"info_key": "split.serial.pin"},
"SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"},
"SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
"SPLIT_HAND_MATRIX_GRID": {"info_key": "split.handedness.matrix_grid", "value_type": "array", "to_c": false},
"SPLIT_HAND_PIN": {"info_key": "split.handedness.pin"},

View File

@ -25,8 +25,6 @@
"ENCODER_DRIVER": {"info_key": "encoder.driver"},
"FIRMWARE_FORMAT": {"info_key": "build.firmware_format"},
"HAPTIC_DRIVER": {"info_key": "haptic.driver"},
"JOYSTICK_DRIVER": {"info_key": "joystick.driver"},
"JOYSTICK_ENABLE": {"info_key": "joystick.enabled", "value_type": "bool"},
"KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"},
"LAYOUTS": {"info_key": "community_layouts", "value_type": "list"},
"LED_MATRIX_DRIVER": {"info_key": "led_matrix.driver"},
@ -43,7 +41,6 @@
"RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"},
"RGBLIGHT_DRIVER": {"info_key": "rgblight.driver"},
"SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"},
"SERIAL_DRIVER": {"info_key": "split.serial.driver"},
"SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
"SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
"STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"},

View File

@ -563,15 +563,6 @@
"plain60": {
"target": "evyd13/plain60"
},
"planck/ez": {
"target": "zsa/planck_ez/base"
},
"planck/ez/base": {
"target": "zsa/planck_ez/base"
},
"planck/ez/glow": {
"target": "zsa/planck_ez/glow"
},
"ploopyco/trackball": {
"target": "ploopyco/trackball/rev1_005"
},
@ -1069,7 +1060,7 @@
"target": "lyso1/lefishe"
},
"lets_split_eh/eh": {
"target": "maple_computing/lets_split_eh"
"target": "maple_computing/lets_split_eh/eh"
},
"ls_60": {
"target": "weirdo/ls_60"
@ -1089,9 +1080,6 @@
"macro1": {
"target": "laneware/macro1"
},
"maple_computing/lets_split_eh/eh": {
"target": "maple_computing/lets_split_eh"
},
"massdrop/thekey": {
"target": "drop/thekey/v1"
},
@ -1149,12 +1137,6 @@
"mt980": {
"target": "mt/mt980"
},
"mt/ncr80/hotswap": {
"target": "mt/ncr80/r2/hotswap"
},
"mt/ncr80/solder": {
"target": "mt/ncr80/r2/solder"
},
"nafuda": {
"target": "salicylic_acid3/nafuda"
},
@ -1543,8 +1525,5 @@
},
"kprepublic/jj50": {
"target": "kprepublic/jj50/rev1"
},
"dnworks/9973": {
"target": "dnworks/tkl87"
}
}

View File

@ -16,6 +16,12 @@
"type": "object",
"additionalProperties": {"type": "boolean"}
},
"build_target": {
"oneOf": [
{"$ref": "#/keyboard_keymap_tuple"},
{"$ref": "#/json_file_path"}
]
},
"filename": {
"type": "string",
"minLength": 1,
@ -47,19 +53,6 @@
{"$ref": "#/keyboard"},
{"$ref": "#/filename"}
],
"minItems": 2,
"maxItems": 2,
"unevaluatedItems": false
},
"keyboard_keymap_env": {
"type": "array",
"prefixItems": [
{"$ref": "#/keyboard"},
{"$ref": "#/filename"},
{"$ref": "#/kvp_object"}
],
"minItems": 3,
"maxItems": 3,
"unevaluatedItems": false
},
"keycode": {
@ -94,10 +87,6 @@
"maxLength": 7,
"pattern": "^[A-Z][A-Zs_0-9]*$"
},
"kvp_object": {
"type": "object",
"additionalProperties": {"type": "string"}
},
"layout_macro": {
"oneOf": [
{

View File

@ -0,0 +1 @@
false

View File

@ -342,36 +342,6 @@
"on_state": {"$ref": "qmk.definitions.v1#/bit"}
}
},
"joystick": {
"type": "object",
"properties": {
"enabled": {"type": "boolean"},
"driver": {"type": "string"},
"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"]}
"additionalProperties": {
"oneOf": [
{
"type": "object",
"properties": {
"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"}
}
},
{
"type": "string",
"enum": ["virtual"]
}
]
}
}
}
},
"keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
"layout_aliases": {
"type": "object",
@ -823,26 +793,12 @@
}
}
},
"soft_serial_pin": {
"$ref": "qmk.definitions.v1#/mcu_pin",
"$comment": "Deprecated: use split.serial.pin instead"
},
"soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"soft_serial_speed": {
"type": "integer",
"minimum": 0,
"maximum": 5
},
"serial": {
"type": "object",
"additionalProperties": false,
"properties": {
"driver": {
"type": "string",
"enum": ["bitbang", "usart", "vendor"]
},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
}
},
"transport": {
"type": "object",
"additionalProperties": false,

View File

@ -0,0 +1 @@
true

View File

@ -3,14 +3,6 @@
"$id": "qmk.user_repo.v1",
"title": "User Repository Information",
"type": "object",
"definitions": {
"build_target": {
"oneOf": [
{"$ref": "qmk.definitions.v1#/keyboard_keymap_tuple"},
{"$ref": "qmk.definitions.v1#/json_file_path"}
]
},
},
"required": [
"userspace_version",
"build_targets"
@ -23,7 +15,7 @@
"build_targets": {
"type": "array",
"items": {
"$ref": "#/definitions/build_target"
"$ref": "qmk.definitions.v1#/build_target"
}
}
}

Some files were not shown because too many files have changed in this diff Show More