diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 0d4ca035c8e..f2c70750dba 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,7 +1,7 @@ blank_issues_enabled: false contact_links: - name: QMK Discord - url: https://discord.gg/Uq7gcHh + url: https://discord.gg/qmk about: Ask questions, discuss issues and features. Chill. - name: OLKB Subreddit url: https://www.reddit.com/r/olkb diff --git a/.github/labeler.yml b/.github/labeler.yml index 95eaa49252d..f0e72786b21 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,46 +1,56 @@ core: - - quantum/**/* - - tmk_core/**/* - - drivers/**/* - - tests/**/* - - util/**/* - - platforms/**/* - - builddefs/**/* - - Makefile - - '*.mk' + - changed-files: + - any-glob-to-any-file: + - quantum/** + - tmk_core/** + - drivers/** + - tests/** + - util/** + - platforms/** + - builddefs/*.mk + - Makefile + - '*.mk' dependencies: - - any: - - 'lib/**/*' - - '!lib/python/**/*' + - all: + - changed-files: + - any-glob-to-any-file: lib/** + - all-globs-to-all-files: '!lib/python/**' keyboard: - - any: - - 'keyboards/**/*' - - '!keyboards/**/keymaps/**/*' + - all: + - changed-files: + - any-glob-to-any-file: keyboards/** + - all-globs-to-all-files: '!keyboards/**/keymaps/**' keymap: - - users/**/* - - layouts/**/* - - keyboards/**/keymaps/**/* + - changed-files: + - any-glob-to-any-file: + - users/** + - layouts/** + - keyboards/**/keymaps/** via: - - keyboards/**/keymaps/via/* + - changed-files: + - any-glob-to-any-file: + - keyboards/**/keymaps/via/* cli: - - requirements.txt - - lib/python/**/* + - changed-files: + - any-glob-to-any-file: + - requirements.txt + - lib/python/** python: - - '**/*.py' + - changed-files: + - any-glob-to-any-file: + - '**/*.py' documentation: - - docs/**/* -translation: - - docs/fr-fr/**/* - - docs/es/**/* - - docs/ja/**/* - - docs/he-il/**/* - - docs/pt-br/**/* - - docs/zh-cn/**/* - - docs/de/**/* - - docs/ru-ru/**/* + - changed-files: + - any-glob-to-any-file: + - docs/** + - builddefs/docsgen/** CI: - - .github/**/* + - changed-files: + - any-glob-to-any-file: + - .github/** dd: - - data/constants/**/* - - data/mappings/**/* - - data/schemas/**/* + - changed-files: + - any-glob-to-any-file: + - data/constants/** + - data/mappings/** + - data/schemas/** diff --git a/.github/workflows/auto_approve.yml b/.github/workflows/auto_approve.yml index 1db1c49a9bb..d526db397c5 100644 --- a/.github/workflows/auto_approve.yml +++ b/.github/workflows/auto_approve.yml @@ -13,8 +13,8 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: mheap/automatic-approve-action@v1 + - uses: zvecr/automatic-approve-action@safe_files with: token: ${{ secrets.QMK_BOT_TOKEN }} - workflows: "format.yml,lint.yml,unit_test.yml" - dangerous_files: "lib/python/,Makefile,paths.mk,builddefs/" + workflows: "labeler.yml,lint.yml,docs.yml" + safe_files: "keyboards/,docs/" diff --git a/.github/workflows/ci_build_major_branch.yml b/.github/workflows/ci_build_major_branch.yml index 77755ba71f4..ddc7cb10d18 100644 --- a/.github/workflows/ci_build_major_branch.yml +++ b/.github/workflows/ci_build_major_branch.yml @@ -52,9 +52,9 @@ jobs: run: | target_count=$( { qmk find -km default 2>/dev/null - qmk find -km via 2>/dev/null + # qmk find -km xap 2>/dev/null } | sort | uniq | wc -l) - slice_length=$((target_count / ($CONCURRENT_JOBS - 1))) # Err on the side of caution as we're splitting default and via + slice_length=$((target_count / ($CONCURRENT_JOBS - 1))) # Err on the side of caution echo "slice_length=$slice_length" >> $GITHUB_OUTPUT build_targets: @@ -63,7 +63,8 @@ jobs: strategy: fail-fast: false matrix: - keymap: [default, via] + keymap: [default] + # keymap: [default, xap] uses: ./.github/workflows/ci_build_major_branch_keymap.yml with: branch: ${{ inputs.branch || github.ref_name }} @@ -77,44 +78,59 @@ 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: firmwares + path: . 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 + args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2' 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: firmwares + SOURCE_DIR: . 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 + args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2' 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: firmwares + SOURCE_DIR: . 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: firmwares/.failed + files: ./.failed - name: Fail build if needed if: steps.check_failure_marker.outputs.files_exists == 'true' diff --git a/.github/workflows/ci_build_major_branch_keymap.yml b/.github/workflows/ci_build_major_branch_keymap.yml index 0804c9e2d04..2e0f3036a36 100644 --- a/.github/workflows/ci_build_major_branch_keymap.yml +++ b/.github/workflows/ci_build_major_branch_keymap.yml @@ -172,10 +172,10 @@ jobs: targets-${{ inputs.keymap }} - name: 'CI Discord Notification' - if: always() + if: always() && !cancelled() 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 }} --keymap ${{ inputs.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + 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 }} diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 0fdd2c7b37d..7f588fda608 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.6.1 + uses: JamesIves/github-pages-deploy-action@v4.6.3 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index fa4b8981add..2dc354dda20 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -1,18 +1,13 @@ name: "Pull Request Labeler" -permissions: - contents: read - pull-requests: write - on: - pull_request_target: - types: [opened, synchronize, reopened, ready_for_review, locked] +- pull_request_target jobs: triage: + permissions: + contents: read + pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@v4 - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" - configuration-path: '.github/labeler.yml' + - uses: actions/labeler@v5 diff --git a/.gitignore b/.gitignore index 35b128606d7..c3f2f063cd1 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,8 @@ *.la *.stackdump *.sym +index.html +firmware_list.json # QMK-specific api_data/v1 diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index f0788e55c99..8427573181a 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -34,10 +34,13 @@ ifeq ($(strip $(DUMP_CI_METADATA)),yes) endif # Force expansion -TARGET := $(TARGET) +override TARGET := $(TARGET) ifneq ($(FORCE_LAYOUT),) - TARGET := $(TARGET)_$(FORCE_LAYOUT) + override TARGET := $(TARGET)_$(FORCE_LAYOUT) +endif +ifneq ($(CONVERT_TO),) + override TARGET := $(TARGET)_$(CONVERT_TO) endif # Object files and generated keymap directory @@ -58,9 +61,6 @@ 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))) @@ -218,6 +218,9 @@ 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) diff --git a/builddefs/converters.mk b/builddefs/converters.mk index 3e77a070f2f..b1e5a1bed27 100644 --- a/builddefs/converters.mk +++ b/builddefs/converters.mk @@ -32,9 +32,6 @@ 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)\" diff --git a/builddefs/docsgen/.vitepress/config.mts b/builddefs/docsgen/.vitepress/config.mts index 289e08ef919..54ecae2e86b 100644 --- a/builddefs/docsgen/.vitepress/config.mts +++ b/builddefs/docsgen/.vitepress/config.mts @@ -33,7 +33,7 @@ export default defineConfig(({ mode }) => { }, title: 'QMK Firmware', - nav: [{ text: "Home", link: "./" }], + nav: [{ text: "Home", link: "/" }], search: { provider: "local", diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index a1fdd2dcc68..76ea8520ac9 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -16,12 +16,6 @@ "type": "object", "additionalProperties": {"type": "boolean"} }, - "build_target": { - "oneOf": [ - {"$ref": "#/keyboard_keymap_tuple"}, - {"$ref": "#/json_file_path"} - ] - }, "filename": { "type": "string", "minLength": 1, @@ -40,7 +34,8 @@ "pattern": "^[0-9a-z_/\\-]+\\.json$" }, "key_unit": { - "type": "number" + "type": "number", + "minimum": 0 }, "keyboard": { "type": "string", @@ -52,6 +47,19 @@ {"$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": { @@ -86,6 +94,10 @@ "maxLength": 7, "pattern": "^[A-Z][A-Zs_0-9]*$" }, + "kvp_object": { + "type": "object", + "additionalProperties": {"type": "string"} + }, "layout_macro": { "oneOf": [ { diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index b699f862770..e5802fe07dd 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -515,8 +515,8 @@ "minimum": 0 } }, - "x": {"$ref": "qmk.definitions.v1#/key_unit"}, - "y": {"$ref": "qmk.definitions.v1#/key_unit"}, + "x": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "y": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} } } @@ -601,8 +601,8 @@ "minimum": 0 } }, - "x": {"$ref": "qmk.definitions.v1#/key_unit"}, - "y": {"$ref": "qmk.definitions.v1#/key_unit"}, + "x": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "y": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} } } diff --git a/data/schemas/user_repo_v1.jsonschema b/data/schemas/user_repo_v1.jsonschema index 6cdf758685c..69a59bce007 100644 --- a/data/schemas/user_repo_v1.jsonschema +++ b/data/schemas/user_repo_v1.jsonschema @@ -3,6 +3,14 @@ "$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" @@ -15,7 +23,7 @@ "build_targets": { "type": "array", "items": { - "$ref": "qmk.definitions.v1#/build_target" + "$ref": "#/definitions/build_target" } } } diff --git a/data/schemas/user_repo_v1_1.jsonschema b/data/schemas/user_repo_v1_1.jsonschema new file mode 100644 index 00000000000..5a7ccce0633 --- /dev/null +++ b/data/schemas/user_repo_v1_1.jsonschema @@ -0,0 +1,31 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema#", + "$id": "qmk.user_repo.v1_1", + "title": "User Repository Information", + "type": "object", + "definitions": { + "build_target": { + "oneOf": [ + {"$ref": "qmk.definitions.v1#/keyboard_keymap_tuple"}, + {"$ref": "qmk.definitions.v1#/keyboard_keymap_env"}, + {"$ref": "qmk.definitions.v1#/json_file_path"} + ] + }, + }, + "required": [ + "userspace_version", + "build_targets" + ], + "properties": { + "userspace_version": { + "type": "string", + "enum": ["1.1"] + }, + "build_targets": { + "type": "array", + "items": { + "$ref": "#/definitions/build_target" + } + } + } +} diff --git a/data/templates/keyboard/keyboard.json b/data/templates/keyboard/keyboard.json index 65f935fb42a..94085d7f5a2 100644 --- a/data/templates/keyboard/keyboard.json +++ b/data/templates/keyboard/keyboard.json @@ -2,8 +2,6 @@ "keyboard_name": "%KEYBOARD%", "maintainer": "%USER_NAME%", "manufacturer": "%REAL_NAME%", - "processor": "%MCU%", - "bootloader": "%BOOTLOADER%", "diode_direction": "COL2ROW", "matrix_pins": { "cols": ["C2"], diff --git a/docs/_aliases.json b/docs/_aliases.json index a2224bd0d54..f06e032215c 100644 --- a/docs/_aliases.json +++ b/docs/_aliases.json @@ -4,6 +4,7 @@ "/cli_dev_configuration": "/cli_configuration", "/dynamic_macros": "/feature_dynamic_macros", "/feature_common_shortcuts": "/feature_advanced_keycodes", + "/flashing_bootloadhid": "/flashing", "/getting_started_build_tools": "/newbs_getting_started", "/getting_started_getting_help": "/support", "/glossary": "/reference_glossary", diff --git a/docs/_sidebar.json b/docs/_sidebar.json index 2f64607deae..5935865a7ad 100644 --- a/docs/_sidebar.json +++ b/docs/_sidebar.json @@ -64,13 +64,7 @@ "text": "Development Environments", "items": [{ "text": "Docker Guide", "link": "/getting_started_docker" }] }, - { - "text": "Flashing", - "items": [ - { "text": "Flashing", "link": "/flashing" }, - { "text": "Flashing ATmega32A (ps2avrgb)", "link": "/flashing_bootloadhid" } - ] - }, + { "text": "Flashing", "link": "/flashing" }, { "text": "IDEs", "items": [ diff --git a/docs/breaking_changes_instructions.md b/docs/breaking_changes_instructions.md index 7bde4b60045..5289016e639 100644 --- a/docs/breaking_changes_instructions.md +++ b/docs/breaking_changes_instructions.md @@ -31,4 +31,4 @@ Commenting on your pull request and being responsive to questions, comments, and ### Ask for Help -Having your submission flagged may have caught you off guard. If you find yourself intimidated or overwhelmed, let us know. Comment on your pull request, or [reach out to the QMK team on Discord](https://discord.gg/Uq7gcHh). +Having your submission flagged may have caught you off guard. If you find yourself intimidated or overwhelmed, let us know. Comment on your pull request, or [reach out to the QMK team on Discord](https://discord.gg/qmk). diff --git a/docs/configurator_step_by_step.md b/docs/configurator_step_by_step.md index 4da9ea04a28..d0ac268bba8 100644 --- a/docs/configurator_step_by_step.md +++ b/docs/configurator_step_by_step.md @@ -16,7 +16,9 @@ I'll say that again because it's important: **MAKE SURE YOU SELECT THE RIGHT VERSION!** ::: -If your keyboard has been advertised to be powered by QMK but is not in the list, chances are a developer hasn't gotten to it yet or we haven't had a chance to merge it in yet. File an issue at [qmk_firmware](https://github.com/qmk/qmk_firmware/issues) requesting to support that particular keyboard, if there is no active [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard) for it. There are also QMK powered keyboards that are in their manufacturer's own GitHub accounts. Double check for that as well. +Unfortunately if your keyboard has been advertised to be powered by QMK but is not in the list, you will **not** be able to use Configurator to customize your keyboard. + +Chances are a developer hasn't gotten round to adding support or we haven't had a chance to merge it in yet. If there is no active [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard), contact the manufacturer and encourage them to add support. ## Step 2: Select Your Keyboard Layout diff --git a/docs/contributing.md b/docs/contributing.md index 14025c2c505..bbb1997a6f6 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -11,7 +11,7 @@ Third-party contributions help us grow and improve QMK. We want to make the pull ## I Don't Want to Read This Whole Thing! I Just Have a Question! -If you'd like to ask questions about QMK you can do so on the [OLKB Subreddit](https://reddit.com/r/olkb) or on [Discord](https://discord.gg/Uq7gcHh). +If you'd like to ask questions about QMK you can do so on the [OLKB Subreddit](https://reddit.com/r/olkb) or on [Discord](https://discord.gg/qmk). Please keep these things in mind: @@ -29,7 +29,7 @@ QMK is largely written in C, with specific features and parts written in C++. It # Where Can I Go for Help? -If you need help you can [open an issue](https://github.com/qmk/qmk_firmware/issues) or [chat on Discord](https://discord.gg/Uq7gcHh). +If you need help you can [open an issue](https://github.com/qmk/qmk_firmware/issues) or [chat on Discord](https://discord.gg/qmk). # How Do I Make a Contribution? @@ -105,7 +105,9 @@ 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 +``` +qmk docs +``` and navigating to `http://localhost:5173/`. @@ -126,7 +128,7 @@ We also ask that you follow these guidelines: Before you put a lot of work into building your new feature you should make sure you are implementing it in the best way. You can get a basic understanding of QMK by reading [Understanding QMK](understanding_qmk), which will take you on a tour of the QMK program flow. From here you should talk to us to get a sense of the best way to implement your idea. There are two main ways to do this: -* [Chat on Discord](https://discord.gg/Uq7gcHh) +* [Chat on Discord](https://discord.gg/qmk) * [Open an Issue](https://github.com/qmk/qmk_firmware/issues/new) Feature and Bug Fix PRs affect all keyboards. We are also in the process of restructuring QMK. For this reason it is especially important for significant changes to be discussed before implementation has happened. If you open a PR without talking to us first please be prepared to do some significant rework if your choices do not mesh well with our planned direction. diff --git a/docs/custom_quantum_functions.md b/docs/custom_quantum_functions.md index 729f0cd0283..1479eb53f6c 100644 --- a/docs/custom_quantum_functions.md +++ b/docs/custom_quantum_functions.md @@ -184,7 +184,7 @@ Whenever possible you should customize your keyboard by using `process_record_*( ### Example `matrix_scan_*` Implementation -This example has been deliberately omitted. You should understand enough about QMK internals to write this without an example before hooking into such a performance sensitive area. 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/Uq7gcHh). +This example has been deliberately omitted. You should understand enough about QMK internals to write this without an example before hooking into such a performance sensitive area. 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). ### `matrix_scan_*` Function Documentation diff --git a/docs/drivers/serial.md b/docs/drivers/serial.md index 364e951b869..75d11bc93bc 100644 --- a/docs/drivers/serial.md +++ b/docs/drivers/serial.md @@ -1,6 +1,6 @@ # 'serial' Driver -The Serial driver powers the [Split Keyboard](../features/split_keyboard) feature. Several implementations are available that cater to the platform and capabilites of MCU in use. Note that none of the drivers support split keyboards with more than two halves. +The Serial driver powers the [Split Keyboard](../features/split_keyboard) feature. Several implementations are available that cater to the platform and capabilities of MCU in use. Note that none of the drivers support split keyboards with more than two halves. | Driver | AVR | ARM | Connection between halves | | --------------------------------------- | ------------------ | ------------------ | --------------------------------------------------------------------------------------------- | diff --git a/docs/faq_general.md b/docs/faq_general.md index 69ef4efa17b..fe26dc3806f 100644 --- a/docs/faq_general.md +++ b/docs/faq_general.md @@ -40,7 +40,7 @@ That's amazing! We would love to assist you with that! In fact, we have a [whole page](https://qmk.fm/powered/) dedicated to adding QMK Branding to your page and keyboard. This covers pretty much everything you need (knowledge and images) to officially support QMK. -If you have any questions about this, open an issue or head to [Discord](https://discord.gg/Uq7gcHh). +If you have any questions about this, open an issue or head to [Discord](https://discord.gg/qmk). ## What Differences Are There Between QMK and TMK? diff --git a/docs/features/encoders.md b/docs/features/encoders.md index 3d1cac79af7..9157fe67c8b 100644 --- a/docs/features/encoders.md +++ b/docs/features/encoders.md @@ -85,9 +85,9 @@ Your `keymap.c` will then need an encoder mapping defined (for four layers and t #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, - [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, - [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, + [1] = { ENCODER_CCW_CW(UG_HUED, UG_HUEU), ENCODER_CCW_CW(UG_SATD, UG_SATU) }, + [2] = { ENCODER_CCW_CW(UG_VALD, UG_VALU), ENCODER_CCW_CW(UG_SPDD, UG_SPDU) }, + [3] = { ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, }; #endif ``` diff --git a/docs/features/rgb_matrix.md b/docs/features/rgb_matrix.md index a42f0a0f736..aef766ebd24 100644 --- a/docs/features/rgb_matrix.md +++ b/docs/features/rgb_matrix.md @@ -1007,9 +1007,9 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { HSV hsv = {0, 255, 255}; if (layer_state_is(layer_state, 2)) { - hsv = {130, 255, 255}; + hsv = (HSV){130, 255, 255}; } else { - hsv = {30, 255, 255}; + hsv = (HSV){30, 255, 255}; } if (hsv.v > rgb_matrix_get_val()) { diff --git a/docs/features/rgblight.md b/docs/features/rgblight.md index ece1c104677..794398a0f95 100644 --- a/docs/features/rgblight.md +++ b/docs/features/rgblight.md @@ -59,30 +59,32 @@ Changing the **Value** sets the overall brightness. ## Keycodes -|Key |Aliases |Description | -|-------------------|----------|--------------------------------------------------------------------| -|`RGB_TOG` | |Toggle RGB lighting on or off | -|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held | -|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held| -|`RGB_HUI` | |Increase hue, decrease hue when Shift is held | -|`RGB_HUD` | |Decrease hue, increase hue when Shift is held | -|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held | -|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held | -|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held | -|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held | -|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode | -|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode | -|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode | -|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode | -|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode | -|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode | -|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode | -|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode | -|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode | -|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode | +|Key |Aliases |Description | +|------------------------------|----------|---------------------------------------------------------------------| +|`QK_UNDERGLOW_TOGGLE` |`UG_TOGG` |Toggle RGB lighting on or off | +|`QK_UNDERGLOW_MODE_NEXT` |`UG_NEXT` |Cycle through modes, reverse direction when Shift is held | +|`QK_UNDERGLOW_MODE_PREVIOUS` |`UG_PREV` |Cycle through modes in reverse, forward direction when Shift is held | +|`QK_UNDERGLOW_HUE_UP` |`UG_HUEU` |Increase hue, decrease hue when Shift is held | +|`QK_UNDERGLOW_HUE_DOWN` |`UG_HUED` |Decrease hue, increase hue when Shift is held | +|`QK_UNDERGLOW_SATURATION_UP` |`UG_SATU` |Increase saturation, decrease saturation when Shift is held | +|`QK_UNDERGLOW_SATURATION_DOWN`|`UG_SATD` |Decrease saturation, increase saturation when Shift is held | +|`QK_UNDERGLOW_VALUE_UP` |`UG_VALU` |Increase value (brightness), decrease value when Shift is held | +|`QK_UNDERGLOW_VALUE_DOWN` |`UG_VALD` |Decrease value (brightness), increase value when Shift is held | +|`QK_UNDERGLOW_SPEED_UP` |`UG_SPDU` |Increase effect speed (brightness), decrease speed when Shift is held| +|`QK_UNDERGLOW_SPEED_DOWN` |`UG_SPDD` |Decrease effect speed (brightness), increase speed when Shift is held| +|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode (deprecated) | +|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode (deprecated) | +|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode (deprecated) | +|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode (deprecated) | +|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode (deprecated) | +|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode (deprecated) | +|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode (deprecated) | +|`RGB_MODE_GRADIENT` |`RGB_M_G` |Static gradient animation mode (deprecated) | +|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode (deprecated) | +|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode (deprecated) | ::: tip -`RGB_*` keycodes cannot be used with functions like `tap_code16(RGB_HUI)` as they're not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions) should be used instead. +These keycodes cannot be used with functions like `tap_code16()` as they are not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions) should be used instead. ::: @@ -358,7 +360,7 @@ Lighting layers on split keyboards will require layer state synced to the slave ### Overriding RGB Lighting on/off status -Normally lighting layers are not shown when RGB Lighting is disabled (e.g. with `RGB_TOG` keycode). If you would like lighting layers to work even when the RGB Lighting is otherwise off, add `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF` to your `config.h`. +Normally lighting layers are not shown when RGB Lighting is disabled (e.g. with `UG_TOGG` keycode). If you would like lighting layers to work even when the RGB Lighting is otherwise off, add `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF` to your `config.h`. ### Retain brightness diff --git a/docs/flashing_bootloadhid.md b/docs/flashing_bootloadhid.md deleted file mode 100644 index 2d1696c6e74..00000000000 --- a/docs/flashing_bootloadhid.md +++ /dev/null @@ -1,74 +0,0 @@ -# BootloadHID Flashing Instructions and Bootloader Information - -ps2avr(GB) boards use an ATmega32A microcontroller and a different bootloader. It is not flashable using the regular QMK methods. - -General flashing sequence: - -1. Enter the bootloader using any of the following methods: - * Tap the `QK_BOOT` keycode (may not work on all devices) - * Hold the salt key while plugging the keyboard in (usually documented within keyboard readme) -2. Wait for the OS to detect the device -3. Flash a .hex file -4. Reset the device into application mode (may be done automatically) - -## bootloadHID Flashing Target - -::: tip -Using the QMK installation script, detailed [here](newbs_getting_started), the required bootloadHID tools should be automatically installed. -::: - -To flash via the command line, use the target `:bootloadhid` by executing the following command: - -``` -make ::bootloadhid -``` - -## GUI Flashing - -### Windows -1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash). -2. Place your keyboard into reset. -3. Ensure the configured VendorID is `16c0` and ProductID is `05df` -4. Press the `Find Device` button and ensure that your keyboard is found. -5. Press the `Open .hex File` button and locate the `.hex` file you created. -6. Press the `Flash Device` button and wait for the process to complete. - -## Command Line Flashing - -1. Place your keyboard into reset. -2. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file. - -### Windows Manual Installation -For MSYS2: -1. Download the BootloadHID firmware package from https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz. -2. Extract contents using a compatible tool, for example 7-Zip. -3. Add to the MSYS path by copying `commandline/bootloadHID.exe` from the extracted archive to your MSYS2 installation, typically `C:\msys64\usr\bin`. - -For native Windows flashing, the `bootloadHID.exe` can be used outside of the MSYS2 environment. - -### Linux Manual Installation -1. Install libusb development dependency: - ``` - # This depends on OS - for Debian the following works - sudo apt-get install libusb-dev - ``` -2. Download the BootloadHID firmware package: - ``` - wget https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz -O - | tar -xz -C /tmp - ``` -3. Build the bootloadHID executable: - ``` - cd /tmp/bootloadHID.2012-12-08/commandline/ - make - sudo cp bootloadHID /usr/local/bin - ``` - -### MacOS Manual Installation -1. Install Homebrew by typing the following: - ``` - /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - ``` -2. Install the following packages: - ``` - brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb - ``` diff --git a/docs/hand_wire.md b/docs/hand_wire.md index cbb91790607..9aeee7512dc 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 [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/Uq7gcHh) 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/index.md b/docs/index.md index 166bdc8ad94..433913adb92 100644 --- a/docs/index.md +++ b/docs/index.md @@ -32,7 +32,7 @@ There are a lot of ways you can contribute to the QMK Community. The easiest way * Help people out on our forums and chat rooms: * [/r/olkb](https://www.reddit.com/r/olkb/) - * [Discord Server](https://discord.gg/Uq7gcHh) + * [Discord Server](https://discord.gg/qmk) * Contribute to our documentation by clicking "Edit This Page" at the bottom * [Report a bug](https://github.com/qmk/qmk_firmware/issues/new/choose) * [Open a Pull Request](contributing) diff --git a/docs/keycodes.md b/docs/keycodes.md index 4c91d98fa7a..95268952289 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -701,26 +701,29 @@ See also: [Dynamic Tapping Term](tap_hold#dynamic-tapping-term) See also: [RGB Lighting](features/rgblight) -|Key |Aliases |Description | -|-------------------|----------|--------------------------------------------------------------------| -|`RGB_TOG` | |Toggle RGB lighting on or off | -|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held | -|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held| -|`RGB_HUI` | |Increase hue, decrease hue when Shift is held | -|`RGB_HUD` | |Decrease hue, increase hue when Shift is held | -|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held | -|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held | -|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held | -|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held | -|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode | -|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode | -|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode | -|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode | -|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode | -|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode | -|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode | -|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode | -|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red,Green,Blue test animation mode | +|Key |Aliases |Description | +|------------------------------|----------|---------------------------------------------------------------------| +|`QK_UNDERGLOW_TOGGLE` |`UG_TOGG` |Toggle RGB lighting on or off | +|`QK_UNDERGLOW_MODE_NEXT` |`UG_NEXT` |Cycle through modes, reverse direction when Shift is held | +|`QK_UNDERGLOW_MODE_PREVIOUS` |`UG_PREV` |Cycle through modes in reverse, forward direction when Shift is held | +|`QK_UNDERGLOW_HUE_UP` |`UG_HUEU` |Increase hue, decrease hue when Shift is held | +|`QK_UNDERGLOW_HUE_DOWN` |`UG_HUED` |Decrease hue, increase hue when Shift is held | +|`QK_UNDERGLOW_SATURATION_UP` |`UG_SATU` |Increase saturation, decrease saturation when Shift is held | +|`QK_UNDERGLOW_SATURATION_DOWN`|`UG_SATD` |Decrease saturation, increase saturation when Shift is held | +|`QK_UNDERGLOW_VALUE_UP` |`UG_VALU` |Increase value (brightness), decrease value when Shift is held | +|`QK_UNDERGLOW_VALUE_DOWN` |`UG_VALD` |Decrease value (brightness), increase value when Shift is held | +|`QK_UNDERGLOW_SPEED_UP` |`UG_SPDU` |Increase effect speed (brightness), decrease speed when Shift is held| +|`QK_UNDERGLOW_SPEED_DOWN` |`UG_SPDD` |Decrease effect speed (brightness), increase speed when Shift is held| +|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode (deprecated) | +|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode (deprecated) | +|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode (deprecated) | +|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode (deprecated) | +|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode (deprecated) | +|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode (deprecated) | +|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode (deprecated) | +|`RGB_MODE_GRADIENT` |`RGB_M_G` |Static gradient animation mode (deprecated) | +|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode (deprecated) | +|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode (deprecated) | ## RGB Matrix Lighting {#rgb-matrix-lighting} diff --git a/docs/newbs_flashing.md b/docs/newbs_flashing.md index e9df397267c..5d5c1983e19 100644 --- a/docs/newbs_flashing.md +++ b/docs/newbs_flashing.md @@ -15,7 +15,7 @@ Different keyboards have different ways to enter this special mode. If your PCB * Press the physical `RESET` button, usually located on the underside of the PCB * Locate header pins on the PCB labeled `RESET` and `GND`, and short them together while plugging your PCB in -If you've attempted all of the above to no avail, and the main chip on the board says `STM32` or `RP2-B1` on it, this may be a bit more complicated. Generally your best bet is to ask on [Discord](https://discord.gg/Uq7gcHh) for assistance. It's likely some photos of the board will be asked for -- if you can get them ready beforehand it'll help move things along! +If you've attempted all of the above to no avail, and the main chip on the board says `STM32` or `RP2-B1` on it, this may be a bit more complicated. Generally your best bet is to ask on [Discord](https://discord.gg/qmk) for assistance. It's likely some photos of the board will be asked for -- if you can get them ready beforehand it'll help move things along! Otherwise, you should see a message in yellow, similar to this in QMK Toolbox: @@ -129,4 +129,4 @@ Congrats! Your custom firmware has been programmed to your keyboard and you're r With a little bit of luck everything will work perfectly, but if not there are steps that will help you figure out what's wrong. Testing your keyboard is usually pretty straightforward. Press every single key and make sure it sends the keys you expect. You can use [QMK Configurator](https://config.qmk.fm/#/test/)'s test mode to check your keyboard, even if it doesn't run QMK. -Still not working? Browse the FAQ topics for more information, or [chat with us on Discord](https://discord.gg/Uq7gcHh). +Still not working? Browse the FAQ topics for more information, or [chat with us on Discord](https://discord.gg/qmk). diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md index e0b0810aef7..d95d459b069 100644 --- a/docs/pr_checklist.md +++ b/docs/pr_checklist.md @@ -2,7 +2,7 @@ This is a non-exhaustive checklist of what the QMK Collaborators will be checking when reviewing submitted PRs. -If there are any inconsistencies with these recommendations, you're best off [creating an issue](https://github.com/qmk/qmk_firmware/issues/new) against this document, or getting in touch with a QMK Collaborator on [Discord](https://discord.gg/Uq7gcHh). +If there are any inconsistencies with these recommendations, you're best off [creating an issue](https://github.com/qmk/qmk_firmware/issues/new) against this document, or getting in touch with a QMK Collaborator on [Discord](https://discord.gg/qmk). ## Requirements for all PRs diff --git a/docs/support.md b/docs/support.md index 938d9daf784..4e634fc0eb1 100644 --- a/docs/support.md +++ b/docs/support.md @@ -6,7 +6,7 @@ Please read our [Code of Conduct](https://qmk.fm/coc/) before participating in a ## Realtime Chat -If you need help with something, the best place to get quick support is going to be on our [Discord Server](https://discord.gg/Uq7gcHh). There is usually somebody online, and there are a bunch of very helpful people there. +If you need help with something, the best place to get quick support is going to be on our [Discord Server](https://discord.gg/qmk). There is usually somebody online, and there are a bunch of very helpful people there. ## OLKB Subreddit diff --git a/keyboards/4pplet/ibe60/keyboard.json b/keyboards/4pplet/ibe60/keyboard.json new file mode 100644 index 00000000000..dd674c6ab98 --- /dev/null +++ b/keyboards/4pplet/ibe60/keyboard.json @@ -0,0 +1,94 @@ +{ + "manufacturer": "4pplet", + "keyboard_name": "IBE60 Rev A", + "maintainer": "4pplet", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "key_lock": true, + "mousekey": true, + "nkro": 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", + "usb": { + "device_version": "0.0.1", + "pid": "0x0001", + "vid": "0x4448" + }, + "indicators": { + "caps_lock": "A8" + }, + "community_layouts": ["60_hhkb"], + "layouts": { + "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, 9], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4} + ] + } + } +} diff --git a/keyboards/4pplet/ibe60/keymaps/default/keymap.c b/keyboards/4pplet/ibe60/keymaps/default/keymap.c new file mode 100644 index 00000000000..9ec56d48099 --- /dev/null +++ b/keyboards/4pplet/ibe60/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* +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 +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_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_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_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI), +// basic function layer +[1] = LAYOUT_60_hhkb( + 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_TRNS, + 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_TRNS, + KC_TRNS, 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_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) +}; \ No newline at end of file diff --git a/keyboards/4pplet/ibe60/keymaps/via/keymap.c b/keyboards/4pplet/ibe60/keymaps/via/keymap.c new file mode 100644 index 00000000000..710b5ce8497 --- /dev/null +++ b/keyboards/4pplet/ibe60/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* +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 +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_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_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_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI), +// basic function layer +[1] = LAYOUT_60_hhkb( + 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_TRNS, + 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_TRNS, + KC_TRNS, 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_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/4pplet/ibe60/keymaps/via/rules.mk b/keyboards/4pplet/ibe60/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/4pplet/ibe60/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/4pplet/ibe60/readme.md b/keyboards/4pplet/ibe60/readme.md new file mode 100644 index 00000000000..24ed159952d --- /dev/null +++ b/keyboards/4pplet/ibe60/readme.md @@ -0,0 +1,24 @@ +# IBE60 + +PCB mounted 60% PCB for the IBE60 in fixed true HHKB layout + +* Keyboard Maintainer: [Stefan Sundin](https://github.com/4pplet) +* Hardware Supported: IBE60 Solder PCB + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/ibe60:default + +Flashing example for this keyboard: + + make 4pplet/ibe60: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 Escape key and plug in the keyboard +* **Physical reset button**: Short the reset-header (labled BL/RESET) on the back of the PCB for about 2 seconds for the keyboard to enter bootloader +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/4pplet/ibe60/rules.mk b/keyboards/4pplet/ibe60/rules.mk new file mode 100644 index 00000000000..04fe1eba2ac --- /dev/null +++ b/keyboards/4pplet/ibe60/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF diff --git a/keyboards/4pplet/yakiimo/rev_a/config.h b/keyboards/4pplet/yakiimo/rev_a/config.h deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/keyboards/ai03/altair/config.h b/keyboards/ai03/altair/config.h new file mode 100644 index 00000000000..c54b35498b5 --- /dev/null +++ b/keyboards/ai03/altair/config.h @@ -0,0 +1,12 @@ +/* Copyright 2024 ai03 Design Studio */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +/* VBUS-routed pin for upstream detection */ +#define USB_VBUS_PIN GP0 + +/* 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/ai03/altair/keyboard.json b/keyboards/ai03/altair/keyboard.json new file mode 100644 index 00000000000..9626716cde3 --- /dev/null +++ b/keyboards/ai03/altair/keyboard.json @@ -0,0 +1,118 @@ +{ + "manufacturer": "ai03 Design Studio", + "keyboard_name": "Altair", + "maintainer": "ai03_2725", + "bootloader": "rp2040", + "build": { + "debounce_type": "asym_eager_defer_pk" + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 6 + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP20", "GP19", "GP18", "GP17", "GP16", "GP21", "GP9"], + "rows": ["GP11", "GP26", "GP27", "GP28", "GP10"] + }, + "processor": "RP2040", + "split": { + "bootmagic": { + "matrix": [5, 0] + }, + "enabled": true, + "handedness": { + "pin": "GP8" + }, + "matrix_pins": { + "right": { + "cols": ["GP15", "GP21", "GP9", "GP13", "GP10", "GP11", "GP12"], + "rows": ["GP5", "GP16", "GP20", "GP28", "GP14"] + } + }, + "soft_serial_pin": "GP29" + }, + "url": "https://ai03.com/", + "usb": { + "device_version": "0.0.1", + "pid": "0x0022", + "vid": "0xA103" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.38}, + {"matrix": [0, 1], "x": 1, "y": 0.38}, + {"matrix": [0, 2], "x": 2, "y": 0.13}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.13}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [0, 6], "x": 6, "y": 0.5}, + {"matrix": [5, 0], "x": 7.75, "y": 0.5}, + {"matrix": [5, 1], "x": 8.75, "y": 0.25}, + {"matrix": [5, 2], "x": 9.75, "y": 0.13}, + {"matrix": [5, 3], "x": 10.75, "y": 0}, + {"matrix": [5, 4], "x": 11.75, "y": 0.13}, + {"matrix": [5, 5], "x": 12.75, "y": 0.38}, + {"matrix": [5, 6], "x": 13.75, "y": 0.38}, + {"matrix": [1, 0], "x": 0, "y": 1.38}, + {"matrix": [1, 1], "x": 1, "y": 1.38}, + {"matrix": [1, 2], "x": 2, "y": 1.13}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.13}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [6, 0], "x": 7.75, "y": 1.5}, + {"matrix": [6, 1], "x": 8.75, "y": 1.25}, + {"matrix": [6, 2], "x": 9.75, "y": 1.13}, + {"matrix": [6, 3], "x": 10.75, "y": 1}, + {"matrix": [6, 4], "x": 11.75, "y": 1.13}, + {"matrix": [6, 5], "x": 12.75, "y": 1.38}, + {"matrix": [6, 6], "x": 13.75, "y": 1.38}, + {"matrix": [2, 0], "x": 0, "y": 2.38}, + {"matrix": [2, 1], "x": 1, "y": 2.38}, + {"matrix": [2, 2], "x": 2, "y": 2.13}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.13}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + {"matrix": [2, 6], "x": 6, "y": 2.5}, + {"matrix": [7, 0], "x": 7.75, "y": 2.5}, + {"matrix": [7, 1], "x": 8.75, "y": 2.25}, + {"matrix": [7, 2], "x": 9.75, "y": 2.13}, + {"matrix": [7, 3], "x": 10.75, "y": 2}, + {"matrix": [7, 4], "x": 11.75, "y": 2.13}, + {"matrix": [7, 5], "x": 12.75, "y": 2.38}, + {"matrix": [7, 6], "x": 13.75, "y": 2.38}, + {"matrix": [3, 0], "x": 0, "y": 3.38}, + {"matrix": [3, 1], "x": 1, "y": 3.38}, + {"matrix": [3, 2], "x": 2, "y": 3.13}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3.13}, + {"matrix": [3, 5], "x": 5, "y": 3.25}, + {"matrix": [3, 6], "x": 6, "y": 3.5}, + {"matrix": [8, 0], "x": 7.75, "y": 3.5}, + {"matrix": [8, 1], "x": 8.75, "y": 3.25}, + {"matrix": [8, 2], "x": 9.75, "y": 3.13}, + {"matrix": [8, 3], "x": 10.75, "y": 3}, + {"matrix": [8, 4], "x": 11.75, "y": 3.13}, + {"matrix": [8, 5], "x": 12.75, "y": 3.38}, + {"matrix": [8, 6], "x": 13.75, "y": 3.38}, + {"matrix": [4, 3], "x": 2.71, "y": 4.13}, + {"matrix": [4, 4], "x": 3.73, "y": 4.16}, + {"matrix": [4, 5], "x": 4.74, "y": 4.36}, + {"matrix": [4, 6], "x": 5.75, "y": 4.72}, + {"matrix": [9, 0], "x": 8, "y": 4.72}, + {"matrix": [9, 1], "x": 9.02, "y": 4.36}, + {"matrix": [9, 2], "x": 10.03, "y": 4.18}, + {"matrix": [9, 3], "x": 11.05, "y": 4.13} + ] + } + } +} diff --git a/keyboards/ai03/altair/keymaps/default/keymap.c b/keyboards/ai03/altair/keymaps/default/keymap.c new file mode 100644 index 00000000000..038b2b823dd --- /dev/null +++ b/keyboards/ai03/altair/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +/* Copyright 2024 ai03 Design Studio */ +/* 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_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_CAPS, 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_LPRN, KC_RPRN, 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_GRV, KC_PSCR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(1), KC_TAB, KC_DEL + ), + + [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_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/ai03/altair/keymaps/via/keymap.c b/keyboards/ai03/altair/keymaps/via/keymap.c new file mode 100644 index 00000000000..038b2b823dd --- /dev/null +++ b/keyboards/ai03/altair/keymaps/via/keymap.c @@ -0,0 +1,24 @@ +/* Copyright 2024 ai03 Design Studio */ +/* 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_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_CAPS, 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_LPRN, KC_RPRN, 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_GRV, KC_PSCR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(1), KC_TAB, KC_DEL + ), + + [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_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/ai03/altair/keymaps/via/rules.mk b/keyboards/ai03/altair/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/ai03/altair/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/ai03/altair/readme.md b/keyboards/ai03/altair/readme.md new file mode 100644 index 00000000000..959759d9454 --- /dev/null +++ b/keyboards/ai03/altair/readme.md @@ -0,0 +1,19 @@ +# Altair + + + +ai03's third-generation ergonomic keyboard, 5-row variant + +* Keyboard Maintainer: [ai03](https://github.com/ai03-2725) +* Hardware Supported: Altair keyboard PCB +* Hardware Availability: Group buy + +Make example for this keyboard (after setting up your build environment): + + make ai03/altair:default + +Flashing example for this keyboard: + + make ai03/altair: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/ai03/altair/rules.mk b/keyboards/ai03/altair/rules.mk new file mode 100644 index 00000000000..161ec22b16e --- /dev/null +++ b/keyboards/ai03/altair/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor diff --git a/keyboards/ai03/altair_x/config.h b/keyboards/ai03/altair_x/config.h new file mode 100644 index 00000000000..c54b35498b5 --- /dev/null +++ b/keyboards/ai03/altair_x/config.h @@ -0,0 +1,12 @@ +/* Copyright 2024 ai03 Design Studio */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +/* VBUS-routed pin for upstream detection */ +#define USB_VBUS_PIN GP0 + +/* 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/ai03/altair_x/keyboard.json b/keyboards/ai03/altair_x/keyboard.json new file mode 100644 index 00000000000..d1448ab8c2f --- /dev/null +++ b/keyboards/ai03/altair_x/keyboard.json @@ -0,0 +1,104 @@ +{ + "manufacturer": "ai03 Design Studio", + "keyboard_name": "Altair-X", + "maintainer": "ai03_2725", + "bootloader": "rp2040", + "build": { + "debounce_type": "asym_eager_defer_pk" + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 6 + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP20", "GP19", "GP18", "GP17", "GP16", "GP21", "GP9"], + "rows": ["GP26", "GP27", "GP28", "GP10"] + }, + "processor": "RP2040", + "split": { + "bootmagic": { + "matrix": [4, 0] + }, + "enabled": true, + "handedness": { + "pin": "GP8" + }, + "matrix_pins": { + "right": { + "cols": ["GP15", "GP21", "GP9", "GP13", "GP10", "GP11", "GP12"], + "rows": ["GP16", "GP20", "GP28", "GP14"] + } + }, + "soft_serial_pin": "GP29" + }, + "url": "https://ai03.com/", + "usb": { + "device_version": "0.0.1", + "pid": "0x0023", + "vid": "0xA103" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.38}, + {"matrix": [0, 1], "x": 1, "y": 0.38}, + {"matrix": [0, 2], "x": 2, "y": 0.13}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.13}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [0, 6], "x": 6, "y": 0.5}, + {"matrix": [4, 0], "x": 7.75, "y": 0.5}, + {"matrix": [4, 1], "x": 8.75, "y": 0.25}, + {"matrix": [4, 2], "x": 9.75, "y": 0.13}, + {"matrix": [4, 3], "x": 10.75, "y": 0}, + {"matrix": [4, 4], "x": 11.75, "y": 0.13}, + {"matrix": [4, 5], "x": 12.75, "y": 0.38}, + {"matrix": [4, 6], "x": 13.75, "y": 0.38}, + {"matrix": [1, 0], "x": 0, "y": 1.38}, + {"matrix": [1, 1], "x": 1, "y": 1.38}, + {"matrix": [1, 2], "x": 2, "y": 1.13}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.13}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [5, 0], "x": 7.75, "y": 1.5}, + {"matrix": [5, 1], "x": 8.75, "y": 1.25}, + {"matrix": [5, 2], "x": 9.75, "y": 1.13}, + {"matrix": [5, 3], "x": 10.75, "y": 1}, + {"matrix": [5, 4], "x": 11.75, "y": 1.13}, + {"matrix": [5, 5], "x": 12.75, "y": 1.38}, + {"matrix": [5, 6], "x": 13.75, "y": 1.38}, + {"matrix": [2, 0], "x": 0, "y": 2.38}, + {"matrix": [2, 1], "x": 1, "y": 2.38}, + {"matrix": [2, 2], "x": 2, "y": 2.13}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.13}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + {"matrix": [2, 6], "x": 6, "y": 2.5}, + {"matrix": [6, 0], "x": 7.75, "y": 2.5}, + {"matrix": [6, 1], "x": 8.75, "y": 2.25}, + {"matrix": [6, 2], "x": 9.75, "y": 2.13}, + {"matrix": [6, 3], "x": 10.75, "y": 2}, + {"matrix": [6, 4], "x": 11.75, "y": 2.13}, + {"matrix": [6, 5], "x": 12.75, "y": 2.38}, + {"matrix": [6, 6], "x": 13.75, "y": 2.38}, + {"matrix": [3, 3], "x": 2.71, "y": 3.13}, + {"matrix": [3, 4], "x": 3.73, "y": 3.16}, + {"matrix": [3, 5], "x": 4.74, "y": 3.36}, + {"matrix": [3, 6], "x": 5.75, "y": 3.72}, + {"matrix": [7, 0], "x": 8, "y": 3.72}, + {"matrix": [7, 1], "x": 9.02, "y": 3.36}, + {"matrix": [7, 2], "x": 10.03, "y": 3.18}, + {"matrix": [7, 3], "x": 11.05, "y": 3.13} + ] + } + } +} diff --git a/keyboards/ai03/altair_x/keymaps/default/keymap.c b/keyboards/ai03/altair_x/keymaps/default/keymap.c new file mode 100644 index 00000000000..8eb350993da --- /dev/null +++ b/keyboards/ai03/altair_x/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +/* Copyright 2024 ai03 Design Studio */ +/* 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_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + 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_ENT, + KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(2), KC_TAB, KC_DEL + ), + + [1] = LAYOUT( + _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + _______, KC_GRV, KC_LBRC, KC_LCBR, KC_LPRN, KC_MINS, _______, _______, KC_EQL, KC_RPRN, KC_RCBR, KC_RBRC, KC_BSLS, _______, + _______, KC_TILD, _______, _______, _______, KC_UNDS, _______, _______, KC_PLUS, _______, _______, _______, KC_PIPE, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT( + _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + _______, 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/ai03/altair_x/keymaps/via/keymap.c b/keyboards/ai03/altair_x/keymaps/via/keymap.c new file mode 100644 index 00000000000..8eb350993da --- /dev/null +++ b/keyboards/ai03/altair_x/keymaps/via/keymap.c @@ -0,0 +1,29 @@ +/* Copyright 2024 ai03 Design Studio */ +/* 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_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + 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_ENT, + KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(2), KC_TAB, KC_DEL + ), + + [1] = LAYOUT( + _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + _______, KC_GRV, KC_LBRC, KC_LCBR, KC_LPRN, KC_MINS, _______, _______, KC_EQL, KC_RPRN, KC_RCBR, KC_RBRC, KC_BSLS, _______, + _______, KC_TILD, _______, _______, _______, KC_UNDS, _______, _______, KC_PLUS, _______, _______, _______, KC_PIPE, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT( + _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + _______, 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/ai03/altair_x/keymaps/via/rules.mk b/keyboards/ai03/altair_x/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/ai03/altair_x/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/ai03/altair_x/readme.md b/keyboards/ai03/altair_x/readme.md new file mode 100644 index 00000000000..221a4615562 --- /dev/null +++ b/keyboards/ai03/altair_x/readme.md @@ -0,0 +1,19 @@ +# Altair-X + + + +ai03's third-generation ergonomic keyboard, 4-row variant + +* Keyboard Maintainer: [ai03](https://github.com/ai03-2725) +* Hardware Supported: Altair-X keyboard PCB +* Hardware Availability: Group buy + +Make example for this keyboard (after setting up your build environment): + + make ai03/altair_x:default + +Flashing example for this keyboard: + + make ai03/altair_x: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/ai03/altair_x/rules.mk b/keyboards/ai03/altair_x/rules.mk new file mode 100644 index 00000000000..161ec22b16e --- /dev/null +++ b/keyboards/ai03/altair_x/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor diff --git a/keyboards/ai03/equinox_xl/keyboard.json b/keyboards/ai03/equinox_xl/keyboard.json new file mode 100644 index 00000000000..e6abf4a0c21 --- /dev/null +++ b/keyboards/ai03/equinox_xl/keyboard.json @@ -0,0 +1,89 @@ +{ + "manufacturer": "ai03 Design Studio", + "keyboard_name": "Equinox XL", + "maintainer": "ai03", + "bootloader": "atmel-dfu", + "build": { + "debounce_type": "asym_eager_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "F1", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["F5", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"], + "rows": ["B7", "F4", "F6", "F7"] + }, + "processor": "atmega32u4", + "url": "https://ai03.com/projects/equinox-xl/", + "usb": { + "device_version": "0.0.1", + "pid": "0x0020", + "vid": "0xA103" + }, + "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, "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, 13], "x": 12.75, "y": 1, "w": 2.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, + {"matrix": [2, 1], "x": 1.25, "y": 2}, + {"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": 1.75}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"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, "w": 1.5}, + {"matrix": [3, 5], "x": 4, "y": 3, "w": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 9], "x": 8, "y": 3, "w": 3}, + {"matrix": [3, 11], "x": 11, "y": 3, "w": 1.5}, + {"matrix": [3, 12], "x": 12.5, "y": 3}, + {"matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.5} + ] + } + } +} diff --git a/keyboards/ai03/equinox_xl/keymaps/default/keymap.c b/keyboards/ai03/equinox_xl/keymaps/default/keymap.c new file mode 100644 index 00000000000..be2f1cb7e0b --- /dev/null +++ b/keyboards/ai03/equinox_xl/keymaps/default/keymap.c @@ -0,0 +1,15 @@ +// Copyright 2024 ai03 +// 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_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_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_GRV, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + +}; diff --git a/keyboards/ai03/equinox_xl/keymaps/via/keymap.c b/keyboards/ai03/equinox_xl/keymaps/via/keymap.c new file mode 100644 index 00000000000..be2f1cb7e0b --- /dev/null +++ b/keyboards/ai03/equinox_xl/keymaps/via/keymap.c @@ -0,0 +1,15 @@ +// Copyright 2024 ai03 +// 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_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_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_GRV, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + +}; diff --git a/keyboards/ai03/equinox_xl/keymaps/via/rules.mk b/keyboards/ai03/equinox_xl/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/ai03/equinox_xl/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/ai03/equinox_xl/readme.md b/keyboards/ai03/equinox_xl/readme.md new file mode 100644 index 00000000000..84ceef68090 --- /dev/null +++ b/keyboards/ai03/equinox_xl/readme.md @@ -0,0 +1,28 @@ +# Equinox XL + + + +A numrowless 50% keyboard + +* Keyboard Maintainer: [ai03](https://github.com/ai03-2725) +* Hardware Supported: The Equinox XL PCB, powered by the Atmega32u4 +* Hardware Availability: Available via group buy + + +Make example for this keyboard (after setting up your build environment): + + make ai03/equinox_xl:default + +Flashing example for this keyboard: + + make ai03/equinox_xl: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**: 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/aidansmithdotdev/sango/keyboard.json b/keyboards/aidansmithdotdev/sango/keyboard.json index 6c62ac9bd2a..deb26f86b62 100644 --- a/keyboards/aidansmithdotdev/sango/keyboard.json +++ b/keyboards/aidansmithdotdev/sango/keyboard.json @@ -120,7 +120,6 @@ "matrix": [4, 7] }, "enabled": true, - "main": "matrix_grid", "matrix_pins": { "right": { "cols": ["GP7", "GP8", "GP9", "GP11", "GP12", "GP13", "GP14", "GP15"], diff --git a/keyboards/amag23/readme.md b/keyboards/amag23/readme.md index 30791a5cfb8..70fb7f8b2c7 100644 --- a/keyboards/amag23/readme.md +++ b/keyboards/amag23/readme.md @@ -15,7 +15,7 @@ Make example for this keyboard (after setting up your build environment): make amag23:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make amag23:default:flash diff --git a/keyboards/amjkeyboard/amj60/keyboard.json b/keyboards/amjkeyboard/amj60/keyboard.json index 5ab353675a7..a2cfd1b6e12 100644 --- a/keyboards/amjkeyboard/amj60/keyboard.json +++ b/keyboards/amjkeyboard/amj60/keyboard.json @@ -11,8 +11,8 @@ "features": { "backlight": true, "bootmagic": false, - "command": true, - "console": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, @@ -45,7 +45,6 @@ "knight": true, "christmas": true, "static_gradient": true, - "rgb_test": true, "alternating": true, "twinkle": true } diff --git a/keyboards/ano/keyboard.json b/keyboards/ano/keyboard.json index e676ce72707..9c46895f1af 100644 --- a/keyboards/ano/keyboard.json +++ b/keyboards/ano/keyboard.json @@ -36,8 +36,11 @@ }, "processor": "STM32F303", "bootloader": "stm32-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/ano/keymaps/default/keymap.c b/keyboards/ano/keymaps/default/keymap.c index 3e9907fa917..5832f764401 100644 --- a/keyboards/ano/keymaps/default/keymap.c +++ b/keyboards/ano/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [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_DEL, KC_MEDIA_PLAY_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_NUM, KC_PSLS, KC_PAST, KC_B, 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_PMNS, @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT ), - [1] = LAYOUT_all( + [1] = 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, KC_TRNS, KC_TRNS, 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, diff --git a/keyboards/archerkeyboard/desire65/keyboard.json b/keyboards/archerkeyboard/desire65/keyboard.json new file mode 100644 index 00000000000..eb1c2a1245e --- /dev/null +++ b/keyboards/archerkeyboard/desire65/keyboard.json @@ -0,0 +1,192 @@ +{ + "manufacturer": "archerkeyboard", + "keyboard_name": "desire65", + "maintainer": "akyp", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "indicators": { + "caps_lock": "GP18" + }, + "matrix_pins": { + "cols": ["GP21", "GP29", "GP1", "GP0", "GP15", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP8", "GP2", "GP5", "GP4", "GP3"], + "rows": ["GP24", "GP25", "GP19", "GP16", "GP17"] + }, + "processor": "RP2040", + "rgblight": { + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true, + "twinkle": true + }, + "default": { + "animation": "rainbow_mood", + "val": 128 + }, + "driver": "ws2812", + "led_count": 17, + "sleep": true + }, + "url": "https://archerkeyboard.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x0002", + "vid": "0x0361" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP26" + }, + "community_layouts": ["65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs"], + "layouts": { + "LAYOUT_65_ansi_blocker_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": [0, 14], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 15], "x": 15, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, + {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "PgUp", "matrix": [2, 15], "x": 15, "y": 2}, + {"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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 15], "x": 15, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "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}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Left", "matrix": [4, 13], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 14], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "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}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 15], "x": 15, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, + {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "PgUp", "matrix": [2, 15], "x": 15, "y": 2}, + {"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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 15], "x": 15, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "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}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Left", "matrix": [4, 13], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 14], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 15], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/archerkeyboard/desire65/keymaps/default/keymap.c b/keyboards/archerkeyboard/desire65/keymaps/default/keymap.c new file mode 100644 index 00000000000..ef19ddca0db --- /dev/null +++ b/keyboards/archerkeyboard/desire65/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2024 ArcherKeyboard (archerkeyboard2022@gmail.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_65_ansi_blocker_tsangan_split_bs( + 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_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_END, + 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, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [1] = LAYOUT_65_ansi_blocker_tsangan_split_bs( + 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_PSCR, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, _______, + _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + +}; diff --git a/keyboards/archerkeyboard/desire65/keymaps/via/keymap.c b/keyboards/archerkeyboard/desire65/keymaps/via/keymap.c new file mode 100644 index 00000000000..ef19ddca0db --- /dev/null +++ b/keyboards/archerkeyboard/desire65/keymaps/via/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2024 ArcherKeyboard (archerkeyboard2022@gmail.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_65_ansi_blocker_tsangan_split_bs( + 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_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_END, + 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, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [1] = LAYOUT_65_ansi_blocker_tsangan_split_bs( + 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_PSCR, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, _______, + _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + +}; diff --git a/keyboards/archerkeyboard/desire65/keymaps/via/rules.mk b/keyboards/archerkeyboard/desire65/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/archerkeyboard/desire65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/archerkeyboard/desire65/readme.md b/keyboards/archerkeyboard/desire65/readme.md new file mode 100644 index 00000000000..5d170ad475f --- /dev/null +++ b/keyboards/archerkeyboard/desire65/readme.md @@ -0,0 +1,27 @@ +# desire65 + + + +A desirable 65% keyboard + +* Keyboard Maintainer: [ArcherKeyboard](https://github.com/akyp) +* Hardware Supported: Desire65 PCB +* Hardware Availability: [Open source on GitHub](https://github.com/akyp/desire65-pcb) + +Make example for this keyboard (after setting up your build environment): + + make archerkeyboard/desire65:default + +Flashing example for this keyboard: + + make archerkeyboard/desire65: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 "USB_BOOT" button on the back of the PCB (the one closest to the MCU) 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 \ No newline at end of file diff --git a/keyboards/ares/readme.md b/keyboards/ares/readme.md index a1e04ecf91e..b443489406c 100644 --- a/keyboards/ares/readme.md +++ b/keyboards/ares/readme.md @@ -8,7 +8,7 @@ Make example for this keyboard (after setting up your build environment): make ares:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make ares:default:flash diff --git a/keyboards/ash1800/keyboard.json b/keyboards/ash1800/keyboard.json index c2244a7ad70..7156172173d 100644 --- a/keyboards/ash1800/keyboard.json +++ b/keyboards/ash1800/keyboard.json @@ -155,6 +155,498 @@ {"matrix": [11, 8], "x": 14.25, "y": 6.25}, {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_ansi": { + "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": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + {"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_ansi_wkl": { + "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": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + {"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5}, + {"matrix": [5, 3], "x": 3, "y": 6, "w": 7}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_iso": { + "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": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [2, 9], "x": 12.75, "y": 4}, + {"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 5}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_iso_wkl": { + "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": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [2, 9], "x": 12.75, "y": 4}, + {"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 5}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5}, + {"matrix": [5, 3], "x": 3, "y": 6, "w": 7}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + {"matrix": [11, 5], "x": 16.5, "y": 6}, {"matrix": [11, 6], "x": 17.5, "y": 6} ] diff --git a/keyboards/ash1800/matrix_diagram.md b/keyboards/ash1800/matrix_diagram.md new file mode 100644 index 00000000000..4141116663c --- /dev/null +++ b/keyboards/ash1800/matrix_diagram.md @@ -0,0 +1,26 @@ +# Matrix Diagram for ASH1800 + +``` +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ +│00 ││01 │02 │03 │60 ││61 │62 │63 │04 ││05 │06 │07 │08 │ │54 │55 │56 │57 │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ ├───┼───┼───┼───┤ + │64 │65 │66 │67 │ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ├───┼───┼───┼───┤ +│10 │11 │12 │13 │70 │71 │72 │73 │14 │15 │16 │17 │18 │19 │ │74 │75 │76 │77 │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┼───┤ ┌─────┐ +│20 │21 │22 │23 │80 │81 │82 │83 │24 │25 │26 │27 │28 │29 │ │84 │85 │86 │87 │ │38 │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┼───┤ ┌──┴┐ │ ISO Enter +│30 │31 │32 │33 │90 │91 │92 │93 │34 │35 │36 │37 │38 │ │94 │95 │96 │97 │ │29 │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┼───┼───┼───┤ └───┴────┘ +│40 │41 │42 │43 │A0 │A1 │A2 │A3 │44 │45 │46 │47 │48 │┌───┐│A4 │A5 │A6 │A7 │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│A9 │└───┼───┼───┤ │ +│50 │51 │52 │53 │B4 │B7 │┌───┼───┼───┐│B5 │B6 │ │ +└────┴────┴────┴────────────────────────┴─────┴─────┘│A8 │B8 │B9 │└───┴───┴───┘ + └───┴───┴───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│50 │51 │53 │B4 │B7 │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` diff --git a/keyboards/ash_xiix/keyboard.json b/keyboards/ash_xiix/keyboard.json index 5cb21b488e9..e743b80a8f8 100644 --- a/keyboards/ash_xiix/keyboard.json +++ b/keyboards/ash_xiix/keyboard.json @@ -156,6 +156,498 @@ {"matrix": [11, 8], "x": 14.25, "y": 6.25}, {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_ansi": { + "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": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + {"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_ansi_wkl": { + "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": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + {"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5}, + {"matrix": [5, 3], "x": 3, "y": 6, "w": 7}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_iso": { + "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": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [2, 9], "x": 12.75, "y": 4}, + {"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 5}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_iso_wkl": { + "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": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [2, 9], "x": 12.75, "y": 4}, + {"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 5}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5}, + {"matrix": [5, 3], "x": 3, "y": 6, "w": 7}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + {"matrix": [11, 5], "x": 16.5, "y": 6}, {"matrix": [11, 6], "x": 17.5, "y": 6} ] diff --git a/keyboards/ash_xiix/matrix_diagram.md b/keyboards/ash_xiix/matrix_diagram.md new file mode 100644 index 00000000000..408857c8b43 --- /dev/null +++ b/keyboards/ash_xiix/matrix_diagram.md @@ -0,0 +1,26 @@ +# Matrix Diagram for ASH-XIIX + +``` +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ +│00 ││01 │02 │03 │60 ││61 │62 │63 │04 ││05 │06 │07 │08 │ │54 │55 │56 │57 │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ ├───┼───┼───┼───┤ + │64 │65 │66 │67 │ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ├───┼───┼───┼───┤ +│10 │11 │12 │13 │70 │71 │72 │73 │14 │15 │16 │17 │18 │19 │ │74 │75 │76 │77 │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┼───┤ ┌─────┐ +│20 │21 │22 │23 │80 │81 │82 │83 │24 │25 │26 │27 │28 │29 │ │84 │85 │86 │87 │ │38 │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┼───┤ ┌──┴┐ │ ISO Enter +│30 │31 │32 │33 │90 │91 │92 │93 │34 │35 │36 │37 │38 │ │94 │95 │96 │97 │ │29 │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┼───┼───┼───┤ └───┴────┘ +│40 │41 │42 │43 │A0 │A1 │A2 │A3 │44 │45 │46 │47 │48 │┌───┐│A4 │A5 │A6 │A7 │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│A9 │└───┼───┼───┤ │ +│50 │51 │52 │53 │B4 │B7 │┌───┼───┼───┐│B5 │B6 │ │ +└────┴────┴────┴────────────────────────┴─────┴─────┘│A8 │B8 │B9 │└───┴───┴───┘ + └───┴───┴───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│50 │51 │53 │B4 │B7 │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` diff --git a/keyboards/ashwing66/config.h b/keyboards/ashwing66/config.h new file mode 100644 index 00000000000..344ff327069 --- /dev/null +++ b/keyboards/ashwing66/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define ENCODER_MAP_KEY_DELAY 10 +#define ENCODER_DEFAULT_POS 0x3 diff --git a/keyboards/ashwing66/keyboard.json b/keyboards/ashwing66/keyboard.json new file mode 100644 index 00000000000..27a5799964a --- /dev/null +++ b/keyboards/ashwing66/keyboard.json @@ -0,0 +1,166 @@ +{ + "manufacturer": "gzowski", + "keyboard_name": "Ashwing66", + "maintainer": "gzowski", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "GP12", "pin_b": "GP11"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP14", "GP15", "GP16", "GP17", "GP19", "GP20", "GP21", "GP22", "GP26", "GP27"], + "rows": ["GP28", "GP8", "GP9", "GP10", "GP13"] + }, + "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, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 1, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 2, "flags": 4}, + {"matrix": [0, 3], "x": 49, "y": 4, "flags": 4}, + {"matrix": [0, 4], "x": 65, "y": 7, "flags": 4}, + {"matrix": [0, 5], "x": 81, "y": 11, "flags": 4}, + {"matrix": [3, 6], "x": 86, "y": 39, "flags": 4}, + {"matrix": [4, 6], "x": 81, "y": 56, "flags": 4}, + {"matrix": [4, 7], "x": 96, "y": 63, "flags": 4}, + {"matrix": [4, 8], "x": 126, "y": 63, "flags": 4}, + {"matrix": [4, 9], "x": 141, "y": 56, "flags": 4}, + {"matrix": [3, 9], "x": 136, "y": 39, "flags": 4}, + {"matrix": [0, 10], "x": 141, "y": 11, "flags": 4}, + {"matrix": [0, 11], "x": 157, "y": 7, "flags": 4}, + {"matrix": [0, 12], "x": 173, "y": 4, "flags": 4}, + {"matrix": [0, 13], "x": 189, "y": 2, "flags": 4}, + {"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 + }, + "url": "https://github.com/gzowski", + "usb": { + "device_version": "1.0.0", + "pid": "0x6F64", + "vid": "0x7372" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP0" + }, + "layouts": { + "LAYOUT_5x16": { + "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, 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, 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}, + {"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, 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": [2, 14], "x": 14, "y": 2}, + {"matrix": [2, 15], "x": 15, "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, 6], "x": 6, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"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}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "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, 4], "x": 4, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + {"matrix": [4, 6], "x": 6, "y": 4}, + {"matrix": [4, 7], "x": 7, "y": 4}, + {"matrix": [4, 8], "x": 8, "y": 4}, + {"matrix": [4, 9], "x": 9, "y": 4}, + {"matrix": [4, 10], "x": 10, "y": 4}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/ashwing66/keymaps/default/keymap.c b/keyboards/ashwing66/keymaps/default/keymap.c new file mode 100644 index 00000000000..2b317e19eba --- /dev/null +++ b/keyboards/ashwing66/keymaps/default/keymap.c @@ -0,0 +1,41 @@ +// Copyright 2023 James GzowskiMO(_LAYERB) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum custom_layer { + _LAYERA, + _LAYERB, + _LAYERC, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAYERA] = LAYOUT_5x16( + 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_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_LBRC,KC_PSCR,KC_CAPS ,MO(_LAYERB),KC_LGUI ,KC_LALT ,KC_SPC ,KC_PGDN ,KC_PGUP ,KC_ENT ,KC_BSPC ,MO(_LAYERC),KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC +), + [_LAYERB] = LAYOUT_5x16( + KC_ESC ,RGB_TOG,RGB_RMOD,RGB_MOD ,RGB_VAD ,RGB_VAI ,RGB_SPD ,RGB_SPI ,RGB_HUD ,RGB_HUI ,RGB_SAD ,RGB_SAI , + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_P ,KC_EQL , + KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_SCLN ,KC_QUOT , + KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_LBRC,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC +), + [_LAYERC] = LAYOUT_5x16( + KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_GRV , + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_UP ,KC_O ,KC_P ,KC_EQL , + KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_SCLN ,KC_QUOT , + KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_F11 ,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_F12 +) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAYERA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [_LAYERB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)}, + [_LAYERC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)} +}; +#endif diff --git a/keyboards/ashwing66/keymaps/default/rules.mk b/keyboards/ashwing66/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/ashwing66/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/ashwing66/keymaps/via/keymap.c b/keyboards/ashwing66/keymaps/via/keymap.c new file mode 100644 index 00000000000..2b317e19eba --- /dev/null +++ b/keyboards/ashwing66/keymaps/via/keymap.c @@ -0,0 +1,41 @@ +// Copyright 2023 James GzowskiMO(_LAYERB) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum custom_layer { + _LAYERA, + _LAYERB, + _LAYERC, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAYERA] = LAYOUT_5x16( + 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_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_LBRC,KC_PSCR,KC_CAPS ,MO(_LAYERB),KC_LGUI ,KC_LALT ,KC_SPC ,KC_PGDN ,KC_PGUP ,KC_ENT ,KC_BSPC ,MO(_LAYERC),KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC +), + [_LAYERB] = LAYOUT_5x16( + KC_ESC ,RGB_TOG,RGB_RMOD,RGB_MOD ,RGB_VAD ,RGB_VAI ,RGB_SPD ,RGB_SPI ,RGB_HUD ,RGB_HUI ,RGB_SAD ,RGB_SAI , + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_P ,KC_EQL , + KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_SCLN ,KC_QUOT , + KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_LBRC,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC +), + [_LAYERC] = LAYOUT_5x16( + KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_GRV , + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_UP ,KC_O ,KC_P ,KC_EQL , + KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_SCLN ,KC_QUOT , + KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_F11 ,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_F12 +) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAYERA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [_LAYERB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)}, + [_LAYERC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)} +}; +#endif diff --git a/keyboards/ashwing66/keymaps/via/rules.mk b/keyboards/ashwing66/keymaps/via/rules.mk new file mode 100644 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/ashwing66/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/ashwing66/readme.md b/keyboards/ashwing66/readme.md new file mode 100644 index 00000000000..a65769c9cc9 --- /dev/null +++ b/keyboards/ashwing66/readme.md @@ -0,0 +1,23 @@ +# Ashwing66 + +66 key winged unibody split + +* Keyboard Maintainer: [James Gzowski](https://github.com/gzowski) +* Hardware Supported: Pi Pico or equivilent +* Build Guide: [Ashwing66](https://github.com/gzowski/Ashwing66) + +Make example for this keyboard (after setting up your build environment): + + make ashwing66:default + +Flashing example for this keyboard: + + make ashwing66: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 + +* **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 PCB, if using a RP2040 press repeatidly to enter boot mode. +* **Hold down boot loader button on MCU** Hold down the boot loader button on the MCU while plugging in the keyboard diff --git a/keyboards/atlantis/ak81_ve/ak81_ve.c b/keyboards/atlantis/ak81_ve/ak81_ve.c index 5f4ae20f15d..764e1bc6d2a 100644 --- a/keyboards/atlantis/ak81_ve/ak81_ve.c +++ b/keyboards/atlantis/ak81_ve/ak81_ve.c @@ -16,36 +16,6 @@ #include "quantum.h" -#ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { { - // Key Matrix to LED Index - { 12, 11, 10, 9, 8, 7, 6, 5, 4, NO_LED, 3, 2, 1, 0 }, // 13 keys - { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13 }, // 15 keys - { 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28 }, // 15 keys - { 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, NO_LED, 43 }, // 14 keys - { 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, NO_LED, 58, 57 }, // 14 keys - { 79, 78, 77, NO_LED, NO_LED, NO_LED, 76, NO_LED, NO_LED, NO_LED, 75, 74, 73, 72, 71 } // 9 keys -}, { - // LED Index to Physical Positon - { 240, 0 }, { 224, 0 }, { 208, 0 }, { 192, 0 }, { 176, 0 }, { 160, 0 }, { 144, 0 }, { 128, 0 }, { 112, 0 }, { 96, 0 }, { 80, 0 }, { 64, 0 }, { 32, 0 }, - { 240, 13 }, { 224, 13 }, { 208, 13 }, { 192 , 13 }, { 176, 13 }, { 160, 13 }, { 144, 13 }, { 128, 13 }, { 112, 13 }, { 96, 13 }, { 80, 13 }, { 64, 13}, { 48, 13 }, { 32, 13 }, { 16, 13 }, - { 240, 26 }, { 224, 26 }, { 208, 26 }, { 192 , 26 }, { 176, 26 }, { 160, 26 }, { 144, 26 }, { 128, 26 }, { 112, 26 }, { 96, 26 }, { 80, 26 }, { 64, 26}, { 48, 26 }, { 32, 26 }, { 16, 26 }, - { 240, 39 }, { 216, 39 }, { 192 , 39 }, { 176, 39 }, { 160, 39 }, { 144, 39 }, { 128, 39 }, { 112, 39 }, { 96, 39 }, { 80, 39 }, { 64, 39}, { 48, 39 }, { 32, 39 }, { 16, 39 }, - { 240, 52 }, { 224, 52 }, { 208, 52 }, { 192 , 52 }, { 176, 52 }, { 160, 52 }, { 144, 52 }, { 128, 52 }, { 112, 52 }, { 96, 52 }, { 80, 52 }, { 64, 52}, { 48, 52 }, { 24, 52 }, - { 240, 64 }, { 224, 64 }, { 208, 64 }, { 192, 64 }, { 176, 64 }, { 112, 64 }, { 48, 64 }, { 32, 64 }, { 16, 64 }, - { 0, 26 }, { 0, 46 }, { 0, 64 }, { 48, 64 }, { 72, 64 }, { 104, 64 }, { 136, 64 }, { 168, 64 }, { 208, 64 }, { 232, 58 }, { 232, 45 }, { 232, 32 }, { 232, 20 }, { 232, 7 }, { 176, 0 }, { 112, 0 } -}, { - // LED Index to Flag - 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, 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, 8, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 -} }; -#endif - #if defined(ENCODER_ENABLE) && !defined(ENCODER_MAP_ENABLE) bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { diff --git a/keyboards/atlantis/ak81_ve/keyboard.json b/keyboards/atlantis/ak81_ve/keyboard.json index a2d064295c8..aa85a55e0ad 100644 --- a/keyboards/atlantis/ak81_ve/keyboard.json +++ b/keyboards/atlantis/ak81_ve/keyboard.json @@ -58,7 +58,123 @@ }, "driver": "ws2812", "max_brightness": 130, - "sleep": true + "sleep": true, + "layout": [ + {"matrix": [0, 13], "x": 193, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 152, "y": 0, "flags": 4}, + + {"matrix": [0, 8], "x": 131, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 117, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 103, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 90, "y": 0, "flags": 4}, + + {"matrix": [0, 4], "x": 69, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 55, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 41, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 28, "y": 0, "flags": 4}, + + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + + {"matrix": [1, 14], "x": 224, "y": 12, "flags": 1}, + + {"matrix": [1, 13], "x": 186, "y": 12, "flags": 1}, + {"matrix": [1, 12], "x": 165, "y": 12, "flags": 4}, + {"matrix": [1, 11], "x": 152, "y": 12, "flags": 4}, + {"matrix": [1, 10], "x": 138, "y": 12, "flags": 4}, + {"matrix": [1, 9], "x": 124, "y": 12, "flags": 4}, + {"matrix": [1, 8], "x": 110, "y": 12, "flags": 4}, + {"matrix": [1, 7], "x": 96, "y": 12, "flags": 4}, + {"matrix": [1, 6], "x": 83, "y": 12, "flags": 4}, + {"matrix": [1, 5], "x": 69, "y": 12, "flags": 4}, + {"matrix": [1, 4], "x": 55, "y": 12, "flags": 4}, + {"matrix": [1, 3], "x": 41, "y": 12, "flags": 4}, + {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4}, + {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, + + {"matrix": [2, 14], "x": 224, "y": 24, "flags": 1}, + + {"matrix": [2, 13], "x": 190, "y": 24, "flags": 1}, + {"matrix": [2, 12], "x": 172, "y": 24, "flags": 4}, + {"matrix": [2, 11], "x": 159, "y": 24, "flags": 4}, + {"matrix": [2, 10], "x": 145, "y": 24, "flags": 4}, + {"matrix": [2, 9], "x": 131, "y": 24, "flags": 4}, + {"matrix": [2, 8], "x": 117, "y": 24, "flags": 4}, + {"matrix": [2, 7], "x": 103, "y": 24, "flags": 4}, + {"matrix": [2, 6], "x": 90, "y": 24, "flags": 4}, + {"matrix": [2, 5], "x": 76, "y": 24, "flags": 4}, + {"matrix": [2, 4], "x": 62, "y": 24, "flags": 4}, + {"matrix": [2, 3], "x": 48, "y": 24, "flags": 4}, + {"matrix": [2, 2], "x": 34, "y": 24, "flags": 4}, + {"matrix": [2, 1], "x": 21, "y": 24, "flags": 4}, + {"matrix": [2, 0], "x": 3, "y": 24, "flags": 1}, + + {"matrix": [3, 14], "x": 224, "y": 37, "flags": 1}, + + {"matrix": [3, 12], "x": 184, "y": 37, "flags": 1}, + {"matrix": [3, 11], "x": 162, "y": 37, "flags": 4}, + {"matrix": [3, 10], "x": 148, "y": 37, "flags": 4}, + {"matrix": [3, 9], "x": 134, "y": 37, "flags": 4}, + {"matrix": [3, 8], "x": 121, "y": 37, "flags": 4}, + {"matrix": [3, 7], "x": 107, "y": 37, "flags": 4}, + {"matrix": [3, 6], "x": 93, "y": 37, "flags": 4}, + {"matrix": [3, 5], "x": 79, "y": 37, "flags": 4}, + {"matrix": [3, 4], "x": 65, "y": 37, "flags": 4}, + {"matrix": [3, 3], "x": 52, "y": 37, "flags": 4}, + {"matrix": [3, 2], "x": 38, "y": 37, "flags": 4}, + {"matrix": [3, 1], "x": 24, "y": 37, "flags": 4}, + {"matrix": [3, 0], "x": 5, "y": 37, "flags": 1}, + + {"matrix": [4, 14], "x": 224, "y": 49, "flags": 1}, + + {"matrix": [4, 13], "x": 196, "y": 52, "flags": 4}, + + {"matrix": [4, 11], "x": 174, "y": 49, "flags": 1}, + {"matrix": [4, 10], "x": 155, "y": 49, "flags": 4}, + {"matrix": [4, 9], "x": 141, "y": 49, "flags": 4}, + {"matrix": [4, 8], "x": 128, "y": 49, "flags": 4}, + {"matrix": [4, 7], "x": 114, "y": 49, "flags": 4}, + {"matrix": [4, 6], "x": 100, "y": 49, "flags": 4}, + {"matrix": [4, 5], "x": 86, "y": 49, "flags": 4}, + {"matrix": [4, 4], "x": 72, "y": 49, "flags": 4}, + {"matrix": [4, 3], "x": 59, "y": 49, "flags": 4}, + {"matrix": [4, 2], "x": 45, "y": 49, "flags": 4}, + {"matrix": [4, 1], "x": 31, "y": 49, "flags": 4}, + {"matrix": [4, 0], "x": 9, "y": 49, "flags": 1}, + + {"matrix": [5, 14], "x": 210, "y": 64, "flags": 4}, + {"matrix": [5, 13], "x": 196, "y": 64, "flags": 4}, + {"matrix": [5, 12], "x": 183, "y": 64, "flags": 4}, + + {"matrix": [5, 11], "x": 157, "y": 61, "flags": 1}, + {"matrix": [5, 10], "x": 140, "y": 61, "flags": 1}, + {"matrix": [5, 6], "x": 88, "y": 61, "flags": 4}, + {"matrix": [5, 2], "x": 36, "y": 61, "flags": 1}, + {"matrix": [5, 1], "x": 19, "y": 61, "flags": 1}, + {"matrix": [5, 0], "x": 2, "y": 61, "flags": 1}, + + {"x": 28, "y": 61, "flags": 2}, + {"x": 56, "y": 61, "flags": 2}, + {"x": 79, "y": 61, "flags": 2}, + {"x": 107, "y": 61, "flags": 2}, + {"x": 128, "y": 61, "flags": 2}, + {"x": 170, "y": 61, "flags": 2}, + + {"x": 220, "y": 55, "flags": 2}, + {"x": 220, "y": 43, "flags": 2}, + {"x": 220, "y": 30, "flags": 2}, + {"x": 220, "y": 18, "flags": 2}, + {"x": 220, "y": 6, "flags": 2}, + + {"x": 141, "y": 0, "flags": 2}, + {"x": 79, "y": 0, "flags": 2}, + + {"x": 0, "y": 24, "flags": 2}, + {"x": 0, "y": 43, "flags": 2}, + {"x": 0, "y": 61, "flags": 2} + ] }, "build": { "lto": true diff --git a/keyboards/bajjak/matrix.c b/keyboards/bajjak/matrix.c index 5451bf787dc..3ec7cbd0774 100644 --- a/keyboards/bajjak/matrix.c +++ b/keyboards/bajjak/matrix.c @@ -146,7 +146,7 @@ static matrix_row_t read_cols(uint8_t row) { // reading GPIOB (column port) since in mcp23018's sequential mode // it is addressed directly after writing to GPIOA in select_row() mcp23018_status = i2c_receive(I2C_ADDR, &data, 1, BAJJAK_EZ_I2C_TIMEOUT); - return data; + return ~data; } } else { /* read from teensy diff --git a/keyboards/bfake/readme.md b/keyboards/bfake/readme.md index df319cd7c51..ced1bd0e81f 100644 --- a/keyboards/bfake/readme.md +++ b/keyboards/bfake/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make bfake:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make bfake:default:flash diff --git a/keyboards/boardrun/classic/keyboard.json b/keyboards/boardrun/classic/keyboard.json index 4831131f18f..be21483c8e3 100644 --- a/keyboards/boardrun/classic/keyboard.json +++ b/keyboards/boardrun/classic/keyboard.json @@ -52,8 +52,11 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_classic": "LAYOUT" + }, "layouts": { - "LAYOUT_classic": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, {"matrix": [0, 1], "x": 1.5, "y": 0}, diff --git a/keyboards/boardrun/classic/keymaps/default/keymap.c b/keyboards/boardrun/classic/keymaps/default/keymap.c index 8f7df2f5bdc..a3b4df90863 100644 --- a/keyboards/boardrun/classic/keymaps/default/keymap.c +++ b/keyboards/boardrun/classic/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | LGUI | DEL | ~` | LALT | SPACE | | FN | SPACE | | LEFT | DOWN | UP | RIGHT | * '--------------------------------------------------------------------------------------------------------------------' */ - [_CLASSIC] = LAYOUT_classic( + [_CLASSIC] = 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_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | RGUI | | | RALT | | | | | | | | * '--------------------------------------------------------------------------------------------------------------------' */ - [_FNCLASSIC] = LAYOUT_classic( + [_FNCLASSIC] = LAYOUT( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, KC_APP, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, KC_CAPS, _______, KC_SCRL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RCTL, diff --git a/keyboards/boardrun/classic/keymaps/via/keymap.c b/keyboards/boardrun/classic/keymaps/via/keymap.c index 0994e925ea9..67c388bb047 100644 --- a/keyboards/boardrun/classic/keymaps/via/keymap.c +++ b/keyboards/boardrun/classic/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | LGUI | DEL | ~` | LALT | SPACE | | MO | SPACE | | LEFT | DOWN | UP | RIGHT | * '--------------------------------------------------------------------------------------------------------------------' */ - [0] = LAYOUT_classic( + [0] = 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_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | * '--------------------------------------------------------------------------------------------------------------------' */ - [1] = LAYOUT_classic( + [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_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT_classic( + [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [3] = LAYOUT_classic( + [3] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/boardsource/sessanta/keyboard.json b/keyboards/boardsource/sessanta/keyboard.json new file mode 100644 index 00000000000..c129e3acf59 --- /dev/null +++ b/keyboards/boardsource/sessanta/keyboard.json @@ -0,0 +1,255 @@ +{ + "manufacturer": "Boardsource", + "keyboard_name": "Sessanta", + "maintainer": "waffle87", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D3"], + "rows": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"] + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_sat": true, + "band_val": true, + "breathing": true, + "gradient_left_right": true + }, + "driver": "ws2812", + "layout": [ + {"x": 224, "y": 4, "flags": 2}, + {"x": 156, "y": 0, "flags": 2}, + {"x": 82, "y": 0, "flags": 2}, + {"x": 13, "y": 4, "flags": 2}, + {"x": 24, "y": 50, "flags": 2}, + {"x": 68, "y": 52, "flags": 2}, + {"x": 121, "y": 52, "flags": 2}, + {"x": 220, "y": 52, "flags": 2}, + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 134, "y": 0, "flags": 4}, + {"matrix": [1, 1], "x": 149, "y": 0, "flags": 4}, + {"matrix": [1, 2], "x": 164, "y": 0, "flags": 4}, + {"matrix": [1, 3], "x": 179, "y": 0, "flags": 4}, + {"matrix": [1, 4], "x": 202, "y": 0, "flags": 1}, + {"matrix": [1, 5], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 6], "x": 22, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 52, "y": 16, "flags": 4}, + {"matrix": [2, 0], "x": 67, "y": 16, "flags": 4}, + {"matrix": [2, 1], "x": 82, "y": 16, "flags": 4}, + {"matrix": [2, 2], "x": 97, "y": 16, "flags": 4}, + {"matrix": [2, 3], "x": 112, "y": 16, "flags": 4}, + {"matrix": [2, 4], "x": 127, "y": 16, "flags": 4}, + {"matrix": [2, 5], "x": 142, "y": 16, "flags": 4}, + {"matrix": [2, 6], "x": 157, "y": 16, "flags": 4}, + {"matrix": [2, 7], "x": 172, "y": 16, "flags": 4}, + {"matrix": [2, 8], "x": 187, "y": 16, "flags": 4}, + {"matrix": [3, 0], "x": 205, "y": 16, "flags": 1}, + {"matrix": [3, 1], "x": 6, "y": 32, "flags": 1}, + {"matrix": [3, 2], "x": 26, "y": 32, "flags": 4}, + {"matrix": [3, 3], "x": 41, "y": 32, "flags": 4}, + {"matrix": [3, 4], "x": 56, "y": 32, "flags": 4}, + {"matrix": [3, 5], "x": 71, "y": 32, "flags": 4}, + {"matrix": [3, 6], "x": 86, "y": 32, "flags": 4}, + {"matrix": [3, 7], "x": 101, "y": 32, "flags": 4}, + {"matrix": [3, 8], "x": 116, "y": 32, "flags": 4}, + {"matrix": [4, 0], "x": 131, "y": 32, "flags": 4}, + {"matrix": [4, 1], "x": 146, "y": 32, "flags": 4}, + {"matrix": [4, 2], "x": 161, "y": 32, "flags": 4}, + {"matrix": [4, 3], "x": 175, "y": 32, "flags": 4}, + {"matrix": [4, 4], "x": 200, "y": 32, "flags": 1}, + {"matrix": [4, 5], "x": 224, "y": 32, "flags": 1}, + {"matrix": [4, 6], "x": 9, "y": 48, "flags": 1}, + {"matrix": [4, 7], "x": 34, "y": 48, "flags": 4}, + {"matrix": [4, 8], "x": 49, "y": 48, "flags": 4}, + {"matrix": [5, 0], "x": 63, "y": 48, "flags": 4}, + {"matrix": [5, 1], "x": 78, "y": 48, "flags": 4}, + {"matrix": [5, 2], "x": 93, "y": 48, "flags": 4}, + {"matrix": [5, 3], "x": 108, "y": 48, "flags": 4}, + {"matrix": [5, 4], "x": 123, "y": 48, "flags": 4}, + {"matrix": [5, 5], "x": 138, "y": 48, "flags": 4}, + {"matrix": [5, 6], "x": 153, "y": 48, "flags": 4}, + {"matrix": [5, 7], "x": 168, "y": 48, "flags": 4}, + {"matrix": [5, 8], "x": 196, "y": 48, "flags": 1}, + {"matrix": [6, 0], "x": 224, "y": 48, "flags": 1}, + {"matrix": [6, 1], "x": 2, "y": 64, "flags": 1}, + {"matrix": [6, 2], "x": 21, "y": 64, "flags": 1}, + {"matrix": [6, 3], "x": 39, "y": 64, "flags": 1}, + {"matrix": [6, 4], "x": 95, "y": 64, "flags": 4}, + {"matrix": [6, 5], "x": 151, "y": 64, "flags": 1}, + {"matrix": [6, 6], "x": 170, "y": 64, "flags": 1}, + {"matrix": [6, 7], "x": 189, "y": 64, "flags": 1}, + {"matrix": [6, 8], "x": 207, "y": 64, "flags": 1}, + {"matrix": [7, 0], "x": 224, "y": 64, "flags": 1} + ], + "max_brightness": 150, + "sleep": true + }, + "url": "https://boardsource.xyz", + "usb": { + "device_version": "1.0.0", + "pid": "0x17AC", + "vid": "0x4273" + }, + "ws2812": { + "pin": "D2" + }, + "layouts": { + "LAYOUT_625_bar": { + "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": [1, 0], "x": 9, "y": 0}, + {"matrix": [1, 1], "x": 10, "y": 0}, + {"matrix": [1, 2], "x": 11, "y": 0}, + {"matrix": [1, 3], "x": 12, "y": 0}, + {"matrix": [1, 4], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 5], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 6], "x": 1.5, "y": 1}, + {"matrix": [1, 7], "x": 2.5, "y": 1}, + {"matrix": [1, 8], "x": 3.5, "y": 1}, + {"matrix": [2, 0], "x": 4.5, "y": 1}, + {"matrix": [2, 1], "x": 5.5, "y": 1}, + {"matrix": [2, 2], "x": 6.5, "y": 1}, + {"matrix": [2, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [2, 5], "x": 9.5, "y": 1}, + {"matrix": [2, 6], "x": 10.5, "y": 1}, + {"matrix": [2, 7], "x": 11.5, "y": 1}, + {"matrix": [2, 8], "x": 12.5, "y": 1}, + {"matrix": [3, 0], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 2}, + {"matrix": [3, 3], "x": 2.75, "y": 2}, + {"matrix": [3, 4], "x": 3.75, "y": 2}, + {"matrix": [3, 5], "x": 4.75, "y": 2}, + {"matrix": [3, 6], "x": 5.75, "y": 2}, + {"matrix": [3, 7], "x": 6.75, "y": 2}, + {"matrix": [3, 8], "x": 7.75, "y": 2}, + {"matrix": [4, 0], "x": 8.75, "y": 2}, + {"matrix": [4, 1], "x": 9.75, "y": 2}, + {"matrix": [4, 2], "x": 10.75, "y": 2}, + {"matrix": [4, 3], "x": 11.75, "y": 2}, + {"matrix": [4, 4], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [4, 5], "x": 15, "y": 2}, + {"matrix": [4, 6], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [4, 7], "x": 2.25, "y": 3}, + {"matrix": [4, 8], "x": 3.25, "y": 3}, + {"matrix": [5, 0], "x": 4.25, "y": 3}, + {"matrix": [5, 1], "x": 5.25, "y": 3}, + {"matrix": [5, 2], "x": 6.25, "y": 3}, + {"matrix": [5, 3], "x": 7.25, "y": 3}, + {"matrix": [5, 4], "x": 8.25, "y": 3}, + {"matrix": [5, 5], "x": 9.25, "y": 3}, + {"matrix": [5, 6], "x": 10.25, "y": 3}, + {"matrix": [5, 7], "x": 11.25, "y": 3}, + {"matrix": [5, 8], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 0], "x": 15, "y": 3}, + {"matrix": [6, 1], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [6, 2], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [6, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [6, 4], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [6, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [6, 6], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [6, 7], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [6, 8], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [7, 0], "x": 15, "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": [1, 0], "x": 9, "y": 0}, + {"matrix": [1, 1], "x": 10, "y": 0}, + {"matrix": [1, 2], "x": 11, "y": 0}, + {"matrix": [1, 3], "x": 12, "y": 0}, + {"matrix": [1, 4], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 5], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 6], "x": 1.5, "y": 1}, + {"matrix": [1, 7], "x": 2.5, "y": 1}, + {"matrix": [1, 8], "x": 3.5, "y": 1}, + {"matrix": [2, 0], "x": 4.5, "y": 1}, + {"matrix": [2, 1], "x": 5.5, "y": 1}, + {"matrix": [2, 2], "x": 6.5, "y": 1}, + {"matrix": [2, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [2, 5], "x": 9.5, "y": 1}, + {"matrix": [2, 6], "x": 10.5, "y": 1}, + {"matrix": [2, 7], "x": 11.5, "y": 1}, + {"matrix": [2, 8], "x": 12.5, "y": 1}, + {"matrix": [3, 0], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 2}, + {"matrix": [3, 3], "x": 2.75, "y": 2}, + {"matrix": [3, 4], "x": 3.75, "y": 2}, + {"matrix": [3, 5], "x": 4.75, "y": 2}, + {"matrix": [3, 6], "x": 5.75, "y": 2}, + {"matrix": [3, 7], "x": 6.75, "y": 2}, + {"matrix": [3, 8], "x": 7.75, "y": 2}, + {"matrix": [4, 0], "x": 8.75, "y": 2}, + {"matrix": [4, 1], "x": 9.75, "y": 2}, + {"matrix": [4, 2], "x": 10.75, "y": 2}, + {"matrix": [4, 3], "x": 11.75, "y": 2}, + {"matrix": [4, 4], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [4, 5], "x": 15, "y": 2}, + {"matrix": [4, 6], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [4, 7], "x": 2.25, "y": 3}, + {"matrix": [4, 8], "x": 3.25, "y": 3}, + {"matrix": [5, 0], "x": 4.25, "y": 3}, + {"matrix": [5, 1], "x": 5.25, "y": 3}, + {"matrix": [5, 2], "x": 6.25, "y": 3}, + {"matrix": [5, 3], "x": 7.25, "y": 3}, + {"matrix": [5, 4], "x": 8.25, "y": 3}, + {"matrix": [5, 5], "x": 9.25, "y": 3}, + {"matrix": [5, 6], "x": 10.25, "y": 3}, + {"matrix": [5, 7], "x": 11.25, "y": 3}, + {"matrix": [5, 8], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 0], "x": 15, "y": 3}, + {"matrix": [6, 1], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [6, 2], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [6, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [7, 1], "x": 3.75, "y": 4, "w": 1.5}, + {"matrix": [7, 2], "x": 5.25, "y": 4}, + {"matrix": [6, 4], "x": 6.25, "y": 4, "w": 1.25}, + {"matrix": [7, 3], "x": 7.5, "y": 4}, + {"matrix": [7, 4], "x": 8.5, "y": 4, "w": 1.5}, + {"matrix": [6, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [6, 6], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [6, 7], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [6, 8], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [7, 0], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/boardsource/sessanta/keymaps/default/keymap.json b/keyboards/boardsource/sessanta/keymaps/default/keymap.json new file mode 100644 index 00000000000..b99333c46d7 --- /dev/null +++ b/keyboards/boardsource/sessanta/keymaps/default/keymap.json @@ -0,0 +1,21 @@ +{ + "keyboard": "boardsource/sessanta", + "keymap": "default", + "layout": "LAYOUT_625_bar", + "layers": [ + [ + "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_VOLU", + "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_MPLY", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "MO(1)", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_VOLD" + ], + [ + "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_F13", + "QK_RBT", "RGB_MOD", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_TOG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "EE_CLR", "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/boardsource/sessanta/keymaps/via/keymap.json b/keyboards/boardsource/sessanta/keymaps/via/keymap.json new file mode 100644 index 00000000000..68e8e5fb208 --- /dev/null +++ b/keyboards/boardsource/sessanta/keymaps/via/keymap.json @@ -0,0 +1,26 @@ +{ + "keyboard": "boardsource/sessanta", + "keymap": "via", + "layout": "LAYOUT_all", + "config": { + "features": { + "via": true + } + }, + "layers": [ + [ + "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_VOLU", + "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_MPLY", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_SPC", "KC_SPC", "KC_SPC", "KC_SPC", "MO(1)", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_VOLD" + ], + [ + "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_F13", + "QK_RBT", "RGB_MOD", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_TOG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "EE_CLR", "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/boardsource/sessanta/readme.md b/keyboards/boardsource/sessanta/readme.md new file mode 100644 index 00000000000..35c841271c3 --- /dev/null +++ b/keyboards/boardsource/sessanta/readme.md @@ -0,0 +1,27 @@ +# Sessanta + + + +A 60% keyboard offered in an MX or Choc PCB with per-key RGB + +* Keyboard Maintainer: [waffle87](https://github.com/waffle87) +* Hardware Supported: Sessanta PCB w/ Pro Micro compatible microcontroller +* Hardware Availability: [boardsource.xyz](https://boardsource.xyz) + +Make example for this keyboard (after setting up your build environment): + + make boardsource/sessanta:default + +Flashing example for this keyboard: + + make boardsource/sessanta: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 and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB near microcontroller +* **Keycode in layout**: Press the key mapped to `QK_BOOT` diff --git a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json index 214ef5f48ad..6e8172ec028 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json +++ b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json @@ -112,8 +112,9 @@ {"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.5}, - {"matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1}, + {"matrix": [5, 9], "x": 12, "y": 5.25, "w": 1}, {"matrix": [5, 12], "x": 13.25, "y": 5.5}, {"matrix": [5, 13], "x": 14.25, "y": 5.5}, {"matrix": [5, 14], "x": 15.25, "y": 5.5} diff --git a/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c b/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c index c869bfc4b0c..ffc9940c64e 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_ENTER, 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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG, @@ -18,6 +18,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c index c869bfc4b0c..ffc9940c64e 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_ENTER, 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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG, @@ -18,6 +18,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/axon40/keyboard.json b/keyboards/checkerboards/axon40/keyboard.json index ca492690b9d..c0b67b611de 100644 --- a/keyboards/checkerboards/axon40/keyboard.json +++ b/keyboards/checkerboards/axon40/keyboard.json @@ -50,8 +50,11 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/checkerboards/axon40/keymaps/default/keymap.c b/keyboards/checkerboards/axon40/keymaps/default/keymap.c index b466a746b5c..bb60e1c31d8 100644 --- a/keyboards/checkerboards/axon40/keymaps/default/keymap.c +++ b/keyboards/checkerboards/axon40/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | OS | Alt | Layer | Space | Alt | Caps | | * `-----------------------------------------------------------------------------------' */ -[0] = LAYOUT_all( +[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_DEL, CTL_T(KC_ESC), 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_ENT, @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------------------------------------------------------------------------------------' */ -[1] = LAYOUT_all( +[1] = LAYOUT( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------------------------------------------------------------------------------------' */ -[2] = LAYOUT_all( +[2] = LAYOUT( RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, 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/checkerboards/axon40/keymaps/via/keymap.c b/keyboards/checkerboards/axon40/keymaps/via/keymap.c index dc37bf540cf..db536745af1 100644 --- a/keyboards/checkerboards/axon40/keymaps/via/keymap.c +++ b/keyboards/checkerboards/axon40/keymaps/via/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ -[0] = LAYOUT_all( +[0] = LAYOUT( KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ -[1] = LAYOUT_all( +[1] = LAYOUT( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ -[2] = LAYOUT_all( +[2] = LAYOUT( RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ -[3] = LAYOUT_all( +[3] = LAYOUT( RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, 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/checkerboards/pursuit40/keyboard.json b/keyboards/checkerboards/pursuit40/keyboard.json index 974bab5c920..996a55850d8 100644 --- a/keyboards/checkerboards/pursuit40/keyboard.json +++ b/keyboards/checkerboards/pursuit40/keyboard.json @@ -51,8 +51,11 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c b/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c index 1b80a880e7e..970fc0f3ee7 100644 --- a/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c +++ b/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | * `-----------------------------------------------------------------------------------------' */ - [0] = LAYOUT_all( + [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_DEL, CTL_T(KC_ESC), 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_ENT, @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | * `---------------------------------------------------------------------------------------' */ - [1] = LAYOUT_all( + [1] = LAYOUT( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ - [2] = LAYOUT_all( + [2] = LAYOUT( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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/checkerboards/pursuit40/keymaps/via/keymap.c b/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c index cebca52889f..4fe94269dea 100644 --- a/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c +++ b/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | * `-----------------------------------------------------------------------------------------' */ - [0] = LAYOUT_all( + [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_DEL, CTL_T(KC_ESC), 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_ENT, @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | * `---------------------------------------------------------------------------------------' */ - [1] = LAYOUT_all( + [1] = LAYOUT( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, @@ -71,30 +71,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ - [2] = LAYOUT_all( + [2] = LAYOUT( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), - - /* [3] - * ,---------------------------------------------------------------------------------------. - * |------------+------+------+------+------+------+------+------+------+------+------+----| - * | | | | | | | | | | | | | | - * |------------+------+------+------+------+-------------+------+------+------+------+----| - * | | | | | | | | | | | | | | - * |------------+------+------+------+------+------|------+------+------+------+------+----| - * | | | | | | | | | | | | | | - * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| - * | | | | | | | | | | | | | | - * `---------------------------------------------------------------------------------------' - */ - [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - }; diff --git a/keyboards/chlx/lfn_merro60/keyboard.json b/keyboards/chlx/lfn_merro60/keyboard.json new file mode 100644 index 00000000000..a35b598f0eb --- /dev/null +++ b/keyboards/chlx/lfn_merro60/keyboard.json @@ -0,0 +1,957 @@ +{ + "manufacturer": "chlx bsmt", + "keyboard_name": "lfn.merro60", + "maintainer": "gaclee3b", + "bootloader": "atmel-dfu", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "indicators": { + "caps_lock": "B2", + "on_state": 0, + "compose": "B0" + }, + "matrix_pins": { + "rows": ["F5", "F1", "F4", "F0", "F7", "F6", "D3", "D5", "B3", "B7"], + "cols": ["C6", "B6", "B5", "B4", "D7", "D6", "D4"] + }, + "processor": "atmega32u4", + "url": "www.github.com/gaclee3b", + "usb": { + "device_version": "2.0.1", + "pid": "0x0604", + "vid": "0x4358" + }, + "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "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": [ + {"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, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "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": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_tsangan": { + "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, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 0], "x": 1.5, "y": 4}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 12.5, "y": 4}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl": { + "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, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl_split_bs_rshift": { + "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": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "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": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [8, 0], "x": 1.5, "y": 4}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_iso": { + "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, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "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": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "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, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 0], "x": 1.5, "y": 4}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 12.5, "y": 4}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "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": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 0], "x": 1.5, "y": 4}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 12.5, "y": 4}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl": { + "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, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl_split_bs_rshift": { + "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": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "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": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 0], "x": 1.5, "y": 4}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 12.5, "y": 4}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_all": { + "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": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 2, "w": 1.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 2], "x": 3.75, "y": 4, "w": 2.75}, + {"matrix": [8, 3], "x": 6.5, "y": 4, "w": 1.25}, + {"matrix": [9, 3], "x": 7.75, "y": 4, "w": 2.25}, + {"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/chlx/lfn_merro60/keymaps/default/keymap.c b/keyboards/chlx/lfn_merro60/keymaps/default/keymap.c new file mode 100644 index 00000000000..8cddabd62ba --- /dev/null +++ b/keyboards/chlx/lfn_merro60/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2024 Alexander Lee + +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_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_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), + +[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_CAPS, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT, + _______, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/keebio/nyquist/keymaps/tester/config.h b/keyboards/chlx/lfn_merro60/keymaps/via/config.h similarity index 84% rename from keyboards/keebio/nyquist/keymaps/tester/config.h rename to keyboards/chlx/lfn_merro60/keymaps/via/config.h index 4f5f10cebcf..bdeed0c824e 100644 --- a/keyboards/keebio/nyquist/keymaps/tester/config.h +++ b/keyboards/chlx/lfn_merro60/keymaps/via/config.h @@ -1,5 +1,5 @@ /* -Copyright 2017 Danny Nguyen +Copyright 2024 Alexander Lee 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 @@ -17,4 +17,5 @@ along with this program. If not, see . #pragma once -#define USE_I2C +/* VIA related config */ +#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/chlx/lfn_merro60/keymaps/via/keymap.c b/keyboards/chlx/lfn_merro60/keymaps/via/keymap.c new file mode 100644 index 00000000000..2163e4289f7 --- /dev/null +++ b/keyboards/chlx/lfn_merro60/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2024 Alexander Lee + +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_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_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, MO(1), KC_SPC, KC_LSCR, KC_RALT, KC_RGUI, KC_APP, 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_DEL, + KC_CAPS, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT, + _______, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/chlx/lfn_merro60/keymaps/via/rules.mk b/keyboards/chlx/lfn_merro60/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/chlx/lfn_merro60/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/chlx/lfn_merro60/readme.md b/keyboards/chlx/lfn_merro60/readme.md new file mode 100644 index 00000000000..1c59ac550e7 --- /dev/null +++ b/keyboards/chlx/lfn_merro60/readme.md @@ -0,0 +1,27 @@ +# lfn.merro60 + + + +- Standard 60% format keyboard PCB with USB-C and unified daughterboard compatibility. +- Modified cutouts to allow usage of certain tray mount cases into gummy gasket o-ring mount. +- Meant to be manufactured in 2mm thickness. + +* Keyboard Maintainer: [Alexander Lee](https://github.com/gaclee3b) +* Hardware Supported: chlx PCB lfn.merro60.x.x.x + +Make example for this keyboard (after setting up your build environment): + + make chlx/lfn_merro60:default + +Flashing example for this keyboard: + + make chlx/lfn_merro60: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 bootloader mode by any of the following options - +- When unplugged, holding the top-left key (typically ESC) while plugging in the keyboard +- After plugging in, press and release the reset button on the pcb top-side near the spacebar switch locations +- After plugging in, short out the two reset metal contacts near the 'z' key (accessible through the switch LED slot) diff --git a/keyboards/cipulot/ec_60x/config.h b/keyboards/cipulot/ec_60x/config.h new file mode 100644 index 00000000000..1a8d105d680 --- /dev/null +++ b/keyboards/cipulot/ec_60x/config.h @@ -0,0 +1,71 @@ +/* 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 MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +#define MATRIX_ROW_PINS \ + { A8, A15, B12, B8, B9} + +#define AMUX_COUNT 1 +#define AMUX_MAX_COLS_COUNT 16 + +#define AMUX_EN_PINS \ + { B5 } + +#define AMUX_SEL_PINS \ + { B6, B7, B4, B3 } + +#define AMUX_COL_CHANNELS_SIZES \ + { 15 } + +#define AMUX_0_COL_CHANNELS \ + { 7, 6, 5, 4, 3, 2, 1, 0, 8, 14, 13, 10, 9, 12, 11} + +#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS + +#define DISCHARGE_PIN A2 +#define ANALOG_PORT A3 + +#define DEFAULT_ACTUATION_MODE 0 +#define DEFAULT_MODE_0_ACTUATION_LEVEL 550 +#define DEFAULT_MODE_0_RELEASE_LEVEL 500 +#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL +#define DEFAULT_MODE_1_ACTUATION_OFFSET 70 +#define DEFAULT_MODE_1_RELEASE_OFFSET 70 +#define DEFAULT_EXTREMUM 1023 +#define EXPECTED_NOISE_FLOOR 0 +#define NOISE_FLOOR_THRESHOLD 50 +#define BOTTOMING_CALIBRATION_THRESHOLD 50 +#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30 +#define DEFAULT_BOTTOMING_READING 1023 +#define DEFAULT_CALIBRATION_STARTER true + +#define DISCHARGE_TIME 10 + +// #define DEBUG_MATRIX_SCAN_RATE +#define EECONFIG_KB_DATA_SIZE 159 + +// PWM driver with direct memory access (DMA) support +#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 +#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM1_UP diff --git a/keyboards/cipulot/ec_60x/halconf.h b/keyboards/cipulot/ec_60x/halconf.h new file mode 100644 index 00000000000..fb0f77d82f9 --- /dev/null +++ b/keyboards/cipulot/ec_60x/halconf.h @@ -0,0 +1,23 @@ +/* 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_ADC TRUE +#define HAL_USE_PAL TRUE +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/cipulot/ec_60x/keyboard.json b/keyboards/cipulot/ec_60x/keyboard.json new file mode 100644 index 00000000000..1d121800fcc --- /dev/null +++ b/keyboards/cipulot/ec_60x/keyboard.json @@ -0,0 +1,330 @@ +{ + "manufacturer": "Cipulot", + "keyboard_name": "EC 60X", + "maintainer": "Cipulot", + "bootloader": "stm32-dfu", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "eeprom": { + "wear_leveling": { + "backing_size": 4096 + } + }, + "features": { + "bootmagic": false, + "console": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "processor": "STM32F411", + "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": 22 + }, + "usb": { + "device_version": "0.0.1", + "pid": "0x6BC7", + "shared_endpoint": { + "keyboard": true + }, + "vid": "0x6369" + }, + "ws2812": { + "driver": "pwm", + "pin": "B15" + }, + "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, 14], "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": 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": { + "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, 14], "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, 14], "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}, + {"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": [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.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_jis": { + "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, 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, 14], "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}, + {"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": [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}, + {"matrix": [3, 13], "x": 13.25, "y": 3, "w": 1.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, 4], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 2.5}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 1.5}, + {"matrix": [4, 10], "x": 9.5, "y": 4, "w": 1.5}, + {"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": [0, 14], "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": 0.75}, + {"matrix": [1, 14], "x": 14.25, "y": 1, "w": 0.75}, + {"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": [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}, + {"matrix": [3, 13], "x": 13.25, "y": 3, "w": 0.75}, + {"matrix": [3, 14], "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, 4], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 2.5}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 1.5}, + {"matrix": [4, 10], "x": 9.5, "y": 4, "w": 1.5}, + {"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/cipulot/ec_60x/keymaps/60_ansi_tsangan/keymap.c b/keyboards/cipulot/ec_60x/keymaps/60_ansi_tsangan/keymap.c new file mode 100644 index 00000000000..5c1c44cda9a --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/60_ansi_tsangan/keymap.c @@ -0,0 +1,42 @@ +/* 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_60_ansi_tsangan( + 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_ENTER, + 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, MO(1), KC_RCTL), + + [1] = LAYOUT_60_ansi_tsangan( + _______, 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_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, + _______, _______, _______, _______, MO(2), _______, _______), + + [2] = LAYOUT_60_ansi_tsangan( + QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_60x/keymaps/60_iso_tsangan/keymap.c b/keyboards/cipulot/ec_60x/keymaps/60_iso_tsangan/keymap.c new file mode 100644 index 00000000000..cc3eea74d75 --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/60_iso_tsangan/keymap.c @@ -0,0 +1,42 @@ +/* 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_60_iso_tsangan( + 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_ENTER, + 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_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_RCTL), + + [1] = LAYOUT_60_iso_tsangan( + _______, 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_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, + _______, _______, _______, _______, MO(2), _______, _______), + + [2] = LAYOUT_60_iso_tsangan( + QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_60x/keymaps/60_jis/keymap.c b/keyboards/cipulot/ec_60x/keymaps/60_jis/keymap.c new file mode 100644 index 00000000000..f75581b0061 --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/60_jis/keymap.c @@ -0,0 +1,42 @@ +/* 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_60_jis( + 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_INT3, 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_ENTER, + 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_INT2, KC_RALT, MO(1), KC_RCTL), + + [1] = LAYOUT_60_jis( + _______, 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_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______), + + [2] = LAYOUT_60_jis( + QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_60x/keymaps/default/keymap.c b/keyboards/cipulot/ec_60x/keymaps/default/keymap.c new file mode 100644 index 00000000000..33e9ed7c511 --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [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_ENTER, + 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_ENTER, + 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_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL), + + [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_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______), + + [2] = LAYOUT_all( + QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/atlantis/ak81_ve/config.h b/keyboards/cipulot/ec_60x/keymaps/via/config.h similarity index 82% rename from keyboards/atlantis/ak81_ve/config.h rename to keyboards/cipulot/ec_60x/keymaps/via/config.h index ab111a5ec5f..08a4c0f74c6 100644 --- a/keyboards/atlantis/ak81_ve/config.h +++ b/keyboards/cipulot/ec_60x/keymaps/via/config.h @@ -1,8 +1,8 @@ -/* Copyright 2022 @fOmey +/* 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 2 of the License, or + * 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, @@ -16,4 +16,4 @@ #pragma once -#define RGB_MATRIX_LED_COUNT 96 +#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/cipulot/ec_60x/keymaps/via/keymap.c b/keyboards/cipulot/ec_60x/keymaps/via/keymap.c new file mode 100644 index 00000000000..33e9ed7c511 --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/via/keymap.c @@ -0,0 +1,42 @@ +/* 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [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_ENTER, + 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_ENTER, + 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_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL), + + [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_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______), + + [2] = LAYOUT_all( + QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_60x/keymaps/via/rules.mk b/keyboards/cipulot/ec_60x/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/cipulot/ec_60x/mcuconf.h b/keyboards/cipulot/ec_60x/mcuconf.h new file mode 100644 index 00000000000..88185d8e9da --- /dev/null +++ b/keyboards/cipulot/ec_60x/mcuconf.h @@ -0,0 +1,25 @@ +/* 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 + +#include_next + +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/cipulot/ec_60x/post_rules.mk b/keyboards/cipulot/ec_60x/post_rules.mk new file mode 100644 index 00000000000..d726a112a8c --- /dev/null +++ b/keyboards/cipulot/ec_60x/post_rules.mk @@ -0,0 +1,3 @@ +ifeq ($(strip $(VIA_ENABLE)), yes) + SRC += keyboards/cipulot/common/via_ec.c +endif diff --git a/keyboards/cipulot/ec_60x/readme.md b/keyboards/cipulot/ec_60x/readme.md new file mode 100644 index 00000000000..31166575719 --- /dev/null +++ b/keyboards/cipulot/ec_60x/readme.md @@ -0,0 +1,26 @@ +# EC 60X + + + +Universal 60% Electrostatic Capacitive PCB, with multi-layout support. + +* Keyboard Maintainer: [cipulot](https://github.com/cipulot) +* Hardware Supported: EC 60X +* Hardware Availability: TBD + +Make example for this keyboard (after setting up your build environment): + + make cipulot/ec_60x:default + +Flashing example for this keyboard: + + make cipulot/ec_60x: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**: Long short the exposed pins on the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/cipulot/ec_60x/rules.mk b/keyboards/cipulot/ec_60x/rules.mk new file mode 100644 index 00000000000..318e0215ce9 --- /dev/null +++ b/keyboards/cipulot/ec_60x/rules.mk @@ -0,0 +1,5 @@ +CUSTOM_MATRIX = lite +ANALOG_DRIVER_REQUIRED = yes +VPATH += keyboards/cipulot/common +SRC += matrix.c ec_board.c ec_switch_matrix.c +OPT = 2 diff --git a/keyboards/cipulot/ec_980c/keyboard.json b/keyboards/cipulot/ec_980c/keyboard.json index 6d3cb22719c..35946fa623f 100644 --- a/keyboards/cipulot/ec_980c/keyboard.json +++ b/keyboards/cipulot/ec_980c/keyboard.json @@ -35,9 +35,9 @@ }, "driver": "ws2812", "layout": [ - {"matrix": [0, 15], "x": 16.25, "y": 1, "flags": 4}, - {"matrix": [0, 16], "x": 17.25, "y": 1, "flags": 4}, - {"matrix": [0, 17], "x": 18.25, "y": 1, "flags": 4} + {"matrix": [0, 15], "x": 16, "y": 1, "flags": 4}, + {"matrix": [0, 16], "x": 17, "y": 1, "flags": 4}, + {"matrix": [0, 17], "x": 18, "y": 1, "flags": 4} ], "led_count": 3, "max_brightness": 255 diff --git a/keyboards/cipulot/ec_dolice/keyboard.json b/keyboards/cipulot/ec_dolice/keyboard.json index e81422e2c54..cebaa50ba83 100644 --- a/keyboards/cipulot/ec_dolice/keyboard.json +++ b/keyboards/cipulot/ec_dolice/keyboard.json @@ -100,7 +100,7 @@ {"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, 2], "x": 4.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}, @@ -170,7 +170,7 @@ {"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, 2], "x": 4.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}, @@ -238,7 +238,7 @@ {"matrix": [3, 12], "x": 14.5, "y": 3}, {"matrix": [3, 13], "x": 15.5, "y": 3, "w": 2.75}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 4.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}, @@ -307,7 +307,7 @@ {"matrix": [3, 12], "x": 14.5, "y": 3}, {"matrix": [3, 13], "x": 15.5, "y": 3, "w": 2.75}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 4.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}, diff --git a/keyboards/cipulot/ec_dolice/keymaps/default/keymap.c b/keyboards/cipulot/ec_dolice/keymaps/default/keymap.c index 5a501e29823..8e6745b6819 100644 --- a/keyboards/cipulot/ec_dolice/keymaps/default/keymap.c +++ b/keyboards/cipulot/ec_dolice/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_PSCR, 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_PSCR, 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_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, MO(1), diff --git a/keyboards/cipulot/ec_dolice/keymaps/via/keymap.c b/keyboards/cipulot/ec_dolice/keymaps/via/keymap.c index 5a501e29823..8e6745b6819 100644 --- a/keyboards/cipulot/ec_dolice/keymaps/via/keymap.c +++ b/keyboards/cipulot/ec_dolice/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_PSCR, 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_PSCR, 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_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, MO(1), diff --git a/keyboards/clueboard/66/rev3/keyboard.json b/keyboards/clueboard/66/rev3/keyboard.json index 0aa3e7096fc..4553979d8a2 100644 --- a/keyboards/clueboard/66/rev3/keyboard.json +++ b/keyboards/clueboard/66/rev3/keyboard.json @@ -9,7 +9,7 @@ "backlight": true, "bootmagic": false, "command": false, - "console": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -30,7 +30,6 @@ "knight": true, "rainbow_mood": true, "rainbow_swirl": true, - "rgb_test": true, "snake": true, "static_gradient": true, "twinkle": true diff --git a/keyboards/clueboard/card/keyboard.json b/keyboards/clueboard/card/keyboard.json index 106b6f823da..0425819ed7a 100644 --- a/keyboards/clueboard/card/keyboard.json +++ b/keyboards/clueboard/card/keyboard.json @@ -43,10 +43,10 @@ "levels": 6 }, "layout_aliases": { - "LAYOUT": "LAYOUT_all" + "LAYOUT_all": "LAYOUT" }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"label": "ON/OFF", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "SAT+", "matrix": [0, 1], "x": 4, "y": 0}, diff --git a/keyboards/crkbd/keymaps/colemak_luna/config.h b/keyboards/crkbd/keymaps/colemak_luna/config.h deleted file mode 100644 index 546e01bdba9..00000000000 --- a/keyboards/crkbd/keymaps/colemak_luna/config.h +++ /dev/null @@ -1,115 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2023 @asdfire1 - -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 - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#ifdef RGBLIGHT_ENABLE - #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_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_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_MATRIX_SLEEP // turn off effects when suspended -//# define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 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_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 - -/* Enable the animations you want/need. You may need to enable only a small number of these because * - * they take up a lot of space. Enable and confirm that you can still successfully compile your firmware. */ -// RGB Matrix Animation modes. Explicitly enabled -// For full list of effects, see: -// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects -# define ENABLE_RGB_MATRIX_ALPHAS_MODS -//# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -//# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -//# define ENABLE_RGB_MATRIX_BREATHING -//# define ENABLE_RGB_MATRIX_BAND_SAT -//# define ENABLE_RGB_MATRIX_BAND_VAL -//# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -//# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -//# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -//# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -//# define ENABLE_RGB_MATRIX_CYCLE_ALL -//# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -//# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -//# 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_DUAL_BEACON -//# define ENABLE_RGB_MATRIX_RAINBOW_BEACON -//# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -//# define ENABLE_RGB_MATRIX_RAINDROPS -//# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -//# define ENABLE_RGB_MATRIX_HUE_BREATHING -//# define ENABLE_RGB_MATRIX_HUE_PENDULUM -//# define ENABLE_RGB_MATRIX_HUE_WAVE -//# define ENABLE_RGB_MATRIX_PIXEL_RAIN -//# define ENABLE_RGB_MATRIX_PIXEL_FLOW -//# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -//# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -//# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -//# define ENABLE_RGB_MATRIX_SPLASH -//# define ENABLE_RGB_MATRIX_MULTISPLASH -//# define ENABLE_RGB_MATRIX_SOLID_SPLASH -//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" -#define SPLIT_LAYER_STATE_ENABLE -#define SPLIT_WPM_ENABLE //Enable WPM across split keyboards (+268). -#define NO_ACTION_ONESHOT -//#define SPLIT_OLED_ENABLE - -#define DYNAMIC_KEYMAP_LAYER_COUNT 6 \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/colemak_luna/keymap.c b/keyboards/crkbd/keymaps/colemak_luna/keymap.c deleted file mode 100644 index 39cfd1ca256..00000000000 --- a/keyboards/crkbd/keymaps/colemak_luna/keymap.c +++ /dev/null @@ -1,385 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2021 @HellSingCoder -Copyright 2023 @asdfire1 - -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 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - //COLEMAK - [0] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(3), KC_SPC, KC_ENT, MO(4), KC_RALT - //`--------------------------' `--------------------------' - - ), - //GAME1 - [1] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - 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_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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LALT, MO(2), KC_SPC, KC_ENT, MO(4), KC_RALT - //`--------------------------' `--------------------------' - ), - //GAME2 - [2] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_F1, KC_F2, XXXXXXX, XXXXXXX, KC_6, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F13, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F13, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_ENT, MO(5), KC_RALT - //`--------------------------' `--------------------------' - ), - //LOWER - [3] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, KC_MPRV, XXXXXXX, KC_MINS, KC_P7, KC_P8, KC_P9, KC_DEL, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, KC_MPLY, XXXXXXX, KC_PLUS, KC_P4, KC_P5, KC_P6, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MNXT, XXXXXXX, KC_EQL, KC_P1, KC_P2, KC_P3, KC_F13, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_SPC, MO(5), KC_P0 - //`--------------------------' `--------------------------' - ), - //RAISE - [4] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_CAPS, KC_CIRC, KC_AMPR, KC_LCBR, KC_LBRC, KC_LPRN, KC_RPRN, KC_RBRC, KC_RCBR, XXXXXXX, KC_END, KC_PGDN, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_ASTR, KC_UNDS, KC_BSLS, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(5), KC_BSPC, _______, _______, KC_LALT - //`--------------------------' `--------------------------' - ), - //ADJUST - [5] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - QK_BOOT, TG(1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, _______, _______, _______, KC_LALT - //`--------------------------' `--------------------------' - ) -}; -// clang-format on - -#ifdef OLED_ENABLE - - -/* 32 * 32 logo */ -static void render_logo(void) { - static const char PROGMEM hexagram_logo[] = { - 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x70, 0x18, 0x06, - 0x06, 0x18, 0x70, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x07, 0x1f, 0x32, 0x66, 0xc4, 0x6c, 0x38, 0x1e, 0x37, 0x61, 0xc0, 0x80, 0x80, - 0x80, 0x80, 0xc0, 0x61, 0x37, 0x1e, 0x38, 0x6c, 0xc4, 0x66, 0x32, 0x1f, 0x07, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x80, 0xe0, 0xf8, 0x4c, 0x66, 0x23, 0x36, 0x1c, 0x78, 0xec, 0x86, 0x03, 0x01, 0x01, - 0x01, 0x01, 0x03, 0x86, 0xec, 0x78, 0x1c, 0x36, 0x23, 0x66, 0x4c, 0xf8, 0xe0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0e, 0x18, 0x60, - 0x60, 0x18, 0x0e, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 -}; - oled_write_raw_P(hexagram_logo, sizeof(hexagram_logo)); -} - - - -/* KEYBOARD PET START */ - -/* settings */ -# define MIN_WALK_SPEED 10 -# define MIN_RUN_SPEED 40 - -/* advanced settings */ -# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms -# define ANIM_SIZE 96 // number of bytes in array. If you change sprites, minimize for adequate firmware size. max is 1024 - -/* timers */ -uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; - -/* current frame */ -uint8_t current_frame = 0; - -/* status variables */ -int current_wpm = 0; -led_t led_usb_state; - -bool isSneaking = false; -bool isJumping = false; -bool showedJump = true; -bool isBarking = false; - -/* logic */ -static void render_luna(int LUNA_X, int LUNA_Y) { - /* Sit */ - static const char PROGMEM sit[2][ANIM_SIZE] = {/* 'sit1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'sit2', 32x22px */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; - - /* Walk */ - static const char PROGMEM walk[2][ANIM_SIZE] = {/* 'walk1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80, 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03, 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'walk2', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - /* Run */ - static const char PROGMEM run[2][ANIM_SIZE] = {/* 'run1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'run2', 32x22px */ - { - 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - /* Bark */ - static const char PROGMEM bark[2][ANIM_SIZE] = {/* 'bark1', 32x22px */ - { - 0x00, 0xc0, 0x20, 0x10, 0xd0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'bark2', 32x22px */ - { - 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x2c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x20, 0x4a, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - /* Sneak */ - static const char PROGMEM sneak[2][ANIM_SIZE] = {/* 'sneak1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04, 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06, 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'sneak2', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04, 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - /* animation */ - void animate_luna(void) { - /* jump */ - if (isJumping || !showedJump) { - /* clear */ - oled_set_cursor(LUNA_X, LUNA_Y + 2); - oled_write(" ", false); - - oled_set_cursor(LUNA_X, LUNA_Y - 1); - - showedJump = true; - } else { - /* clear */ - oled_set_cursor(LUNA_X, LUNA_Y - 1); - oled_write(" ", false); - - oled_set_cursor(LUNA_X, LUNA_Y); - } - - /* switch frame */ - current_frame = (current_frame + 1) % 2; - - /* current status */ - if (led_usb_state.caps_lock) { - oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE); - - } else if (isSneaking) { - oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE); - - } else if (current_wpm <= MIN_WALK_SPEED) { - oled_write_raw_P(sit[abs(1 - current_frame)], ANIM_SIZE); - - } else if (current_wpm <= MIN_RUN_SPEED) { - oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE); - - } else { - oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE); - } - } - - /* animation timer */ - if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animate_luna(); - } - - /* this fixes the screen on and off bug */ - if (current_wpm > 0) { - oled_on(); - anim_sleep = timer_read32(); - } else if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { - /* clear */ - oled_set_cursor(0,0); - oled_write(" ", false); - oled_off(); - oled_set_cursor(LUNA_X,LUNA_Y); - } -} - -/* KEYBOARD PET END */ - -static void print_logo_narrow(void) { - render_logo(); -if (current_wpm > 0) { - anim_sleep = timer_read32(); - /* wpm counter */ - oled_set_cursor(0, 14); - oled_write(get_u8_str(get_current_wpm(), '0'), false); - - oled_set_cursor(0, 15); - oled_write(" wpm", false); - - /* this fixes the screen on and off bug */ - - } else if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { - /* clear */ - oled_set_cursor(0,0); - oled_write(" ", false); - oled_off(); - - - } -} - -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case 0: - rgb_matrix_reload_from_eeprom(); - break; - case 1: - rgb_matrix_mode_noeeprom(RGB_MATRIX_ALPHAS_MODS); - rgb_matrix_sethsv_noeeprom(HSV_TEAL); - break; - case 2: - rgb_matrix_mode_noeeprom(RGB_MATRIX_ALPHAS_MODS); - rgb_matrix_sethsv_noeeprom(HSV_PURPLE); - break; - case 5: - rgb_matrix_mode_noeeprom(RGB_MATRIX_ALPHAS_MODS); - rgb_matrix_sethsv_noeeprom(HSV_YELLOW); - break; - } - return state; -} - -static void print_status_narrow(void) { - - - /* Print current layer */ - oled_write("LAYER", false); - - oled_set_cursor(0, 6); - - switch (get_highest_layer(layer_state)) { - case 0: - oled_write("Base ", false); - break; - case 1: - oled_write("Game ", false); - break; - case 2: - oled_write("Game2", false); - break; - case 3: - oled_write("Lower", false); - break; - case 4: - oled_write("Raise", false); - break; - case 5: - oled_write("Adj ", false); - break; - default: - oled_write("Undef", false); - } - - - /* KEYBOARD PET RENDER START */ - - render_luna(0, 13); - - /* KEYBOARD PET RENDER END */ -} - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } - -bool oled_task_user(void) { - /* KEYBOARD PET VARIABLES START */ - - current_wpm = get_current_wpm(); - led_usb_state = host_keyboard_led_state(); - - /* KEYBOARD PET VARIABLES END */ - - if (is_keyboard_master()) { - print_status_narrow(); - } else { - print_logo_narrow(); - } - return false; -} - -#endif - bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - /* KEYBOARD PET STATUS START */ - - case KC_LCTL: - isSneaking = record->event.pressed; - break; - case KC_SPC: - isJumping = record->event.pressed; - if (isJumping) { - showedJump = false; - } - break; - case KC_CAPS: - isBarking = record->event.pressed; - break; - - /* KEYBOARD PET STATUS END */ -} - -return true; -} diff --git a/keyboards/crkbd/keymaps/colemak_luna/readme.md b/keyboards/crkbd/keymaps/colemak_luna/readme.md deleted file mode 100644 index 0f729e702ce..00000000000 --- a/keyboards/crkbd/keymaps/colemak_luna/readme.md +++ /dev/null @@ -1,17 +0,0 @@ -# Personal keymap for the CRKBD -My own keymap with some custom OLED features, Colemak base layer and gaming layers. The F13 key on multiple layers can be bound to something, I use it as toggle mute microphone on Discord. -## Layers -- Colemak - Default layer -- Lower - Has numbers and arrows -- Raise - Has symbols -- Game1 - A QWERTY Gaming layer -- Game2 - An alternate lower layer when Game1 is active, has numbers and other keys that may be needed -- Adjust - Has F-keys and settings, allows to set the Game1 as base layer. -## Custom OLED -- Left side: - - Layer indicator - - Keyboard pet Luna from @HellSingCoder -- Right side - - Unicursal hexagram pixel art logo - - WPM counter - diff --git a/keyboards/crkbd/keymaps/colemak_luna/rules.mk b/keyboards/crkbd/keymaps/colemak_luna/rules.mk deleted file mode 100644 index 9ff3128931a..00000000000 --- a/keyboards/crkbd/keymaps/colemak_luna/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -MOUSEKEY_ENABLE = no # Mouse keys -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes # Enable WS2812 RGB underlight. -VIA_ENABLE = yes # Enable VIA -OLED_ENABLE = yes -LTO_ENABLE = yes -WPM_ENABLE = yes diff --git a/keyboards/custommk/elysian/config.h b/keyboards/custommk/elysian/config.h new file mode 100644 index 00000000000..03a7586655d --- /dev/null +++ b/keyboards/custommk/elysian/config.h @@ -0,0 +1,14 @@ +// Copyright 2024 customMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// FRAM configuration +#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN B7 +#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 4 + +// SPI configuration +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 \ No newline at end of file diff --git a/keyboards/custommk/elysian/halconf.h b/keyboards/custommk/elysian/halconf.h new file mode 100644 index 00000000000..5b2f7eedd20 --- /dev/null +++ b/keyboards/custommk/elysian/halconf.h @@ -0,0 +1,14 @@ +// Copyright 2024 customMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#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/elysian/keyboard.json b/keyboards/custommk/elysian/keyboard.json new file mode 100644 index 00000000000..4fc842149dc --- /dev/null +++ b/keyboards/custommk/elysian/keyboard.json @@ -0,0 +1,65 @@ +{ + "manufacturer": "customMK", + "keyboard_name": "Elysian", + "maintainer": "customMK", + "bootloader": "stm32-dfu", + "debounce": 10, + "diode_direction": "ROW2COL", + "dynamic_keymap": { + "layer_count": 32 + }, + "eeprom": { + "driver": "spi" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "encoder": true + }, + "matrix_pins": { + "cols": ["A0", "A1", "A2", "A3", "A4"], + "rows": ["B0", "B1", "B6", "B8"] + }, + "processor": "STM32F411", + "qmk": { + "tap_keycode_delay": 10 + }, + "url": "https://shop.custommk.com/collections/elysian/products/elysian", + "usb": { + "device_version": "1.0.0", + "pid": "0xFABB", + "vid": "0xF35B", + "force_nkro": true + }, + "encoder": { + "rotary": [ + { "pin_a": "A5", "pin_b": "A6", "resolution": 2}, + { "pin_a": "A7", "pin_b": "A8", "resolution": 2} + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "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": [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": [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} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/custommk/elysian/keymaps/default/keymap.c b/keyboards/custommk/elysian/keymaps/default/keymap.c new file mode 100644 index 00000000000..fcb617ad9ee --- /dev/null +++ b/keyboards/custommk/elysian/keymaps/default/keymap.c @@ -0,0 +1,19 @@ +// Copyright 2024 customMK +// 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_ENT, + KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH + ) +}; + +#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_WH_D, KC_WH_U) } +}; +#endif \ No newline at end of file diff --git a/keyboards/custommk/elysian/keymaps/default/rules.mk b/keyboards/custommk/elysian/keymaps/default/rules.mk new file mode 100644 index 00000000000..a40474b4d5c --- /dev/null +++ b/keyboards/custommk/elysian/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/custommk/elysian/keymaps/via/config.h b/keyboards/custommk/elysian/keymaps/via/config.h new file mode 100644 index 00000000000..c2dca382777 --- /dev/null +++ b/keyboards/custommk/elysian/keymaps/via/config.h @@ -0,0 +1,6 @@ +// Copyright 2024 customMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define DYNAMIC_KEYMAP_MACRO_COUNT 128 diff --git a/keyboards/custommk/elysian/keymaps/via/keymap.c b/keyboards/custommk/elysian/keymaps/via/keymap.c new file mode 100644 index 00000000000..493a7834e89 --- /dev/null +++ b/keyboards/custommk/elysian/keymaps/via/keymap.c @@ -0,0 +1,19 @@ +// Copyright 2024 customMK +// 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, MO(1), + KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH + ) +}; + +#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_WH_D, KC_WH_U) } +}; +#endif \ No newline at end of file diff --git a/keyboards/custommk/elysian/keymaps/via/rules.mk b/keyboards/custommk/elysian/keymaps/via/rules.mk new file mode 100644 index 00000000000..4253f570f0b --- /dev/null +++ b/keyboards/custommk/elysian/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/custommk/elysian/mcuconf.h b/keyboards/custommk/elysian/mcuconf.h new file mode 100644 index 00000000000..42dbcf352a1 --- /dev/null +++ b/keyboards/custommk/elysian/mcuconf.h @@ -0,0 +1,10 @@ +// Copyright 2024 customMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +// FRAM +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE diff --git a/keyboards/custommk/elysian/readme.md b/keyboards/custommk/elysian/readme.md new file mode 100644 index 00000000000..7b508758ca4 --- /dev/null +++ b/keyboards/custommk/elysian/readme.md @@ -0,0 +1,27 @@ +# Elysian + + + +Elysian is a 3x5 macropad including two rotary encoders. + +* Keyboard Maintainer: [customMK](https://github.com/customMK) +* Hardware Supported: Elysian +* Hardware Availability: [customMK](https://shop.custommk.com/collections/keyboards/products/elysian) + +Make example for this keyboard (after setting up your build environment): + + make custommk/elysian:default + +Flashing example for this keyboard: + + make custommk/elysian: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**: Press and hold down the rotary encoder at (0,0) in the matrix (the rotary encoder in the top left corner) 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/custommk/ergostrafer_rgb/config.h b/keyboards/custommk/ergostrafer_rgb/config.h new file mode 100644 index 00000000000..cba40b36d40 --- /dev/null +++ b/keyboards/custommk/ergostrafer_rgb/config.h @@ -0,0 +1,28 @@ +// Copyright 2024 customMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// FRAM configuration +#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN B7 +#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 4 // 48MHz / 4 = 12MHz; max supported by MB85R64 is 20MHz + +// SPI configuration +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 + +// Audio configuration +#define AUDIO_PIN B8 +#define AUDIO_PWM_DRIVER PWMD4 +#define AUDIO_PWM_CHANNEL 3 +#define AUDIO_PWM_PAL_MODE 2 +#define AUDIO_STATE_TIMER GPTD5 +#define AUDIO_INIT_DELAY + +#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/custommk/ergostrafer_rgb/halconf.h b/keyboards/custommk/ergostrafer_rgb/halconf.h new file mode 100644 index 00000000000..6791d829f9b --- /dev/null +++ b/keyboards/custommk/ergostrafer_rgb/halconf.h @@ -0,0 +1,30 @@ +/* Copyright 2024 customMK + * + * 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_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_rgb/keyboard.json b/keyboards/custommk/ergostrafer_rgb/keyboard.json new file mode 100644 index 00000000000..a0b0645e987 --- /dev/null +++ b/keyboards/custommk/ergostrafer_rgb/keyboard.json @@ -0,0 +1,192 @@ +{ + "manufacturer": "customMK", + "keyboard_name": "ErgoStrafer RGB", + "maintainer": "customMK", + "bootloader": "stm32-dfu", + "diode_direction": "ROW2COL", + "audio": { + "driver": "pwm_hardware" + }, + "dynamic_keymap": { + "layer_count": 32 + }, + "eeprom": { + "driver": "spi" + }, + "encoder": { + "rotary": [ + {"pin_a": "A8", "pin_b": "A4", "resolution": 2}, + {"pin_a": "B12", "pin_b": "B14", "resolution": 2}, + {"pin_a": "B15", "pin_b": "A15", "resolution": 2} + ] + }, + "features": { + "audio": true, + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["B0", "A1", "A2", "A3", "A6", "B6", "B10"], + "rows": ["C13", "C14", "C15", "B1", "A7", "A5"] + }, + "processor": "STM32F411", + "qmk": { + "tap_keycode_delay": 10 + }, + "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 + }, + "center_point": [112, 112], + "driver": "ws2812", + "layout": [ + {"matrix": [0, 1], "x": 32, "y": 45, "flags": 4}, + {"matrix": [0, 2], "x": 57, "y": 40, "flags": 4}, + {"matrix": [0, 3], "x": 83, "y": 38, "flags": 4}, + {"matrix": [0, 4], "x": 109, "y": 40, "flags": 4}, + {"matrix": [0, 5], "x": 134, "y": 45, "flags": 4}, + {"x": 136, "y": 18, "flags": 4}, + {"matrix": [0, 0], "x": 167, "y": 11, "flags": 4}, + {"matrix": [1, 0], "x": 170, "y": 33, "flags": 4}, + {"matrix": [2, 0], "x": 174, "y": 54, "flags": 4}, + {"x": 195, "y": 57, "flags": 4}, + {"x": 211, "y": 81, "flags": 4}, + {"x": 193, "y": 90, "flags": 4}, + {"matrix": [0, 6], "x": 171, "y": 90, "flags": 4}, + {"matrix": [2, 5], "x": 143, "y": 90, "flags": 4}, + {"matrix": [1, 5], "x": 140, "y": 67, "flags": 4}, + {"matrix": [1, 4], "x": 118, "y": 61, "flags": 4}, + {"matrix": [2, 3], "x": 95, "y": 58, "flags": 4}, + {"matrix": [1, 3], "x": 71, "y": 58, "flags": 4}, + {"matrix": [1, 2], "x": 48, "y": 61, "flags": 4}, + {"matrix": [1, 1], "x": 26, "y": 67, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 90, "flags": 4}, + {"matrix": [2, 1], "x": 23, "y": 90, "flags": 4}, + {"matrix": [2, 2], "x": 52, "y": 87, "flags": 4}, + {"matrix": [3, 3], "x": 83, "y": 85, "flags": 4}, + {"matrix": [2, 4], "x": 114, "y": 87, "flags": 4}, + {"matrix": [3, 5], "x": 139, "y": 113, "flags": 4}, + {"matrix": [1, 6], "x": 167, "y": 114, "flags": 4}, + {"x": 207, "y": 112, "flags": 4}, + {"matrix": [5, 6], "x": 224, "y": 146, "flags": 4}, + {"matrix": [3, 6], "x": 184, "y": 147, "flags": 4}, + {"matrix": [2, 6], "x": 156, "y": 147, "flags": 4}, + {"matrix": [4, 5], "x": 127, "y": 135, "flags": 4}, + {"matrix": [3, 4], "x": 111, "y": 112, "flags": 4}, + {"matrix": [4, 3], "x": 83, "y": 112, "flags": 4}, + {"matrix": [3, 2], "x": 55, "y": 112, "flags": 4}, + {"matrix": [3, 1], "x": 20, "y": 114, "flags": 4}, + {"matrix": [4, 1], "x": 15, "y": 138, "flags": 4}, + {"matrix": [5, 1], "x": 14, "y": 162, "flags": 4}, + {"matrix": [4, 2], "x": 52, "y": 137, "flags": 4}, + {"matrix": [5, 3], "x": 83, "y": 139, "flags": 4}, + {"x": 83, "y": 164, "flags": 4}, + {"x": 104, "y": 144, "flags": 4}, + {"matrix": [5, 5], "x": 121, "y": 173, "flags": 4}, + {"matrix": [4, 6], "x": 167, "y": 173, "flags": 4} + ], + "max_brightness": 120, + "sat_steps": 8, + "speed_steps": 10, + "val_steps": 8 + }, + "url": "https://shop.custommk.com/collections/ergostrafer/products/ergostrafer", + "usb": { + "device_version": "1.0.0", + "pid": "0xFAB9", + "vid": "0xF35B" + }, + "ws2812": { + "driver": "pwm", + "pin": "A10" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "F9", "matrix": [0, 0], "x": 7.5, "y": 0}, + {"label": "7", "matrix": [0, 1], "x": 1.5, "y": 1.25}, + {"label": "8", "matrix": [0, 2], "x": 2.5, "y": 1.25}, + {"label": "9", "matrix": [0, 3], "x": 3.5, "y": 1.25}, + {"label": "0", "matrix": [0, 4], "x": 4.5, "y": 1.25}, + {"label": "-", "matrix": [0, 5], "x": 5.5, "y": 1.25}, + {"label": "T", "matrix": [0, 6], "x": 7.25, "y": 3.25, "w": 1.5}, + {"label": "PrtScr", "matrix": [1, 0], "x": 7.5, "y": 1}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 2.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 2.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 2.25}, + {"label": "5", "matrix": [1, 4], "x": 5, "y": 2.25}, + {"label": "6", "matrix": [1, 5], "x": 6, "y": 2.25}, + {"label": "G", "matrix": [1, 6], "x": 7.25, "y": 4.25, "w": 1.5}, + {"label": "F5", "matrix": [2, 0], "x": 7.5, "y": 2}, + {"label": "Tab", "matrix": [2, 1], "x": 1, "y": 3.5}, + {"label": "Q", "matrix": [2, 2], "x": 2.5, "y": 3.4}, + {"label": "4", "matrix": [2, 3], "x": 4, "y": 2.25}, + {"label": "E", "matrix": [2, 4], "x": 4.5, "y": 3.4}, + {"label": "R", "matrix": [2, 5], "x": 6, "y": 3.3}, + {"label": "B", "matrix": [2, 6], "x": 6.5, "y": 5.75, "w": 1.5}, + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5}, + {"label": "L Alt", "matrix": [3, 1], "x": 0.25, "y": 4.75, "w": 1.5}, + {"label": "A", "matrix": [3, 2], "x": 2.5, "y": 4.5}, + {"label": "W", "matrix": [3, 3], "x": 3.5, "y": 3.4}, + {"label": "D", "matrix": [3, 4], "x": 4.5, "y": 4.5}, + {"label": "F", "matrix": [3, 5], "x": 6, "y": 4.3}, + {"label": "P", "matrix": [3, 6], "x": 8, "y": 5.75}, + {"label": "L Shift", "matrix": [4, 1], "x": 0.25, "y": 5.75, "w": 1.5}, + {"label": "Z", "matrix": [4, 2], "x": 2.5, "y": 5.6}, + {"label": "S", "matrix": [4, 3], "x": 3.5, "y": 4.5}, + {"label": "V", "matrix": [4, 5], "x": 5, "y": 5.75, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 6.5, "y": 6.85, "w": 1.75}, + {"label": "L Ctrl Duck", "matrix": [5, 1], "x": 0.25, "y": 6.75, "w": 1.5}, + {"label": "X", "matrix": [5, 3], "x": 3.5, "y": 5.6}, + {"label": "C", "matrix": [5, 5], "x": 4.75, "y": 6.85, "w": 1.75}, + {"label": "L Ctrl", "matrix": [5, 6], "x": 9.5, "y": 5.75} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/custommk/ergostrafer_rgb/keymaps/default/keymap.c b/keyboards/custommk/ergostrafer_rgb/keymaps/default/keymap.c new file mode 100644 index 00000000000..71a83d4868a --- /dev/null +++ b/keyboards/custommk/ergostrafer_rgb/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2024 customMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_F9, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_T, + KC_PSCR, KC_1, KC_2, KC_3, KC_5, KC_6, KC_G, + KC_F5, KC_TAB, KC_Q, KC_4, KC_E, KC_R, KC_B, + KC_CAPS, KC_LALT, KC_A, KC_W, KC_D, KC_F, KC_P, + KC_LSFT, KC_Z, KC_S, KC_V, KC_SPC, + KC_LCTL, KC_X, KC_C, KC_LCTL + ) +}; + +#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), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif \ No newline at end of file diff --git a/keyboards/custommk/ergostrafer_rgb/keymaps/default/rules.mk b/keyboards/custommk/ergostrafer_rgb/keymaps/default/rules.mk new file mode 100644 index 00000000000..a40474b4d5c --- /dev/null +++ b/keyboards/custommk/ergostrafer_rgb/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/custommk/ergostrafer_rgb/keymaps/via/config.h b/keyboards/custommk/ergostrafer_rgb/keymaps/via/config.h new file mode 100644 index 00000000000..c2dca382777 --- /dev/null +++ b/keyboards/custommk/ergostrafer_rgb/keymaps/via/config.h @@ -0,0 +1,6 @@ +// Copyright 2024 customMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define DYNAMIC_KEYMAP_MACRO_COUNT 128 diff --git a/keyboards/custommk/ergostrafer_rgb/keymaps/via/keymap.c b/keyboards/custommk/ergostrafer_rgb/keymaps/via/keymap.c new file mode 100644 index 00000000000..cddbb912c40 --- /dev/null +++ b/keyboards/custommk/ergostrafer_rgb/keymaps/via/keymap.c @@ -0,0 +1,19 @@ +// Copyright 2024 customMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_F9, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_T, + KC_PSCR, KC_1, KC_2, KC_3, KC_5, KC_6, KC_G, + KC_F5, KC_TAB, KC_Q, KC_4, KC_E, KC_R, KC_B, + KC_CAPS, KC_LALT, KC_A, KC_W, KC_D, KC_F, KC_P, + KC_LSFT, KC_Z, KC_S, KC_V, KC_SPC, + KC_LCTL, KC_X, KC_C, KC_LCTL + ) +}; + +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), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; \ No newline at end of file diff --git a/keyboards/custommk/ergostrafer_rgb/keymaps/via/rules.mk b/keyboards/custommk/ergostrafer_rgb/keymaps/via/rules.mk new file mode 100644 index 00000000000..4253f570f0b --- /dev/null +++ b/keyboards/custommk/ergostrafer_rgb/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/custommk/ergostrafer_rgb/mcuconf.h b/keyboards/custommk/ergostrafer_rgb/mcuconf.h new file mode 100644 index 00000000000..8151abdcba3 --- /dev/null +++ b/keyboards/custommk/ergostrafer_rgb/mcuconf.h @@ -0,0 +1,31 @@ +/* Copyright 2024 customMK + * + * 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 + +// Used for audio +#undef STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE + +// Used for FRAM +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE + +// Used for RGB matrix +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE \ No newline at end of file diff --git a/keyboards/custommk/ergostrafer_rgb/readme.md b/keyboards/custommk/ergostrafer_rgb/readme.md new file mode 100644 index 00000000000..4536a9841e3 --- /dev/null +++ b/keyboards/custommk/ergostrafer_rgb/readme.md @@ -0,0 +1,27 @@ +# ergostrafer rgb + + + +ErgoStrafer RGB is a gaming mechanical keyboard with per-key RGB LEDs that reproduces the layout of the discontinued SteelSeries Merc Stealth a.k.a. Zboard. + +* Keyboard Maintainer: [customMK](https://github.com/customMK) +* Hardware Supported: ErgoStrafer RGB +* Hardware Availability: [customMK](https://shop.custommk.com/collections/ergostrafer/products/ergostrafer) + +Make example for this keyboard (after setting up your build environment): + + make custommk/ergostrafer_rgb:default + +Flashing example for this keyboard: + + make custommk/ergostrafer_rgb: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 "Load" key in the top right corner) 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/dailycraft/claw44/keymaps/oled/config.h b/keyboards/dailycraft/claw44/keymaps/oled/config.h index 5379ce677d5..f84bf23dd8c 100644 --- a/keyboards/dailycraft/claw44/keymaps/oled/config.h +++ b/keyboards/dailycraft/claw44/keymaps/oled/config.h @@ -19,4 +19,4 @@ along with this program. If not, see . #pragma once #define MASTER_LEFT -#define OLED_FONT_H "keyboards/claw44/lib/glcdfont.c" +#define OLED_FONT_H "claw44/lib/glcdfont.c" diff --git a/keyboards/darkproject/kd87a_bfg_edition/keyboard.json b/keyboards/darkproject/kd87a_bfg_edition/keyboard.json index 856dbea6488..1e0d7f5e8b8 100644 --- a/keyboards/darkproject/kd87a_bfg_edition/keyboard.json +++ b/keyboards/darkproject/kd87a_bfg_edition/keyboard.json @@ -139,41 +139,41 @@ { "flags": 4, "matrix": [2, 5], "x": 175, "y": 25 }, { "flags": 8, "matrix": [2, 1], "x": 0, "y": 35 }, - { "flags": 4, "matrix": [1, 2], "x": 17.5, "y": 35 }, - { "flags": 4, "matrix": [2, 2], "x": 27.5, "y": 35 }, - { "flags": 4, "matrix": [3, 2], "x": 37.5, "y": 35 }, - { "flags": 4, "matrix": [4, 2], "x": 47.5, "y": 35 }, - { "flags": 4, "matrix": [4, 3], "x": 57.5, "y": 35 }, - { "flags": 4, "matrix": [5, 3], "x": 67.5, "y": 35 }, - { "flags": 4, "matrix": [5, 2], "x": 77.5, "y": 35 }, - { "flags": 4, "matrix": [6, 2], "x": 87.5, "y": 35 }, - { "flags": 4, "matrix": [7, 2], "x": 97.5, "y": 35 }, - { "flags": 4, "matrix": [8, 2], "x": 107.5, "y": 35 }, - { "flags": 4, "matrix": [8, 3], "x": 117.5, "y": 35 }, - { "flags": 4, "matrix": [10, 4], "x": 127.5, "y": 35 }, + { "flags": 4, "matrix": [1, 2], "x": 17, "y": 35 }, + { "flags": 4, "matrix": [2, 2], "x": 27, "y": 35 }, + { "flags": 4, "matrix": [3, 2], "x": 37, "y": 35 }, + { "flags": 4, "matrix": [4, 2], "x": 47, "y": 35 }, + { "flags": 4, "matrix": [4, 3], "x": 57, "y": 35 }, + { "flags": 4, "matrix": [5, 3], "x": 67, "y": 35 }, + { "flags": 4, "matrix": [5, 2], "x": 77, "y": 35 }, + { "flags": 4, "matrix": [6, 2], "x": 87, "y": 35 }, + { "flags": 4, "matrix": [7, 2], "x": 97, "y": 35 }, + { "flags": 4, "matrix": [8, 2], "x": 107, "y": 35 }, + { "flags": 4, "matrix": [8, 3], "x": 117, "y": 35 }, + { "flags": 4, "matrix": [10, 4], "x": 127, "y": 35 }, { "flags": 4, "matrix": [0, 0], "x": 0, "y": 45 }, - { "flags": 4, "matrix": [1, 4], "x": 22.5, "y": 45 }, - { "flags": 4, "matrix": [2, 4], "x": 32.5, "y": 45 }, - { "flags": 4, "matrix": [3, 4], "x": 42.5, "y": 45 }, - { "flags": 4, "matrix": [4, 4], "x": 52.5, "y": 45 }, - { "flags": 4, "matrix": [4, 5], "x": 62.5, "y": 45 }, - { "flags": 4, "matrix": [5, 5], "x": 72.5, "y": 45 }, - { "flags": 4, "matrix": [5, 4], "x": 82.5, "y": 45 }, - { "flags": 4, "matrix": [6, 4], "x": 92.5, "y": 45 }, - { "flags": 4, "matrix": [7, 4], "x": 102.5, "y": 45 }, - { "flags": 4, "matrix": [8, 5], "x": 112.5, "y": 45 }, - { "flags": 4, "matrix": [9, 1], "x": 122.5, "y": 45 }, + { "flags": 4, "matrix": [1, 4], "x": 22, "y": 45 }, + { "flags": 4, "matrix": [2, 4], "x": 32, "y": 45 }, + { "flags": 4, "matrix": [3, 4], "x": 42, "y": 45 }, + { "flags": 4, "matrix": [4, 4], "x": 52, "y": 45 }, + { "flags": 4, "matrix": [4, 5], "x": 62, "y": 45 }, + { "flags": 4, "matrix": [5, 5], "x": 72, "y": 45 }, + { "flags": 4, "matrix": [5, 4], "x": 82, "y": 45 }, + { "flags": 4, "matrix": [6, 4], "x": 92, "y": 45 }, + { "flags": 4, "matrix": [7, 4], "x": 102, "y": 45 }, + { "flags": 4, "matrix": [8, 5], "x": 112, "y": 45 }, + { "flags": 4, "matrix": [9, 1], "x": 122, "y": 45 }, { "flags": 4, "matrix": [3, 5], "x": 165, "y": 45 }, { "flags": 4, "matrix": [0, 6], "x": 0, "y": 55 }, - { "flags": 4, "matrix": [9, 0], "x": 12.5, "y": 55 }, + { "flags": 4, "matrix": [9, 0], "x": 12, "y": 55 }, { "flags": 4, "matrix": [9, 3], "x": 25, "y": 55 }, - { "flags": 4, "matrix": [9, 4], "x": 37.5, "y": 55 }, + { "flags": 4, "matrix": [9, 4], "x": 37, "y": 55 }, { "flags": 4, "matrix": [9, 5], "x": 100, "y": 55 }, - { "flags": 4, "matrix": [9, 2], "x": 112.5, "y": 55 }, + { "flags": 4, "matrix": [9, 2], "x": 112, "y": 55 }, { "flags": 4, "matrix": [8, 4], "x": 125, "y": 55 }, - { "flags": 4, "matrix": [0, 4], "x": 137.5, "y": 55 }, + { "flags": 4, "matrix": [0, 4], "x": 137, "y": 55 }, { "flags": 4, "matrix": [0, 3], "x": 155, "y": 55 }, { "flags": 4, "matrix": [7, 3], "x": 165, "y": 55 }, { "flags": 4, "matrix": [0, 5], "x": 175, "y": 55 } diff --git a/keyboards/dasky/reverb/graphics/display.c b/keyboards/dasky/reverb/graphics/display.c index 13ac13ddb35..476a222f015 100644 --- a/keyboards/dasky/reverb/graphics/display.c +++ b/keyboards/dasky/reverb/graphics/display.c @@ -9,6 +9,7 @@ #include static painter_image_handle_t reverb_logo; +static painter_image_handle_t splash_image; static deferred_token display_task_token; static uint32_t key_pressed_count = 0; @@ -32,7 +33,6 @@ void display_init_kb(void) { if (!display_init_user()) { return; } - painter_image_handle_t splash_image; splash_image = qp_load_image_mem(gfx_splash); reverb_logo = qp_load_image_mem(gfx_reverb); qp_drawimage(reverb_display, 0, 0, splash_image); diff --git a/keyboards/db/db63/readme.md b/keyboards/db/db63/readme.md index e886bed0a1a..09ea46a3ce2 100644 --- a/keyboards/db/db63/readme.md +++ b/keyboards/db/db63/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make db/db63:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make db/db63:default:flash diff --git a/keyboards/dc01/arrow/keyboard.json b/keyboards/dc01/arrow/keyboard.json index 72fa1b4e22c..f56646367fc 100644 --- a/keyboards/dc01/arrow/keyboard.json +++ b/keyboards/dc01/arrow/keyboard.json @@ -23,8 +23,11 @@ "resync": true } }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/dc01/arrow/keymaps/default/keymap.c b/keyboards/dc01/arrow/keymaps/default/keymap.c index b7f539e85c3..65f778a5a61 100644 --- a/keyboards/dc01/arrow/keymaps/default/keymap.c +++ b/keyboards/dc01/arrow/keymaps/default/keymap.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_all( /* Base */ +[0] = LAYOUT( /* Base */ KC_INS, KC_HOME, KC_PGUP, KC_DEL, KC_END, KC_PGDN, diff --git a/keyboards/dc01/arrow/keymaps/via/keymap.c b/keyboards/dc01/arrow/keymaps/via/keymap.c index a086ffc0744..79ef05e2c52 100644 --- a/keyboards/dc01/arrow/keymaps/via/keymap.c +++ b/keyboards/dc01/arrow/keymaps/via/keymap.c @@ -16,31 +16,10 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_all( /* Base */ +[0] = LAYOUT( /* Base */ KC_INS, KC_HOME, KC_PGUP, KC_DEL, KC_END, KC_PGDN, KC_UP, - KC_LEFT, KC_DOWN, KC_RIGHT), - -[1] = LAYOUT_all( /* Empty for Dynamic keymap */ - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS), - -[2] = LAYOUT_all( /* Empty for Dynamic keymap */ - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS), - -[3] = LAYOUT_all( /* Empty for Dynamic keymap */ - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS) + KC_LEFT, KC_DOWN, KC_RIGHT) }; diff --git a/keyboards/deltasplit75/keymaps/default/keymap.c b/keyboards/deltasplit75/keymaps/default/keymap.c index 36031d57aef..8bbd3e82faa 100644 --- a/keyboards/deltasplit75/keymaps/default/keymap.c +++ b/keyboards/deltasplit75/keymaps/default/keymap.c @@ -7,7 +7,7 @@ // entirely and just use numbers. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_v2( + 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_INS, KC_HOME, KC_PGUP, 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_END, KC_PGDN, 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_SCRL, @@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - LAYOUT_v2( + LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/deltasplit75/v2/keyboard.json b/keyboards/deltasplit75/v2/keyboard.json index d175633d71e..4d3d42ad046 100644 --- a/keyboards/deltasplit75/v2/keyboard.json +++ b/keyboards/deltasplit75/v2/keyboard.json @@ -36,8 +36,11 @@ "resync": true } }, + "layout_aliases": { + "LAYOUT_v2": "LAYOUT_all" + }, "layouts": { - "LAYOUT_v2": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/doio/kb38/keyboard.json b/keyboards/doio/kb38/keyboard.json index 7e978b2be8b..a46f1a6a450 100644 --- a/keyboards/doio/kb38/keyboard.json +++ b/keyboards/doio/kb38/keyboard.json @@ -48,54 +48,54 @@ "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, - {"flags": 4, "matrix": [0, 1], "x": 62.2, "y": 0}, - {"flags": 4, "matrix": [0, 2], "x": 99.6, "y": 0}, - {"flags": 4, "matrix": [0, 3], "x": 124.4, "y": 0}, - {"flags": 4, "matrix": [0, 4], "x": 149.3, "y": 0}, - {"flags": 4, "matrix": [0, 5], "x": 174.2, "y": 0}, - {"flags": 4, "matrix": [0, 6], "x": 199.1, "y": 0}, + {"flags": 4, "matrix": [0, 1], "x": 62, "y": 0}, + {"flags": 4, "matrix": [0, 2], "x": 99, "y": 0}, + {"flags": 4, "matrix": [0, 3], "x": 124, "y": 0}, + {"flags": 4, "matrix": [0, 4], "x": 149, "y": 0}, + {"flags": 4, "matrix": [0, 5], "x": 174, "y": 0}, + {"flags": 4, "matrix": [0, 6], "x": 199, "y": 0}, {"flags": 4, "matrix": [0, 7], "x": 224, "y": 0}, - {"flags": 4, "matrix": [1, 0], "x": 0, "y": 12.8}, - {"flags": 4, "matrix": [1, 1], "x": 24.9, "y": 12.8}, - {"flags": 4, "matrix": [1, 2], "x": 49.8, "y": 12.8}, - {"flags": 4, "matrix": [1, 3], "x": 74.6, "y": 12.8}, - {"flags": 4, "matrix": [1, 4], "x": 99.6, "y": 12.8}, - {"flags": 4, "matrix": [1, 5], "x": 124.4, "y": 12.8}, - {"flags": 4, "matrix": [1, 6], "x": 149.3, "y": 12.8}, + {"flags": 4, "matrix": [1, 0], "x": 0, "y": 12}, + {"flags": 4, "matrix": [1, 1], "x": 24, "y": 12}, + {"flags": 4, "matrix": [1, 2], "x": 49, "y": 12}, + {"flags": 4, "matrix": [1, 3], "x": 74, "y": 12}, + {"flags": 4, "matrix": [1, 4], "x": 99, "y": 12}, + {"flags": 4, "matrix": [1, 5], "x": 124, "y": 12}, + {"flags": 4, "matrix": [1, 6], "x": 149, "y": 12}, - {"flags": 4, "matrix": [2, 0], "x": 0, "y": 25.6}, - {"flags": 4, "matrix": [2, 1], "x": 24.9, "y": 25.6}, - {"flags": 4, "matrix": [2, 2], "x": 49.8, "y": 25.6}, - {"flags": 4, "matrix": [2, 3], "x": 74.6, "y": 32}, - {"flags": 4, "matrix": [2, 4], "x": 90, "y": 25.6}, - {"flags": 4, "matrix": [2, 5], "x": 124.4, "y": 25.6}, - {"flags": 4, "matrix": [2, 6], "x": 149.3, "y": 25.6}, + {"flags": 4, "matrix": [2, 0], "x": 0, "y": 25}, + {"flags": 4, "matrix": [2, 1], "x": 24, "y": 25}, + {"flags": 4, "matrix": [2, 2], "x": 49, "y": 25}, + {"flags": 4, "matrix": [2, 3], "x": 74, "y": 32}, + {"flags": 4, "matrix": [2, 4], "x": 90, "y": 25}, + {"flags": 4, "matrix": [2, 5], "x": 124, "y": 25}, + {"flags": 4, "matrix": [2, 6], "x": 149, "y": 25}, - {"flags": 4, "matrix": [3, 0], "x": 0, "y": 38.4}, - {"flags": 4, "matrix": [3, 1], "x": 24.9, "y": 38.4}, - {"flags": 4, "matrix": [3, 2], "x": 49.8, "y": 38.4}, - {"flags": 4, "matrix": [3, 3], "x": 99.6, "y": 38.4}, - {"flags": 4, "matrix": [3, 4], "x": 124.4, "y": 38.4}, - {"flags": 4, "matrix": [3, 5], "x": 149.3, "y": 38.4}, + {"flags": 4, "matrix": [3, 0], "x": 0, "y": 38}, + {"flags": 4, "matrix": [3, 1], "x": 24, "y": 38}, + {"flags": 4, "matrix": [3, 2], "x": 49, "y": 38}, + {"flags": 4, "matrix": [3, 3], "x": 99, "y": 38}, + {"flags": 4, "matrix": [3, 4], "x": 124, "y": 38}, + {"flags": 4, "matrix": [3, 5], "x": 149, "y": 38}, - {"flags": 4, "matrix": [4, 0], "x": 0, "y": 51.2}, - {"flags": 4, "matrix": [4, 1], "x": 24.9, "y": 51.2}, - {"flags": 4, "matrix": [4, 2], "x": 49.8, "y": 51.2}, - {"flags": 4, "matrix": [4, 3], "x": 74.6, "y": 57.6}, - {"flags": 4, "matrix": [4, 5], "x": 124.4, "y": 51.2}, + {"flags": 4, "matrix": [4, 0], "x": 0, "y": 51}, + {"flags": 4, "matrix": [4, 1], "x": 24, "y": 51}, + {"flags": 4, "matrix": [4, 2], "x": 49, "y": 51}, + {"flags": 4, "matrix": [4, 3], "x": 74, "y": 57}, + {"flags": 4, "matrix": [4, 5], "x": 124, "y": 51}, - {"flags": 4, "matrix": [5, 0], "x": 12.5, "y": 64}, - {"flags": 4, "matrix": [5, 1], "x": 49.8, "y": 64}, - {"flags": 4, "matrix": [5, 2], "x": 99.6, "y": 64}, - {"flags": 4, "matrix": [5, 3], "x": 124.4, "y": 64}, - {"flags": 4, "matrix": [5, 4], "x": 149.3, "y": 64}, + {"flags": 4, "matrix": [5, 0], "x": 12, "y": 64}, + {"flags": 4, "matrix": [5, 1], "x": 49, "y": 64}, + {"flags": 4, "matrix": [5, 2], "x": 99, "y": 64}, + {"flags": 4, "matrix": [5, 3], "x": 124, "y": 64}, + {"flags": 4, "matrix": [5, 4], "x": 149, "y": 64}, {"flags": 2, "x": 224, "y": 64}, - {"flags": 2, "x": 74.6, "y": 64}, + {"flags": 2, "x": 74, "y": 64}, {"flags": 2, "x": 0, "y": 64}, {"flags": 2, "x": 0, "y": 0}, - {"flags": 2, "x": 74.6, "y": 0}, + {"flags": 2, "x": 74, "y": 0}, {"flags": 2, "x": 224, "y": 0} ], "max_brightness": 200, diff --git a/keyboards/donutcables/budget96/readme.md b/keyboards/donutcables/budget96/readme.md index 9cdb3a01bf6..b082c2af0ff 100644 --- a/keyboards/donutcables/budget96/readme.md +++ b/keyboards/donutcables/budget96/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make donutcables/budget96:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make donutcables/budget96:default:flash diff --git a/keyboards/doro67/multi/keyboard.json b/keyboards/doro67/multi/keyboard.json index 81f2940b362..a3a652e40b8 100644 --- a/keyboards/doro67/multi/keyboard.json +++ b/keyboards/doro67/multi/keyboard.json @@ -34,6 +34,7 @@ "bootloader": "atmel-dfu", "community_layouts": ["65_ansi_blocker"], "layout_aliases": { + "LAYOUT_multi": "LAYOUT_all", "LAYOUT_ansi": "LAYOUT_65_ansi_blocker" }, "layouts": { @@ -188,7 +189,7 @@ {"matrix": [4, 14], "x": 15, "y": 4} ] }, - "LAYOUT_multi": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/doro67/multi/keymaps/default_multi/keymap.c b/keyboards/doro67/multi/keymaps/default_multi/keymap.c index 918ac3936bd..1b58b0c2d67 100644 --- a/keyboards/doro67/multi/keymaps/default_multi/keymap.c +++ b/keyboards/doro67/multi/keymaps/default_multi/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │LCtl│LGui│LAlt│ Space │Spc │ Space │RAl│Fn │RCt│ ← │ ↓ │ → │ * └────┴────┴────┴──────────┴────┴────────┴───┴───┴───┴───┴───┴───┘ */ - [0] = LAYOUT_multi( + [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_INS, 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_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, @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ │ │ │ * └────┴────┴────┴──────────┴────┴────────┴───┴───┴───┴───┴───┴───┘ */ - [1] = LAYOUT_multi( + [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, _______, _______, _______, BL_TOGG, BL_STEP, BL_DOWN, BL_UP, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/doro67/rgb/keyboard.json b/keyboards/doro67/rgb/keyboard.json index 9b660fd1aec..8f372dc9c7f 100644 --- a/keyboards/doro67/rgb/keyboard.json +++ b/keyboards/doro67/rgb/keyboard.json @@ -39,8 +39,6 @@ "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, diff --git a/keyboards/dp60/config.h b/keyboards/dp60/config.h index c2aa3152914..37fddf45fe0 100644 --- a/keyboards/dp60/config.h +++ b/keyboards/dp60/config.h @@ -18,8 +18,7 @@ /* key matrix size */ #define MATRIX_ROWS 5 -#define MATRIX_COLS 15 -#define DIODE_DIRECTION COL2ROW +#define MATRIX_COLS 14 /* * Feature disable options @@ -35,5 +34,3 @@ //rgb matrix setting #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC - -#define RGB_MATRIX_LED_COUNT 72 diff --git a/keyboards/dp60/dp60.c b/keyboards/dp60/dp60.c index 349e5cea9b3..4540758b7e0 100644 --- a/keyboards/dp60/dp60.c +++ b/keyboards/dp60/dp60.c @@ -24,135 +24,83 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { * | | G location * | | | B location * | | | | */ -// left CA - {0, C1_1, C3_2, C4_2}, - {0, C1_2, C2_2, C4_3}, - {0, C1_3, C2_3, C3_3}, - {0, C1_4, C2_4, C3_4}, - {0, C1_5, C2_5, C3_5}, - {0, C1_6, C2_6, C3_6}, - {0, C1_7, C2_7, C3_7}, - {0, C1_8, C2_8, C3_8}, + {0, C1_9, C3_10, C4_10}, // RGB101 + {0, C1_10, C2_10, C4_11}, // RGB102 + {0, C1_11, C2_11, C3_11}, // RGB103 + {0, C1_12, C2_12, C3_12}, // RGB104 + {0, C1_13, C2_13, C3_13}, // RGB105 + {0, C1_14, C2_14, C3_14}, // RGB106 + {0, C1_15, C2_15, C3_15}, // RGB107 + {1, C5_1, C4_1, C6_1}, // RGB108 + {1, C1_1, C3_2, C4_2}, // RGB109 + {1, C1_2, C2_2, C4_3}, // RGB1010 + {1, C1_3, C2_3, C3_3}, // RGB1011 + {1, C1_4, C2_4, C3_4}, // RGB1012 + {1, C1_5, C2_5, C3_5}, // RGB1013 + {1, C1_6, C2_6, C3_6}, // RGB1014 + {1, C1_7, C2_7, C3_7}, // RGB1015-2 + {1, C1_8, C2_8, C3_8}, // RGB1015 - {0, C5_1, C4_1, C6_1}, - {0, C5_8, C4_8, C6_8}, + {0, C5_9, C4_9, C6_9}, // RGB201 + {0, C5_16, C4_16, C6_16}, // RGB202 + {0, C9_9, C8_9, C7_9}, // RGB203 + {0, C9_10, C8_10, C7_10}, // RGB204 + {0, C9_11, C8_11, C7_11}, // RGB205 + {0, C9_12, C8_12, C7_12}, // RGB206 + {0, C1_16, C2_16, C3_16}, // RGB207 + {1, C5_8, C4_8, C6_8}, // RGB208 + {1, C9_1, C8_1, C7_1}, // RGB209 + {1, C9_2, C8_2, C7_2}, // RGB2010 + {1, C9_3, C8_3, C7_3}, // RGB2011 + {1, C9_4, C8_4, C7_4}, // RGB2012 + {1, C9_5, C8_5, C7_5}, // RGB2013 + {1, C9_6, C8_6, C7_6}, // RGB2014 - {0, C9_1, C8_1, C7_1}, - {0, C9_2, C8_2, C7_2}, - {0, C9_3, C8_3, C7_3}, - {0, C9_4, C8_4, C7_4}, - {0, C9_5, C8_5, C7_5}, - {0, C9_6, C8_6, C7_6}, - {0, C9_7, C8_7, C6_6}, - {0, C9_8, C7_7, C6_7}, -// left CB - {0, C1_9, C3_10, C4_10}, - {0, C1_10, C2_10, C4_11}, - {0, C1_11, C2_11, C3_11}, - {0, C1_12, C2_12, C3_12}, - {0, C1_13, C2_13, C3_13}, - {0, C1_14, C2_14, C3_14}, - {0, C1_15, C2_15, C3_15}, - {0, C1_16, C2_16, C3_16}, + {0, C5_1, C4_1, C6_1}, // RGB301 + {0, C5_8, C4_8, C6_8}, // RGB302 + {0, C1_1, C3_2, C4_2}, // RGB303 + {0, C9_13, C8_13, C7_13}, // RGB304 + {0, C9_14, C8_14, C7_14}, // RGB305 + {0, C9_15, C8_15, C6_14}, // RGB306 + {0, C9_16, C7_15, C6_15}, // RGB307 + {1, C1_9, C3_10, C4_10}, // RGB308 + {1, C1_10, C2_10, C4_11}, // RGB309 + {1, C1_11, C2_11, C3_11}, // RGB3010 + {1, C1_12, C2_12, C3_12}, // RGB3011 + {1, C1_13, C2_13, C3_13}, // RGB3012 + {1, C1_14, C2_14, C3_14}, // RGB3014 + {1, C9_7, C8_7, C6_6}, // RGB3013-2 + {1, C9_8, C7_7, C6_7}, // RGB3013 - {0, C5_9, C4_9, C6_9}, - {0, C5_16, C4_16, C6_16}, + {0, C9_1, C8_1, C7_1}, // RGB401-2 + {0, C9_2, C8_2, C7_2}, // RGB401 + {0, C9_3, C8_3, C7_3}, // RGB4014 + {0, C9_4, C8_4, C7_4}, // RGB402 + {0, C1_2, C2_2, C4_3}, // RGB403 + {0, C1_3, C2_3, C3_3}, // RGB404 + {0, C1_4, C2_4, C3_4}, // RGB405 + {0, C1_5, C2_5, C3_5}, // RGB406 + {0, C1_6, C2_6, C3_6}, // RGB407 + {1, C5_9, C4_9, C6_9}, // RGB408 + {1, C5_16, C4_16, C6_16}, // RGB409 + {1, C9_9, C8_9, C7_9}, // RGB4010 + {1, C9_10, C8_10, C7_10}, // RGB4011 + {1, C9_11, C8_11, C7_11}, // RGB4012 + {1, C1_15, C2_15, C3_15}, // RGB4012-2 + {1, C1_16, C2_16, C3_16}, // RGB4013 - {0, C9_9, C8_9, C7_9}, - {0, C9_10, C8_10, C7_10}, - {0, C9_11, C8_11, C7_11}, - {0, C9_12, C8_12, C7_12}, - {0, C9_13, C8_13, C7_13}, - {0, C9_14, C8_14, C7_14}, - {0, C9_15, C8_15, C6_14}, - {0, C9_16, C7_15, C6_15}, - -// right CA - {1, C1_1, C3_2, C4_2}, - {1, C1_2, C2_2, C4_3}, - {1, C1_3, C2_3, C3_3}, - {1, C1_4, C2_4, C3_4}, - {1, C1_5, C2_5, C3_5}, - {1, C1_6, C2_6, C3_6}, - {1, C1_7, C2_7, C3_7}, - {1, C1_8, C2_8, C3_8}, - - {1, C5_1, C4_1, C6_1}, - {1, C5_8, C4_8, C6_8}, - - {1, C9_1, C8_1, C7_1}, - {1, C9_2, C8_2, C7_2}, - {1, C9_3, C8_3, C7_3}, - {1, C9_4, C8_4, C7_4}, - {1, C9_5, C8_5, C7_5}, - {1, C9_6, C8_6, C7_6}, - {1, C9_7, C8_7, C6_6}, - {1, C9_8, C7_7, C6_7}, -// right CB - {1, C1_9, C3_10, C4_10}, - {1, C1_10, C2_10, C4_11}, - {1, C1_11, C2_11, C3_11}, - {1, C1_12, C2_12, C3_12}, - {1, C1_13, C2_13, C3_13}, - {1, C1_14, C2_14, C3_14}, - {1, C1_15, C2_15, C3_15}, - {1, C1_16, C2_16, C3_16}, - - {1, C5_9, C4_9, C6_9}, - {1, C5_16, C4_16, C6_16}, - - {1, C9_9, C8_9, C7_9}, - {1, C9_10, C8_10, C7_10}, - {1, C9_11, C8_11, C7_11}, - {1, C9_12, C8_12, C7_12}, - {1, C9_13, C8_13, C7_13}, - {1, C9_14, C8_14, C7_14}, - {1, C9_15, C8_15, C6_14}, - {1, C9_16, C7_15, C6_15}, + {0, C9_8, C7_7, C6_7}, // RGB501 + {0, C9_7, C8_7, C6_6}, // RGB502 + {0, C9_6, C8_6, C7_6}, // RGB503 + {0, C9_5, C8_5, C7_5}, // RGBSP1 + {0, C1_8, C2_8, C3_8}, // RGB506-2 + {0, C1_7, C2_7, C3_7}, // RGB506-3 + {1, C9_12, C8_12, C7_12}, // RGBSP2 + {1, C9_13, C8_13, C7_13}, // RGB507 + {1, C9_14, C8_14, C7_14}, // RGB508 + {1, C9_15, C8_15, C6_14}, // RGB509 + {1, C9_16, C7_15, C6_15} // RGB5010 }; - -led_config_t g_led_config = { - { - { 0, 1, 2, 3, 4, 5, 6, 36, 37, 38, 39, 40, 41, 42}, - { 8, 9, 10, 11, 12, 13, 7, 45, 46, 47, 48, 49, 50, 51}, - { 26,27, 18, 14, 15, 16, 17, 54, 55, 56, 57, 58, 59, 53}, - { 29,30, 31, 19, 20, 21, 22, 23, 62, 63, 64, 65, 66, 61}, - { 35,34, 33, NO_LED, NO_LED, NO_LED, 24, 44, NO_LED, NO_LED, 68, 69, 70, 71}, - }, - { - { 32, 32},{ 48, 48},{ 64, 48},{ 80, 48},{ 96, 48},{112, 48},{ 96, 64},{ 96, 64}, - { 0, 32},{ 16, 32}, - { 0, 48},{ 0, 48},{ 16, 48},{ 32, 48},{ 64, 64},{ 32, 64},{ 16, 64},{ 0, 64}, - { 0, 0},{ 16, 0},{ 32, 0},{ 48, 0},{ 64, 0},{ 80, 0},{ 96, 0},{ 96, 16}, - { 0, 16},{ 16, 16}, - { 32, 16},{ 48, 16},{ 64, 16},{ 80, 16},{ 48, 32},{ 64, 32},{ 80, 32},{ 96, 32}, - - {128, 0},{144, 0},{160, 0},{176, 0},{192, 0},{208, 0},{216, 0},{224, 0}, - {112, 0},{128, 16}, - {144, 16},{160, 16},{176, 16},{192, 16},{208, 16},{224, 16},{224, 32},{216, 32}, - {128, 32},{144, 32},{160, 32},{176, 32},{192, 32},{208, 32},{208, 48},{224, 48}, - {128, 48},{144, 48}, - {160, 48},{176, 48},{192, 48},{142, 64},{160, 64},{176, 64},{208, 64},{224, 64} - }, - { - 4, 4, 4, 4, 4, 4, 4, 4, - 1, 4, - 4, 4, 1, 1, 1, 4, 4, 4, - - 1, 4, 4, 4, 4, 4, 4, 4, - 1, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - - 4, 4, 4, 4, 4, 4, 1, 1, - 4, 4, - 4, 4, 4, 4, 4, 1, 1, 1, - - 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, - 4, 4, 4, 4, 1, 1, 1, 1, - } -}; - #endif #ifdef WEBUSB_ENABLE diff --git a/keyboards/dp60/keyboard.json b/keyboards/dp60/keyboard.json index c9b3b6fddef..9780141ceab 100644 --- a/keyboards/dp60/keyboard.json +++ b/keyboards/dp60/keyboard.json @@ -60,7 +60,85 @@ "pixel_flow": true, "pixel_fractal": true }, - "driver": "is31fl3731" + "driver": "is31fl3731", + "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": [4, 7], "x": 112, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 128, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 144, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 160, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 176, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 192, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 208, "y": 0, "flags": 1}, + {"x": 216, "y": 0, "flags": 1}, + {"matrix": [0, 13], "x": 224, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"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}, + {"x": 222, "y": 24, "flags": 1}, + {"matrix": [2, 13], "x": 214, "y": 32, "flags": 1}, + + {"matrix": [3, 0], "x": 2, "y": 48, "flags": 1}, + {"x": 10, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 20, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 68, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 84, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 100, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 116, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 132, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 148, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 164, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 180, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 202, "y": 48, "flags": 1}, + {"x": 210, "y": 48, "flags": 1}, + {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 42, "y": 64, "flags": 1}, + {"x": 60, "y": 64, "flags": 2}, + {"matrix": [4, 6], "x": 102, "y": 64, "flags": 4}, + {"x": 112, "y": 64, "flags": 4}, + {"x": 144, "y": 64, "flags": 2}, + {"matrix": [4, 10], "x": 162, "y": 64, "flags": 1}, + {"matrix": [4, 11], "x": 182, "y": 64, "flags": 1}, + {"matrix": [4, 12], "x": 202, "y": 64, "flags": 1}, + {"matrix": [4, 13], "x": 222, "y": 64, "flags": 1} + ] }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/eason/meow65/info.json b/keyboards/eason/meow65/keyboard.json similarity index 100% rename from keyboards/eason/meow65/info.json rename to keyboards/eason/meow65/keyboard.json diff --git a/keyboards/eason/meow65/rules.mk b/keyboards/eason/meow65/rules.mk deleted file mode 100644 index 6e7633bfe01..00000000000 --- a/keyboards/eason/meow65/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# This file intentionally left blank diff --git a/keyboards/eason/void65h/config.h b/keyboards/eason/void65h/config.h new file mode 100644 index 00000000000..6669b09a22f --- /dev/null +++ b/keyboards/eason/void65h/config.h @@ -0,0 +1,6 @@ +// Copyright 2024 Eason +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define WS2812_SPI_DRIVER SPID2 diff --git a/keyboards/eason/void65h/halconf.h b/keyboards/eason/void65h/halconf.h new file mode 100644 index 00000000000..a118c95cfa9 --- /dev/null +++ b/keyboards/eason/void65h/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2024 Eason +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SPI TRUE + +#include_next diff --git a/keyboards/eason/void65h/keyboard.json b/keyboards/eason/void65h/keyboard.json new file mode 100644 index 00000000000..7b6a7fe2fbc --- /dev/null +++ b/keyboards/eason/void65h/keyboard.json @@ -0,0 +1,177 @@ +{ + "keyboard_name": "Void65h", + "manufacturer": "Eason", + "url": "", + "maintainer": "Eason", + "usb": { + "vid": "0x51D7", + "pid": "0x5517", + "device_version": "0.0.1", + "force_nkro": true + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "C13" + }, + "matrix_pins": { + "rows": ["A15", "B3", "B4", "B5", "B6"], + "cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "A8"] + }, + "diode_direction": "ROW2COL", + "processor": "STM32F103", + "bootloader": "uf2boot", + "layout_aliases": { + "LAYOUT_all": "LAYOUT_65_ansi_blocker_tsangan_split_bs" + }, + "community_layouts": ["65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs"] + "layouts": { + "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, 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, 13], "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}, + {"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, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_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": [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, 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, 13], "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}, + {"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, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/eason/void65h/keymaps/default/keymap.c b/keyboards/eason/void65h/keymaps/default/keymap.c new file mode 100644 index 00000000000..a6341e98ec3 --- /dev/null +++ b/keyboards/eason/void65h/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2024 Eason +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [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_TILD, 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_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_LSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/eason/void65h/keymaps/via/keymap.c b/keyboards/eason/void65h/keymaps/via/keymap.c new file mode 100644 index 00000000000..a6341e98ec3 --- /dev/null +++ b/keyboards/eason/void65h/keymaps/via/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2024 Eason +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [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_TILD, 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_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_LSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/eason/void65h/keymaps/via/rules.mk b/keyboards/eason/void65h/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/eason/void65h/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/eason/void65h/mcuconf.h b/keyboards/eason/void65h/mcuconf.h new file mode 100644 index 00000000000..4bf145bb7b3 --- /dev/null +++ b/keyboards/eason/void65h/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2024 Eason +// 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/eason/void65h/readme.md b/keyboards/eason/void65h/readme.md new file mode 100644 index 00000000000..5a619df41cc --- /dev/null +++ b/keyboards/eason/void65h/readme.md @@ -0,0 +1,27 @@ +# void65h + + + +A customizable hotswap 65% keyboard. + +* Keyboard Maintainer: [EASON](https://github.com/EasonQian1) +* Hardware Supported: void65h +* Hardware Availability: [anorexus](https://anorexus.design/project/void) + +Make example for this keyboard (after setting up your build environment): + + make eason/void65h:default + +Flashing example for this keyboard: + + make eason/void65h: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 ESC 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/era/linx3/fave65s/config.h b/keyboards/era/linx3/fave65s/config.h new file mode 100644 index 00000000000..28d7f4f370d --- /dev/null +++ b/keyboards/era/linx3/fave65s/config.h @@ -0,0 +1,8 @@ +// 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 2000U diff --git a/keyboards/era/linx3/fave65s/fave65s.c b/keyboards/era/linx3/fave65s/fave65s.c new file mode 100644 index 00000000000..751594bc933 --- /dev/null +++ b/keyboards/era/linx3/fave65s/fave65s.c @@ -0,0 +1,16 @@ +// Copyright 2024 Hyojin Bak (@eerraa) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(0, 0, 128, 128); + } else { + rgb_matrix_set_color(0, 0, 0, 0); + } + return true; +} diff --git a/keyboards/era/linx3/fave65s/keyboard.json b/keyboards/era/linx3/fave65s/keyboard.json new file mode 100644 index 00000000000..9bb1e456949 --- /dev/null +++ b/keyboards/era/linx3/fave65s/keyboard.json @@ -0,0 +1,771 @@ +{ + "manufacturer": "eerraa", + "keyboard_name": "FAve65S", + "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": ["GP28", "GP27", "GP26", "GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP12", "GP11", "GP10"], + "rows": ["GP25", "GP29", "GP18", "GP23", "GP24"] + }, + "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, + "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, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "riverflow": true, + "starlight": true, + "starlight_dual_hue": true, + "starlight_dual_sat": true + }, + "default": { + "animation": "rainbow_moving_chevron" + }, + "driver": "ws2812", + "layout": [ + {"matrix": [2, 0], "x": 10, "y": 39, "flags": 8}, + {"x": 0, "y": 0, "flags": 2}, + {"x": 13, "y": 0, "flags": 2}, + {"x": 26, "y": 0, "flags": 2}, + {"x": 40, "y": 0, "flags": 2}, + {"x": 53, "y": 0, "flags": 2}, + {"x": 66, "y": 0, "flags": 2}, + {"x": 79, "y": 0, "flags": 2}, + {"x": 92, "y": 0, "flags": 2}, + {"x": 105, "y": 0, "flags": 2}, + {"x": 119, "y": 0, "flags": 2}, + {"x": 132, "y": 0, "flags": 2}, + {"x": 145, "y": 0, "flags": 2}, + {"x": 158, "y": 0, "flags": 2}, + {"x": 171, "y": 0, "flags": 2}, + {"x": 184, "y": 0, "flags": 2}, + {"x": 198, "y": 0, "flags": 2}, + {"x": 211, "y": 0, "flags": 2}, + {"x": 224, "y": 0, "flags": 2}, + {"x": 224, "y": 13, "flags": 2}, + {"x": 224, "y": 26, "flags": 2}, + {"x": 224, "y": 38, "flags": 2}, + {"x": 224, "y": 51, "flags": 2}, + {"x": 224, "y": 64, "flags": 2}, + {"x": 211, "y": 64, "flags": 2}, + {"x": 198, "y": 64, "flags": 2}, + {"x": 184, "y": 64, "flags": 2}, + {"x": 171, "y": 64, "flags": 2}, + {"x": 158, "y": 64, "flags": 2}, + {"x": 145, "y": 64, "flags": 2}, + {"x": 132, "y": 64, "flags": 2}, + {"x": 119, "y": 64, "flags": 2}, + {"x": 105, "y": 64, "flags": 2}, + {"x": 92, "y": 64, "flags": 2}, + {"x": 79, "y": 64, "flags": 2}, + {"x": 66, "y": 64, "flags": 2}, + {"x": 53, "y": 64, "flags": 2}, + {"x": 40, "y": 64, "flags": 2}, + {"x": 26, "y": 64, "flags": 2}, + {"x": 13, "y": 64, "flags": 2}, + {"x": 0, "y": 64, "flags": 2}, + {"x": 0, "y": 51, "flags": 2}, + {"x": 0, "y": 38, "flags": 2}, + {"x": 0, "y": 26, "flags": 2}, + {"x": 0, "y": 13, "flags": 2} + ], + "sleep": true + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0011", + "vid": "0x4552" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP19" + }, + "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs", "65_iso_blocker", "65_iso_blocker_split_bs", "65_iso_blocker_tsangan", "65_iso_blocker_tsangan_split_bs"], + "layouts": { + "LAYOUT_65_ansi_blocker": { + "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, 14], "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}, + {"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, 14], "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, 14], "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, 5], "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, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_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, 14], "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, 14], "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, 5], "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, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_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, 14], "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}, + {"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, 14], "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, 14], "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, 5], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "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, 14], "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, 14], "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, 5], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "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, 14], "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}, + {"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, 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": 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}, + {"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, 14], "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, 5], "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, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_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, 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": 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}, + {"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, 14], "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, 5], "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, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_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, 14], "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}, + {"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, 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": 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}, + {"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, 14], "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, 5], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_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, 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": 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}, + {"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, 14], "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, 5], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "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": [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, 14], "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, 14], "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, 5], "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, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/era/linx3/fave65s/keymaps/default/keymap.c b/keyboards/era/linx3/fave65s/keymaps/default/keymap.c new file mode 100644 index 00000000000..85eb4fb4ee2 --- /dev/null +++ b/keyboards/era/linx3/fave65s/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// 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_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_INS, + 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_NUHS, KC_ENT, KC_PGUP, + 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_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [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_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, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, 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/era/linx3/fave65s/keymaps/via/keymap.c b/keyboards/era/linx3/fave65s/keymaps/via/keymap.c new file mode 100644 index 00000000000..85eb4fb4ee2 --- /dev/null +++ b/keyboards/era/linx3/fave65s/keymaps/via/keymap.c @@ -0,0 +1,21 @@ +// 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_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_INS, + 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_NUHS, KC_ENT, KC_PGUP, + 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_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [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_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, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, 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/era/linx3/fave65s/keymaps/via/rules.mk b/keyboards/era/linx3/fave65s/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/era/linx3/fave65s/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/era/linx3/fave65s/readme.md b/keyboards/era/linx3/fave65s/readme.md new file mode 100644 index 00000000000..e31b3acef94 --- /dev/null +++ b/keyboards/era/linx3/fave65s/readme.md @@ -0,0 +1,26 @@ +# FAve 65S, Solder Ver + + + + +* Keyboard Maintainer: [ERA](https://github.com/eerraa) +* Hardware supported: LINWORKS +* Hardware availability: [LINWORKS](https://allthatkeyboard.com/) + +Make example for this keyboard (after setting up your build environment): + + make era/linx3/fave65s:default + +Flashing example for this keyboard: + + make era/linx3/fave65s: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/ergodox_ez/base/keyboard.json b/keyboards/ergodox_ez/base/keyboard.json index be1433ccbaf..5e0f54e40b4 100644 --- a/keyboards/ergodox_ez/base/keyboard.json +++ b/keyboards/ergodox_ez/base/keyboard.json @@ -2,5 +2,11 @@ "keyboard_name": "ErgoDox EZ", "usb": { "pid": "0x4974" + }, + "features": { + "bootmagic": false, + "mousekey": true, + "extrakey": true, + "nkro": true } } diff --git a/keyboards/eve/meteor/readme.md b/keyboards/eve/meteor/readme.md index 69d5a35ece7..43bc0991184 100644 --- a/keyboards/eve/meteor/readme.md +++ b/keyboards/eve/meteor/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make eve/meteor:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make eve/meteor:default:flash diff --git a/keyboards/exclusive/e6v2/le_bmc/readme.md b/keyboards/exclusive/e6v2/le_bmc/readme.md index d999982671b..ada5a64a608 100644 --- a/keyboards/exclusive/e6v2/le_bmc/readme.md +++ b/keyboards/exclusive/e6v2/le_bmc/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make exclusive/e6v2/le_bmc:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make exclusive/e6v2/le_bmc:default:flash diff --git a/keyboards/exclusive/e6v2/oe_bmc/readme.md b/keyboards/exclusive/e6v2/oe_bmc/readme.md index c259728edf1..95d1f85c0a0 100644 --- a/keyboards/exclusive/e6v2/oe_bmc/readme.md +++ b/keyboards/exclusive/e6v2/oe_bmc/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make exclusive/e6v2/oe_bmc:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make exclusive/e6v2/oe_bmc:default:flash diff --git a/keyboards/exent/readme.md b/keyboards/exent/readme.md index d30bed91a57..dbdf69ae96e 100644 --- a/keyboards/exent/readme.md +++ b/keyboards/exent/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make exent:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](flashing_bootloadhid.md)) +Flashing example for this keyboard: make exent:default:flash diff --git a/keyboards/ez_maker/directpins/promicro/keyboard.json b/keyboards/ez_maker/directpins/promicro/keyboard.json index f6170810c7b..aee1c0b99ff 100644 --- a/keyboards/ez_maker/directpins/promicro/keyboard.json +++ b/keyboards/ez_maker/directpins/promicro/keyboard.json @@ -27,8 +27,11 @@ "pid": "0x2320", "vid": "0xFEED" }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"label": "D3", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "D2", "matrix": [1, 0], "x": 0, "y": 1}, diff --git a/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json index f39a5802b9e..cf1d83c070f 100644 --- a/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json +++ b/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json @@ -1,7 +1,7 @@ { "keyboard": "ez_maker/directpins/promicro", "keymap": "default", - "layout": "LAYOUT_all", + "layout": "LAYOUT", "layers": [ [ "KC_0", diff --git a/keyboards/ez_maker/directpins/proton_c/keyboard.json b/keyboards/ez_maker/directpins/proton_c/keyboard.json index 4a46d4e1791..8133beabfb9 100644 --- a/keyboards/ez_maker/directpins/proton_c/keyboard.json +++ b/keyboards/ez_maker/directpins/proton_c/keyboard.json @@ -33,8 +33,11 @@ "pid": "0x2321", "vid": "0xFEED" }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"label": "A9", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "A10", "matrix": [1, 0], "x": 0, "y": 1}, diff --git a/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json index 7af6d447625..532f5636929 100644 --- a/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json +++ b/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json @@ -1,7 +1,7 @@ { "keyboard": "ez_maker/directpins/proton_c", "keymap": "default", - "layout": "LAYOUT_all", + "layout": "LAYOUT", "layers": [ [ "KC_0", diff --git a/keyboards/ez_maker/directpins/rp2040/keyboard.json b/keyboards/ez_maker/directpins/rp2040/keyboard.json index bfbec888fbd..f48c737d0f6 100644 --- a/keyboards/ez_maker/directpins/rp2040/keyboard.json +++ b/keyboards/ez_maker/directpins/rp2040/keyboard.json @@ -38,8 +38,11 @@ "pid": "0x2326", "vid": "0xFEED" }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"label": "GP0", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "GP1", "matrix": [1, 0], "x": 0, "y": 1}, diff --git a/keyboards/ez_maker/directpins/rp2040/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/rp2040/keymaps/default/keymap.json index 3bae28a3609..7cd6dffb065 100644 --- a/keyboards/ez_maker/directpins/rp2040/keymaps/default/keymap.json +++ b/keyboards/ez_maker/directpins/rp2040/keymaps/default/keymap.json @@ -1,7 +1,7 @@ { "keyboard": "ez_maker/directpins/rp2040", "keymap": "default", - "layout": "LAYOUT_all", + "layout": "LAYOUT", "layers": [ [ "KC_0", diff --git a/keyboards/ez_maker/directpins/teensy_2/keyboard.json b/keyboards/ez_maker/directpins/teensy_2/keyboard.json index de75c644c7c..525b90aed07 100644 --- a/keyboards/ez_maker/directpins/teensy_2/keyboard.json +++ b/keyboards/ez_maker/directpins/teensy_2/keyboard.json @@ -30,8 +30,11 @@ "pid": "0x2322", "vid": "0xFEED" }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"label": "B0", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "F0", "matrix": [0, 1], "x": 4, "y": 0}, {"label": "B1", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "F1", "matrix": [1, 1], "x": 4, "y": 1}, diff --git a/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json index 9af03008e9a..63e9ea926c8 100644 --- a/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json +++ b/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json @@ -1,7 +1,7 @@ { "keyboard": "ez_maker/directpins/teensy_2", "keymap": "default", - "layout": "LAYOUT_all", + "layout": "LAYOUT", "layers": [ [ "KC_0", "KC_1", diff --git a/keyboards/ez_maker/directpins/teensy_2pp/keyboard.json b/keyboards/ez_maker/directpins/teensy_2pp/keyboard.json index af288ebdbcc..924cf221ae5 100644 --- a/keyboards/ez_maker/directpins/teensy_2pp/keyboard.json +++ b/keyboards/ez_maker/directpins/teensy_2pp/keyboard.json @@ -37,8 +37,11 @@ "pid": "0x2323", "vid": "0xFEED" }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"label": "B7", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "B6", "matrix": [0, 3], "x": 5, "y": 0}, {"label": "D0", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "B5", "matrix": [1, 3], "x": 5, "y": 1}, diff --git a/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json index 80de4c7ce49..bbaeee04816 100644 --- a/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json +++ b/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json @@ -1,7 +1,7 @@ { "keyboard": "ez_maker/directpins/teensy_2pp", "keymap": "default", - "layout": "LAYOUT_all", + "layout": "LAYOUT", "layers": [ [ "KC_0", "KC_1", diff --git a/keyboards/ez_maker/directpins/teensy_32/keyboard.json b/keyboards/ez_maker/directpins/teensy_32/keyboard.json index 917780d3a90..709da9ab418 100644 --- a/keyboards/ez_maker/directpins/teensy_32/keyboard.json +++ b/keyboards/ez_maker/directpins/teensy_32/keyboard.json @@ -31,8 +31,11 @@ "pid": "0x2324", "vid": "0xFEED" }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"label": "0", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [1, 0], "x": 0, "y": 1}, diff --git a/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json index 4b289997c3c..3a5fd6f29e2 100644 --- a/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json +++ b/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json @@ -1,7 +1,7 @@ { "keyboard": "ez_maker/directpins/teensy_32", "keymap": "default", - "layout": "LAYOUT_all", + "layout": "LAYOUT", "layers": [ [ "KC_0", diff --git a/keyboards/ez_maker/directpins/teensy_lc/keyboard.json b/keyboards/ez_maker/directpins/teensy_lc/keyboard.json index 53e7ba39741..6fd2b45a991 100644 --- a/keyboards/ez_maker/directpins/teensy_lc/keyboard.json +++ b/keyboards/ez_maker/directpins/teensy_lc/keyboard.json @@ -31,8 +31,11 @@ "pid": "0x2325", "vid": "0xFEED" }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"label": "0", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [1, 0], "x": 0, "y": 1}, diff --git a/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json index e2f557adf55..5a6ca52003a 100644 --- a/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json +++ b/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json @@ -1,7 +1,7 @@ { "keyboard": "ez_maker/directpins/teensy_lc", "keymap": "default", - "layout": "LAYOUT_all", + "layout": "LAYOUT", "layers": [ [ "KC_0", diff --git a/keyboards/facew/readme.md b/keyboards/facew/readme.md index a852a4f46dc..6c392a32e2a 100644 --- a/keyboards/facew/readme.md +++ b/keyboards/facew/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make facew:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make facew:default:flash diff --git a/keyboards/falsonix/fx19/keyboard.json b/keyboards/falsonix/fx19/keyboard.json new file mode 100644 index 00000000000..4ef4730a5d6 --- /dev/null +++ b/keyboards/falsonix/fx19/keyboard.json @@ -0,0 +1,68 @@ +{ + "manufacturer": "Falsonix", + "keyboard_name": "falsonix/fx19", + "maintainer": "falsonix", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "rgblight": { + "led_count": 5, + "animations": { + "rainbow_mood": true, + "rainbow_swirl": true + }, + "default": { + "animation": "rainbow_swirl" + } + }, + "ws2812": { + "pin": "F7" + }, + "matrix_pins": { + "cols": ["C7", "C6", "B6", "B5"], + "rows": ["F0", "F1", "F4", "F5", "F6"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0x4658" + }, + "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": [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, "h": 2}, + + {"matrix": [3, 0], "x":0, "y":3}, + {"matrix": [3, 1], "x":1, "y":3}, + {"matrix": [3, 2], "x":2, "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, "h": 2} + ] + } + } +} diff --git a/keyboards/falsonix/fx19/keymaps/default/keymap.c b/keyboards/falsonix/fx19/keymaps/default/keymap.c new file mode 100644 index 00000000000..4404d65a844 --- /dev/null +++ b/keyboards/falsonix/fx19/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + *┌───┬───┬───┬───┐ + * Num│ / │ * │ - │ + *├───┼───┼───┼───┤ + *│ 7 │ 8 │ 9 │ + │ + *├───┼───┼───┤ │ + *│ 4 │ 5 │ 6 │ │ + *├───┼───┼───┤───┤ + *│ 1 │ 2 │ 3 │ │ + *├───┼───┼───┤Ent│ + *│Win│ 0 │ . │ │ + *┴───┴───┴───┴───┘ + */ + [0] = LAYOUT( + KC_LNUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_RWIN, KC_P0, KC_PDOT, KC_PENT + ) +}; diff --git a/keyboards/falsonix/fx19/readme.md b/keyboards/falsonix/fx19/readme.md new file mode 100644 index 00000000000..9c69f7812d0 --- /dev/null +++ b/keyboards/falsonix/fx19/readme.md @@ -0,0 +1,26 @@ +# falsonix/fx19 + + + +A small, 18-key number pad for use with modern computers. (Yes, the name says 19 and this is due to me miscounting the keys and realizing only after I'd named everything in firmware and hardware). Includes RGB for maximum performance. + +* Keyboard Maintainer: [falsonix](https://github.com/falsonix) +* Hardware Supported: *FX19 Numpads* +* Hardware Availability: *DIY by the enduser* + +Make example for this keyboard (after setting up your build environment): + + make falsonix/fx19:default + +Flashing example for this keyboard: + + make falsonix/fx19: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 (the top left key) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the front of the PCB diff --git a/keyboards/flehrad/tradestation/keyboard.json b/keyboards/flehrad/tradestation/keyboard.json index 24a1e07dd45..757325ceaf8 100644 --- a/keyboards/flehrad/tradestation/keyboard.json +++ b/keyboards/flehrad/tradestation/keyboard.json @@ -30,8 +30,11 @@ "processor": "atmega32u4", "bootloader": "caterina", "community_layouts": ["ortho_4x4"], + "layout_aliases": { + "LAYOUT_tradestation": "LAYOUT_4x2u" + }, "layouts": { - "LAYOUT_tradestation": { + "LAYOUT_4x2u": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1.125, "y": 0}, diff --git a/keyboards/foxlab/time80/readme.md b/keyboards/foxlab/time80/readme.md index 58ad5604008..9f04a07dd68 100644 --- a/keyboards/foxlab/time80/readme.md +++ b/keyboards/foxlab/time80/readme.md @@ -15,13 +15,11 @@ Make example for this keyboard (after setting up your build environment): make foxlab/time80:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make foxlab/time80:default:flash -**Reset Key**: There are no reset switches or pads. Follow this -[guide](https://docs.qmk.fm/#/flashing_bootloadhid) -to have it flashed for the first time. Remember to add a `QK_BOOT` +**Reset Key**: There are no reset switches or pads. Remember to add a `QK_BOOT` key on your keymap for future endeavors. 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/ft/mars65/readme.md b/keyboards/ft/mars65/readme.md index 6853994ee43..55373214f89 100644 --- a/keyboards/ft/mars65/readme.md +++ b/keyboards/ft/mars65/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make ft/mars65:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make ft/mars65:default:flash diff --git a/keyboards/ft/mars80/readme.md b/keyboards/ft/mars80/readme.md index 3d108300bb7..f4aa3b5f774 100644 --- a/keyboards/ft/mars80/readme.md +++ b/keyboards/ft/mars80/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make ft/mars80:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make ft/mars80:default:flash diff --git a/keyboards/gboards/georgi/matrix.c b/keyboards/gboards/georgi/matrix.c index 00c17a3e443..9552518f766 100644 --- a/keyboards/gboards/georgi/matrix.c +++ b/keyboards/gboards/georgi/matrix.c @@ -255,6 +255,7 @@ static matrix_row_t read_cols(uint8_t row) } else { uint8_t data = 0; mcp23018_status = i2c_read_register(I2C_ADDR, GPIOB, &data, 1, ERGODOX_EZ_I2C_TIMEOUT); + data = ~data; #ifdef DEBUG_MATRIX if (data != 0x00) xprintf("I2C: %d\n", data); diff --git a/keyboards/gmmk/numpad/numpad.c b/keyboards/gmmk/numpad/numpad.c index cdbc4b871a8..87446d8f497 100644 --- a/keyboards/gmmk/numpad/numpad.c +++ b/keyboards/gmmk/numpad/numpad.c @@ -107,12 +107,14 @@ led_config_t g_led_config = {{ 2, 2, 2, 2, 2, 2, 2 } }; -# ifdef AW20216S_PW_EN_PIN_1 +# ifdef AW20216S_PW_EN_PIN -void keyboard_pre_init_user(void) { +void keyboard_pre_init_kb(void) { wait_ms(2000); gpio_set_pin_output(AW20216S_PW_EN_PIN); gpio_write_pin_high(AW20216S_PW_EN_PIN); + + keyboard_pre_init_user(); } # endif diff --git a/keyboards/gray_studio/hb85/readme.md b/keyboards/gray_studio/hb85/readme.md index 523f774c83d..4307e61b571 100644 --- a/keyboards/gray_studio/hb85/readme.md +++ b/keyboards/gray_studio/hb85/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make gray_studio/hb85:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make gray_studio/hb85:default:flash diff --git a/keyboards/h0oni/deskpad/keyboard.json b/keyboards/h0oni/deskpad/keyboard.json index d240acf9d33..d7ad53cd43e 100644 --- a/keyboards/h0oni/deskpad/keyboard.json +++ b/keyboards/h0oni/deskpad/keyboard.json @@ -39,8 +39,11 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "debounce": 3, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/h0oni/deskpad/keymaps/default/keymap.c b/keyboards/h0oni/deskpad/keymaps/default/keymap.c index c3eba7c4a9c..eea54cf6b19 100644 --- a/keyboards/h0oni/deskpad/keymaps/default/keymap.c +++ b/keyboards/h0oni/deskpad/keymaps/default/keymap.c @@ -171,19 +171,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( TD(TD_CUT_REDO), TD(TD_MPRV_LEFT), TD(TD_PLAY_PAUSE_MUTE), TD(TD_MNXT_RIGHT), TD(QUAD_CVXA), TD(QUAD_LAYER_SWITCH) ), - [1] = LAYOUT_all( + [1] = LAYOUT( YOUTUBE, KC_WBAK, TD(TD_SEARCH_REFRESH), KC_WFWD, FACEBOOK, TD(QUAD_LAYER_SWITCH) ), - [2] = LAYOUT_all( + [2] = LAYOUT( A(KC_F4), SGUI(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH) ), - [3] = LAYOUT_all( + [3] = LAYOUT( C(KC_SLSH), VALORANT, VSCODE, DISCORD, LSA(KC_A), TD(QUAD_LAYER_SWITCH) ), }; \ No newline at end of file diff --git a/keyboards/h0oni/deskpad/keymaps/via/keymap.c b/keyboards/h0oni/deskpad/keymaps/via/keymap.c index c3eba7c4a9c..eea54cf6b19 100644 --- a/keyboards/h0oni/deskpad/keymaps/via/keymap.c +++ b/keyboards/h0oni/deskpad/keymaps/via/keymap.c @@ -171,19 +171,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( TD(TD_CUT_REDO), TD(TD_MPRV_LEFT), TD(TD_PLAY_PAUSE_MUTE), TD(TD_MNXT_RIGHT), TD(QUAD_CVXA), TD(QUAD_LAYER_SWITCH) ), - [1] = LAYOUT_all( + [1] = LAYOUT( YOUTUBE, KC_WBAK, TD(TD_SEARCH_REFRESH), KC_WFWD, FACEBOOK, TD(QUAD_LAYER_SWITCH) ), - [2] = LAYOUT_all( + [2] = LAYOUT( A(KC_F4), SGUI(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH) ), - [3] = LAYOUT_all( + [3] = LAYOUT( C(KC_SLSH), VALORANT, VSCODE, DISCORD, LSA(KC_A), TD(QUAD_LAYER_SWITCH) ), }; \ No newline at end of file diff --git a/keyboards/h0oni/hotduck/keyboard.json b/keyboards/h0oni/hotduck/keyboard.json index 605d614d6af..bdb23860214 100644 --- a/keyboards/h0oni/hotduck/keyboard.json +++ b/keyboards/h0oni/hotduck/keyboard.json @@ -51,8 +51,11 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/h0oni/hotduck/keymaps/default/keymap.c b/keyboards/h0oni/hotduck/keymaps/default/keymap.c index 503f0bc74cd..de979ade438 100644 --- a/keyboards/h0oni/hotduck/keymaps/default/keymap.c +++ b/keyboards/h0oni/hotduck/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [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_BSPC, MO(1), 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_SLSH, 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, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), - [1] = LAYOUT_all( + [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_F12, KC_TRNS, MO(1), TG(2), 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, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS ), - [2] = LAYOUT_all( + [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, KC_TRNS, KC_TRNS, KC_TRNS,TG(2), MO(4), 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, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS ), - [3] = LAYOUT_all( + [3] = 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, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,MO(4), 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/h0oni/hotduck/keymaps/via/keymap.c b/keyboards/h0oni/hotduck/keymaps/via/keymap.c index 503f0bc74cd..de979ade438 100644 --- a/keyboards/h0oni/hotduck/keymaps/via/keymap.c +++ b/keyboards/h0oni/hotduck/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [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_BSPC, MO(1), 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_SLSH, 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, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), - [1] = LAYOUT_all( + [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_F12, KC_TRNS, MO(1), TG(2), 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, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS ), - [2] = LAYOUT_all( + [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, KC_TRNS, KC_TRNS, KC_TRNS,TG(2), MO(4), 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, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS ), - [3] = LAYOUT_all( + [3] = 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, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,MO(4), 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/handwired/alcor_dactyl/keyboard.json b/keyboards/handwired/alcor_dactyl/keyboard.json index 65f1f804aa9..c179278c097 100644 --- a/keyboards/handwired/alcor_dactyl/keyboard.json +++ b/keyboards/handwired/alcor_dactyl/keyboard.json @@ -29,8 +29,8 @@ "rgb_matrix": { "driver": "ws2812", "layout": [ - {"x": 0, "y": 0.375}, - {"x": 16.5, "y": 0.38} + {"x": 0, "y": 0}, + {"x": 16, "y": 0} ], "split_count": [1, 1] }, diff --git a/keyboards/handwired/concertina/64key/keyboard.json b/keyboards/handwired/concertina/64key/keyboard.json index 71719c8505f..dedc240d3f4 100644 --- a/keyboards/handwired/concertina/64key/keyboard.json +++ b/keyboards/handwired/concertina/64key/keyboard.json @@ -29,8 +29,11 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "caterina", + "layout_aliases": { + "LAYOUT_64key": "LAYOUT" + }, "layouts": { - "LAYOUT_64key": { + "LAYOUT": { "layout": [ {"matrix": [2, 2], "x": 2.5, "y": 0.4}, {"matrix": [2, 1], "x": 3.5, "y": 0}, diff --git a/keyboards/handwired/concertina/64key/keymaps/default/keymap.c b/keyboards/handwired/concertina/64key/keymaps/default/keymap.c index aced9d13c68..c9f63844400 100644 --- a/keyboards/handwired/concertina/64key/keymaps/default/keymap.c +++ b/keyboards/handwired/concertina/64key/keymaps/default/keymap.c @@ -43,7 +43,7 @@ tap_dance_action_t tap_dance_actions[] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QWERTY] = LAYOUT_64key( +[_QWERTY] = LAYOUT( SC_LSPO, KC_MINS, KC_EQL, KC_VOLD, KC_VOLU, SC_RSPC, SC_LCPO, KC_LGUI, KC_LNG1, KC_ENT, KC_MUTE, TD(PNX), LAYER_N, SC_RCPC, SC_LAPO, KC_SPC, SLQ, SRQ, KC_ESC, SC_RAPC, @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PGDN, KC_DOWN ), -[_COLEMAK] = LAYOUT_64key( +[_COLEMAK] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______ ), -[_GAMING] = LAYOUT_64key( +[_GAMING] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_DOWN, KC_PGDN ), -[_NUMERIC] = LAYOUT_64key( +[_NUMERIC] = LAYOUT( _______, _______, _______, KC_ACL1, KC_ACL2, _______, _______, _______, LAYER_C, _______, KC_ACL0, _______, _______, _______, _______, _______, _______, KC_SLEP, _______, _______, diff --git a/keyboards/handwired/dactyl/keyboard.json b/keyboards/handwired/dactyl/keyboard.json index 339119e6fd4..58baf228ca4 100644 --- a/keyboards/handwired/dactyl/keyboard.json +++ b/keyboards/handwired/dactyl/keyboard.json @@ -22,8 +22,11 @@ "tapping": { "toggle": 1 }, + "layout_aliases": { + "LAYOUT_dactyl": "LAYOUT" + }, "layouts": { - "LAYOUT_dactyl": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/handwired/dactyl/keymaps/default/keymap.c b/keyboards/handwired/dactyl/keymaps/default/keymap.c index 33a3d727d13..669f3585300 100644 --- a/keyboards/handwired/dactyl/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | |ace | End | | PgDn | | | * `--------------------' `--------------------' */ -[BASE] = LAYOUT_dactyl( // layer 0 : default +[BASE] = LAYOUT( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ // SYMBOLS -[SYMB] = LAYOUT_dactyl( +[SYMB] = LAYOUT( // left hand VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, @@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * */ // MEDIA AND MOUSE -[MDIA] = LAYOUT_dactyl( +[MDIA] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, diff --git a/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c b/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c index ad962a1d1b8..59cb7b34f82 100644 --- a/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c +++ b/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | |ace | End | | PgDn | | | * `--------------------' `--------------------' */ -[BASE] = LAYOUT_dactyl( // layer 0 : default +[BASE] = LAYOUT( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ // SYMBOLS -[SYMB] = LAYOUT_dactyl( +[SYMB] = LAYOUT( // left hand VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, @@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * */ // MEDIA AND MOUSE -[MDIA] = LAYOUT_dactyl( +[MDIA] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, diff --git a/keyboards/handwired/dactyl/keymaps/erincalling/keymap.c b/keyboards/handwired/dactyl/keymaps/erincalling/keymap.c index d25bd6acd4e..74f3d4afa0c 100644 --- a/keyboards/handwired/dactyl/keymaps/erincalling/keymap.c +++ b/keyboards/handwired/dactyl/keymaps/erincalling/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Space | | LGui | | RGui | | | * `--------------------' `--------------------' */ -[BASE] = LAYOUT_dactyl( // layer 0 : default +[BASE] = LAYOUT( // layer 0 : default // left hand KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ // SYMBOLS -[CONT] = LAYOUT_dactyl( +[CONT] = LAYOUT( // left hand KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, @@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * */ // QWERTY -[QWER] = LAYOUT_dactyl( +[QWER] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk index d24f7a0cbd8..78e059df96e 100644 --- a/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk +++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk @@ -11,6 +11,8 @@ INDICATOR_LIGHTS = yes # Enable indicator lights for caps lock, etc. # KEY_OVERRIDE_ENABLE = yes # Override key combos # COMBO_ENABLE = yes # Custom key combos +RGB_MATRIX_ENABLE = yes + LTO_ENABLE = yes RGBLIGHT_SUPPORTED = yes RGB_MATRIX_SUPPORTED = yes diff --git a/keyboards/handwired/hnah108/keyboard.json b/keyboards/handwired/hnah108/keyboard.json index e062dcee6f2..3099ed85485 100644 --- a/keyboards/handwired/hnah108/keyboard.json +++ b/keyboards/handwired/hnah108/keyboard.json @@ -39,8 +39,6 @@ "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, diff --git a/keyboards/handwired/marek128b/ergosplit44/keyboard.json b/keyboards/handwired/marek128b/ergosplit44/keyboard.json index 8e0c71fc06f..f9a88576a7d 100644 --- a/keyboards/handwired/marek128b/ergosplit44/keyboard.json +++ b/keyboards/handwired/marek128b/ergosplit44/keyboard.json @@ -107,57 +107,57 @@ "layouts": { "LAYOUT": { "layout": [ - {"label":"tab", "matrix": [0, 0],"x":0, "y":1.25}, - {"label":"Q", "matrix": [0, 1],"x":1, "y":1.25}, - {"label":"W", "matrix": [0, 2],"x":2, "y":0.75}, - {"label":"E", "matrix": [0, 3],"x":3, "y":0.5}, - {"label":"R", "matrix": [0, 4],"x":4, "y":0.75}, - {"label":"T", "matrix": [0, 5],"x":5, "y":1}, - - {"label":"Y", "matrix": [0, 6],"x":9.75, "y":1}, - {"label":"U", "matrix": [0, 7],"x":10.75, "y":0.75}, - {"label":"I", "matrix": [0, 8],"x":11.75, "y":0.5}, - {"label":"O", "matrix": [0, 9],"x":12.75, "y":0.75}, - {"label":"P", "matrix": [0, 10],"x":13.75, "y":1.25}, - {"label":"\u00dc", "matrix": [0, 11],"x":14.75, "y":1.25}, + {"matrix": [0, 0],"x": 0, "y": 0.75}, + {"matrix": [0, 1],"x": 1, "y": 0.75}, + {"matrix": [0, 2],"x": 2, "y": 0.25}, + {"matrix": [0, 3],"x": 3, "y": 0}, + {"matrix": [0, 4],"x": 4, "y": 0.25}, + {"matrix": [0, 5],"x": 5, "y": 0.5}, - {"label":"back-space", "matrix": [1, 0],"x":0, "y":2.25}, - {"label":"A", "matrix": [1, 1],"x":1, "y":2.25}, - {"label":"S", "matrix": [1, 2],"x":2, "y":1.75}, - {"label":"D", "matrix": [1, 3],"x":3, "y":1.5}, - {"label":"F", "matrix": [1, 4],"x":4, "y":1.75}, - {"label":"G", "matrix": [1, 5],"x":5, "y":2}, + {"matrix": [0, 6],"x": 8, "y": 0.5}, + {"matrix": [0, 7],"x": 9, "y": 0.25}, + {"matrix": [0, 8],"x": 10, "y": 0}, + {"matrix": [0, 9],"x": 11, "y": 0.25}, + {"matrix": [0, 10],"x": 12, "y": 0.75}, + {"matrix": [0, 11],"x": 13, "y": 0.75}, - {"label":"H", "matrix": [1, 6],"x":9.75, "y":2}, - {"label":"J", "matrix": [1, 7],"x":10.75, "y":1.75}, - {"label":"K", "matrix": [1, 8],"x":11.75, "y":1.5}, - {"label":"L", "matrix": [1, 9],"x":12.75, "y":1.75}, - {"label":"\u00d6", "matrix": [1, 10],"x":13.75, "y":2.25}, - {"label":"\u00c4", "matrix": [1, 11],"x":14.75, "y":2.25}, - - {"label":"shift", "matrix": [2, 0],"x":0, "y":3.25}, - {"label":"Z", "matrix": [2, 1],"x":1, "y":3.25}, - {"label":"X", "matrix": [2, 2],"x":2, "y":2.75}, - {"label":"C", "matrix": [2, 3],"x":3, "y":2.5}, - {"label":"V", "matrix": [2, 4],"x":4, "y":2.75}, - {"label":"B", "matrix": [2, 5],"x":5, "y":3}, - - {"label":"N", "matrix": [2, 6],"x":9.75, "y":3}, - {"label":"M", "matrix": [2, 7],"x":10.75, "y":2.75}, - {"label":"<", "matrix": [2, 8],"x":11.75, "y":2.5}, - {"label":":", "matrix": [2, 9],"x":12.75, "y":2.75}, - {"label":"_", "matrix": [2, 10],"x":13.75, "y":3.25}, - {"label":"Shift", "matrix": [2, 11],"x":14.75, "y":3.25}, + {"matrix": [1, 0],"x": 0, "y": 1.75}, + {"matrix": [1, 1],"x": 1, "y": 1.75}, + {"matrix": [1, 2],"x": 2, "y": 1.25}, + {"matrix": [1, 3],"x": 3, "y": 1}, + {"matrix": [1, 4],"x": 4, "y": 1.25}, + {"matrix": [1, 5],"x": 5, "y": 1.5}, - {"label":"L2", "matrix": [3, 2],"x":-3.5, "y":4.5}, - {"label":"Alt", "matrix": [3, 3],"x":-2.25, "y":7.25}, - {"label":"Strg", "matrix": [3, 4],"x":-1.0, "y":7.25}, - {"label":"Space", "matrix": [3, 5],"x":0, "y":7}, + {"matrix": [1, 6],"x": 8, "y": 1.5}, + {"matrix": [1, 7],"x": 9, "y": 1.25}, + {"matrix": [1, 8],"x": 10, "y": 1}, + {"matrix": [1, 9],"x": 11, "y": 1.25}, + {"matrix": [1, 10],"x": 12, "y": 1.75}, + {"matrix": [1, 11],"x": 13, "y": 1.75}, - {"label":"Space", "matrix": [3, 6],"x":-1.0, "y":8.5}, - {"label":"Strg", "matrix": [3, 7],"x":0, "y":8.75}, - {"label":"AltGr", "matrix": [3, 8],"x":1.25, "y":8.75}, - {"label":"L1", "matrix": [3, 9],"x":2.5, "y":5.75} + {"matrix": [2, 0],"x": 0, "y": 2.75}, + {"matrix": [2, 1],"x": 1, "y": 2.75}, + {"matrix": [2, 2],"x": 2, "y": 2.25}, + {"matrix": [2, 3],"x": 3, "y": 2}, + {"matrix": [2, 4],"x": 4, "y": 2.25}, + {"matrix": [2, 5],"x": 5, "y": 2.5}, + + {"matrix": [2, 6],"x": 8, "y": 2.5}, + {"matrix": [2, 7],"x": 9, "y": 2.25}, + {"matrix": [2, 8],"x": 10, "y": 2}, + {"matrix": [2, 9],"x": 11, "y": 2.25}, + {"matrix": [2, 10],"x": 12, "y": 2.75}, + {"matrix": [2, 11],"x": 13, "y": 2.75}, + + {"matrix": [3, 2],"x": 2.5, "y": 4}, + {"matrix": [3, 3],"x": 3.5, "y": 4}, + {"matrix": [3, 4],"x": 4.5, "y": 4}, + {"matrix": [3, 5],"x": 5.5, "y": 4}, + + {"matrix": [3, 6],"x": 7.5, "y": 4}, + {"matrix": [3, 7],"x": 8.5, "y": 4}, + {"matrix": [3, 8],"x": 9.5, "y": 4}, + {"matrix": [3, 9],"x": 10.5, "y": 4} ] } } diff --git a/keyboards/handwired/owlet60/keyboard.json b/keyboards/handwired/owlet60/keyboard.json index 8108f51985d..fad204e6fa6 100644 --- a/keyboards/handwired/owlet60/keyboard.json +++ b/keyboards/handwired/owlet60/keyboard.json @@ -42,11 +42,13 @@ "debounce": 9, "community_layouts": ["alice", "alice_split_bs"], "layout_aliases": { + "LAYOUT_owlet60_full_bsp": "LAYOUT_full_bs", + "LAYOUT_owlet60_split_bsp": "LAYOUT_split_bs", "LAYOUT_owlet60_60_percent_full_bsp": "LAYOUT_alice", "LAYOUT_owlet60_60_percent_split_bsp": "LAYOUT_alice_split_bs" }, "layouts": { - "LAYOUT_owlet60_full_bsp": { + "LAYOUT_full_bs": { "layout": [ {"matrix": [0, 0], "x": 0.5, "y": 0}, @@ -132,7 +134,7 @@ {"matrix": [3, 7], "x": 18, "y": 4} ] }, - "LAYOUT_owlet60_split_bsp": { + "LAYOUT_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0.5, "y": 0}, diff --git a/keyboards/handwired/owlet60/keymaps/default/keymap.c b/keyboards/handwired/owlet60/keymaps/default/keymap.c index b0924eb0552..e3068fd11f1 100644 --- a/keyboards/handwired/owlet60/keymaps/default/keymap.c +++ b/keyboards/handwired/owlet60/keymaps/default/keymap.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_owlet60_full_bsp( + [0] = LAYOUT_full_bs( KC_1, 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_PGUP, KC_2, 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_3, 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_HOME, @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1),KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT ), - [1] = LAYOUT_owlet60_full_bsp( + [1] = LAYOUT_full_bs( KC_NO, 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, RGB_TOG, 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, RGB_MOD, 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, RGB_VAI, diff --git a/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c b/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c index 4531a3c3f63..76a8d7c8c9e 100644 --- a/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c +++ b/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_owlet60_full_bsp( + [0] = LAYOUT_full_bs( KC_1, 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_PGUP, KC_2, 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_3, 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_HOME, @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1),KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT ), - [1] = LAYOUT_owlet60_full_bsp( + [1] = LAYOUT_full_bs( KC_NO, 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, RGB_TOG, 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, RGB_MOD, 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, RGB_VAI, diff --git a/keyboards/handwired/p65rgb/config.h b/keyboards/handwired/p65rgb/config.h deleted file mode 100644 index 776088feb02..00000000000 --- a/keyboards/handwired/p65rgb/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2019 marhalloweenvt - -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 RGB_MATRIX_LED_COUNT 83 diff --git a/keyboards/handwired/p65rgb/keyboard.json b/keyboards/handwired/p65rgb/keyboard.json index 474e2b8edd4..b80a1e7f491 100644 --- a/keyboards/handwired/p65rgb/keyboard.json +++ b/keyboards/handwired/p65rgb/keyboard.json @@ -57,6 +57,100 @@ "solid_splash": true, "solid_multisplash": true }, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 194, "y": 0, "flags": 1}, + {"x": 202, "y": 0, "flags": 1}, + {"matrix": [0, 14], "x": 209, "y": 0, "flags": 1}, + {"matrix": [0, 15], "x": 224, "y": 0, "flags": 4}, + + {"x": 224, "y": 8, "flags": 2}, + + {"matrix": [1, 15], "x": 224, "y": 16, "flags": 4}, + {"matrix": [1, 14], "x": 205, "y": 16, "flags": 1}, + {"matrix": [1, 12], "x": 187, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 172, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 157, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 127, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 97, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 67, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 1], "x": 22, "y": 16, "flags": 4}, + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + + {"x": 0, "y": 8, "flags": 2}, + {"x": 0, "y": 24, "flags": 2}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 175, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 190, "y": 32, "flags": 4}, + {"x": 200, "y": 32, "flags": 1}, + {"matrix": [2, 14], "x": 207, "y": 32, "flags": 1}, + {"matrix": [2, 15], "x": 224, "y": 32, "flags": 4}, + + {"x": 224, "y": 24, "flags": 2}, + {"x": 224, "y": 40, "flags": 2}, + + {"matrix": [3, 15], "x": 224, "y": 48, "flags": 4}, + {"matrix": [3, 14], "x": 209, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, + {"matrix": [3, 10], "x": 168, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 153, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 138, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 123, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 108, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 93, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 78, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 63, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4}, + {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4}, + {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, + + {"x": 0, "y": 40, "flags": 2}, + {"x": 0, "y": 56, "flags": 2}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"x": 4, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, + {"x": 26, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1}, + {"matrix": [4, 5], "x": 95, "y": 64, "flags": 4}, + {"x": 105, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 151, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 170, "y": 64, "flags": 1}, + {"x": 172, "y": 64, "flags": 1}, + {"matrix": [4, 12], "x": 194, "y": 64, "flags": 4}, + {"matrix": [4, 14], "x": 209, "y": 64, "flags": 4}, + {"matrix": [4, 15], "x": 224, "y": 64, "flags": 4}, + + {"x": 224, "y": 56, "flags": 2} + ], "driver": "ws2812", "led_flush_limit": 26, "led_process_limit": 4, @@ -84,7 +178,7 @@ } }, "matrix_pins": { - "cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "B0", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D7"], + "cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "B0", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3"], "rows": ["C7", "C6", "B6", "B5", "D5"] }, "diode_direction": "COL2ROW", diff --git a/keyboards/handwired/p65rgb/p65rgb.c b/keyboards/handwired/p65rgb/p65rgb.c index 86bca2a7f98..3d7185f9d18 100644 --- a/keyboards/handwired/p65rgb/p65rgb.c +++ b/keyboards/handwired/p65rgb/p65rgb.c @@ -16,26 +16,7 @@ #include "quantum.h" -led_config_t g_led_config = { { - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }, - { 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17 }, - { 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }, - { 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51 }, - { 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82 } -}, { - { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, {105, 0 }, {120, 0 }, {135, 0 }, {150, 0 }, {165, 0 }, {180, 0 }, {195, 0 }, {205, 0 }, {210, 0 }, {224, 0 }, - { 224,16 }, {224, 16 }, {210, 16 }, {180, 16 }, {165, 16 }, {150, 16 }, {135, 16 }, {120, 16 }, {105, 16 }, { 90, 16 }, { 75, 16 }, { 60, 16 }, { 45, 16 }, { 30, 16 }, { 15, 16 }, { 0, 16 }, { 0, 16 }, - { 0, 32 }, { 0, 32 }, { 15, 32 }, { 30, 32 }, { 45, 32 }, { 60, 32 }, { 75, 32 }, { 90, 32 }, {105, 32 }, {120, 32 }, {135, 32 }, {150, 32 }, {165, 32 }, {190, 32 }, {205, 32 }, {210, 32 }, {224, 32 }, - { 224, 8 }, {224, 48 }, {210, 48 }, {195, 48 }, {180, 48 }, {150, 48 }, {135, 48 }, {120, 48 }, {105, 48 }, { 90, 48 }, { 75, 48 }, { 60, 48 }, { 45, 48 }, { 30, 48 }, { 15, 48 }, { 0, 48 }, { 0, 48 }, - { 0, 64 }, { 0, 64 }, { 0, 64 }, { 15, 64 }, { 15, 64 }, { 40, 64 }, { 90, 64 }, {105, 64 }, {150, 64 }, {180, 64 }, {180, 64 }, {195, 64 }, {210, 64 }, {220, 64 }, {224, 64 } -}, { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 2, - 2, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 2, 2, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 2, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2 -} }; - +#ifdef RGB_MATRIX_ENABLE void suspend_power_down_kb(void) { rgb_matrix_set_suspend_state(true); @@ -47,3 +28,4 @@ void suspend_wakeup_init_kb(void) rgb_matrix_set_suspend_state(false); suspend_wakeup_init_user(); } +#endif diff --git a/keyboards/handwired/pterodactyl/keyboard.json b/keyboards/handwired/pterodactyl/keyboard.json index fac20aeebe1..751db2aff3a 100644 --- a/keyboards/handwired/pterodactyl/keyboard.json +++ b/keyboards/handwired/pterodactyl/keyboard.json @@ -26,8 +26,11 @@ "bluetooth": { "driver": "bluefruit_le" }, + "layout_aliases": { + "LAYOUT_pterodactyl": "LAYOUT" + }, "layouts": { - "LAYOUT_pterodactyl": { + "LAYOUT": { "layout": [ {"matrix": [0, 11], "x": 0, "y": 0}, {"matrix": [0, 10], "x": 1, "y": 0}, diff --git a/keyboards/handwired/pterodactyl/keymaps/default/keymap.c b/keyboards/handwired/pterodactyl/keymaps/default/keymap.c index fd8fc812888..61d650c76b0 100644 --- a/keyboards/handwired/pterodactyl/keymaps/default/keymap.c +++ b/keyboards/handwired/pterodactyl/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | |ace | End | | PgDn | | | * `--------------------' `--------------------' */ -[_BL] = LAYOUT_pterodactyl( // layer 0 : default +[_BL] = LAYOUT( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ // SYMBOLS -[_SYMB] = LAYOUT_pterodactyl( +[_SYMB] = LAYOUT( // left hand 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_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * */ // MEDIA AND MOUSE -[_MDIA] = LAYOUT_pterodactyl( +[_MDIA] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, diff --git a/keyboards/handwired/pterodactyl/keymaps/default/keymap.json b/keyboards/handwired/pterodactyl/keymaps/default/keymap.json index 2c84da113c0..181b32b8c3a 100644 --- a/keyboards/handwired/pterodactyl/keymaps/default/keymap.json +++ b/keyboards/handwired/pterodactyl/keymaps/default/keymap.json @@ -4,7 +4,7 @@ "author": "Marcus Young", "keyboard": "handwired/pterodactyl", "keymap": "default", - "layout": "LAYOUT_pterodactyl", + "layout": "LAYOUT", "layers": [ [ "KC_EQL", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", diff --git a/keyboards/handwired/swiftrax/bumblebee/keyboard.json b/keyboards/handwired/swiftrax/bumblebee/keyboard.json index 9a68fe1b4fe..6dec52b59a4 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keyboard.json +++ b/keyboards/handwired/swiftrax/bumblebee/keyboard.json @@ -36,8 +36,11 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0, "w": 1.5}, diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c index fef24f402fa..b3976f33db5 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c @@ -26,19 +26,19 @@ along with this program. If not, see . #define DRV2605L_V_PEAK 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( 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_LBRC, KC_RBRC, KC_BSPC, KC_DEL , KC_F13 , 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_HOME, KC_F14 , 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_F15 , KC_LCTL, KC_LALT, KC_SPC , KC_MUTE, MO(1) , MO(2) , KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_all( + [1] = LAYOUT( _______, _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT_all( + [2] = 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/handwired/swiftrax/bumblebee/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c index 12791a69dd6..e25de6d7bd2 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c @@ -26,28 +26,22 @@ along with this program. If not, see . #define DRV2605L_V_PEAK 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( 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_LBRC, KC_RBRC, KC_BSPC, KC_DEL , KC_F13 , 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_HOME, KC_F14 , 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_F15 , KC_LCTL, KC_LALT, KC_SPC , KC_MUTE, MO(1) , MO(2) , KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_all( + [1] = LAYOUT( _______, _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT_all( + [2] = 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 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + ) }; diff --git a/keyboards/handwired/symmetric70_proto/promicro/base/keyboard.json b/keyboards/handwired/symmetric70_proto/promicro/base/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/base/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/handwired/symmetric70_proto/promicro/fast/keyboard.json b/keyboards/handwired/symmetric70_proto/promicro/fast/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/fast/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/handwired/symmetric70_proto/promicro/normal/keyboard.json b/keyboards/handwired/symmetric70_proto/promicro/normal/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/normal/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/handwired/symmetric70_proto/promicro/rules.mk b/keyboards/handwired/symmetric70_proto/promicro/rules.mk index 6e7633bfe01..7aa985b3f1d 100644 --- a/keyboards/handwired/symmetric70_proto/promicro/rules.mk +++ b/keyboards/handwired/symmetric70_proto/promicro/rules.mk @@ -1 +1 @@ -# This file intentionally left blank +DEFAULT_FOLDER = handwired/symmetric70_proto/promicro/base diff --git a/keyboards/handwired/symmetric70_proto/proton_c/base/keyboard.json b/keyboards/handwired/symmetric70_proto/proton_c/base/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/base/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/handwired/symmetric70_proto/proton_c/fast/keyboard.json b/keyboards/handwired/symmetric70_proto/proton_c/fast/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/fast/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/handwired/symmetric70_proto/proton_c/normal/keyboard.json b/keyboards/handwired/symmetric70_proto/proton_c/normal/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/normal/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/handwired/symmetric70_proto/proton_c/rules.mk b/keyboards/handwired/symmetric70_proto/proton_c/rules.mk index 6e7633bfe01..28c4536e4bf 100644 --- a/keyboards/handwired/symmetric70_proto/proton_c/rules.mk +++ b/keyboards/handwired/symmetric70_proto/proton_c/rules.mk @@ -1 +1 @@ -# This file intentionally left blank +DEFAULT_FOLDER = handwired/symmetric70_proto/proton_c/base diff --git a/keyboards/handwired/tkk/keyboard.json b/keyboards/handwired/tkk/keyboard.json index 911c95426d5..91e495081f6 100644 --- a/keyboards/handwired/tkk/keyboard.json +++ b/keyboards/handwired/tkk/keyboard.json @@ -23,8 +23,11 @@ "pid": "0x0000", "vid": "0xFEED" }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/handwired/tkk/keymaps/default/keymap.c b/keyboards/handwired/tkk/keymaps/default/keymap.c index 14367413da9..220daab6279 100644 --- a/keyboards/handwired/tkk/keymaps/default/keymap.c +++ b/keyboards/handwired/tkk/keymaps/default/keymap.c @@ -11,40 +11,40 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * LP, LR, LM, LI, LT, RT, RI, RM, RR, RP * */ - [0] = LAYOUT_all( + [0] = LAYOUT( LT(8, KC_A), LT(7, KC_O), LT(6, KC_E), LT(5, KC_U), LT(10,KC_BSPC), LT(9, KC_SPC), LT(1, KC_H), LT(2, KC_T), LT(3, KC_N), LT(4, KC_S) ), - [1] = LAYOUT_all( + [1] = LAYOUT( KC_Q, KC_K, KC_J, KC_I, KC_ESC, KC_TAB, KC_NO, KC_RGUI, KC_RGUI, KC_RGUI ), - [2] = LAYOUT_all( + [2] = LAYOUT( KC_Z, KC_Y, KC_X, KC_P, KC_NO, KC_NO, KC_RCTL, KC_NO, KC_RCTL, KC_RCTL ), - [3] = LAYOUT_all( + [3] = LAYOUT( KC_QUOT, KC_COMM, KC_DOT, KC_F, KC_NO, KC_NO, KC_RALT, KC_RALT, KC_NO, KC_RALT ), - [4] = LAYOUT_all( + [4] = LAYOUT( KC_SCLN, KC_LPRN, KC_RPRN, KC_GRV, KC_NO, MO(11), KC_RSFT, KC_RSFT, KC_RSFT, KC_NO ), - [5] = LAYOUT_all( + [5] = LAYOUT( KC_LGUI, KC_LGUI, KC_LGUI, KC_NO, LGUI(KC_GRV), LGUI(KC_TAB), KC_D, KC_G, KC_C, KC_ENT ), - [6] = LAYOUT_all( + [6] = LAYOUT( KC_LCTL, KC_LCTL, KC_NO, KC_LCTL, KC_NO, KC_NO, KC_M, KC_B, KC_V, KC_W ), - [7] = LAYOUT_all( + [7] = LAYOUT( KC_LALT, KC_NO, KC_LALT, KC_LALT, KC_NO, KC_NO, KC_SLSH, KC_L, KC_R, KC_BSLS ), - [8] = LAYOUT_all( + [8] = LAYOUT( KC_NO, KC_LSFT, KC_LSFT, KC_LSFT, MO(11), KC_NO, KC_MINS, KC_LBRC, KC_RBRC, KC_EQL ), - [9] = LAYOUT_all( + [9] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN ), - [10] = LAYOUT_all( + [10] = LAYOUT( KC_PGDN, KC_PGUP, KC_HOME, KC_END, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0 ), - [11] = LAYOUT_all( + [11] = LAYOUT( KC_WH_D, KC_WH_U, KC_WH_L, KC_WH_R, KC_BTN2, KC_BTN1, KC_MS_L, KC_MS_R, KC_MS_U, KC_MS_D ) }; diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json index eebc5d5546c..df810f2881e 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json @@ -15,5 +15,8 @@ } }, "processor": "atmega32u4", - "bootloader": "caterina" + "bootloader": "caterina", + "build": { + "lto": true + } } diff --git a/keyboards/hazel/bad_wings/config.h b/keyboards/hazel/bad_wings/config.h index 47301728357..b69628e7fc4 100644 --- a/keyboards/hazel/bad_wings/config.h +++ b/keyboards/hazel/bad_wings/config.h @@ -3,6 +3,9 @@ #pragma once +#define MATRIX_COLS 8 +#define MATRIX_ROWS 5 + #define SPI_SCK_PIN GP2 #define SPI_MOSI_PIN GP3 #define SPI_MISO_PIN GP4 diff --git a/keyboards/hazel/bad_wings/keyboard.json b/keyboards/hazel/bad_wings/keyboard.json index fef514c539f..983b8c4fc3d 100644 --- a/keyboards/hazel/bad_wings/keyboard.json +++ b/keyboards/hazel/bad_wings/keyboard.json @@ -10,10 +10,6 @@ }, "processor": "RP2040", "bootloader": "rp2040", - "matrix_size": { - "cols": 8, - "rows": 5 - }, "diode_direction": "COL2ROW", "features": { "bootmagic": true, diff --git a/keyboards/helix/pico/back/keyboard.json b/keyboards/helix/pico/back/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/helix/pico/back/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/helix/pico/base/keyboard.json b/keyboards/helix/pico/base/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/helix/pico/base/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/helix/pico/qmk_conf/keyboard.json b/keyboards/helix/pico/qmk_conf/keyboard.json new file mode 100644 index 00000000000..ddb72203421 --- /dev/null +++ b/keyboards/helix/pico/qmk_conf/keyboard.json @@ -0,0 +1,6 @@ +{ + "features": { + "audio": true, + "extrakey": true + } +} diff --git a/keyboards/helix/pico/qmk_conf/rules.mk b/keyboards/helix/pico/qmk_conf/rules.mk deleted file mode 100644 index 08ca8e094d9..00000000000 --- a/keyboards/helix/pico/qmk_conf/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -EXTRAKEY_ENABLE = yes # Audio control and System control -AUDIO_ENABLE = yes # Audio output diff --git a/keyboards/helix/pico/rules.mk b/keyboards/helix/pico/rules.mk index e18b8fb0c45..449df9caa64 100644 --- a/keyboards/helix/pico/rules.mk +++ b/keyboards/helix/pico/rules.mk @@ -3,3 +3,5 @@ LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) LED_ANIMATIONS = yes # LED animations IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) + +DEFAULT_FOLDER = helix/pico/base diff --git a/keyboards/helix/pico/sc/keyboard.json b/keyboards/helix/pico/sc/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/helix/pico/sc/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/helix/pico/under/keyboard.json b/keyboards/helix/pico/under/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/helix/pico/under/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/helix/rev2/back/keyboard.json b/keyboards/helix/rev2/back/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/helix/rev2/back/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/helix/rev2/base/keyboard.json b/keyboards/helix/rev2/base/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/helix/rev2/base/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/helix/rev2/qmk_conf/keyboard.json b/keyboards/helix/rev2/qmk_conf/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/helix/rev2/qmk_conf/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/helix/rev2/rules.mk b/keyboards/helix/rev2/rules.mk index e827ae111f1..4f830403f41 100644 --- a/keyboards/helix/rev2/rules.mk +++ b/keyboards/helix/rev2/rules.mk @@ -7,3 +7,5 @@ LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) LED_ANIMATIONS = yes # LED animations IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) + +DEFAULT_FOLDER = helix/rev2/base diff --git a/keyboards/helix/rev2/sc/keyboard.json b/keyboards/helix/rev2/sc/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/helix/rev2/sc/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/helix/rev2/under/keyboard.json b/keyboards/helix/rev2/under/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/helix/rev2/under/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/helix/rev3_4rows/info.json b/keyboards/helix/rev3_4rows/keyboard.json similarity index 100% rename from keyboards/helix/rev3_4rows/info.json rename to keyboards/helix/rev3_4rows/keyboard.json diff --git a/keyboards/helix/rev3_5rows/info.json b/keyboards/helix/rev3_5rows/keyboard.json similarity index 100% rename from keyboards/helix/rev3_5rows/info.json rename to keyboards/helix/rev3_5rows/keyboard.json diff --git a/keyboards/helix/rules.mk b/keyboards/helix/rules.mk index 8ea71064b2f..f743d48d0e9 100644 --- a/keyboards/helix/rules.mk +++ b/keyboards/helix/rules.mk @@ -1,18 +1,3 @@ -# Build Options -# change yes to no to disable -# -# See TOP/docs/config_options.md for more information. -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no # Audio output -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - DEFAULT_FOLDER = helix/rev2 HELIX_TOP_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST)))) diff --git a/keyboards/horrortroll/handwired_k552/handwired_k552.c b/keyboards/horrortroll/handwired_k552/handwired_k552.c index c6181d178e3..b4735bac05a 100644 --- a/keyboards/horrortroll/handwired_k552/handwired_k552.c +++ b/keyboards/horrortroll/handwired_k552/handwired_k552.c @@ -19,29 +19,6 @@ // OLED animation #include "lib/logo.h" -#ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { { - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } -}, { - {152, 0}, {165, 0}, {190, 0}, {205, 0}, - {224, 21}, {224, 43}, {224, 54}, - {188, 64}, {172, 64}, {156, 64}, {140, 64}, {115, 64}, {99 , 64}, {75 , 64}, {59 , 64}, {43 , 64}, {26 , 64}, - {0 , 15}, {0 , 50}, {0 , 39}, - {18 , 0}, {36 , 0}, {57 , 0}, {67 , 0} -}, { - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, - 2, 2, - 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, -} }; -#endif - #ifdef OLED_ENABLE uint16_t startup_timer; diff --git a/keyboards/horrortroll/handwired_k552/keyboard.json b/keyboards/horrortroll/handwired_k552/keyboard.json index 6bbfa86e124..213cdf80860 100644 --- a/keyboards/horrortroll/handwired_k552/keyboard.json +++ b/keyboards/horrortroll/handwired_k552/keyboard.json @@ -34,7 +34,33 @@ "pixel_rain": true }, "driver": "ws2812", - "max_brightness": 200 + "max_brightness": 200, + "layout": [ + {"x": 152, "y": 0, "flags": 2}, + {"x": 165, "y": 0, "flags": 2}, + {"x": 190, "y": 0, "flags": 2}, + {"x": 205, "y": 0, "flags": 2}, + {"x": 224, "y": 21, "flags": 2}, + {"x": 224, "y": 43, "flags": 2}, + {"x": 224, "y": 54, "flags": 2}, + {"x": 188, "y": 64, "flags": 2}, + {"x": 172, "y": 64, "flags": 2}, + {"x": 156, "y": 64, "flags": 2}, + {"x": 140, "y": 64, "flags": 2}, + {"x": 115, "y": 64, "flags": 2}, + {"x": 99, "y": 64, "flags": 2}, + {"x": 75, "y": 64, "flags": 2}, + {"x": 59, "y": 64, "flags": 2}, + {"x": 43, "y": 64, "flags": 2}, + {"x": 26, "y": 64, "flags": 2}, + {"x": 0, "y": 50, "flags": 2}, + {"x": 0, "y": 39, "flags": 2}, + {"x": 0, "y": 15, "flags": 2}, + {"x": 18, "y": 0, "flags": 2}, + {"x": 36, "y": 0, "flags": 2}, + {"x": 57, "y": 0, "flags": 2}, + {"x": 67, "y": 0, "flags": 2} + ] }, "matrix_pins": { "cols": ["B15", "C6", "C7", "A3", "A1", "C3", "C1", "B14", "B13", "A9", "B3", "B4", "A0", "C11", "C4", "C0", "C2"], diff --git a/keyboards/hs60/v2/hhkb/keyboard.json b/keyboards/hs60/v2/hhkb/keyboard.json index d9bc040e23c..9bd4d111c2c 100644 --- a/keyboards/hs60/v2/hhkb/keyboard.json +++ b/keyboards/hs60/v2/hhkb/keyboard.json @@ -22,8 +22,11 @@ "nkro": true }, "board": "QMK_PROTON_C", + "layout_aliases": { + "LAYOUT_60_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { - "LAYOUT_60_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c b/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c index 4d3d7b8ac84..32cd0327beb 100644 --- a/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c +++ b/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c @@ -18,28 +18,28 @@ //This is the HHKB version of the PCB const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_60_hhkb( /* Base */ +[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* Base */ 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_BSLS, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), -[1] = LAYOUT_60_hhkb( /* FN */ +[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* FN */ 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_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_UP, KC_TRNS, KC_DEL, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), -[2] = LAYOUT_60_hhkb( /* Empty for dynamic keymaps */ +[2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* Empty for dynamic keymaps */ 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 ), -[3] = LAYOUT_60_hhkb( /* Empty for dynamic keymaps */ +[3] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* Empty for dynamic keymaps */ 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/hs60/v2/hhkb/keymaps/via/keymap.c b/keyboards/hs60/v2/hhkb/keymaps/via/keymap.c index 4d3d7b8ac84..32cd0327beb 100644 --- a/keyboards/hs60/v2/hhkb/keymaps/via/keymap.c +++ b/keyboards/hs60/v2/hhkb/keymaps/via/keymap.c @@ -18,28 +18,28 @@ //This is the HHKB version of the PCB const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_60_hhkb( /* Base */ +[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* Base */ 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_BSLS, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), -[1] = LAYOUT_60_hhkb( /* FN */ +[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* FN */ 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_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_UP, KC_TRNS, KC_DEL, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), -[2] = LAYOUT_60_hhkb( /* Empty for dynamic keymaps */ +[2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* Empty for dynamic keymaps */ 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 ), -[3] = LAYOUT_60_hhkb( /* Empty for dynamic keymaps */ +[3] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* Empty for dynamic keymaps */ 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/input_club/k_type/k_type.c b/keyboards/input_club/k_type/k_type.c index 85bdc7ea739..c719208af12 100644 --- a/keyboards/input_club/k_type/k_type.c +++ b/keyboards/input_club/k_type/k_type.c @@ -166,19 +166,19 @@ led_config_t g_led_config = { }, { // LED Index to Physical Position // Key LED - { 0, 0 }, { 26.35, 0 }, { 39.53, 0 }, { 52.71, 0 }, { 65.88, 0 }, { 79.06, 0 }, { 92.24, 0 }, { 105.41, 0 }, { 118.59, 0 }, { 131.77, 0 }, { 144.94, 0 }, { 158.12, 0 }, { 171.29, 0 }, { 197.65, 0 }, { 210.82, 0 }, { 224, 0 }, + { 0, 0 }, { 26, 0 }, { 39, 0 }, { 52, 0 }, { 65, 0 }, { 79, 0 }, { 92, 0 }, { 105, 0 }, { 118, 0 }, { 131, 0 }, { 144, 0 }, { 158, 0 }, { 171, 0 }, { 197, 0 }, { 210, 0 }, { 224, 0 }, - { 0, 21.33 }, { 13.18, 21.33 }, { 26.35, 21.33 }, { 39.53, 21.33 }, { 52.71, 21.33 }, { 65.88, 21.33 }, { 79.06, 21.33 }, { 92.24, 21.33 }, { 105.41, 21.33 }, { 118.59, 21.33 }, { 131.77, 21.33 }, { 144.94, 21.33 }, { 158.12, 21.33 }, { 171.29, 21.33 }, { 197.65, 21.33 }, { 210.82, 21.33 }, { 224, 21.33 }, - { 0, 32 }, { 13.18, 32 }, { 26.35, 32 }, { 39.53, 32 }, { 52.71, 32 }, { 65.88, 32 }, { 79.06, 32 }, { 92.24, 32 }, { 105.41, 32 }, { 118.59, 32 }, { 131.77, 32 }, { 144.94, 32 }, { 158.12, 32 }, { 171.29, 32 }, { 197.65, 32 }, { 210.82, 32 }, { 224, 32 }, - { 0, 42.67 }, { 13.18, 42.67 }, { 26.35, 42.67 }, { 39.53, 42.67 }, { 52.71, 42.67 }, { 65.88, 42.67 }, { 79.06, 42.67 }, { 92.24, 42.67 }, { 105.41, 42.67 }, { 118.59, 42.67 }, { 131.77, 42.67 }, { 144.94, 42.67 }, { 171.29, 42.67 }, - { 0, 53.33 }, { 26.35, 53.33 }, { 39.53, 53.33 }, { 52.71, 53.33 }, { 65.88, 53.33 }, { 79.06, 53.33 }, { 92.24, 53.33 }, { 105.41, 53.33 }, { 118.59, 53.33 }, { 131.77, 53.33 }, { 144.94, 53.33 }, { 171.29, 53.33 }, { 210.82, 53.33 }, - { 0, 64 }, { 13.18, 64 }, { 26.35, 64 }, { 79.06, 64 }, { 131.77, 64 }, { 144.94, 64 }, { 158.12, 64 }, { 171.29, 64 }, { 197.65, 64 }, { 210.82, 64 }, { 224, 64 }, + { 0, 21 }, { 13, 21 }, { 26, 21 }, { 39, 21 }, { 52, 21 }, { 65, 21 }, { 79, 21 }, { 92, 21 }, { 105, 21 }, { 118, 21 }, { 131, 21 }, { 144, 21 }, { 158, 21 }, { 171, 21 }, { 197, 21 }, { 210, 21 }, { 224, 21 }, + { 0, 32 }, { 13, 32 }, { 26, 32 }, { 39, 32 }, { 52, 32 }, { 65, 32 }, { 79, 32 }, { 92, 32 }, { 105, 32 }, { 118, 32 }, { 131, 32 }, { 144, 32 }, { 158, 32 }, { 171, 32 }, { 197, 32 }, { 210, 32 }, { 224, 32 }, + { 0, 42 }, { 13, 42 }, { 26, 42 }, { 39, 42 }, { 52, 42 }, { 65, 42 }, { 79, 42 }, { 92, 42 }, { 105, 42 }, { 118, 42 }, { 131, 42 }, { 144, 42 }, { 171, 42 }, + { 0, 53 }, { 26, 53 }, { 39, 53 }, { 52, 53 }, { 65, 53 }, { 79, 53 }, { 92, 53 }, { 105, 53 }, { 118, 53 }, { 131, 53 }, { 144, 53 }, { 171, 53 }, { 210, 53 }, + { 0, 64 }, { 13, 64 }, { 26, 64 }, { 79, 64 }, { 131, 64 }, { 144, 64 }, { 158, 64 }, { 171, 64 }, { 197, 64 }, { 210, 64 }, { 224, 64 }, // Underglow LED - { 224, 64 }, { 206.77, 64 }, { 189.54, 64 }, { 172.31, 64 }, { 155.08, 64 }, { 137.85, 64 }, { 120.61, 64 }, { 103.38, 64 }, { 86.15, 64 }, { 68.92, 64 }, { 51.69, 64 }, { 34.46, 64 }, { 17.23, 64 }, { 0, 64 }, - { 0, 42.67 }, { 0, 21.33 }, - { 0, 0 }, { 17.23, 0 }, { 34.46, 0 }, { 51.69, 0 }, { 68.92, 0 }, { 86.15, 0 }, { 103.38, 0 }, { 120.61, 0 }, { 137.85, 0 }, { 155.08, 0 }, { 172.31, 0 }, { 189.54, 0 }, { 206.77, 0 }, { 224, 0 }, - { 224, 21.33 }, { 224, 42.67 } + { 224, 64 }, { 206, 64 }, { 189, 64 }, { 172, 64 }, { 155, 64 }, { 137, 64 }, { 120, 64 }, { 103, 64 }, { 86, 64 }, { 68, 64 }, { 51, 64 }, { 34, 64 }, { 17, 64 }, { 0, 64 }, + { 0, 42 }, { 0, 21 }, + { 0, 0 }, { 17, 0 }, { 34, 0 }, { 51, 0 }, { 68, 0 }, { 86, 0 }, { 103, 0 }, { 120, 0 }, { 137, 0 }, { 155, 0 }, { 172, 0 }, { 189, 0 }, { 206, 0 }, { 224, 0 }, + { 224, 21 }, { 224, 42 } }, { // LED Index to Flag //Key LED diff --git a/keyboards/j80/readme.md b/keyboards/j80/readme.md index 44ed46fe450..8ce90cca746 100644 --- a/keyboards/j80/readme.md +++ b/keyboards/j80/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make j80:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make j80:default:flash diff --git a/keyboards/jadookb/jkb65/config.h b/keyboards/jadookb/jkb65/config.h deleted file mode 100644 index a0793c58611..00000000000 --- a/keyboards/jadookb/jkb65/config.h +++ /dev/null @@ -1,19 +0,0 @@ - /* Copyright 2021 Wizad-GG - * - * 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 RGB_MATRIX_LED_COUNT 67 diff --git a/keyboards/jadookb/jkb65/info.json b/keyboards/jadookb/jkb65/info.json index 054b1c5452c..c4a44a0d744 100644 --- a/keyboards/jadookb/jkb65/info.json +++ b/keyboards/jadookb/jkb65/info.json @@ -77,6 +77,79 @@ "animation": "cycle_all" }, "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 120, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 202, "y": 0, "flags": 1}, + {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 22, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 67, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 97, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 127, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 157, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 172, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 187, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 205, "y": 16, "flags": 4}, + {"matrix": [1, 15], "x": 224, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 175, "y": 32, "flags": 4}, + {"matrix": [2, 13], "x": 200, "y": 32, "flags": 1}, + {"matrix": [2, 15], "x": 224, "y": 32, "flags": 1}, + + {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, + {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 63, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 78, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 93, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 108, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 123, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 138, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 153, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 168, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, + {"matrix": [3, 13], "x": 209, "y": 48, "flags": 1}, + {"matrix": [3, 15], "x": 224, "y": 48, "flags": 1}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1}, + {"matrix": [4, 6], "x": 95, "y": 64, "flags": 4}, + {"matrix": [4, 10], "x": 151, "y": 64, "flags": 1}, + {"matrix": [4, 11], "x": 170, "y": 64, "flags": 1}, + {"matrix": [4, 12], "x": 194, "y": 64, "flags": 1}, + {"matrix": [4, 13], "x": 209, "y": 64, "flags": 1}, + {"matrix": [4, 15], "x": 224, "y": 64, "flags": 1} + ], "led_process_limit": 4, "led_flush_limit": 26, "sleep": true, diff --git a/keyboards/jadookb/jkb65/jkb65.c b/keyboards/jadookb/jkb65/jkb65.c index 0e76162b5ab..54037899dca 100644 --- a/keyboards/jadookb/jkb65/jkb65.c +++ b/keyboards/jadookb/jkb65/jkb65.c @@ -17,38 +17,11 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE - -led_config_t g_led_config = { { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, - { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, - { 30, NO_LED, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43 }, - { NO_LED, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, - { 58, 59, 60, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, 66 } -}, { - // LED Index to Physical Position - { 0, 0}, { 15, 0}, { 30, 0}, { 45, 0}, { 60, 0}, { 75, 0}, { 90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {202, 0}, {225, 0}, // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete - { 4, 16}, { 22, 16}, { 37, 16}, { 52, 16}, { 67, 16}, { 82, 16}, { 97, 16}, {112, 16}, {127, 16}, {142, 16}, {157, 16}, {172, 16}, {187, 16}, {206, 16}, {225, 16}, // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home - { 6, 32}, { 26, 32}, { 41, 32}, { 56, 32}, { 71, 32}, { 86, 32}, {101, 32}, {116, 32}, {131, 32}, {146, 32}, {161, 32}, {176, 32}, {201, 32}, {225, 32}, // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up - { 9, 48}, { 34, 48}, { 49, 48}, { 64, 48}, { 79, 48}, { 94, 48}, {109, 48}, {124, 48}, {139, 48}, {154, 48}, {169, 48}, {189, 48}, {208, 48}, {225, 48}, // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down - { 2, 64}, { 21, 64}, { 39, 64}, { 94, 64}, {148, 64}, {163, 64}, {193, 64}, {208, 64}, {225, 64}, // Ctrl, GUI, Alt, Space, RAlt, FN, Ctrl, Left, Down, Right - -}, { - // LED Index to Flag - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down - 1, 1, 1, 4, 1, 1, 1, 1, 1, // Ctrl, GUI, Alt, Space, Alt, FN, Left, Down, Right - -} }; - - bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; } - if (host_keyboard_led_state().caps_lock) { + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } return true; diff --git a/keyboards/jaykeeb/aumz_work/hotswap/keyboard.json b/keyboards/jaykeeb/aumz_work/hotswap/keyboard.json new file mode 100644 index 00000000000..0841315b43c --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/hotswap/keyboard.json @@ -0,0 +1,162 @@ +{ + "keyboard_name": "Aumz Work Hotswap Version", + "usb": { + "device_version": "1.0.0", + "pid": "0x0771" + }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_65_ansi_blocker" + }, + "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_tsangan"], + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "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, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "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": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/jaykeeb/aumz_work/hotswap/keymaps/default/keymap.c b/keyboards/jaykeeb/aumz_work/hotswap/keymaps/default/keymap.c new file mode 100644 index 00000000000..53de14866ee --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/hotswap/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Alabahuy +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker( + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_65_ansi_blocker( + 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_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/jaykeeb/aumz_work/hotswap/keymaps/via/keymap.c b/keyboards/jaykeeb/aumz_work/hotswap/keymaps/via/keymap.c new file mode 100644 index 00000000000..847004e0d1d --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/hotswap/keymaps/via/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Alabahuy +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [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_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/jaykeeb/aumz_work/hotswap/keymaps/via/rules.mk b/keyboards/jaykeeb/aumz_work/hotswap/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/hotswap/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/jaykeeb/aumz_work/hotswap/matrix_diagram.md b/keyboards/jaykeeb/aumz_work/hotswap/matrix_diagram.md new file mode 100644 index 00000000000..86fab5ca93b --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/hotswap/matrix_diagram.md @@ -0,0 +1,19 @@ +# Matrix Diagram for Jaykeeb Aumz Work Hotswap Version + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2D │1E │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ +│30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ +│40 │41 │42 │46 │4A │4B │ │4C │4D │4E │ +└────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │46 │4B │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +``` diff --git a/keyboards/jaykeeb/aumz_work/info.json b/keyboards/jaykeeb/aumz_work/info.json new file mode 100644 index 00000000000..7ca2eb32b83 --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/info.json @@ -0,0 +1,27 @@ +{ + "manufacturer": "Jaykeeb Studio", + "maintainer": "Alabahuy", + "processor": "RP2040", + "bootloader": "rp2040", + "url": "", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "usb": { + "vid": "0x414C" + }, + "matrix_pins": { + "cols": ["GP24", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP8", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1"], + "rows": ["GP29", "GP0", "GP15", "GP26", "GP27"] + }, + "indicators": { + "caps_lock": "GP25", + "on_state": 0 + } +} diff --git a/keyboards/jaykeeb/aumz_work/readme.md b/keyboards/jaykeeb/aumz_work/readme.md new file mode 100644 index 00000000000..fb1aa12a2a3 --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/readme.md @@ -0,0 +1,27 @@ +# AUMZ WORK + + + +Layout 65% support multi layout have 2 version, hotswap and soldered + +* Keyboard Maintainer: [Alabahuy](https://github.com/Alabahuy) +* Hardware Supported: aumz_work PCB, RP2040 +* Hardware Availability: Private GB + +Make example for this keyboard (after setting up your build environment): + + make jaykeeb/aumz_work/:default + +Flashing example for this keyboard: + + make jaykeeb/aumz_work/: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/jaykeeb/aumz_work/soldered/keyboard.json b/keyboards/jaykeeb/aumz_work/soldered/keyboard.json new file mode 100644 index 00000000000..ed65b82e589 --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/soldered/keyboard.json @@ -0,0 +1,691 @@ +{ + "keyboard_name": "Aumz Work Soldered Version", + "usb": { + "device_version": "1.0.0", + "pid": "0x0772" + }, + "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs", "65_iso_blocker", "65_iso_blocker_split_bs", "65_iso_blocker_tsangan", "65_iso_blocker_tsangan_split_bs"], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [1, 13], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "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, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "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, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [1, 13], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "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, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "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": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [1, 13], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "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": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ], + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"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": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "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, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [1, 13], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"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": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "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, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"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": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "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": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [1, 13], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"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": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "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": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/jaykeeb/aumz_work/soldered/keymaps/default/keymap.c b/keyboards/jaykeeb/aumz_work/soldered/keymaps/default/keymap.c new file mode 100644 index 00000000000..53de14866ee --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/soldered/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Alabahuy +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker( + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_65_ansi_blocker( + 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_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/jaykeeb/aumz_work/soldered/keymaps/via/keymap.c b/keyboards/jaykeeb/aumz_work/soldered/keymaps/via/keymap.c new file mode 100644 index 00000000000..b1e9ad23d86 --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/soldered/keymaps/via/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Alabahuy +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [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_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_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_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [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_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/jaykeeb/aumz_work/soldered/keymaps/via/rules.mk b/keyboards/jaykeeb/aumz_work/soldered/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/soldered/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/jaykeeb/aumz_work/soldered/matrix_diagram.md b/keyboards/jaykeeb/aumz_work/soldered/matrix_diagram.md new file mode 100644 index 00000000000..10863ef9bab --- /dev/null +++ b/keyboards/jaykeeb/aumz_work/soldered/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for Jaykeeb Aumz Work Soldered Version + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │1D │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2D │1E │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2D │ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │ │2C │ │ ISO Enter +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ +│40 │41 │42 │46 │4A │4B │ │4C │4D │4E │ +└────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │46 │4B │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +``` diff --git a/keyboards/jaykeeb/skyline/readme.md b/keyboards/jaykeeb/skyline/readme.md index 92291310e04..6f58ba33def 100644 --- a/keyboards/jaykeeb/skyline/readme.md +++ b/keyboards/jaykeeb/skyline/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make jaykeeb/skyline:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make jaykeeb/skyline:default:flash diff --git a/keyboards/jc65/v32a/readme.md b/keyboards/jc65/v32a/readme.md index 8a139ca6644..6695793f935 100644 --- a/keyboards/jc65/v32a/readme.md +++ b/keyboards/jc65/v32a/readme.md @@ -16,7 +16,7 @@ Make example for this keyboard (after setting up your build environment): make jc65/v32a:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make jc65/v32a:default:flash diff --git a/keyboards/jels/boaty/keyboard.json b/keyboards/jels/boaty/keyboard.json index 11a6e0aa151..36fa9288ab2 100644 --- a/keyboards/jels/boaty/keyboard.json +++ b/keyboards/jels/boaty/keyboard.json @@ -29,8 +29,11 @@ "rows": ["D6", "B0", "D7", "B5", "B3", "B4", "B2"] }, "diode_direction": "COL2ROW", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"label": "Num Lock", "matrix": [2, 10], "x": 6.75, "y": 0}, {"label": "-", "matrix": [1, 10], "x": 6.75, "y": 1}, diff --git a/keyboards/jels/boaty/keymaps/default/keymap.c b/keyboards/jels/boaty/keymaps/default/keymap.c index 9c2dfc1d447..3dcf144e392 100644 --- a/keyboards/jels/boaty/keymaps/default/keymap.c +++ b/keyboards/jels/boaty/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //base layer - [0] = LAYOUT_all( + [0] = LAYOUT( KC_NUM, KC_PAST, KC_PSLS, KC_P7, KC_P8, KC_P9, @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_1, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_RSFT, KC_LCTL, KC_LALT, KC_SPC, KC_1, KC_RALT, KC_RCTL ), - [1] = LAYOUT_all( + [1] = LAYOUT( KC_F2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/jels/boaty/keymaps/via/keymap.c b/keyboards/jels/boaty/keymaps/via/keymap.c index a2e557086bd..870642b49bf 100644 --- a/keyboards/jels/boaty/keymaps/via/keymap.c +++ b/keyboards/jels/boaty/keymaps/via/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //base layer - [0] = LAYOUT_all( + [0] = LAYOUT( KC_NUM, KC_PAST, KC_PSLS, KC_P7, KC_P8, KC_P9, @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_RSFT, KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL ), - [1] = LAYOUT_all( + [1] = LAYOUT( KC_F2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - [2] = LAYOUT_all( + [2] = LAYOUT( KC_F2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - [3] = LAYOUT_all( + [3] = LAYOUT( KC_F2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/jian/keymaps/left_hand/keymap.c b/keyboards/jian/keymaps/left_hand/keymap.c index 3f67215b8b7..b3cf6bd3674 100644 --- a/keyboards/jian/keymaps/left_hand/keymap.c +++ b/keyboards/jian/keymaps/left_hand/keymap.c @@ -1,17 +1,17 @@ /* Copyright 2020 KGOH - * - * 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 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 @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, LGUI_T(KC_GRV), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_T, KC_R, KC_E, KC_W, KC_Q, LGUI_T(KC_GRV), KC_LSFT, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_G, KC_F, KC_D, KC_S, KC_A, KC_LCTL, KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_V, KC_C, KC_X, KC_Z, KC_LALT, - LT(_RAIS_L, KC_BSPC), LT(_DFLT_R, KC_SPC), LT(_LOWR_L, KC_ENT), LT(_LOWR_L, KC_ENT), LT(_DFLT_R, KC_SPC), LT(_RAIS_L, KC_BSPC), + LT(_RAIS_L, KC_BSPC), LT(_DFLT_R, KC_SPC), LT(_LOWR_L, KC_ENT), LT(_LOWR_L, KC_ENT), LT(_DFLT_R, KC_SPC), LT(_RAIS_L, KC_BSPC) ), [_DFLT_R] = LAYOUT( KC_RBRC, KC_LBRC, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, diff --git a/keyboards/kakunpc/angel64/rev1/keyboard.json b/keyboards/kakunpc/angel64/rev1/keyboard.json index 9ed4904c686..ca7f7dcb285 100644 --- a/keyboards/kakunpc/angel64/rev1/keyboard.json +++ b/keyboards/kakunpc/angel64/rev1/keyboard.json @@ -117,6 +117,144 @@ {"matrix": [2, 5], "x": 12.25, "y": 4, "w": 1.5}, {"matrix": [3, 5], "x": 13.75, "y": 4, "w": 1.25} ] + }, + "LAYOUT_5u5_space_left": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [2, 0], "x": 2, "y": 0}, + {"matrix": [3, 0], "x": 3, "y": 0}, + {"matrix": [4, 0], "x": 4, "y": 0}, + {"matrix": [5, 0], "x": 5, "y": 0}, + {"matrix": [6, 0], "x": 6, "y": 0}, + {"matrix": [7, 0], "x": 7, "y": 0}, + {"matrix": [8, 0], "x": 8, "y": 0}, + {"matrix": [9, 0], "x": 9, "y": 0}, + {"matrix": [10, 0], "x": 10, "y": 0}, + {"matrix": [11, 0], "x": 11, "y": 0}, + {"matrix": [0, 1], "x": 12, "y": 0}, + {"matrix": [1, 1], "x": 13, "y": 0, "w": 2}, + + {"matrix": [2, 1], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [4, 1], "x": 2.5, "y": 1}, + {"matrix": [5, 1], "x": 3.5, "y": 1}, + {"matrix": [6, 1], "x": 4.5, "y": 1}, + {"matrix": [7, 1], "x": 5.5, "y": 1}, + {"matrix": [8, 1], "x": 6.5, "y": 1}, + {"matrix": [9, 1], "x": 7.5, "y": 1}, + {"matrix": [10, 1], "x": 8.5, "y": 1}, + {"matrix": [11, 1], "x": 9.5, "y": 1}, + {"matrix": [0, 2], "x": 10.5, "y": 1}, + {"matrix": [1, 2], "x": 11.5, "y": 1}, + {"matrix": [2, 2], "x": 12.5, "y": 1}, + {"matrix": [3, 2], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [4, 2], "x": 0, "y": 2, "w": 2}, + {"matrix": [5, 2], "x": 2, "y": 2}, + {"matrix": [6, 2], "x": 3, "y": 2}, + {"matrix": [7, 2], "x": 4, "y": 2}, + {"matrix": [8, 2], "x": 5, "y": 2}, + {"matrix": [9, 2], "x": 6, "y": 2}, + {"matrix": [10, 2], "x": 7, "y": 2}, + {"matrix": [11, 2], "x": 8, "y": 2}, + {"matrix": [0, 3], "x": 9, "y": 2}, + {"matrix": [1, 3], "x": 10, "y": 2}, + {"matrix": [2, 3], "x": 11, "y": 2}, + {"matrix": [3, 3], "x": 12, "y": 2}, + {"matrix": [4, 3], "x": 13, "y": 2, "w": 2}, + + {"matrix": [5, 3], "x": 0, "y": 3, "w": 2.5}, + {"matrix": [6, 3], "x": 2.5, "y": 3}, + {"matrix": [7, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 3], "x": 4.5, "y": 3}, + {"matrix": [9, 3], "x": 5.5, "y": 3}, + {"matrix": [10, 3], "x": 6.5, "y": 3}, + {"matrix": [11, 3], "x": 7.5, "y": 3}, + {"matrix": [0, 4], "x": 8.5, "y": 3}, + {"matrix": [1, 4], "x": 9.5, "y": 3}, + {"matrix": [2, 4], "x": 10.5, "y": 3}, + {"matrix": [3, 4], "x": 11.5, "y": 3}, + {"matrix": [4, 4], "x": 12.5, "y": 3, "w": 2.5}, + + {"matrix": [5, 4], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [6, 4], "x": 1.25, "y": 4, "w": 1.5}, + {"matrix": [7, 4], "x": 2.75, "y": 4, "w": 1.5}, + {"matrix": [10, 4], "x": 4.25, "y": 4, "w": 5.5}, + {"matrix": [0, 5], "x": 9.75, "y": 4}, + {"matrix": [1, 5], "x": 10.75, "y": 4, "w": 1.5}, + {"matrix": [2, 5], "x": 12.25, "y": 4, "w": 1.5}, + {"matrix": [3, 5], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_5u5_space_right": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [2, 0], "x": 2, "y": 0}, + {"matrix": [3, 0], "x": 3, "y": 0}, + {"matrix": [4, 0], "x": 4, "y": 0}, + {"matrix": [5, 0], "x": 5, "y": 0}, + {"matrix": [6, 0], "x": 6, "y": 0}, + {"matrix": [7, 0], "x": 7, "y": 0}, + {"matrix": [8, 0], "x": 8, "y": 0}, + {"matrix": [9, 0], "x": 9, "y": 0}, + {"matrix": [10, 0], "x": 10, "y": 0}, + {"matrix": [11, 0], "x": 11, "y": 0}, + {"matrix": [0, 1], "x": 12, "y": 0}, + {"matrix": [1, 1], "x": 13, "y": 0, "w": 2}, + + {"matrix": [2, 1], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [4, 1], "x": 2.5, "y": 1}, + {"matrix": [5, 1], "x": 3.5, "y": 1}, + {"matrix": [6, 1], "x": 4.5, "y": 1}, + {"matrix": [7, 1], "x": 5.5, "y": 1}, + {"matrix": [8, 1], "x": 6.5, "y": 1}, + {"matrix": [9, 1], "x": 7.5, "y": 1}, + {"matrix": [10, 1], "x": 8.5, "y": 1}, + {"matrix": [11, 1], "x": 9.5, "y": 1}, + {"matrix": [0, 2], "x": 10.5, "y": 1}, + {"matrix": [1, 2], "x": 11.5, "y": 1}, + {"matrix": [2, 2], "x": 12.5, "y": 1}, + {"matrix": [3, 2], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [4, 2], "x": 0, "y": 2, "w": 2}, + {"matrix": [5, 2], "x": 2, "y": 2}, + {"matrix": [6, 2], "x": 3, "y": 2}, + {"matrix": [7, 2], "x": 4, "y": 2}, + {"matrix": [8, 2], "x": 5, "y": 2}, + {"matrix": [9, 2], "x": 6, "y": 2}, + {"matrix": [10, 2], "x": 7, "y": 2}, + {"matrix": [11, 2], "x": 8, "y": 2}, + {"matrix": [0, 3], "x": 9, "y": 2}, + {"matrix": [1, 3], "x": 10, "y": 2}, + {"matrix": [2, 3], "x": 11, "y": 2}, + {"matrix": [3, 3], "x": 12, "y": 2}, + {"matrix": [4, 3], "x": 13, "y": 2, "w": 2}, + + {"matrix": [5, 3], "x": 0, "y": 3, "w": 2.5}, + {"matrix": [6, 3], "x": 2.5, "y": 3}, + {"matrix": [7, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 3], "x": 4.5, "y": 3}, + {"matrix": [9, 3], "x": 5.5, "y": 3}, + {"matrix": [10, 3], "x": 6.5, "y": 3}, + {"matrix": [11, 3], "x": 7.5, "y": 3}, + {"matrix": [0, 4], "x": 8.5, "y": 3}, + {"matrix": [1, 4], "x": 9.5, "y": 3}, + {"matrix": [2, 4], "x": 10.5, "y": 3}, + {"matrix": [3, 4], "x": 11.5, "y": 3}, + {"matrix": [4, 4], "x": 12.5, "y": 3, "w": 2.5}, + + {"matrix": [5, 4], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [6, 4], "x": 1.25, "y": 4, "w": 1.5}, + {"matrix": [7, 4], "x": 2.75, "y": 4, "w": 1.5}, + {"matrix": [8, 4], "x": 4.25, "y": 4}, + {"matrix": [10, 4], "x": 5.25, "y": 4, "w": 5.5}, + {"matrix": [1, 5], "x": 10.75, "y": 4, "w": 1.5}, + {"matrix": [2, 5], "x": 12.25, "y": 4, "w": 1.5}, + {"matrix": [3, 5], "x": 13.75, "y": 4, "w": 1.25} + ] } } } diff --git a/keyboards/kakunpc/angel64/rev1/matrix_diagram.md b/keyboards/kakunpc/angel64/rev1/matrix_diagram.md new file mode 100644 index 00000000000..d9efcc6a55a --- /dev/null +++ b/keyboards/kakunpc/angel64/rev1/matrix_diagram.md @@ -0,0 +1,22 @@ +# Matrix Diagram for Angel64 Rev1 + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ +│00 │10 │20 │30 │40 │50 │60 │70 │80 │90 │A0 │B0 │01 │11 │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ +│21 │31 │41 │51 │61 │71 │81 │91 │A1 │B1 │02 │12 │22 │32 │ +├─────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─────┤ +│42 │52 │62 │72 │82 │92 │A2 │B2 │03 │13 │23 │33 │43 │ +├───────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┤ +│53 │63 │73 │83 │93 │A3 │B3 │04 │14 │24 │34 │44 │ +├────┬────┴┬──┴──┬┴──┬┴───┴┬──┴──┬┴───┴┬──┴┬──┴──┬┴────┬────┤ +│54 │64 │74 │84 │94 │A4 │B4 │05 │15 │25 │35 │ +└────┴─────┴─────┴───┴─────┴─────┴─────┴───┴─────┴─────┴────┘ + +┌────┬─────┬─────┬─────────────────────┬───┬─────┬─────┬────┐ +│54 │64 │74 │A4 │05 │15 │25 │35 │ 5.5u Space (Left) +└────┴─────┴─────┴─────────────────────┴───┴─────┴─────┴────┘ +┌────┬─────┬─────┬───┬─────────────────────┬─────┬─────┬────┐ +│54 │64 │74 │84 │A4 │15 │25 │35 │ 5.5u Space (Right) +└────┴─────┴─────┴───┴─────────────────────┴─────┴─────┴────┘ +``` diff --git a/keyboards/kakunpc/rabbit_capture_plan/keyboard.json b/keyboards/kakunpc/rabbit_capture_plan/keyboard.json index 16364fb71fe..3d6e7958f47 100644 --- a/keyboards/kakunpc/rabbit_capture_plan/keyboard.json +++ b/keyboards/kakunpc/rabbit_capture_plan/keyboard.json @@ -57,8 +57,94 @@ }, "processor": "atmega32u4", "bootloader": "caterina", + "layout_aliases": { + "LAYOUT_all": "LAYOUT_ansi_split_rshift" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0.41, "y": 0}, + {"matrix": [0, 1], "x": 1.41, "y": 0}, + {"matrix": [0, 2], "x": 2.72, "y": 0}, + {"matrix": [0, 3], "x": 3.72, "y": 0}, + {"matrix": [0, 4], "x": 4.72, "y": 0}, + {"matrix": [0, 5], "x": 5.72, "y": 0}, + {"matrix": [0, 6], "x": 6.72, "y": 0}, + + {"matrix": [5, 0], "x": 9.62, "y": 0}, + {"matrix": [5, 1], "x": 10.62, "y": 0}, + {"matrix": [5, 2], "x": 11.62, "y": 0}, + {"matrix": [5, 3], "x": 12.62, "y": 0}, + {"matrix": [5, 4], "x": 14.07, "y": 0}, + {"matrix": [5, 5], "x": 15.07, "y": 0}, + {"matrix": [5, 6], "x": 16.07, "y": 0}, + {"matrix": [5, 7], "x": 17.07, "y": 0}, + + {"matrix": [1, 0], "x": 0.28, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.78, "y": 1}, + {"matrix": [1, 2], "x": 3.22, "y": 1}, + {"matrix": [1, 3], "x": 4.22, "y": 1}, + {"matrix": [1, 4], "x": 5.22, "y": 1}, + {"matrix": [1, 5], "x": 6.22, "y": 1}, + {"matrix": [1, 6], "x": 7.22, "y": 1}, + + {"matrix": [6, 0], "x": 9.12, "y": 1}, + {"matrix": [6, 1], "x": 10.12, "y": 1}, + {"matrix": [6, 2], "x": 11.12, "y": 1}, + {"matrix": [6, 3], "x": 12.12, "y": 1}, + {"matrix": [6, 4], "x": 13.72, "y": 1}, + {"matrix": [6, 5], "x": 14.72, "y": 1}, + {"matrix": [6, 6], "x": 15.72, "y": 1}, + {"matrix": [6, 7], "x": 16.72, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0.14, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.89, "y": 2}, + {"matrix": [2, 2], "x": 3.47, "y": 2}, + {"matrix": [2, 3], "x": 4.47, "y": 2}, + {"matrix": [2, 4], "x": 5.47, "y": 2}, + {"matrix": [2, 5], "x": 6.47, "y": 2}, + {"matrix": [4, 5], "x": 7.47, "y": 2}, + + {"matrix": [7, 0], "x": 9.37, "y": 2}, + {"matrix": [7, 1], "x": 10.37, "y": 2}, + {"matrix": [7, 2], "x": 11.37, "y": 2}, + {"matrix": [7, 3], "x": 12.37, "y": 2}, + {"matrix": [7, 4], "x": 14.09, "y": 2}, + {"matrix": [7, 5], "x": 15.09, "y": 2}, + {"matrix": [7, 6], "x": 16.09, "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.97, "y": 3}, + {"matrix": [3, 3], "x": 4.97, "y": 3}, + {"matrix": [3, 4], "x": 5.97, "y": 3}, + {"matrix": [3, 5], "x": 6.97, "y": 3}, + + {"matrix": [8, 0], "x": 8.87, "y": 3}, + {"matrix": [8, 1], "x": 9.87, "y": 3}, + {"matrix": [8, 2], "x": 10.87, "y": 3}, + {"matrix": [8, 3], "x": 11.87, "y": 3}, + {"matrix": [8, 4], "x": 13.72, "y": 3}, + {"matrix": [8, 5], "x": 14.72, "y": 3}, + {"matrix": [8, 6], "x": 15.72, "y": 3, "w": 1.75}, + + {"matrix": [9, 0], "x": 18, "y": 3.25}, + + {"matrix": [4, 0], "x": 0.25, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4.47, "y": 4}, + {"matrix": [4, 3], "x": 5.47, "y": 4, "w": 2}, + {"matrix": [4, 4], "x": 7.47, "y": 4}, + + {"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75}, + {"matrix": [9, 2], "x": 12.1, "y": 4}, + + {"matrix": [9, 3], "x": 17, "y": 4.25}, + {"matrix": [9, 4], "x": 18, "y": 4.25}, + {"matrix": [9, 5], "x": 19, "y": 4.25} + ] + }, + "LAYOUT_ansi_split_rshift": { "layout": [ {"matrix": [0, 0], "x": 0.41, "y": 0}, {"matrix": [0, 1], "x": 1.41, "y": 0}, @@ -137,6 +223,173 @@ {"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75}, {"matrix": [9, 2], "x": 12.1, "y": 4}, + {"matrix": [9, 3], "x": 17, "y": 4.25}, + {"matrix": [9, 4], "x": 18, "y": 4.25}, + {"matrix": [9, 5], "x": 19, "y": 4.25} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0.41, "y": 0}, + {"matrix": [0, 1], "x": 1.41, "y": 0}, + {"matrix": [0, 2], "x": 2.72, "y": 0}, + {"matrix": [0, 3], "x": 3.72, "y": 0}, + {"matrix": [0, 4], "x": 4.72, "y": 0}, + {"matrix": [0, 5], "x": 5.72, "y": 0}, + {"matrix": [0, 6], "x": 6.72, "y": 0}, + + {"matrix": [5, 0], "x": 9.62, "y": 0}, + {"matrix": [5, 1], "x": 10.62, "y": 0}, + {"matrix": [5, 2], "x": 11.62, "y": 0}, + {"matrix": [5, 3], "x": 12.62, "y": 0}, + {"matrix": [5, 4], "x": 14.07, "y": 0}, + {"matrix": [5, 5], "x": 15.07, "y": 0}, + {"matrix": [5, 6], "x": 16.07, "y": 0}, + {"matrix": [5, 7], "x": 17.07, "y": 0}, + + {"matrix": [1, 0], "x": 0.28, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.78, "y": 1}, + {"matrix": [1, 2], "x": 3.22, "y": 1}, + {"matrix": [1, 3], "x": 4.22, "y": 1}, + {"matrix": [1, 4], "x": 5.22, "y": 1}, + {"matrix": [1, 5], "x": 6.22, "y": 1}, + {"matrix": [1, 6], "x": 7.22, "y": 1}, + + {"matrix": [6, 0], "x": 9.12, "y": 1}, + {"matrix": [6, 1], "x": 10.12, "y": 1}, + {"matrix": [6, 2], "x": 11.12, "y": 1}, + {"matrix": [6, 3], "x": 12.12, "y": 1}, + {"matrix": [6, 4], "x": 13.72, "y": 1}, + {"matrix": [6, 5], "x": 14.72, "y": 1}, + {"matrix": [6, 6], "x": 15.72, "y": 1}, + + {"matrix": [2, 0], "x": 0.14, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.89, "y": 2}, + {"matrix": [2, 2], "x": 3.47, "y": 2}, + {"matrix": [2, 3], "x": 4.47, "y": 2}, + {"matrix": [2, 4], "x": 5.47, "y": 2}, + {"matrix": [2, 5], "x": 6.47, "y": 2}, + {"matrix": [4, 5], "x": 7.47, "y": 2}, + + {"matrix": [7, 0], "x": 9.37, "y": 2}, + {"matrix": [7, 1], "x": 10.37, "y": 2}, + {"matrix": [7, 2], "x": 11.37, "y": 2}, + {"matrix": [7, 3], "x": 12.37, "y": 2}, + {"matrix": [7, 4], "x": 14.09, "y": 2}, + {"matrix": [7, 5], "x": 15.09, "y": 2}, + {"matrix": [7, 6], "x": 16.09, "y": 2}, + {"matrix": [6, 7], "x": 17.09, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.97, "y": 3}, + {"matrix": [3, 3], "x": 4.97, "y": 3}, + {"matrix": [3, 4], "x": 5.97, "y": 3}, + {"matrix": [3, 5], "x": 6.97, "y": 3}, + + {"matrix": [8, 0], "x": 8.87, "y": 3}, + {"matrix": [8, 1], "x": 9.87, "y": 3}, + {"matrix": [8, 2], "x": 10.87, "y": 3}, + {"matrix": [8, 3], "x": 11.87, "y": 3}, + {"matrix": [8, 4], "x": 13.72, "y": 3}, + {"matrix": [8, 5], "x": 14.72, "y": 3}, + {"matrix": [8, 6], "x": 15.72, "y": 3, "w": 1.75}, + + {"matrix": [9, 0], "x": 18, "y": 3.25}, + + {"matrix": [4, 0], "x": 0.25, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4.47, "y": 4}, + {"matrix": [4, 3], "x": 5.47, "y": 4, "w": 2}, + {"matrix": [4, 4], "x": 7.47, "y": 4}, + + {"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75}, + {"matrix": [9, 2], "x": 12.1, "y": 4}, + + {"matrix": [9, 3], "x": 17, "y": 4.25}, + {"matrix": [9, 4], "x": 18, "y": 4.25}, + {"matrix": [9, 5], "x": 19, "y": 4.25} + ] + }, + "LAYOUT_iso_split_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0.41, "y": 0}, + {"matrix": [0, 1], "x": 1.41, "y": 0}, + {"matrix": [0, 2], "x": 2.72, "y": 0}, + {"matrix": [0, 3], "x": 3.72, "y": 0}, + {"matrix": [0, 4], "x": 4.72, "y": 0}, + {"matrix": [0, 5], "x": 5.72, "y": 0}, + {"matrix": [0, 6], "x": 6.72, "y": 0}, + + {"matrix": [5, 0], "x": 9.62, "y": 0}, + {"matrix": [5, 1], "x": 10.62, "y": 0}, + {"matrix": [5, 2], "x": 11.62, "y": 0}, + {"matrix": [5, 3], "x": 12.62, "y": 0}, + {"matrix": [5, 4], "x": 14.07, "y": 0}, + {"matrix": [5, 5], "x": 15.07, "y": 0}, + {"matrix": [5, 6], "x": 16.07, "y": 0}, + {"matrix": [5, 7], "x": 17.07, "y": 0}, + + {"matrix": [1, 0], "x": 0.28, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.78, "y": 1}, + {"matrix": [1, 2], "x": 3.22, "y": 1}, + {"matrix": [1, 3], "x": 4.22, "y": 1}, + {"matrix": [1, 4], "x": 5.22, "y": 1}, + {"matrix": [1, 5], "x": 6.22, "y": 1}, + {"matrix": [1, 6], "x": 7.22, "y": 1}, + + {"matrix": [6, 0], "x": 9.12, "y": 1}, + {"matrix": [6, 1], "x": 10.12, "y": 1}, + {"matrix": [6, 2], "x": 11.12, "y": 1}, + {"matrix": [6, 3], "x": 12.12, "y": 1}, + {"matrix": [6, 4], "x": 13.72, "y": 1}, + {"matrix": [6, 5], "x": 14.72, "y": 1}, + {"matrix": [6, 6], "x": 15.72, "y": 1}, + + {"matrix": [2, 0], "x": 0.14, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.89, "y": 2}, + {"matrix": [2, 2], "x": 3.47, "y": 2}, + {"matrix": [2, 3], "x": 4.47, "y": 2}, + {"matrix": [2, 4], "x": 5.47, "y": 2}, + {"matrix": [2, 5], "x": 6.47, "y": 2}, + {"matrix": [4, 5], "x": 7.47, "y": 2}, + + {"matrix": [7, 0], "x": 9.37, "y": 2}, + {"matrix": [7, 1], "x": 10.37, "y": 2}, + {"matrix": [7, 2], "x": 11.37, "y": 2}, + {"matrix": [7, 3], "x": 12.37, "y": 2}, + {"matrix": [7, 4], "x": 14.09, "y": 2}, + {"matrix": [7, 5], "x": 15.09, "y": 2}, + {"matrix": [7, 6], "x": 16.09, "y": 2}, + {"matrix": [6, 7], "x": 17.09, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.97, "y": 3}, + {"matrix": [3, 3], "x": 4.97, "y": 3}, + {"matrix": [3, 4], "x": 5.97, "y": 3}, + {"matrix": [3, 5], "x": 6.97, "y": 3}, + + {"matrix": [8, 0], "x": 8.87, "y": 3}, + {"matrix": [8, 1], "x": 9.87, "y": 3}, + {"matrix": [8, 2], "x": 10.87, "y": 3}, + {"matrix": [8, 3], "x": 11.87, "y": 3}, + {"matrix": [8, 4], "x": 13.72, "y": 3}, + {"matrix": [8, 5], "x": 14.72, "y": 3}, + {"matrix": [8, 6], "x": 15.72, "y": 3}, + {"matrix": [8, 7], "x": 16.72, "y": 3}, + + {"matrix": [9, 0], "x": 18, "y": 3.25}, + + {"matrix": [4, 0], "x": 0.25, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4.47, "y": 4}, + {"matrix": [4, 3], "x": 5.47, "y": 4, "w": 2}, + {"matrix": [4, 4], "x": 7.47, "y": 4}, + + {"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75}, + {"matrix": [9, 2], "x": 12.1, "y": 4}, + {"matrix": [9, 3], "x": 17, "y": 4.25}, {"matrix": [9, 4], "x": 18, "y": 4.25}, {"matrix": [9, 5], "x": 19, "y": 4.25} diff --git a/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c b/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c index 649ea50c429..aba1a40e15c 100644 --- a/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c +++ b/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c @@ -22,14 +22,14 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [_BASE] = LAYOUT_all( + [_BASE] = LAYOUT_ansi_split_rshift( 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_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_LCAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, 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_DEL, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT ), - [_FN] = LAYOUT_all( + [_FN] = LAYOUT_ansi_split_rshift( 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_LEFT, KC_DOWN, KC_RIGHT, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kakunpc/rabbit_capture_plan/matrix_diagram.md b/keyboards/kakunpc/rabbit_capture_plan/matrix_diagram.md new file mode 100644 index 00000000000..9b28372360e --- /dev/null +++ b/keyboards/kakunpc/rabbit_capture_plan/matrix_diagram.md @@ -0,0 +1,16 @@ +# Matrix Diagram for rabbit_capture_plan + +``` + ┌───┬───┐ ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ + │00 │01 │ │02 │03 │04 │05 │06 │ │50 │51 │52 │53 │ │54 │55 │56 │57 │ + ┌┴───┴┬──┴┐└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐ + │10 │11 │ │12 │13 │14 │15 │16 │ │60 │61 │62 │63 │ │64 │65 │66 │67 │ │67 │ + ┌┴─────┼───┤ └┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┐ └─┬─┴─┬─┴─┬─┴─────┴┐ ┌──┴┐ │ ISO Enter + │20 │21 │ │22 │23 │24 │25 │26 │ │70 │71 │72 │73 │ │74 │75 │76 │ │76 │ │ +┌┴──────┴┬──┴┐ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬───┬──┘ └───┴────┘ +│30 │31 │ │32 │33 │34 │35 │ │80 │81 │82 │83 │ │84 │85 │86 │87 │ ┌───┐ ┌──────┐ +└┬────┬──┴─┬─┘ └─┬─┴─┬─┴───┴─┬─┴─┐ └─┬─┴───┴───┴┬──┴┐ └───┴───┴───┴───┘ │90 │ │86 │ 1.75u Right Shift + │40 │41 │ │42 │43 │44 │ │91 │92 │ ┌───┼───┼───┐ └──────┘ + └────┴────┘ └───┴───────┴───┘ └──────────┴───┘ │93 │94 │95 │ + └───┴───┴───┘ +``` diff --git a/keyboards/kbdfans/baguette66/rgb/keyboard.json b/keyboards/kbdfans/baguette66/rgb/keyboard.json index e72d56e6f96..61579473cd9 100644 --- a/keyboards/kbdfans/baguette66/rgb/keyboard.json +++ b/keyboards/kbdfans/baguette66/rgb/keyboard.json @@ -80,8 +80,11 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c b/keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c index cc93228ad02..a420edfa7b2 100644 --- a/keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c +++ b/keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c @@ -17,25 +17,25 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [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_BSPC, KC_GRAVE, 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_END, 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_DEL, KC_UP, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), - [1] = LAYOUT_all( + [1] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [2] = LAYOUT_all( + [2] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [3] = LAYOUT_all( + [3] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, diff --git a/keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c b/keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c index eefda15f523..267ada99c9b 100644 --- a/keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c +++ b/keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c @@ -17,25 +17,25 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [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_BSPC, KC_GRAVE, 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_END, 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_DEL, KC_UP, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), - [1] = LAYOUT_all( + [1] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [2] = LAYOUT_all( + [2] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [3] = LAYOUT_all( + [3] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, diff --git a/keyboards/kbdfans/baguette66/soldered/keyboard.json b/keyboards/kbdfans/baguette66/soldered/keyboard.json index da473daf915..f9c87dad06e 100644 --- a/keyboards/kbdfans/baguette66/soldered/keyboard.json +++ b/keyboards/kbdfans/baguette66/soldered/keyboard.json @@ -26,8 +26,11 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c b/keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c index 87879b109a9..3d5b45ebab6 100644 --- a/keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c +++ b/keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c @@ -17,25 +17,25 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [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_BSPC, KC_GRAVE, 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_END, 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_DEL, KC_UP, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), - [1] = LAYOUT_all( + [1] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [2] = LAYOUT_all( + [2] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [3] = LAYOUT_all( + [3] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, diff --git a/keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c b/keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c index 87879b109a9..3d5b45ebab6 100644 --- a/keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c +++ b/keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c @@ -17,25 +17,25 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [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_BSPC, KC_GRAVE, 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_END, 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_DEL, KC_UP, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), - [1] = LAYOUT_all( + [1] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [2] = LAYOUT_all( + [2] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [3] = LAYOUT_all( + [3] = LAYOUT( 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_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, diff --git a/keyboards/kbdfans/kbd75rgb/kbd75rgb.c b/keyboards/kbdfans/kbd75rgb/kbd75rgb.c index 8e39dad6d23..622ca83b681 100644 --- a/keyboards/kbdfans/kbd75rgb/kbd75rgb.c +++ b/keyboards/kbdfans/kbd75rgb/kbd75rgb.c @@ -26,10 +26,10 @@ led_config_t g_led_config = { { { 83, 82, 81, NO_LED, NO_LED, 80, NO_LED, NO_LED, 79, 78, 77, 76, NO_LED,75 ,74} }, { {0, 0}, {15, 0}, {30, 0},{45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {195, 0}, {210, 0}, {224, 0}, - {224, 12.8}, {218, 12.8},{192, 12.8},{176, 12.8},{160, 12.8},{144, 12.8},{128, 12.8},{112, 12.8},{96, 12.8},{80, 12.8},{64, 12.8},{48, 12.8},{32, 12.8},{16, 12.8},{0, 12.8}, - {0, 25.6},{16, 25.6}, {32, 25.6}, {48, 25.6}, {64, 25.6}, {80, 25.6}, {96, 25.6}, {112, 25.6}, {128, 25.6}, {144, 25.6}, {160, 25.6},{176, 25.6}, {192, 25.6}, {218, 25.6}, {224, 25.6}, -{224, 38.4},{200, 38.4},{176, 38.4},{160, 38.4},{144, 38.4},{128, 38.4},{112, 38.4},{96, 38.4},{80, 38.4},{64, 38.4},{48, 38.4},{32, 38.4},{16, 38.4},{0, 38.4}, - {0, 51.2},{16, 51.2}, {32, 51.2}, {48, 51.2}, {64, 51.2}, {80, 51.2}, {96, 51.2}, {112, 51.2}, {128, 51.2}, {144, 51.2}, {160, 51.2}, {189, 51.2}, {218, 51.2}, {224, 51.2}, + {224, 12}, {218, 12},{192, 12},{176, 12},{160, 12},{144, 12},{128, 12},{112, 12},{96, 12},{80, 12},{64, 12},{48, 12},{32, 12},{16, 12},{0, 12}, + {0, 25},{16, 25}, {32, 25}, {48, 25}, {64, 25}, {80, 25}, {96, 25}, {112, 25}, {128, 25}, {144, 25}, {160, 25},{176, 25}, {192, 25}, {218, 25}, {224, 25}, +{224, 38},{200, 38},{176, 38},{160, 38},{144, 38},{128, 38},{112, 38},{96, 38},{80, 38},{64, 38},{48, 38},{32, 38},{16, 38},{0, 38}, + {0, 51},{16, 51}, {32, 51}, {48, 51}, {64, 51}, {80, 51}, {96, 51}, {112, 51}, {128, 51}, {144, 51}, {160, 51}, {189, 51}, {218, 51}, {224, 51}, {224, 64},{218, 64},{192, 64},{176, 64},{160, 64},{144, 64}, {80, 64}, {32, 64},{16, 64},{0, 64} }, { 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, diff --git a/keyboards/kbdfans/kbdpad/mk1/readme.md b/keyboards/kbdfans/kbdpad/mk1/readme.md index 27194e683f4..43d0ebf8776 100644 --- a/keyboards/kbdfans/kbdpad/mk1/readme.md +++ b/keyboards/kbdfans/kbdpad/mk1/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make kbdfans/kbdpad/mk1:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make kbdfans/kbdpad/mk1:default:flash diff --git a/keyboards/kbdfans/kbdpad/mk3/keyboard.json b/keyboards/kbdfans/kbdpad/mk3/keyboard.json index 735dd3e4ef4..7c741f7633a 100644 --- a/keyboards/kbdfans/kbdpad/mk3/keyboard.json +++ b/keyboards/kbdfans/kbdpad/mk3/keyboard.json @@ -65,23 +65,23 @@ {"flags": 4, "matrix": [0, 1], "x": 75, "y": 0}, {"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": 12.8}, - {"flags": 4, "matrix": [1, 2], "x": 150, "y": 12.8}, - {"flags": 4, "matrix": [1, 1], "x": 75, "y": 12.8}, - {"flags": 4, "matrix": [1, 0], "x": 0, "y": 12.8}, - {"flags": 4, "matrix": [2, 0], "x": 0, "y": 25.6}, - {"flags": 4, "matrix": [2, 1], "x": 75, "y": 25.6}, - {"flags": 4, "matrix": [2, 2], "x": 150, "y": 25.6}, + {"flags": 4, "matrix": [1, 3], "x": 224, "y": 12}, + {"flags": 4, "matrix": [1, 2], "x": 150, "y": 12}, + {"flags": 4, "matrix": [1, 1], "x": 75, "y": 12}, + {"flags": 4, "matrix": [1, 0], "x": 0, "y": 12}, + {"flags": 4, "matrix": [2, 0], "x": 0, "y": 25}, + {"flags": 4, "matrix": [2, 1], "x": 75, "y": 25}, + {"flags": 4, "matrix": [2, 2], "x": 150, "y": 25}, {"flags": 4, "matrix": [2, 3], "x": 224, "y": 32}, - {"flags": 4, "matrix": [3, 2], "x": 150, "y": 38.4}, - {"flags": 4, "matrix": [3, 1], "x": 75, "y": 38.4}, - {"flags": 4, "matrix": [3, 0], "x": 0, "y": 38.4}, - {"flags": 4, "matrix": [4, 0], "x": 0, "y": 51.2}, - {"flags": 4, "matrix": [4, 1], "x": 75, "y": 51.2}, - {"flags": 4, "matrix": [4, 2], "x": 150, "y": 51.24}, - {"flags": 4, "matrix": [4, 3], "x": 224, "y": 57.6}, + {"flags": 4, "matrix": [3, 2], "x": 150, "y": 38}, + {"flags": 4, "matrix": [3, 1], "x": 75, "y": 38}, + {"flags": 4, "matrix": [3, 0], "x": 0, "y": 38}, + {"flags": 4, "matrix": [4, 0], "x": 0, "y": 51}, + {"flags": 4, "matrix": [4, 1], "x": 75, "y": 51}, + {"flags": 4, "matrix": [4, 2], "x": 150, "y": 51}, + {"flags": 4, "matrix": [4, 3], "x": 224, "y": 57}, {"flags": 4, "matrix": [5, 2], "x": 150, "y": 64}, - {"flags": 4, "matrix": [5, 0], "x": 37.5, "y": 64} + {"flags": 4, "matrix": [5, 0], "x": 37, "y": 64} ], "max_brightness": 128, "sleep": true diff --git a/keyboards/keebio/bamfk4/bamfk4.c b/keyboards/keebio/bamfk4/bamfk4.c index 52fe61e39e9..757bc03f722 100644 --- a/keyboards/keebio/bamfk4/bamfk4.c +++ b/keyboards/keebio/bamfk4/bamfk4.c @@ -10,16 +10,16 @@ led_config_t g_led_config = { { }, { // LED Index to Physical Position //through switch - { 26.6, 10 }, { 4.3, 10 }, { 3.8, 49.3 }, { 23.3, 49.3 }, - { 69.4, 49.3 }, { 68.9, 10 }, { 90.6, 10 }, { 89.5, 49.3 }, - { 134, 49.3 }, { 132.9, 10 }, { 155.7, 10 }, { 155.1, 49.3 }, - { 199.6, 49.3 }, { 199.6, 10 }, { 219.1, 10 }, { 219.1, 49.3 }, + { 26, 10 }, { 4, 10 }, { 3, 49 }, { 23, 49 }, + { 69, 49 }, { 68, 10 }, { 90, 10 }, { 89, 49 }, + { 134, 49 }, { 132, 10 }, { 155, 10 }, { 155, 49 }, + { 199, 49 }, { 199, 10 }, { 219, 10 }, { 219, 49 }, //underglow - { 218, 62.2 }, { 188.7, 62.2 }, { 159.5, 62.2 }, { 123.7, 62.2 }, //bottom right - { 100.3, 62.2 }, { 59.1, 62.2 }, { 35.3, 62.2 }, { 5.4, 62.2 }, //bottom left - { 6, 6.4 }, { 35.3, 6.4 }, { 59.1, 6.4 }, { 100.3, 6.4 }, //top left - { 123.7, 6.4 }, { 159.5, 6.4 }, { 188.7, 6.4 }, { 218, 6.4 } //top right + { 218, 62 }, { 188, 62 }, { 159, 62 }, { 123, 62 }, //bottom right + { 100, 62 }, { 59, 62 }, { 35, 62 }, { 5, 62 }, //bottom left + { 6, 6 }, { 35, 6 }, { 59, 6 }, { 100, 6 }, //top left + { 123, 6 }, { 159, 6 }, { 188, 6 }, { 218, 6 } //top right }, { // LED Index to Flag 4, 4, 4, 4, diff --git a/keyboards/keebio/chiri_ce/info.json b/keyboards/keebio/chiri_ce/info.json new file mode 100644 index 00000000000..64fa5a05caf --- /dev/null +++ b/keyboards/keebio/chiri_ce/info.json @@ -0,0 +1,8 @@ +{ + "manufacturer": "Keebio", + "maintainer": "Keebio", + "url": "https://keeb.io", + "usb": { + "vid": "0xCB10" + } +} diff --git a/keyboards/keebio/chiri_ce/keymaps/default/keymap.json b/keyboards/keebio/chiri_ce/keymaps/default/keymap.json new file mode 100644 index 00000000000..18c9e441e07 --- /dev/null +++ b/keyboards/keebio/chiri_ce/keymaps/default/keymap.json @@ -0,0 +1,32 @@ +{ + "config": { "features": {"tri_layer": true} }, + "keyboard": "keebio/chiri_ce/rev1", + "keymap": "default", + "layout": "LAYOUT", + "layers": [ + [ + "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_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" , "QK_GESC", "KC_BSPC", "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT", + "KC_LGUI", "TL_LOWR", "KC_ENT" , "KC_SPC" , "TL_UPPR", "KC_RALT" + ], + [ + "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_ESC" , "KC_LEFT", "KC_DOWN", "KC_UP" , "KC_RGHT", "KC_LBRC", "KC_RBRC", "KC_P4" , "KC_P5" , "KC_P6" , "KC_PLUS", "KC_PIPE", + "RGB_MOD", "_______", "_______", "_______", "_______", "KC_LCBR", "KC_LPRN", "KC_RPRN", "KC_RCBR", "KC_P1" , "KC_P2" , "KC_P3" , "KC_MINS", "_______", + "_______", "_______", "KC_DEL" , "KC_DEL" , "_______", "KC_P0" + ], + [ + "RGB_TOG", "KC_EXLM", "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "QK_BOOT", + "RGB_MOD", "KC_MPRV", "KC_MNXT", "KC_VOLU", "KC_PGUP", "KC_UNDS", "KC_EQL" , "KC_HOME", "RGB_HUI", "RGB_SAI", "RGB_VAI", "KC_BSLS", + "KC_MUTE", "KC_MSTP", "KC_MPLY", "KC_VOLD", "KC_PGDN", "KC_MINS", "KC_LPRN", "_______", "KC_PLUS", "KC_END" , "RGB_HUD", "RGB_SAD", "RGB_VAD", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ], + [ + "KC_F12" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11" , + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "EE_CLR" , "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "QK_BOOT", "EE_CLR" , "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/keebio/chiri_ce/keymaps/via/keymap.json b/keyboards/keebio/chiri_ce/keymaps/via/keymap.json new file mode 100644 index 00000000000..e8db1835451 --- /dev/null +++ b/keyboards/keebio/chiri_ce/keymaps/via/keymap.json @@ -0,0 +1,32 @@ +{ + "config": { "features": {"tri_layer": true, "via": true} }, + "keyboard": "keebio/chiri_ce/rev1", + "keymap": "via", + "layout": "LAYOUT", + "layers": [ + [ + "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_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" , "QK_GESC", "KC_BSPC", "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT", + "KC_LGUI", "TL_LOWR", "KC_ENT" , "KC_SPC" , "TL_UPPR", "KC_RALT" + ], + [ + "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_ESC" , "KC_LEFT", "KC_DOWN", "KC_UP" , "KC_RGHT", "KC_LBRC", "KC_RBRC", "KC_P4" , "KC_P5" , "KC_P6" , "KC_PLUS", "KC_PIPE", + "RGB_MOD", "_______", "_______", "_______", "_______", "KC_LCBR", "KC_LPRN", "KC_RPRN", "KC_RCBR", "KC_P1" , "KC_P2" , "KC_P3" , "KC_MINS", "_______", + "_______", "_______", "KC_DEL" , "KC_DEL" , "_______", "KC_P0" + ], + [ + "RGB_TOG", "KC_EXLM", "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "QK_BOOT", + "RGB_MOD", "KC_MPRV", "KC_MNXT", "KC_VOLU", "KC_PGUP", "KC_UNDS", "KC_EQL" , "KC_HOME", "RGB_HUI", "RGB_SAI", "RGB_VAI", "KC_BSLS", + "KC_MUTE", "KC_MSTP", "KC_MPLY", "KC_VOLD", "KC_PGDN", "KC_MINS", "KC_LPRN", "_______", "KC_PLUS", "KC_END" , "RGB_HUD", "RGB_SAD", "RGB_VAD", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ], + [ + "KC_F12" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11" , + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "EE_CLR" , "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "QK_BOOT", "EE_CLR" , "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/keebio/chiri_ce/readme.md b/keyboards/keebio/chiri_ce/readme.md new file mode 100644 index 00000000000..5bc70c0199c --- /dev/null +++ b/keyboards/keebio/chiri_ce/readme.md @@ -0,0 +1,25 @@ +# Chiri CE (Compact Edition) + +A split ergo 3x6 keyboard with 4 thumb keys made and sold by Keebio. Outer columns can be broken off to convert it to 3x5 layout. [More info at Keebio](https://keeb.io). + +* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +* Hardware Supported: Chiri CE PCBs w/RP2040 microcontroller +* Hardware Availability: [Keebio](https://keeb.io) + +Make example for this keyboard (after setting up your build environment): + + make keebio/chiri_ce/rev1:default + +Example of flashing this keyboard: + + make keebio/chiri_ce/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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at the top left (for left half) or top right (for right half) and plug in the keyboard +* **Physical reset button**: Press and hold the button on the back of the PCB for at least 1 second and let go +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/keebio/chiri_ce/rev1/config.h b/keyboards/keebio/chiri_ce/rev1/config.h new file mode 100644 index 00000000000..b1eb9da4e9b --- /dev/null +++ b/keyboards/keebio/chiri_ce/rev1/config.h @@ -0,0 +1,16 @@ +// Copyright 2024 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SPLIT_HAND_PIN GP4 +#define USB_VBUS_PIN GP0 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP12 +#define SERIAL_USART_RX_PIN GP13 +#define SERIAL_USART_PIN_SWAP +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U +#define I2C_DRIVER I2CD2 +#define I2C1_SDA_PIN GP10 +#define I2C1_SCL_PIN GP11 diff --git a/keyboards/keebio/chiri_ce/rev1/keyboard.json b/keyboards/keebio/chiri_ce/rev1/keyboard.json new file mode 100644 index 00000000000..8b46dd7d6d4 --- /dev/null +++ b/keyboards/keebio/chiri_ce/rev1/keyboard.json @@ -0,0 +1,189 @@ +{ + "keyboard_name": "Chiri CE Rev. 1", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 6 + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP2", "GP3", "GP14"], + "rows": ["GP19", "GP20", "GP7", "GP26"] + }, + "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": [0, 5], "x": 80, "y": 3, "flags": 4}, + {"matrix": [0, 4], "x": 64, "y": 5, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 32, "y": 2, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 5, "flags": 4}, + {"matrix": [1, 1], "x": 16, "y": 18, "flags": 4}, + {"matrix": [1, 2], "x": 32, "y": 15, "flags": 4}, + {"matrix": [1, 3], "x": 48, "y": 13, "flags": 4}, + {"matrix": [1, 4], "x": 64, "y": 15, "flags": 4}, + {"matrix": [1, 5], "x": 80, "y": 17, "flags": 4}, + {"matrix": [2, 5], "x": 80, "y": 30, "flags": 4}, + {"matrix": [2, 4], "x": 64, "y": 28, "flags": 4}, + {"matrix": [2, 3], "x": 48, "y": 27, "flags": 4}, + {"matrix": [2, 2], "x": 32, "y": 28, "flags": 4}, + {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, + {"matrix": [3, 2], "x": 56, "y": 47, "flags": 4}, + {"matrix": [3, 3], "x": 72, "y": 58, "flags": 4}, + {"matrix": [3, 4], "x": 90, "y": 64, "flags": 4}, + {"matrix": [3, 5], "x": 98, "y": 52, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 18, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 5, "flags": 4}, + {"matrix": [4, 5], "x": 144, "y": 3, "flags": 4}, + {"matrix": [4, 4], "x": 160, "y": 5, "flags": 4}, + {"matrix": [4, 3], "x": 176, "y": 0, "flags": 4}, + {"matrix": [4, 2], "x": 192, "y": 2, "flags": 4}, + {"matrix": [4, 1], "x": 208, "y": 5, "flags": 4}, + {"matrix": [5, 1], "x": 208, "y": 18, "flags": 4}, + {"matrix": [5, 2], "x": 192, "y": 15, "flags": 4}, + {"matrix": [5, 3], "x": 176, "y": 13, "flags": 4}, + {"matrix": [5, 4], "x": 160, "y": 15, "flags": 4}, + {"matrix": [5, 5], "x": 144, "y": 17, "flags": 4}, + {"matrix": [6, 5], "x": 144, "y": 30, "flags": 4}, + {"matrix": [6, 4], "x": 160, "y": 28, "flags": 4}, + {"matrix": [6, 3], "x": 176, "y": 27, "flags": 4}, + {"matrix": [6, 2], "x": 192, "y": 28, "flags": 4}, + {"matrix": [6, 1], "x": 208, "y": 32, "flags": 4}, + {"matrix": [7, 2], "x": 168, "y": 47, "flags": 4}, + {"matrix": [7, 3], "x": 152, "y": 58, "flags": 4}, + {"matrix": [7, 4], "x": 134, "y": 64, "flags": 4}, + {"matrix": [7, 5], "x": 126, "y": 52, "flags": 4}, + {"matrix": [6, 0], "x": 224, "y": 32, "flags": 4}, + {"matrix": [5, 0], "x": 224, "y": 18, "flags": 4}, + {"matrix": [4, 0], "x": 224, "y": 5, "flags": 4} + ], + "max_brightness": 200, + "split_count": [22, 22], + "sleep": true + }, + "split": { + "bootmagic": { + "matrix": [4, 0] + }, + "enabled": true, + "matrix_pins": { + "right": { + "cols": ["GP29", "GP28", "GP2", "GP27", "GP18", "GP7"], + "rows": ["GP24", "GP23", "GP21", "GP3"] + } + }, + "transport": { + "sync_matrix_state": true + } + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x1546" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP25" + }, + "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": [4, 5], "x": 9, "y": 0.25}, + {"matrix": [4, 4], "x": 10, "y": 0.125}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0.125}, + {"matrix": [4, 1], "x": 13, "y": 0.375}, + {"matrix": [4, 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": [5, 5], "x": 9, "y": 1.25}, + {"matrix": [5, 4], "x": 10, "y": 1.125}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1.125}, + {"matrix": [5, 1], "x": 13, "y": 1.375}, + {"matrix": [5, 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": [3, 5], "x": 6.15, "y": 2.75}, + {"matrix": [7, 5], "x": 7.85, "y": 2.75}, + {"matrix": [6, 5], "x": 9, "y": 2.25}, + {"matrix": [6, 4], "x": 10, "y": 2.125}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2.125}, + {"matrix": [6, 1], "x": 13, "y": 2.375}, + {"matrix": [6, 0], "x": 14, "y": 2.375}, + {"matrix": [3, 2], "x": 3.5, "y": 3.25}, + {"matrix": [3, 3], "x": 4.5, "y": 3.375}, + {"matrix": [3, 4], "x": 5.6, "y": 3.75}, + {"matrix": [7, 4], "x": 8.4, "y": 3.75}, + {"matrix": [7, 3], "x": 9.5, "y": 3.375}, + {"matrix": [7, 2], "x": 10.5, "y": 3.25} + ] + } + } +} diff --git a/keyboards/keebio/chiri_ce/rev1/rules.mk b/keyboards/keebio/chiri_ce/rev1/rules.mk new file mode 100644 index 00000000000..161ec22b16e --- /dev/null +++ b/keyboards/keebio/chiri_ce/rev1/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/iris_ce/rev1/keyboard.json b/keyboards/keebio/iris_ce/rev1/keyboard.json index c9fc160001a..6086f948b1c 100644 --- a/keyboards/keebio/iris_ce/rev1/keyboard.json +++ b/keyboards/keebio/iris_ce/rev1/keyboard.json @@ -118,11 +118,11 @@ {"matrix": [8, 5], "x": 144, "y": 43, "flags": 4}, {"matrix": [8, 4], "x": 160, "y": 42, "flags": 4}, {"matrix": [8, 3], "x": 176, "y": 40, "flags": 4}, - {"x": 184, "y": 50, "flags": 2}, {"matrix": [8, 2], "x": 192, "y": 42, "flags": 4}, {"matrix": [8, 1], "x": 208, "y": 45, "flags": 4}, - {"x": 216, "y": 43, "flags": 2}, {"matrix": [8, 0], "x": 224, "y": 45, "flags": 4}, + {"x": 216, "y": 43, "flags": 2}, + {"x": 184, "y": 50, "flags": 2}, {"matrix": [9, 2], "x": 168, "y": 47, "flags": 4}, {"matrix": [9, 3], "x": 152, "y": 58, "flags": 4}, {"x": 144, "y": 58, "flags": 2}, @@ -215,4 +215,4 @@ ] } } -} \ No newline at end of file +} diff --git a/keyboards/keebio/irispad/rev8/info.json b/keyboards/keebio/irispad/rev8/keyboard.json similarity index 100% rename from keyboards/keebio/irispad/rev8/info.json rename to keyboards/keebio/irispad/rev8/keyboard.json diff --git a/keyboards/keebio/nyquist/keymaps/tester/keymap.c b/keyboards/keebio/nyquist/keymaps/tester/keymap.c deleted file mode 100644 index 7ed85044ca6..00000000000 --- a/keyboards/keebio/nyquist/keymaps/tester/keymap.c +++ /dev/null @@ -1,221 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QWERTY 0 -#define _COLEMAK 1 -#define _DVORAK 2 -#define _LOWER 3 -#define _RAISE 4 -#define _ADJUST 5 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - LOWER, - RAISE, - ADJUST, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - BL_STEP, KC_Q, KC_W, KC_E, KC_R, KC_T, BL_STEP, KC_U, KC_I, KC_O, KC_P, KC_DEL, - RGB_MOD, KC_A, KC_S, KC_D, KC_F, KC_G, RGB_MOD, 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_ENT , - ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* Colemak - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | R | S | T | D | H | N | E | I | O | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_COLEMAK] = LAYOUT( - 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_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, - KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* Dvorak - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Tab | " | , | . | P | Y | F | G | C | R | L | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | O | E | U | I | D | H | T | N | S | / | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_DVORAK] = LAYOUT( - 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_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, - KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , - ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* Lower - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_LOWER] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -), - -/* Raise - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_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_BSPC, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -), - -/* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | Reset|RGB Tg|RGB Md|Hue Up|Hue Dn|Sat Up|Sat Dn|Val Up|Val Dn| | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_ADJUST] = 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, - _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, - _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) - - -}; - -#ifdef AUDIO_ENABLE -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -float tone_dvorak[][2] = SONG(DVORAK_SOUND); -float tone_colemak[][2] = SONG(COLEMAK_SOUND); -#endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_qwerty); - #endif - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_colemak); - #endif - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_dvorak); - #endif - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - case 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; - break; - case 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; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/keebio/nyquist/keymaps/tester/rules.mk b/keyboards/keebio/nyquist/keymaps/tester/rules.mk deleted file mode 100644 index 1e3cebb1451..00000000000 --- a/keyboards/keebio/nyquist/keymaps/tester/rules.mk +++ /dev/null @@ -1 +0,0 @@ -RGBLIGHT_ENABLE = yes diff --git a/keyboards/keebio/nyquist/rev5/config.h b/keyboards/keebio/nyquist/rev5/config.h new file mode 100644 index 00000000000..8a88c21c891 --- /dev/null +++ b/keyboards/keebio/nyquist/rev5/config.h @@ -0,0 +1,20 @@ +// Copyright 2024 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SPLIT_HAND_PIN GP23 + +#define USB_VBUS_PIN GP18 + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP8 +#define SERIAL_USART_RX_PIN GP9 +#define SERIAL_USART_PIN_SWAP + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U + +#define I2C_DRIVER I2CD0 +#define I2C0_SDA_PIN GP4 +#define I2C0_SCL_PIN GP5 diff --git a/keyboards/keebio/nyquist/rev5/keyboard.json b/keyboards/keebio/nyquist/rev5/keyboard.json new file mode 100644 index 00000000000..83d88b37b8d --- /dev/null +++ b/keyboards/keebio/nyquist/rev5/keyboard.json @@ -0,0 +1,322 @@ +{ + "keyboard_name": "Nyquist Rev. 5", + "usb": { + "pid": "0x5156", + "device_version": "5.0.0" + }, + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "rgb_matrix": true + }, + "split": { + "bootmagic": { + "matrix": [9, 0] + }, + "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "GP1", "pin_b": "GP0" } + ] + } + }, + "matrix_pins": { + "right":{ + "cols": ["GP25", "GP29", "GP20", "GP11", "GP3", "GP2"], + "rows": ["GP24", "GP17", "GP15", "GP14", "GP12"] + } + }, + "transport": { + "sync" :{ + "matrix_state": true + } + } + }, + "matrix_pins": { + "cols": ["GP29", "GP22", "GP0", "GP3", "GP11", "GP6"], + "rows": ["GP2", "GP1", "GP17", "GP25", "GP24"] + }, + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "GP26", "pin_b": "GP27" } + ] + }, + "ws2812": { + "driver": "vendor", + "pin": "GP28" + }, + "layouts": { + "LAYOUT_ortho_5x12": { + "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, 0], "x": 7, "y": 0}, + {"matrix": [5, 1], "x": 8, "y": 0}, + {"matrix": [5, 2], "x": 9, "y": 0}, + {"matrix": [5, 3], "x": 10, "y": 0}, + {"matrix": [5, 4], "x": 11, "y": 0}, + {"matrix": [5, 5], "x": 12, "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, 0], "x": 7, "y": 1}, + {"matrix": [6, 1], "x": 8, "y": 1}, + {"matrix": [6, 2], "x": 9, "y": 1}, + {"matrix": [6, 3], "x": 10, "y": 1}, + {"matrix": [6, 4], "x": 11, "y": 1}, + {"matrix": [6, 5], "x": 12, "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, 0], "x": 7, "y": 2}, + {"matrix": [7, 1], "x": 8, "y": 2}, + {"matrix": [7, 2], "x": 9, "y": 2}, + {"matrix": [7, 3], "x": 10, "y": 2}, + {"matrix": [7, 4], "x": 11, "y": 2}, + {"matrix": [7, 5], "x": 12, "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": [8, 0], "x": 7, "y": 3}, + {"matrix": [8, 1], "x": 8, "y": 3}, + {"matrix": [8, 2], "x": 9, "y": 3}, + {"matrix": [8, 3], "x": 10, "y": 3}, + {"matrix": [8, 4], "x": 11, "y": 3}, + {"matrix": [8, 5], "x": 12, "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, 4], "x": 4, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + + {"matrix": [9, 0], "x": 7, "y": 4}, + {"matrix": [9, 1], "x": 8, "y": 4}, + {"matrix": [9, 2], "x": 9, "y": 4}, + {"matrix": [9, 3], "x": 10, "y": 4}, + {"matrix": [9, 4], "x": 11, "y": 4}, + {"matrix": [9, 5], "x": 12, "y": 4} + ] + }, + "LAYOUT_ortho_4x12": { + "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, 0], "x": 7, "y": 0}, + {"matrix": [5, 1], "x": 8, "y": 0}, + {"matrix": [5, 2], "x": 9, "y": 0}, + {"matrix": [5, 3], "x": 10, "y": 0}, + {"matrix": [5, 4], "x": 11, "y": 0}, + {"matrix": [5, 5], "x": 12, "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, 0], "x": 7, "y": 1}, + {"matrix": [6, 1], "x": 8, "y": 1}, + {"matrix": [6, 2], "x": 9, "y": 1}, + {"matrix": [6, 3], "x": 10, "y": 1}, + {"matrix": [6, 4], "x": 11, "y": 1}, + {"matrix": [6, 5], "x": 12, "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, 0], "x": 7, "y": 2}, + {"matrix": [7, 1], "x": 8, "y": 2}, + {"matrix": [7, 2], "x": 9, "y": 2}, + {"matrix": [7, 3], "x": 10, "y": 2}, + {"matrix": [7, 4], "x": 11, "y": 2}, + {"matrix": [7, 5], "x": 12, "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": [8, 0], "x": 7, "y": 3}, + {"matrix": [8, 1], "x": 8, "y": 3}, + {"matrix": [8, 2], "x": 9, "y": 3}, + {"matrix": [8, 3], "x": 10, "y": 3}, + {"matrix": [8, 4], "x": 11, "y": 3}, + {"matrix": [8, 5], "x": 12, "y": 3} + ] + } + }, + "rgb_matrix": { + "driver": "ws2812", + "split_count": [36, 36], + "max_brightness": 120, + "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, + "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, + "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 + }, + "layout": [ + { "flags": 4, "matrix": [0, 0], "x": 9, "y": 6 }, + { "flags": 4, "matrix": [0, 1], "x": 28, "y": 6 }, + { "flags": 4, "matrix": [0, 2], "x": 46, "y": 6 }, + { "flags": 2, "x": 56, "y": 6 }, + { "flags": 4, "matrix": [0, 3], "x": 65, "y": 6 }, + { "flags": 4, "matrix": [0, 4], "x": 84, "y": 6 }, + { "flags": 4, "matrix": [0, 5], "x": 102, "y": 6 }, + + { "flags": 4, "matrix": [1, 5], "x": 102, "y": 19 }, + { "flags": 2, "x": 93, "y": 12 }, + { "flags": 4, "matrix": [1, 4], "x": 84, "y": 19 }, + { "flags": 4, "matrix": [1, 3], "x": 65, "y": 19 }, + { "flags": 4, "matrix": [1, 2], "x": 46, "y": 19 }, + { "flags": 4, "matrix": [1, 1], "x": 28, "y": 19 }, + { "flags": 2, "x": 18, "y": 12 }, + { "flags": 4, "matrix": [1, 0], "x": 9, "y": 19 }, + + { "flags": 4, "matrix": [2, 0], "x": 9, "y": 32 }, + { "flags": 4, "matrix": [2, 1], "x": 28, "y": 32 }, + { "flags": 4, "matrix": [2, 2], "x": 46, "y": 32 }, + { "flags": 4, "matrix": [2, 3], "x": 65, "y": 32 }, + { "flags": 4, "matrix": [2, 4], "x": 84, "y": 32 }, + { "flags": 4, "matrix": [2, 5], "x": 102, "y": 32 }, + + { "flags": 4, "matrix": [3, 5], "x": 102, "y": 44 }, + { "flags": 2, "x": 93, "y": 40 }, + { "flags": 4, "matrix": [3, 4], "x": 84, "y": 44 }, + { "flags": 4, "matrix": [3, 3], "x": 65, "y": 44 }, + { "flags": 2, "x": 56, "y": 44 }, + { "flags": 4, "matrix": [3, 2], "x": 46, "y": 44 }, + { "flags": 4, "matrix": [3, 1], "x": 28, "y": 44 }, + { "flags": 2, "x": 18, "y": 44 }, + { "flags": 4, "matrix": [3, 0], "x": 9, "y": 44 }, + + { "flags": 4, "matrix": [4, 0], "x": 9, "y": 57 }, + { "flags": 4, "matrix": [4, 1], "x": 28, "y": 57 }, + { "flags": 4, "matrix": [4, 2], "x": 46, "y": 57 }, + { "flags": 4, "matrix": [4, 3], "x": 65, "y": 57 }, + { "flags": 4, "matrix": [4, 4], "x": 81, "y": 57 }, + { "flags": 4, "matrix": [4, 5], "x": 105, "y": 57 }, + + { "flags": 4, "matrix": [5, 0], "x": 121, "y": 6 }, + { "flags": 4, "matrix": [5, 1], "x": 140, "y": 6 }, + { "flags": 4, "matrix": [5, 2], "x": 158, "y": 6 }, + { "flags": 2, "x": 168, "y": 6 }, + { "flags": 4, "matrix": [5, 3], "x": 177, "y": 6 }, + { "flags": 4, "matrix": [5, 4], "x": 196, "y": 6 }, + { "flags": 4, "matrix": [5, 5], "x": 214, "y": 6 }, + + { "flags": 4, "matrix": [6, 5], "x": 214, "y": 19 }, + { "flags": 2, "x": 205, "y": 12 }, + { "flags": 4, "matrix": [6, 4], "x": 196, "y": 19 }, + { "flags": 4, "matrix": [6, 3], "x": 177, "y": 19 }, + { "flags": 4, "matrix": [6, 2], "x": 158, "y": 19 }, + { "flags": 4, "matrix": [6, 1], "x": 140, "y": 19 }, + { "flags": 2, "x": 130, "y": 12 }, + { "flags": 4, "matrix": [6, 0], "x": 121, "y": 19 }, + + { "flags": 4, "matrix": [7, 0], "x": 121, "y": 32 }, + { "flags": 4, "matrix": [7, 1], "x": 140, "y": 32 }, + { "flags": 4, "matrix": [7, 2], "x": 158, "y": 32 }, + { "flags": 4, "matrix": [7, 3], "x": 177, "y": 32 }, + { "flags": 4, "matrix": [7, 4], "x": 196, "y": 32 }, + { "flags": 4, "matrix": [7, 5], "x": 214, "y": 32 }, + + { "flags": 4, "matrix": [8, 5], "x": 214, "y": 44 }, + { "flags": 2, "x": 205, "y": 44 }, + { "flags": 4, "matrix": [8, 4], "x": 196, "y": 44 }, + { "flags": 4, "matrix": [8, 3], "x": 177, "y": 44 }, + { "flags": 2, "x": 168, "y": 44 }, + { "flags": 4, "matrix": [8, 2], "x": 158, "y": 44 }, + { "flags": 4, "matrix": [8, 1], "x": 140, "y": 44 }, + { "flags": 2, "x": 130, "y": 40 }, + { "flags": 4, "matrix": [8, 0], "x": 121, "y": 44 }, + + { "flags": 4, "matrix": [9, 0], "x": 121, "y": 57 }, + { "flags": 4, "matrix": [9, 1], "x": 140, "y": 57 }, + { "flags": 4, "matrix": [9, 2], "x": 158, "y": 57 }, + { "flags": 4, "matrix": [9, 3], "x": 177, "y": 57 }, + { "flags": 4, "matrix": [9, 4], "x": 196, "y": 57 }, + { "flags": 4, "matrix": [9, 5], "x": 214, "y": 57 } + ], + "sleep": true + } +} diff --git a/keyboards/keebio/nyquist/rev5/rules.mk b/keyboards/keebio/nyquist/rev5/rules.mk new file mode 100644 index 00000000000..161ec22b16e --- /dev/null +++ b/keyboards/keebio/nyquist/rev5/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor diff --git a/keyboards/keychron/c1_pro/ansi/white/config.h b/keyboards/keychron/c1_pro/ansi/white/config.h index 2db91f7053a..0d5ea7042ed 100644 --- a/keyboards/keychron/c1_pro/ansi/white/config.h +++ b/keyboards/keychron/c1_pro/ansi/white/config.h @@ -25,7 +25,7 @@ #define SNLED27351_CURRENT_TUNE \ { 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 } -/* Enbale caps_lcok, win os and mac os indicator */ +/* Enbale caps_lock, win os and mac os indicator */ #define CAPS_LOCK_LED_INDEX 63 #define MAC_LOCK_LED_INDEX 64 #define WIN_LOCK_LED_INDEX 65 diff --git a/keyboards/keychron/q1v2/config.h b/keyboards/keychron/q1v2/config.h index 326e60e3c0b..2e93d80e4e2 100644 --- a/keyboards/keychron/q1v2/config.h +++ b/keyboards/keychron/q1v2/config.h @@ -16,6 +16,9 @@ #pragma once +#define MATRIX_COLS 16 +#define MATRIX_ROWS 6 + /* RGB Matrix Driver Configuration */ #define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO #define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND diff --git a/keyboards/keychron/q1v2/info.json b/keyboards/keychron/q1v2/info.json index ed718006e36..7eb7038696c 100644 --- a/keyboards/keychron/q1v2/info.json +++ b/keyboards/keychron/q1v2/info.json @@ -32,10 +32,6 @@ "custom": true, "custom_lite": true }, - "matrix_size": { - "cols": 16, - "rows": 6 - }, "diode_direction": "ROW2COL", "rgb_matrix": { "driver": "snled27351", diff --git a/keyboards/keychron/q2/jis/config.h b/keyboards/keychron/q2/jis/config.h index 0d811e08452..18e37b06fee 100644 --- a/keyboards/keychron/q2/jis/config.h +++ b/keyboards/keychron/q2/jis/config.h @@ -16,9 +16,6 @@ #pragma once -/* RGB Matrix Configuration */ -#define RGB_MATRIX_LED_COUNT 71 - #define SNLED27351_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D } /* Enable caps-lock LED */ diff --git a/keyboards/keychron/q2/jis/keyboard.json b/keyboards/keychron/q2/jis/keyboard.json index 834b89332e2..6e5a0b8fc2f 100644 --- a/keyboards/keychron/q2/jis/keyboard.json +++ b/keyboards/keychron/q2/jis/keyboard.json @@ -5,21 +5,21 @@ }, "rgb_matrix": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 4, "flags": 1}, - {"matrix": [0, 1], "x": 15, "y": 4, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 4, "flags": 4}, - {"matrix": [0, 3], "x": 44, "y": 4, "flags": 4}, - {"matrix": [0, 4], "x": 59, "y": 4, "flags": 4}, - {"matrix": [0, 5], "x": 73, "y": 4, "flags": 4}, - {"matrix": [0, 6], "x": 88, "y": 4, "flags": 4}, - {"matrix": [0, 7], "x": 103, "y": 4, "flags": 4}, - {"matrix": [0, 8], "x": 117, "y": 4, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 4, "flags": 4}, - {"matrix": [0, 10], "x": 146, "y": 4, "flags": 4}, - {"matrix": [0, 11], "x": 161, "y": 4, "flags": 4}, - {"matrix": [0, 12], "x": 176, "y": 4, "flags": 4}, - {"matrix": [0, 13], "x": 190, "y": 4, "flags": 4}, - {"matrix": [3, 1], "x": 205, "y": 4, "flags": 1}, + {"matrix": [0, 0], "x": 0, "y": 4, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 4, "flags": 4}, + {"matrix": [0, 2], "x": 29, "y": 4, "flags": 4}, + {"matrix": [0, 3], "x": 44, "y": 4, "flags": 4}, + {"matrix": [0, 4], "x": 59, "y": 4, "flags": 4}, + {"matrix": [0, 5], "x": 73, "y": 4, "flags": 4}, + {"matrix": [0, 6], "x": 88, "y": 4, "flags": 4}, + {"matrix": [0, 7], "x": 103, "y": 4, "flags": 4}, + {"matrix": [0, 8], "x": 118, "y": 4, "flags": 4}, + {"matrix": [0, 9], "x": 132, "y": 4, "flags": 4}, + {"matrix": [0, 10], "x": 147, "y": 4, "flags": 4}, + {"matrix": [0, 11], "x": 162, "y": 4, "flags": 4}, + {"matrix": [0, 12], "x": 176, "y": 4, "flags": 4}, + {"matrix": [0, 13], "x": 191, "y": 4, "flags": 4}, + {"matrix": [3, 1], "x": 206, "y": 4, "flags": 1}, {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, {"matrix": [1, 0], "x": 4, "y": 19, "flags": 1}, @@ -31,10 +31,10 @@ {"matrix": [1, 6], "x": 95, "y": 19, "flags": 4}, {"matrix": [1, 7], "x": 110, "y": 19, "flags": 4}, {"matrix": [1, 8], "x": 125, "y": 19, "flags": 4}, - {"matrix": [1, 9], "x": 139, "y": 19, "flags": 4}, + {"matrix": [1, 9], "x": 140, "y": 19, "flags": 4}, {"matrix": [1, 10], "x": 154, "y": 19, "flags": 4}, - {"matrix": [1, 11], "x": 168, "y": 19, "flags": 4}, - {"matrix": [1, 12], "x": 183, "y": 19, "flags": 4}, + {"matrix": [1, 11], "x": 169, "y": 19, "flags": 4}, + {"matrix": [1, 12], "x": 184, "y": 19, "flags": 4}, {"matrix": [1, 14], "x": 224, "y": 19, "flags": 1}, {"matrix": [2, 0], "x": 6, "y": 34, "flags": 1}, @@ -45,12 +45,12 @@ {"matrix": [2, 5], "x": 84, "y": 34, "flags": 4}, {"matrix": [2, 6], "x": 99, "y": 34, "flags": 4}, {"matrix": [2, 7], "x": 114, "y": 34, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 34, "flags": 4}, + {"matrix": [2, 8], "x": 129, "y": 34, "flags": 4}, {"matrix": [2, 9], "x": 143, "y": 34, "flags": 4}, {"matrix": [2, 10], "x": 158, "y": 34, "flags": 4}, - {"matrix": [2, 11], "x": 172, "y": 34, "flags": 4}, + {"matrix": [2, 11], "x": 173, "y": 34, "flags": 4}, {"matrix": [2, 13], "x": 187, "y": 34, "flags": 4}, - {"matrix": [1, 13], "x": 207, "y": 29, "flags": 1}, + {"matrix": [1, 13], "x": 204, "y": 26, "flags": 1}, {"matrix": [2, 14], "x": 224, "y": 34, "flags": 1}, {"matrix": [3, 0], "x": 9, "y": 49, "flags": 1}, @@ -62,9 +62,10 @@ {"matrix": [3, 7], "x": 106, "y": 49, "flags": 4}, {"matrix": [3, 8], "x": 121, "y": 49, "flags": 4}, {"matrix": [3, 9], "x": 136, "y": 49, "flags": 4}, - {"matrix": [3, 10], "x": 150, "y": 49, "flags": 4}, - {"matrix": [3, 11], "x": 179, "y": 49, "flags": 4}, - {"matrix": [3, 13], "x": 194, "y": 49, "flags": 1}, + {"matrix": [3, 10], "x": 151, "y": 49, "flags": 4}, + {"matrix": [3, 11], "x": 165, "y": 49, "flags": 4}, + {"matrix": [3, 12], "x": 180, "y": 49, "flags": 4}, + {"matrix": [3, 13], "x": 195, "y": 49, "flags": 1}, {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, @@ -73,12 +74,12 @@ {"matrix": [4, 3], "x": 51, "y": 64, "flags": 1}, {"matrix": [4, 6], "x": 92, "y": 64, "flags": 4}, {"matrix": [4, 9], "x": 134, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 150, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 151, "y": 64, "flags": 1}, {"matrix": [4, 11], "x": 165, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 179, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 194, "y": 64, "flags": 1}, + {"matrix": [4, 12], "x": 180, "y": 64, "flags": 1}, + {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1}, {"matrix": [2, 12], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 223, "y": 64, "flags": 1} + {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} ] }, "layouts": { diff --git a/keyboards/keychron/q2/jis_encoder/config.h b/keyboards/keychron/q2/jis_encoder/config.h index 0d811e08452..18e37b06fee 100644 --- a/keyboards/keychron/q2/jis_encoder/config.h +++ b/keyboards/keychron/q2/jis_encoder/config.h @@ -16,9 +16,6 @@ #pragma once -/* RGB Matrix Configuration */ -#define RGB_MATRIX_LED_COUNT 71 - #define SNLED27351_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D } /* Enable caps-lock LED */ diff --git a/keyboards/keychron/q2/jis_encoder/keyboard.json b/keyboards/keychron/q2/jis_encoder/keyboard.json index 32b691742bb..11204e720f1 100644 --- a/keyboards/keychron/q2/jis_encoder/keyboard.json +++ b/keyboards/keychron/q2/jis_encoder/keyboard.json @@ -11,21 +11,21 @@ }, "rgb_matrix": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 4, "flags": 1}, - {"matrix": [0, 1], "x": 15, "y": 4, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 4, "flags": 4}, - {"matrix": [0, 3], "x": 44, "y": 4, "flags": 4}, - {"matrix": [0, 4], "x": 59, "y": 4, "flags": 4}, - {"matrix": [0, 5], "x": 73, "y": 4, "flags": 4}, - {"matrix": [0, 6], "x": 88, "y": 4, "flags": 4}, - {"matrix": [0, 7], "x": 103, "y": 4, "flags": 4}, - {"matrix": [0, 8], "x": 117, "y": 4, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 4, "flags": 4}, - {"matrix": [0, 10], "x": 146, "y": 4, "flags": 4}, - {"matrix": [0, 11], "x": 161, "y": 4, "flags": 4}, - {"matrix": [0, 12], "x": 176, "y": 4, "flags": 4}, - {"matrix": [0, 13], "x": 190, "y": 4, "flags": 4}, - {"matrix": [3, 1], "x": 205, "y": 4, "flags": 1}, + {"matrix": [0, 0], "x": 0, "y": 4, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 4, "flags": 4}, + {"matrix": [0, 2], "x": 29, "y": 4, "flags": 4}, + {"matrix": [0, 3], "x": 44, "y": 4, "flags": 4}, + {"matrix": [0, 4], "x": 59, "y": 4, "flags": 4}, + {"matrix": [0, 5], "x": 73, "y": 4, "flags": 4}, + {"matrix": [0, 6], "x": 88, "y": 4, "flags": 4}, + {"matrix": [0, 7], "x": 103, "y": 4, "flags": 4}, + {"matrix": [0, 8], "x": 118, "y": 4, "flags": 4}, + {"matrix": [0, 9], "x": 132, "y": 4, "flags": 4}, + {"matrix": [0, 10], "x": 147, "y": 4, "flags": 4}, + {"matrix": [0, 11], "x": 162, "y": 4, "flags": 4}, + {"matrix": [0, 12], "x": 176, "y": 4, "flags": 4}, + {"matrix": [0, 13], "x": 191, "y": 4, "flags": 4}, + {"matrix": [3, 1], "x": 206, "y": 4, "flags": 1}, {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, {"matrix": [1, 0], "x": 4, "y": 19, "flags": 1}, @@ -37,10 +37,10 @@ {"matrix": [1, 6], "x": 95, "y": 19, "flags": 4}, {"matrix": [1, 7], "x": 110, "y": 19, "flags": 4}, {"matrix": [1, 8], "x": 125, "y": 19, "flags": 4}, - {"matrix": [1, 9], "x": 139, "y": 19, "flags": 4}, + {"matrix": [1, 9], "x": 140, "y": 19, "flags": 4}, {"matrix": [1, 10], "x": 154, "y": 19, "flags": 4}, - {"matrix": [1, 11], "x": 168, "y": 19, "flags": 4}, - {"matrix": [1, 12], "x": 183, "y": 19, "flags": 4}, + {"matrix": [1, 11], "x": 169, "y": 19, "flags": 4}, + {"matrix": [1, 12], "x": 184, "y": 19, "flags": 4}, {"matrix": [1, 14], "x": 224, "y": 19, "flags": 1}, {"matrix": [2, 0], "x": 6, "y": 34, "flags": 1}, @@ -51,12 +51,12 @@ {"matrix": [2, 5], "x": 84, "y": 34, "flags": 4}, {"matrix": [2, 6], "x": 99, "y": 34, "flags": 4}, {"matrix": [2, 7], "x": 114, "y": 34, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 34, "flags": 4}, + {"matrix": [2, 8], "x": 129, "y": 34, "flags": 4}, {"matrix": [2, 9], "x": 143, "y": 34, "flags": 4}, {"matrix": [2, 10], "x": 158, "y": 34, "flags": 4}, - {"matrix": [2, 11], "x": 172, "y": 34, "flags": 4}, + {"matrix": [2, 11], "x": 173, "y": 34, "flags": 4}, {"matrix": [2, 13], "x": 187, "y": 34, "flags": 4}, - {"matrix": [1, 13], "x": 207, "y": 29, "flags": 1}, + {"matrix": [1, 13], "x": 204, "y": 26, "flags": 1}, {"matrix": [2, 14], "x": 224, "y": 34, "flags": 1}, {"matrix": [3, 0], "x": 9, "y": 49, "flags": 1}, @@ -68,9 +68,10 @@ {"matrix": [3, 7], "x": 106, "y": 49, "flags": 4}, {"matrix": [3, 8], "x": 121, "y": 49, "flags": 4}, {"matrix": [3, 9], "x": 136, "y": 49, "flags": 4}, - {"matrix": [3, 10], "x": 150, "y": 49, "flags": 4}, - {"matrix": [3, 11], "x": 179, "y": 49, "flags": 4}, - {"matrix": [3, 13], "x": 194, "y": 49, "flags": 1}, + {"matrix": [3, 10], "x": 151, "y": 49, "flags": 4}, + {"matrix": [3, 11], "x": 165, "y": 49, "flags": 4}, + {"matrix": [3, 12], "x": 180, "y": 49, "flags": 4}, + {"matrix": [3, 13], "x": 195, "y": 49, "flags": 1}, {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, @@ -79,12 +80,12 @@ {"matrix": [4, 3], "x": 51, "y": 64, "flags": 1}, {"matrix": [4, 6], "x": 92, "y": 64, "flags": 4}, {"matrix": [4, 9], "x": 134, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 150, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 151, "y": 64, "flags": 1}, {"matrix": [4, 11], "x": 165, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 179, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 194, "y": 64, "flags": 1}, + {"matrix": [4, 12], "x": 180, "y": 64, "flags": 1}, + {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1}, {"matrix": [2, 12], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 223, "y": 64, "flags": 1} + {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} ] }, "layouts": { diff --git a/keyboards/keychron/q2/readme.md b/keyboards/keychron/q2/readme.md index 69a2d892ff0..3abd7280ca4 100644 --- a/keyboards/keychron/q2/readme.md +++ b/keyboards/keychron/q2/readme.md @@ -17,7 +17,7 @@ Make example for this keyboard (after setting up your build environment): make keychron/q2/jis:default make keychron/q2/jis_encoder:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make keychron/q2/ansi:default:flash make keychron/q2/ansi_encoder:default:flash diff --git a/keyboards/keychron/q3/ansi/config.h b/keyboards/keychron/q3/ansi/config.h index a4008b88274..9168c9a98cc 100644 --- a/keyboards/keychron/q3/ansi/config.h +++ b/keyboards/keychron/q3/ansi/config.h @@ -22,6 +22,6 @@ #define SNLED27351_CURRENT_TUNE \ { 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 } -/* Enable CapsLcok LED */ +/* Enable CapsLock LED */ #define CAPS_LOCK_LED_INDEX 50 diff --git a/keyboards/keychron/q3/ansi_encoder/config.h b/keyboards/keychron/q3/ansi_encoder/config.h index 0d8b3b7c3b7..95448dffe86 100644 --- a/keyboards/keychron/q3/ansi_encoder/config.h +++ b/keyboards/keychron/q3/ansi_encoder/config.h @@ -23,5 +23,5 @@ #define SNLED27351_CURRENT_TUNE \ { 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 } -/* Enable CapsLcok LED */ +/* Enable CapsLock LED */ #define CAPS_LOCK_LED_INDEX 50 diff --git a/keyboards/keychron/q3/jis/config.h b/keyboards/keychron/q3/jis/config.h index b4839aa33f1..97706f7d2d6 100644 --- a/keyboards/keychron/q3/jis/config.h +++ b/keyboards/keychron/q3/jis/config.h @@ -22,6 +22,6 @@ #define SNLED27351_CURRENT_TUNE \ { 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44 } -/* Enable CapsLcok LED */ +/* Enable CapsLock LED */ #define CAPS_LOCK_LED_INDEX 50 diff --git a/keyboards/keychron/q3/jis_encoder/config.h b/keyboards/keychron/q3/jis_encoder/config.h index d1d1bc758db..b50fc72cfca 100644 --- a/keyboards/keychron/q3/jis_encoder/config.h +++ b/keyboards/keychron/q3/jis_encoder/config.h @@ -23,5 +23,5 @@ #define SNLED27351_CURRENT_TUNE \ { 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44 } -/* Enable CapsLcok LED */ +/* Enable CapsLock LED */ #define CAPS_LOCK_LED_INDEX 51 diff --git a/keyboards/keychron/q4/ansi/config.h b/keyboards/keychron/q4/ansi/config.h index c05e8f73a06..a827153fb27 100644 --- a/keyboards/keychron/q4/ansi/config.h +++ b/keyboards/keychron/q4/ansi/config.h @@ -16,5 +16,5 @@ #pragma once -/* Enable CapsLcok LED*/ +/* Enable CapsLock LED*/ #define CAPS_LOCK_LED_INDEX 28 diff --git a/keyboards/keychron/q4/info.json b/keyboards/keychron/q4/info.json index 59f6caef923..4b9f246b4c8 100644 --- a/keyboards/keychron/q4/info.json +++ b/keyboards/keychron/q4/info.json @@ -5,6 +5,7 @@ "bootloader": "stm32-dfu", "diode_direction": "ROW2COL", "dip_switch": { + "enabled": true, "matrix_grid": [ [4, 4] ] }, "dynamic_keymap": { diff --git a/keyboards/keychron/q4/iso/config.h b/keyboards/keychron/q4/iso/config.h index 9e979229916..8ed52d5ff8d 100644 --- a/keyboards/keychron/q4/iso/config.h +++ b/keyboards/keychron/q4/iso/config.h @@ -19,5 +19,5 @@ /* RGB Matrix Driver Configuration */ #define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND -/* Enable CapsLcok LED*/ +/* Enable CapsLock LED*/ #define CAPS_LOCK_LED_INDEX 27 diff --git a/keyboards/keychron/q4/readme.md b/keyboards/keychron/q4/readme.md index 711eeadbb4d..de4c6927138 100644 --- a/keyboards/keychron/q4/readme.md +++ b/keyboards/keychron/q4/readme.md @@ -16,7 +16,7 @@ Make example for this keyboard (after setting up your build environment): make keychron/q4/ansi/v2:default make keychron/q4/iso:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make keychron/q4/ansi/v1:default:flash make keychron/q4/ansi/v2:default:flash diff --git a/keyboards/keychron/q60/readme.md b/keyboards/keychron/q60/readme.md index 6e546ae1e15..7ef775c7bee 100644 --- a/keyboards/keychron/q60/readme.md +++ b/keyboards/keychron/q60/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make keychron/q60/ansi:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make keychron/q60/ansi:default:flash diff --git a/keyboards/keychron/q65/readme.md b/keyboards/keychron/q65/readme.md index 1a2a27dc752..708ed013e00 100644 --- a/keyboards/keychron/q65/readme.md +++ b/keyboards/keychron/q65/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make keychron/q65/ansi_encoder:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make keychron/q65/ansi_encoder:default:flash diff --git a/keyboards/keychron/v2/readme.md b/keyboards/keychron/v2/readme.md index 7836a457fbd..4d3de284da8 100644 --- a/keyboards/keychron/v2/readme.md +++ b/keyboards/keychron/v2/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make keychron/v2/ansi:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make keychron/v2/ansi:default:flash diff --git a/keyboards/keychron/v3/ansi/config.h b/keyboards/keychron/v3/ansi/config.h index 8dea8209160..0d776714659 100644 --- a/keyboards/keychron/v3/ansi/config.h +++ b/keyboards/keychron/v3/ansi/config.h @@ -28,5 +28,5 @@ #define SNLED27351_CURRENT_TUNE \ { 0x95, 0x95, 0x55, 0x95, 0x95, 0x55, 0x95, 0x95, 0x55, 0x95, 0x95, 0x55 } -/* Enable CapsLcok LED */ +/* Enable CapsLock LED */ #define CAPS_LOCK_LED_INDEX 50 diff --git a/keyboards/keychron/v3/ansi_encoder/config.h b/keyboards/keychron/v3/ansi_encoder/config.h index 9f2de455b4b..ef45867d729 100644 --- a/keyboards/keychron/v3/ansi_encoder/config.h +++ b/keyboards/keychron/v3/ansi_encoder/config.h @@ -25,5 +25,5 @@ /* Encoder Configuration */ #define ENCODER_DEFAULT_POS 0x3 -/* Enable CapsLcok LED */ +/* Enable CapsLock LED */ #define CAPS_LOCK_LED_INDEX 50 diff --git a/keyboards/keychron/v3/jis/config.h b/keyboards/keychron/v3/jis/config.h index 802a70b646e..2c7adeaf8a5 100644 --- a/keyboards/keychron/v3/jis/config.h +++ b/keyboards/keychron/v3/jis/config.h @@ -28,6 +28,6 @@ #define SNLED27351_CURRENT_TUNE \ { 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44 } -/* Enable CapsLcok LED */ +/* Enable CapsLock LED */ #define CAPS_LOCK_LED_INDEX 50 diff --git a/keyboards/keychron/v3/jis_encoder/config.h b/keyboards/keychron/v3/jis_encoder/config.h index 37684f0b6fe..0e1f11e01ea 100644 --- a/keyboards/keychron/v3/jis_encoder/config.h +++ b/keyboards/keychron/v3/jis_encoder/config.h @@ -28,5 +28,5 @@ /* Encoder Configuration */ #define ENCODER_DEFAULT_POS 0x3 -/* Enable CapsLcok LED */ +/* Enable CapsLock LED */ #define CAPS_LOCK_LED_INDEX 51 diff --git a/keyboards/keychron/v4/ansi/config.h b/keyboards/keychron/v4/ansi/config.h index bc4da819228..07869c5faea 100644 --- a/keyboards/keychron/v4/ansi/config.h +++ b/keyboards/keychron/v4/ansi/config.h @@ -16,5 +16,5 @@ #pragma once -/* Enable CapsLcok LED*/ +/* Enable CapsLock LED*/ #define CAPS_LOCK_LED_INDEX 28 diff --git a/keyboards/keychron/v4/iso/config.h b/keyboards/keychron/v4/iso/config.h index 2486473b2b0..2348240f81b 100644 --- a/keyboards/keychron/v4/iso/config.h +++ b/keyboards/keychron/v4/iso/config.h @@ -16,5 +16,5 @@ #pragma once -/* Enable CapsLcok LED*/ +/* Enable CapsLock LED*/ #define CAPS_LOCK_LED_INDEX 27 diff --git a/keyboards/keychron/v4/readme.md b/keyboards/keychron/v4/readme.md index 62846a5e70a..e35f47a4489 100644 --- a/keyboards/keychron/v4/readme.md +++ b/keyboards/keychron/v4/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make keychron/v4/ansi:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make keychron/v4/ansi:default:flash diff --git a/keyboards/keychron/v7/readme.md b/keyboards/keychron/v7/readme.md index 2a156494429..fb44a0fc5f9 100644 --- a/keyboards/keychron/v7/readme.md +++ b/keyboards/keychron/v7/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make keychron/v7/ansi:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make keychron/v7/ansi:default:flash diff --git a/keyboards/keychron/v8/readme.md b/keyboards/keychron/v8/readme.md index 9d37ba16161..8473f4fc980 100644 --- a/keyboards/keychron/v8/readme.md +++ b/keyboards/keychron/v8/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make keychron/v8/ansi:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make keychron/v8/ansi:default:flash diff --git a/keyboards/keycult/keycult_tkl/keyboard.json b/keyboards/keycult/keycult_tkl/keyboard.json new file mode 100644 index 00000000000..81687f13bde --- /dev/null +++ b/keyboards/keycult/keycult_tkl/keyboard.json @@ -0,0 +1,208 @@ +{ + "manufacturer": "Yiancar-Designs", + "keyboard_name": "Keycult TKL", + "maintainer": "Yiancar-Designs", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B12", "B13", "B14", "B15", "A8", "A10", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "A0", "A1"], + "rows": ["B11", "B10", "B2", "B1", "A9", "A5"] + }, + "processor": "STM32F072", + "url": "https://yiancar-designs.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x6336", + "vid": "0x8968" + }, + "community_layouts": ["tkl_ansi", "tkl_ansi_tsangan"], + "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": [3, 12], "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, 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.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} + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "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": [3, 12], "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, 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, 6], "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} + ] + } + } +} diff --git a/keyboards/keycult/keycult_tkl/keymaps/default/keymap.c b/keyboards/keycult/keycult_tkl/keymaps/default/keymap.c new file mode 100644 index 00000000000..0f67593ea0b --- /dev/null +++ b/keyboards/keycult/keycult_tkl/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* 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_tkl_ansi( /* Base */ + 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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_tkl_ansi( /* FN */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +}; diff --git a/keyboards/keycult/keycult_tkl/keymaps/via/keymap.c b/keyboards/keycult/keycult_tkl/keymaps/via/keymap.c new file mode 100644 index 00000000000..9c12c11abf3 --- /dev/null +++ b/keyboards/keycult/keycult_tkl/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* 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_tkl_ansi( /* Base */ + 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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_tkl_ansi( /* FN */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +}; \ No newline at end of file diff --git a/keyboards/keycult/keycult_tkl/keymaps/via/rules.mk b/keyboards/keycult/keycult_tkl/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/keycult/keycult_tkl/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/keycult/keycult_tkl/readme.md b/keyboards/keycult/keycult_tkl/readme.md new file mode 100644 index 00000000000..6ed9159a1c7 --- /dev/null +++ b/keyboards/keycult/keycult_tkl/readme.md @@ -0,0 +1,32 @@ +# Keycult TKL + +This is a TKL layout PCB. It supports VIA. + +* Keyboard Maintainer: [Yiancar](https://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A TKL keyboard with STM32F072CB or APM compatible +* Hardware Availability: https://keycult.com/ + +## Instructions + +### Build + +Make example for this keyboard (after setting up your build environment): + + make keycult/keycult_tkl: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 dfu-util (`make keycult/keycult_tkl::dfu-util`) diff --git a/keyboards/keycult/keycult_tkl/rules.mk b/keyboards/keycult/keycult_tkl/rules.mk new file mode 100644 index 00000000000..0ab54aaaf71 --- /dev/null +++ b/keyboards/keycult/keycult_tkl/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/kikoslab/kl90/keyboard.json b/keyboards/kikoslab/kl90/keyboard.json index 391008b58f5..0a107dfba8e 100644 --- a/keyboards/kikoslab/kl90/keyboard.json +++ b/keyboards/kikoslab/kl90/keyboard.json @@ -117,17 +117,17 @@ {"matrix": [4, 0], "x": 0, "y": 4.5}, {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 1.25}, - {"matrix": [4, 2], "x": 2.75, "y": 4.5}, - {"matrix": [4, 3], "x": 3.75, "y": 4.5}, - {"matrix": [4, 4], "x": 4.75, "y": 4.5}, - {"matrix": [4, 5], "x": 5.75, "y": 4.5}, - {"matrix": [4, 6], "x": 6.75, "y": 4.5}, - {"matrix": [4, 7], "x": 7.75, "y": 4.5}, - {"matrix": [4, 8], "x": 8.75, "y": 4.5}, - {"matrix": [4, 9], "x": 9.75, "y": 4.5}, - {"matrix": [4, 10], "x": 10.75, "y": 4.5}, - {"matrix": [4, 11], "x": 11.75, "y": 4.5}, - {"matrix": [4, 12], "x": 12.75, "y": 4.5}, + {"matrix": [4, 12], "x": 2.75, "y": 4.5}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "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, 13], "x": 13.75, "y": 4.5, "w": 1.75}, {"matrix": [4, 14], "x": 15.75, "y": 4.75}, @@ -147,6 +147,1032 @@ {"matrix": [5, 11], "x": 12.5, "y": 5.5}, {"matrix": [5, 12], "x": 13.5, "y": 5.5}, + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "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, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_ansi_split_space": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "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, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 5.25, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 7.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 8], "x": 8.75, "y": 5.5, "w": 2.75}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_ansi_oled": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "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, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 13], "x": 14.25, "y": 3.5}, + {"matrix": [3, 14], "x": 15.25, "y": 2.5, "w": 1.25, "h": 2}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 1.25}, + {"matrix": [4, 12], "x": 2.75, "y": 4.5}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "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, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_iso_split_space": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 13], "x": 14.25, "y": 3.5}, + {"matrix": [3, 14], "x": 15.25, "y": 2.5, "w": 1.25, "h": 2}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 1.25}, + {"matrix": [4, 12], "x": 2.75, "y": 4.5}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "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, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 5.25, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 7.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 8], "x": 8.75, "y": 5.5, "w": 2.75}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_iso_oled": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 13], "x": 14.25, "y": 3.5}, + {"matrix": [3, 14], "x": 15.25, "y": 2.5, "w": 1.25, "h": 2}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 1.25}, + {"matrix": [4, 12], "x": 2.75, "y": 4.5}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "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, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_hotswap_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "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, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_hotswap_ansi_split_space": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "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, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 5.25, "y": 5.5, "w": 2.25}, + {"matrix": [5, 5], "x": 7.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 8], "x": 8.75, "y": 5.5, "w": 2.75}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_hotswap_ansi_oled": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "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, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, {"matrix": [5, 14], "x": 15.75, "y": 5.75}, {"matrix": [5, 15], "x": 16.75, "y": 5.75} diff --git a/keyboards/kinesis/stapelberg/config.h b/keyboards/kinesis/stapelberg/config.h deleted file mode 100644 index c0c78135ba1..00000000000 --- a/keyboards/kinesis/stapelberg/config.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* don't know if this should be defined at the board or top level. Assuming board -#define MOUSEKEY_DELAY 100 -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_MAX_SPEED 3 -#define MOUSEKEY_TIME_TO_MAX 10 -*/ diff --git a/keyboards/kingly_keys/ave/ortho/keyboard.json b/keyboards/kingly_keys/ave/ortho/keyboard.json index d277e68e47f..27fb2666a2a 100644 --- a/keyboards/kingly_keys/ave/ortho/keyboard.json +++ b/keyboards/kingly_keys/ave/ortho/keyboard.json @@ -45,8 +45,13 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_ortho_all": "LAYOUT_all", + "LAYOUT_ortho_2x2u": "LAYOUT_2x2u_space", + "LAYOUT_ortho_big_boy": "LAYOUT_7u_space" + }, "layouts": { - "LAYOUT_ortho_all": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1.5, "y": 0}, @@ -111,7 +116,7 @@ {"matrix": [4, 12], "x": 12.5, "y": 4.5} ] }, - "LAYOUT_ortho_2x2u": { + "LAYOUT_2x2u_space": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1.5, "y": 0}, @@ -174,7 +179,7 @@ {"matrix": [4, 12], "x": 12.5, "y": 4.5} ] }, - "LAYOUT_ortho_big_boy": { + "LAYOUT_7u_space": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1.5, "y": 0}, diff --git a/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c b/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c index db0dfe46f69..d23666862ee 100644 --- a/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c +++ b/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │End │ │CTL │GUI │ALT │FUNC│LOWR│ │ │RISE│Left│Down│ Up │Rght│ * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ */ - [_QWERTY] = LAYOUT_ortho_all( + [_QWERTY] = LAYOUT_all( KC_MUTE, KC_ESC, KC_BSLS, KC_MINUS, KC_EQUAL, 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_BSPC, KC_PGUP, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │STOP│ │ │ │ │ │ │ │ │ │ │ │ │ │ * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ */ - [_LOWER] = LAYOUT_ortho_all( + [_LOWER] = LAYOUT_all( _______, _______, KC_LBRC, KC_RBRC, KC_GRAVE, KC_MPLY, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_MNXT, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DQT, @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ */ - [_RAISE] = LAYOUT_ortho_all( + [_RAISE] = LAYOUT_all( KC_PSCR, _______, KC_LCBR, KC_RCBR, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -147,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ */ - [_FUNCTION] = LAYOUT_ortho_all( + [_FUNCTION] = LAYOUT_all( TD(TD_RST), RGB_TOG, KC_F11, KC_F12, KC_F13, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ // * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ // */ -// [] = LAYOUT_ortho_all( +// [] = LAYOUT_all( // _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kingly_keys/ave/staggered/keyboard.json b/keyboards/kingly_keys/ave/staggered/keyboard.json index 3f5bf70ce89..5fcb1657e38 100644 --- a/keyboards/kingly_keys/ave/staggered/keyboard.json +++ b/keyboards/kingly_keys/ave/staggered/keyboard.json @@ -45,8 +45,12 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_staggered": "LAYOUT_all", + "LAYOUT_staggered_big_boy": "LAYOUT_6u25_space" + }, "layouts": { - "LAYOUT_staggered": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -111,7 +115,7 @@ {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.25} ] }, - "LAYOUT_staggered_big_boy": { + "LAYOUT_6u25_space": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c b/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c index b5631ad436d..8d9c6a045ff 100644 --- a/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c +++ b/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │End │ │LCtrl│GUI │ALT │ LOWR │ │RAlt │RCTL│FUNC │ * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘ */ - [_QWERTY] = LAYOUT_staggered( + [_QWERTY] = LAYOUT_all( KC_MUTE, KC_ESC, KC_LPRN, KC_RPRN, KC_SCLN, 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_BSPC, KC_PGUP, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ _ │ │ │ │ │ │ │ │ │ │ * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘ */ - [_LOWER] = LAYOUT_staggered( + [_LOWER] = LAYOUT_all( _______, _______, KC_LBRC, KC_RBRC, KC_COLON, KC_MINUS, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_BSLS, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, TD(TD_DBQT), @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ ? │ │ * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘ */ - [_RAISE] = LAYOUT_staggered( + [_RAISE] = LAYOUT_all( KC_PSCR, _______, KC_LCBR, KC_RCBR, KC_PLUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, @@ -147,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ │ * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘ */ - [_FUNCTION] = LAYOUT_staggered( + [_FUNCTION] = LAYOUT_all( TD(TD_RST), RGB_TOG, KC_F11, KC_F12, KC_F13, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_EQUAL, @@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // * │ │ │ │ │ │ │ │ │ │ │ // * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘ // */ -// [<_LAYER>] = LAYOUT_staggered( +// [<_LAYER>] = LAYOUT_all( // _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kira/kira80/readme.md b/keyboards/kira/kira80/readme.md index c9816a12462..e6d4d78d723 100644 --- a/keyboards/kira/kira80/readme.md +++ b/keyboards/kira/kira80/readme.md @@ -13,7 +13,7 @@ Make example for this keyboard (after setting up your build environment): make kira/kira80:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make kira/kira80:default:flash diff --git a/keyboards/kopibeng/tgr_lena/keymaps/default/keymap.c b/keyboards/kopibeng/tgr_lena/keymaps/default/keymap.c index 33a1ccd6f77..7b4fd9db819 100644 --- a/keyboards/kopibeng/tgr_lena/keymaps/default/keymap.c +++ b/keyboards/kopibeng/tgr_lena/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, 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/kopibeng/tgr_lena/keymaps/via/keymap.c b/keyboards/kopibeng/tgr_lena/keymaps/via/keymap.c index 33a1ccd6f77..7b4fd9db819 100644 --- a/keyboards/kopibeng/tgr_lena/keymaps/via/keymap.c +++ b/keyboards/kopibeng/tgr_lena/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, 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/kopibeng/xt60/keyboard.json b/keyboards/kopibeng/xt60/keyboard.json index 2901c056dd9..a170d36e417 100644 --- a/keyboards/kopibeng/xt60/keyboard.json +++ b/keyboards/kopibeng/xt60/keyboard.json @@ -17,8 +17,7 @@ "breathing": true, "rainbow_mood": true, "rainbow_swirl": true, - "static_gradient": true, - "rgb_test": true + "static_gradient": true } }, "ws2812": { @@ -26,8 +25,8 @@ }, "features": { "bootmagic": true, - "command": true, - "console": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kopibeng/xt60/keymaps/default/keymap.c b/keyboards/kopibeng/xt60/keymaps/default/keymap.c index 845118d1abb..cb8f395f08a 100644 --- a/keyboards/kopibeng/xt60/keymaps/default/keymap.c +++ b/keyboards/kopibeng/xt60/keymaps/default/keymap.c @@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - - // Fn3 Layer - [3] = LAYOUT_all( - 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, KC_TRNS, KC_TRNS, KC_TRNS - ), }; diff --git a/keyboards/kopibeng/xt60/keymaps/via/keymap.c b/keyboards/kopibeng/xt60/keymaps/via/keymap.c index 845118d1abb..cb8f395f08a 100644 --- a/keyboards/kopibeng/xt60/keymaps/via/keymap.c +++ b/keyboards/kopibeng/xt60/keymaps/via/keymap.c @@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - - // Fn3 Layer - [3] = LAYOUT_all( - 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, KC_TRNS, KC_TRNS, KC_TRNS - ), }; diff --git a/keyboards/kopibeng/xt60_singa/keyboard.json b/keyboards/kopibeng/xt60_singa/keyboard.json index 688fa2f73aa..280a58c07b3 100644 --- a/keyboards/kopibeng/xt60_singa/keyboard.json +++ b/keyboards/kopibeng/xt60_singa/keyboard.json @@ -17,8 +17,7 @@ "breathing": true, "rainbow_mood": true, "rainbow_swirl": true, - "static_gradient": true, - "rgb_test": true + "static_gradient": true } }, "ws2812": { @@ -26,8 +25,8 @@ }, "features": { "bootmagic": true, - "command": true, - "console": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c b/keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c index 845118d1abb..cb8f395f08a 100644 --- a/keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c +++ b/keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c @@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - - // Fn3 Layer - [3] = LAYOUT_all( - 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, KC_TRNS, KC_TRNS, KC_TRNS - ), }; diff --git a/keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c b/keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c index 845118d1abb..cb8f395f08a 100644 --- a/keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c +++ b/keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c @@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - - // Fn3 Layer - [3] = LAYOUT_all( - 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, KC_TRNS, KC_TRNS, KC_TRNS - ), }; diff --git a/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json b/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json index cfaabd5c9ef..525a6088ed3 100644 --- a/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json +++ b/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json @@ -14,6 +14,9 @@ "command": false, "nkro": false }, + "build": { + "lto": true + }, "usb": { "vid": "0x4B50", "pid": "0x3430", diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.c index 52610f04d64..3b7ca14c98e 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.c @@ -20,8 +20,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_60_iso_arrow( 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_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_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH, + 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_RSFT, KC_UP, KC_SLSH, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_60_iso_arrow( diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/via/keymap.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/via/keymap.c index d9a22d3bacf..4dcbb20f844 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/via/keymap.c @@ -20,8 +20,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_60_iso_arrow( 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_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_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH, + 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_RSFT, KC_UP, KC_SLSH, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_60_iso_arrow( diff --git a/keyboards/kprepublic/jj40/rev1/readme.md b/keyboards/kprepublic/jj40/rev1/readme.md index 49f644849e9..96ee7dc099e 100644 --- a/keyboards/kprepublic/jj40/rev1/readme.md +++ b/keyboards/kprepublic/jj40/rev1/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make kprepublic/jj40/rev1:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make kprepublic/jj40/rev1:default:flash diff --git a/keyboards/kprepublic/jj4x4/readme.md b/keyboards/kprepublic/jj4x4/readme.md index b6e58661682..37853ac36a8 100644 --- a/keyboards/kprepublic/jj4x4/readme.md +++ b/keyboards/kprepublic/jj4x4/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make kprepublic/jj4x4:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make kprepublic/jj4x4:default:flash diff --git a/keyboards/kprepublic/jj50/rev1/readme.md b/keyboards/kprepublic/jj50/rev1/readme.md index 643dfc54da3..ff276b1c711 100644 --- a/keyboards/kprepublic/jj50/rev1/readme.md +++ b/keyboards/kprepublic/jj50/rev1/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make kprepublic/jj50/rev1:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make kprepublic/jj50/rev1:default:flash diff --git a/keyboards/kprepublic/jj50/rev2/keyboard.json b/keyboards/kprepublic/jj50/rev2/keyboard.json new file mode 100644 index 00000000000..b739c20713b --- /dev/null +++ b/keyboards/kprepublic/jj50/rev2/keyboard.json @@ -0,0 +1,125 @@ +{ + "manufacturer": "KPrepublic", + "keyboard_name": "JJ50 rev2", + "maintainer": "qmk", + "backlight": { + "breathing": true, + "levels": 5, + "pin": "B7" + }, + "bootloader": "atmel-dfu", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": false, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B1", "B0", "F7", "F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], + "rows": ["D3", "D5", "E6", "F1", "F4"] + }, + "processor": "atmega32u4", + "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 + }, + "brightness_steps": 8, + "hue_steps": 8, + "led_count": 6, + "saturation_steps": 8 + }, + "url": "", + "usb": { + "device_version": "2.0.0", + "pid": "0x0050", + "vid": "0x4B50" + }, + "ws2812": { + "driver": "i2c" + }, + "community_layouts": ["ortho_5x12"], + "layout_aliases": { + "LAYOUT": "LAYOUT_ortho_5x12" + }, + "layouts": { + "LAYOUT_ortho_5x12": { + "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": [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": [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": [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, 6], "x": 6, "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, 10], "x": 10, "y": 3}, + {"matrix": [3, 11], "x": 11, "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, 4], "x": 4, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + {"matrix": [4, 6], "x": 6, "y": 4}, + {"matrix": [4, 7], "x": 7, "y": 4}, + {"matrix": [4, 8], "x": 8, "y": 4}, + {"matrix": [4, 9], "x": 9, "y": 4}, + {"matrix": [4, 10], "x": 10, "y": 4}, + {"matrix": [4, 11], "x": 11, "y": 4} + ] + } + } +} diff --git a/keyboards/latincompass/latin60rgb/config.h b/keyboards/latincompass/latin60rgb/config.h index 94ea00468ca..b2636abe1a3 100644 --- a/keyboards/latincompass/latin60rgb/config.h +++ b/keyboards/latincompass/latin60rgb/config.h @@ -16,5 +16,3 @@ #pragma once #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND - -#define RGB_MATRIX_LED_COUNT 60 diff --git a/keyboards/latincompass/latin60rgb/keyboard.json b/keyboards/latincompass/latin60rgb/keyboard.json index 3197b3979d3..764a7c882a6 100644 --- a/keyboards/latincompass/latin60rgb/keyboard.json +++ b/keyboards/latincompass/latin60rgb/keyboard.json @@ -40,6 +40,72 @@ "solid_reactive": true }, "driver": "is31fl3733", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"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": 216, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"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": 214, "y": 32, "flags": 1}, + + {"matrix": [3, 0], "x": 8, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 32, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 48, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 80, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 96, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 112, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 128, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 144, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 160, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 176, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 192, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 208, "y": 48, "flags": 4}, + {"matrix": [3, 13], "x": 224, "y": 48, "flags": 4}, + + {"matrix": [4, 0], "x": 22, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 42, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 102, "y": 64, "flags": 4}, + {"matrix": [4, 3], "x": 162, "y": 64, "flags": 1}, + {"matrix": [4, 4], "x": 180, "y": 64, "flags": 1} + ], "sleep": true }, "features": { diff --git a/keyboards/latincompass/latin60rgb/latin60rgb.c b/keyboards/latincompass/latin60rgb/latin60rgb.c index 8a032d76b14..305aaff5f21 100644 --- a/keyboards/latincompass/latin60rgb/latin60rgb.c +++ b/keyboards/latincompass/latin60rgb/latin60rgb.c @@ -17,92 +17,70 @@ #ifdef RGB_MATRIX_ENABLE const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { - { 0, SW11_CS13, SW10_CS13, SW12_CS13 }, - { 0, SW11_CS12, SW10_CS12, SW12_CS12 }, - { 0, SW11_CS11, SW10_CS11, SW12_CS11 }, - { 0, SW11_CS10, SW10_CS10, SW12_CS10 }, - { 0, SW11_CS9, SW10_CS9, SW12_CS9 }, - { 0, SW11_CS8, SW10_CS8, SW12_CS8 }, - { 0, SW11_CS7, SW10_CS7, SW12_CS7 }, - { 0, SW11_CS6, SW10_CS6, SW12_CS6 }, - { 0, SW11_CS5, SW10_CS5, SW12_CS5 }, - { 0, SW11_CS4, SW10_CS4, SW12_CS4 }, - { 0, SW11_CS3, SW10_CS3, SW12_CS3 }, - { 0, SW11_CS2, SW10_CS2, SW12_CS2 }, - { 0, SW11_CS1, SW10_CS1, SW12_CS1 }, - - { 0, SW8_CS16, SW7_CS16, SW9_CS16 }, - { 0, SW8_CS15, SW7_CS15, SW9_CS15 }, - { 0, SW8_CS14, SW7_CS14, SW9_CS14 }, - { 0, SW8_CS13, SW7_CS13, SW9_CS13 }, - { 0, SW8_CS12, SW7_CS12, SW9_CS12 }, - { 0, SW8_CS11, SW7_CS11, SW9_CS11 }, - { 0, SW8_CS10, SW7_CS10, SW9_CS10 }, - { 0, SW8_CS9, SW7_CS9, SW9_CS9 }, - { 0, SW8_CS8, SW7_CS8, SW9_CS8 }, - { 0, SW8_CS7, SW7_CS7, SW9_CS7 }, - { 0, SW8_CS6, SW7_CS6, SW9_CS6 }, - { 0, SW8_CS5, SW7_CS5, SW9_CS5 }, - { 0, SW8_CS4, SW7_CS4, SW9_CS4 }, - { 0, SW8_CS3, SW7_CS3, SW9_CS3 }, - { 0, SW8_CS2, SW7_CS2, SW9_CS2 }, - { 0, SW8_CS1, SW7_CS1, SW9_CS1 }, - - { 0, SW5_CS16, SW4_CS16, SW6_CS16 }, - { 0, SW5_CS15, SW4_CS15, SW6_CS15 }, - { 0, SW5_CS14, SW4_CS14, SW6_CS14 }, - { 0, SW5_CS13, SW4_CS13, SW6_CS13 }, - { 0, SW5_CS12, SW4_CS12, SW6_CS12 }, - { 0, SW5_CS11, SW4_CS11, SW6_CS11 }, - { 0, SW5_CS10, SW4_CS10, SW6_CS10 }, - { 0, SW5_CS9, SW4_CS9, SW6_CS9 }, - { 0, SW5_CS8, SW4_CS8, SW6_CS8 }, - { 0, SW5_CS7, SW4_CS7, SW6_CS7 }, - { 0, SW5_CS6, SW4_CS6, SW6_CS6 }, - { 0, SW5_CS5, SW4_CS5, SW6_CS5 }, - { 0, SW5_CS4, SW4_CS4, SW6_CS4 }, - { 0, SW5_CS3, SW4_CS3, SW6_CS3 }, - { 0, SW5_CS2, SW4_CS2, SW6_CS2 }, - { 0, SW5_CS1, SW4_CS1, SW6_CS1 }, + { 0, SW2_CS1, SW1_CS1, SW3_CS1 }, + { 0, SW2_CS2, SW1_CS2, SW3_CS2 }, + { 0, SW2_CS3, SW1_CS3, SW3_CS3 }, + { 0, SW2_CS4, SW1_CS4, SW3_CS4 }, + { 0, SW2_CS5, SW1_CS5, SW3_CS5 }, + { 0, SW2_CS6, SW1_CS6, SW3_CS6 }, + { 0, SW2_CS7, SW1_CS7, SW3_CS7 }, + { 0, SW2_CS8, SW1_CS8, SW3_CS8 }, + { 0, SW2_CS9, SW1_CS9, SW3_CS9 }, + { 0, SW2_CS10, SW1_CS10, SW3_CS10 }, + { 0, SW2_CS11, SW1_CS11, SW3_CS11 }, + { 0, SW2_CS12, SW1_CS12, SW3_CS12 }, + { 0, SW2_CS13, SW1_CS13, SW3_CS13 }, + { 0, SW2_CS14, SW1_CS14, SW3_CS14 }, { 0, SW2_CS16, SW1_CS16, SW3_CS16 }, - { 0, SW2_CS14, SW1_CS14, SW3_CS14 }, - { 0, SW2_CS13, SW1_CS13, SW3_CS13 }, - { 0, SW2_CS12, SW1_CS12, SW3_CS12 }, - { 0, SW2_CS11, SW1_CS11, SW3_CS11 }, - { 0, SW2_CS10, SW1_CS10, SW3_CS10 }, - { 0, SW2_CS9, SW1_CS9, SW3_CS9 }, - { 0, SW2_CS8, SW1_CS8, SW3_CS8 }, - { 0, SW2_CS7, SW1_CS7, SW3_CS7 }, - { 0, SW2_CS6, SW1_CS6, SW3_CS6 }, - { 0, SW2_CS5, SW1_CS5, SW3_CS5 }, - { 0, SW2_CS4, SW1_CS4, SW3_CS4 }, - { 0, SW2_CS3, SW1_CS3, SW3_CS3 }, - { 0, SW2_CS2, SW1_CS2, SW3_CS2 }, - { 0, SW2_CS1, SW1_CS1, SW3_CS1 } + { 0, SW5_CS1, SW4_CS1, SW6_CS1 }, + { 0, SW5_CS2, SW4_CS2, SW6_CS2 }, + { 0, SW5_CS3, SW4_CS3, SW6_CS3 }, + { 0, SW5_CS4, SW4_CS4, SW6_CS4 }, + { 0, SW5_CS5, SW4_CS5, SW6_CS5 }, + { 0, SW5_CS6, SW4_CS6, SW6_CS6 }, + { 0, SW5_CS7, SW4_CS7, SW6_CS7 }, + { 0, SW5_CS8, SW4_CS8, SW6_CS8 }, + { 0, SW5_CS9, SW4_CS9, SW6_CS9 }, + { 0, SW5_CS10, SW4_CS10, SW6_CS10 }, + { 0, SW5_CS11, SW4_CS11, SW6_CS11 }, + { 0, SW5_CS12, SW4_CS12, SW6_CS12 }, + { 0, SW5_CS13, SW4_CS13, SW6_CS13 }, -}; + { 0, SW5_CS14, SW4_CS14, SW6_CS14 }, + { 0, SW5_CS15, SW4_CS15, SW6_CS15 }, + { 0, SW5_CS16, SW4_CS16, SW6_CS16 }, + { 0, SW8_CS1, SW7_CS1, SW9_CS1 }, + { 0, SW8_CS2, SW7_CS2, SW9_CS2 }, + { 0, SW8_CS3, SW7_CS3, SW9_CS3 }, + { 0, SW8_CS4, SW7_CS4, SW9_CS4 }, + { 0, SW8_CS5, SW7_CS5, SW9_CS5 }, + { 0, SW8_CS6, SW7_CS6, SW9_CS6 }, + { 0, SW8_CS7, SW7_CS7, SW9_CS7 }, + { 0, SW8_CS8, SW7_CS8, SW9_CS8 }, + { 0, SW8_CS9, SW7_CS9, SW9_CS9 }, + { 0, SW8_CS10, SW7_CS10, SW9_CS10 }, -led_config_t g_led_config = { - { - { 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46 }, - { 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 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, 5 }, - { 4, 3, 2, 1 ,0 } - }, { - { 224, 0 }, { 208, 0 }, { 192, 0 }, { 176, 0 }, { 160, 0 }, { 144, 0 }, { 128, 0 }, { 112, 0 }, { 96, 0 }, { 80, 0 }, { 64, 0 }, { 48, 0 }, { 32, 0 }, { 16, 0 }, - { 220, 16 }, { 200, 16 }, { 184, 16 }, { 168, 16 }, { 152, 16 }, { 136, 16 }, { 120, 16 }, { 104, 16 }, { 88, 16 }, { 72, 16 }, { 56, 16 }, { 40, 16 }, { 24, 16 }, { 4, 16 }, - { 204, 32 }, { 188, 32 }, { 172, 32 }, { 156, 32 }, { 140, 32 }, { 124, 32 }, { 108, 32 }, { 92, 32 }, { 76, 32 }, { 60, 32 }, { 44, 32 }, { 28, 32 }, { 6, 32 }, - { 224, 48 }, { 198, 64 }, { 202, 48 }, { 180, 48 }, { 164, 48 }, { 148, 48 }, { 132, 48 }, { 116, 48 }, { 100, 48 }, { 84, 48 }, { 68, 48 }, { 52, 48 }, { 20, 48 }, { 10, 48 }, - { 218, 64 }, { 178, 64 }, { 112, 64 }, { 46, 64 }, { 26, 64 } - }, { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 4, 1, 1 - } + { 0, SW8_CS11, SW7_CS11, SW9_CS11 }, + { 0, SW8_CS12, SW7_CS12, SW9_CS12 }, + { 0, SW8_CS13, SW7_CS13, SW9_CS13 }, + { 0, SW8_CS14, SW7_CS14, SW9_CS14 }, + { 0, SW8_CS15, SW7_CS15, SW9_CS15 }, + { 0, SW8_CS16, SW7_CS16, SW9_CS16 }, + { 0, SW11_CS1, SW10_CS1, SW12_CS1 }, + { 0, SW11_CS2, SW10_CS2, SW12_CS2 }, + { 0, SW11_CS3, SW10_CS3, SW12_CS3 }, + { 0, SW11_CS4, SW10_CS4, SW12_CS4 }, + { 0, SW11_CS5, SW10_CS5, SW12_CS5 }, + { 0, SW11_CS6, SW10_CS6, SW12_CS6 }, + { 0, SW11_CS7, SW10_CS7, SW12_CS7 }, + { 0, SW11_CS8, SW10_CS8, SW12_CS8 }, + + { 0, SW11_CS9, SW10_CS9, SW12_CS9 }, + { 0, SW11_CS10, SW10_CS10, SW12_CS10 }, + { 0, SW11_CS11, SW10_CS11, SW12_CS11 }, + { 0, SW11_CS12, SW10_CS12, SW12_CS12 }, + { 0, SW11_CS13, SW10_CS13, SW12_CS13 } }; void suspend_power_down_kb(void) { @@ -120,7 +98,7 @@ bool rgb_matrix_indicators_kb(void) { return false; } if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(41, 0xFF, 0xFF, 0xFF); + rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } return true; } diff --git a/keyboards/leeku/finger65/readme.md b/keyboards/leeku/finger65/readme.md index c27ce5d4893..715fa76fe2a 100644 --- a/keyboards/leeku/finger65/readme.md +++ b/keyboards/leeku/finger65/readme.md @@ -9,7 +9,7 @@ Make example for this keyboard (after setting up your build environment): make leeku/finger65:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make leeku/finger65:default:flash diff --git a/keyboards/matchstickworks/southpad/info.json b/keyboards/matchstickworks/info.json similarity index 51% rename from keyboards/matchstickworks/southpad/info.json rename to keyboards/matchstickworks/info.json index dcf34cac3c3..7c68d143932 100644 --- a/keyboards/matchstickworks/southpad/info.json +++ b/keyboards/matchstickworks/info.json @@ -1,4 +1,4 @@ { "manufacturer": "MatchstickWorks", - "maintainer": "MatchstickWorks", -} \ No newline at end of file + "maintainer": "MatchstickWorks" +} diff --git a/keyboards/matchstickworks/normiepad/keyboard.json b/keyboards/matchstickworks/normiepad/keyboard.json new file mode 100644 index 00000000000..3063b820aa8 --- /dev/null +++ b/keyboards/matchstickworks/normiepad/keyboard.json @@ -0,0 +1,51 @@ +{ + "keyboard_name": "NormiePad", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP2", "GP4", "GP11", "GP12"], + "rows": ["GP13", "GP29", "GP28", "GP20", "GP19", "GP18"] + }, + "processor": "RP2040", + "usb": { + "device_version": "0.0.1", + "pid": "0x0003", + "vid": "0x4D57" + }, + "community_layouts": ["numpad_6x4"], + "layouts": { + "LAYOUT_numpad_6x4": { + "layout": [ + {"label": "Bksp", "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": "Num Lock", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "/", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "*", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "-", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "7", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "8", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "9", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "4", "matrix": [3, 0], "x": 1, "y": 3}, + {"label": "5", "matrix": [3, 1], "x": 2, "y": 3}, + {"label": "6", "matrix": [3, 2], "x": 3, "y": 3}, + {"label": "+", "matrix": [2, 3], "x": 3, "y": 2, "h": 2}, + {"label": "1", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "2", "matrix": [4, 1], "x": 1, "y": 4}, + {"label": "3", "matrix": [4, 2], "x": 2, "y": 4}, + {"label": "0", "matrix": [5, 0], "x": 0, "y": 5, "w": 2}, + {"label": ".", "matrix": [5, 2], "x": 2, "y": 5}, + {"label": "Enter", "matrix": [4, 3], "x": 3, "y": 4, "h": 2} + ] + } + } +} diff --git a/keyboards/matchstickworks/normiepad/keymaps/default/keymap.c b/keyboards/matchstickworks/normiepad/keymaps/default/keymap.c new file mode 100644 index 00000000000..699a6e9baf2 --- /dev/null +++ b/keyboards/matchstickworks/normiepad/keymaps/default/keymap.c @@ -0,0 +1,17 @@ +/* Copyright 2024 Logan Butler*/ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_numpad_6x4( + KC_BSPC, KC_EQL, LSFT(KC_9),LSFT(KC_0), + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), + +}; diff --git a/keyboards/matchstickworks/normiepad/keymaps/via/keymap.c b/keyboards/matchstickworks/normiepad/keymaps/via/keymap.c new file mode 100644 index 00000000000..699a6e9baf2 --- /dev/null +++ b/keyboards/matchstickworks/normiepad/keymaps/via/keymap.c @@ -0,0 +1,17 @@ +/* Copyright 2024 Logan Butler*/ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_numpad_6x4( + KC_BSPC, KC_EQL, LSFT(KC_9),LSFT(KC_0), + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), + +}; diff --git a/keyboards/matchstickworks/normiepad/keymaps/via/rules.mk b/keyboards/matchstickworks/normiepad/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/matchstickworks/normiepad/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/matchstickworks/normiepad/readme.md b/keyboards/matchstickworks/normiepad/readme.md new file mode 100644 index 00000000000..35cdad98e05 --- /dev/null +++ b/keyboards/matchstickworks/normiepad/readme.md @@ -0,0 +1,23 @@ +# NormiePad + + + +This is a standard layout numberpad with USB-C connection and Kailh hotswap sockets, built on the RP2040 MCU. + +## Default layout + + + +* Keyboard Maintainer: [Logan Butler](https://github.com/MatchstickWorks) +* Hardware Supported: NormiePad PCB +* Hardware Availability: Either via [my storefront](https://matchstick.works), [my Etsy Store](https://www.etsy.com/shop/MatchstickWorksShop), or by messaging directly + +Getting the board into bootloader mode: + +In order to flash the firmware to this board, simply press both the RESET and BOOT buttons on the back of the PCB. You will hear a reconnect sound on your computer and a file explorer window should open where you can drag and drop the compiled UF2 into. + +Make example for this keyboard (after setting up your build environment): + + make matchstickworks/normiepad: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/matrix/noah/config.h b/keyboards/matrix/noah/config.h index 74beabaa7ad..2c6e01b01d5 100644 --- a/keyboards/matrix/noah/config.h +++ b/keyboards/matrix/noah/config.h @@ -21,4 +21,3 @@ // rgb matrix setting #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA -#define RGB_MATRIX_LED_COUNT 72 diff --git a/keyboards/matrix/noah/keyboard.json b/keyboards/matrix/noah/keyboard.json index eb13e16aa2b..3ba9be21eb8 100644 --- a/keyboards/matrix/noah/keyboard.json +++ b/keyboards/matrix/noah/keyboard.json @@ -74,6 +74,84 @@ "solid_splash": true, "solid_multisplash": true }, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 202, "y": 0, "flags": 1}, + {"matrix": [4, 14], "x": 224, "y": 0, "flags": 4}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 22, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 67, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 97, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 127, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 157, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 172, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 187, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 205, "y": 16, "flags": 1}, + {"matrix": [4, 11], "x": 224, "y": 16, "flags": 4}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 175, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 190, "y": 32, "flags": 4}, + {"x": 207, "y": 24, "flags": 1}, + {"matrix": [2, 13], "x": 200, "y": 32, "flags": 1}, + {"matrix": [4, 12], "x": 224, "y": 32, "flags": 4}, + + {"matrix": [3, 0], "x": 2, "y": 48, "flags": 1}, + {"x": 9, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 19, "y": 48, "flags": 1}, + {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 63, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 78, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 93, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 108, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 123, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 138, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 153, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 168, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, + {"matrix": [3, 13], "x": 209, "y": 48, "flags": 4}, + {"matrix": [4, 13], "x": 224, "y": 48, "flags": 4}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1}, + {"matrix": [4, 4], "x": 95, "y": 64, "flags": 4}, + {"x": 105, "y": 64, "flags": 4}, + {"matrix": [4, 6], "x": 151, "y": 64, "flags": 1}, + {"matrix": [4, 7], "x": 170, "y": 64, "flags": 1}, + {"matrix": [4, 8], "x": 194, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 209, "y": 64, "flags": 4}, + {"matrix": [4, 10], "x": 224, "y": 64, "flags": 4} + ], "driver": "is31fl3731" }, "features": { diff --git a/keyboards/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c index a01d1b11bc1..99f4e063d1f 100644 --- a/keyboards/matrix/noah/noah.c +++ b/keyboards/matrix/noah/noah.c @@ -68,139 +68,83 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { * | | G location * | | | B location * | | | | */ + {0, C1_10, C2_10, C4_11}, // RGB101 + {0, C1_11, C2_11, C3_11}, // RGB102 + {0, C1_12, C2_12, C3_12}, // RGB103 + {0, C1_13, C2_13, C3_13}, // RGB104 + {0, C1_14, C2_14, C3_14}, // RGB105 + {0, C1_15, C2_15, C3_15}, // RGB106 + {0, C1_16, C2_16, C3_16}, // RGB107 + {1, C1_1, C3_2, C4_2}, // RGB108 + {1, C1_2, C2_2, C4_3}, // RGB109 + {1, C1_3, C2_3, C3_3}, // RGB1010 + {1, C1_4, C2_4, C3_4}, // RGB1011 + {1, C1_5, C2_5, C3_5}, // RGB1012 + {1, C1_6, C2_6, C3_6}, // RGB1013 + {1, C1_7, C2_7, C3_7}, // RGB1015 + {1, C1_8, C2_8, C3_8}, // RGB1016 -// left CB - {0, C1_9, C3_10, C4_10}, - {0, C1_10, C2_10, C4_11}, - {0, C1_11, C2_11, C3_11}, - {0, C1_12, C2_12, C3_12}, - {0, C1_13, C2_13, C3_13}, - {0, C1_14, C2_14, C3_14}, - {0, C1_15, C2_15, C3_15}, - {0, C1_16, C2_16, C3_16}, + {0, C1_9, C3_10, C4_10}, // RGB201 + {0, C5_9, C4_9, C6_9}, // RGB202 + {0, C9_9, C8_9, C7_9}, // RGB203 + {0, C9_10, C8_10, C7_10}, // RGB204 + {0, C9_11, C8_11, C7_11}, // RGB205 + {0, C9_12, C8_12, C7_12}, // RGB206 + {0, C9_13, C8_13, C7_13}, // RGB207 + {1, C5_1, C4_1, C6_1}, // RGB208 + {1, C9_1, C8_1, C7_1}, // RGB209 + {1, C9_2, C8_2, C7_2}, // RGB2010 + {1, C9_3, C8_3, C7_3}, // RGB2011 + {1, C9_4, C8_4, C7_4}, // RGB2012 + {1, C9_5, C8_5, C7_5}, // RGB2013 + {1, C9_6, C8_6, C7_6}, // RGB2014 + {1, C5_8, C4_8, C6_8}, // RGB2015 - {0, C5_9, C4_9, C6_9}, - {0, C5_16, C4_16, C6_16}, + {0, C9_1, C8_1, C7_1}, // RGB301 + {0, C1_1, C3_2, C4_2}, // RGB302 + {0, C5_1, C4_1, C6_1}, // RGB303 + {0, C5_16, C4_16, C6_16}, // RGB304 + {0, C1_2, C2_2, C4_3}, // RGB305 + {0, C9_14, C8_14, C7_14}, // RGB306 + {0, C9_15, C8_15, C6_14}, // RGB307 + {0, C9_16, C7_15, C6_15}, // RGB308 + {1, C1_10, C2_10, C4_11}, // RGB309 + {1, C1_11, C2_11, C3_11}, // RGB3010 + {1, C1_12, C2_12, C3_12}, // RGB3011 + {1, C1_13, C2_13, C3_13}, // RGB3012 + {1, C1_14, C2_14, C3_14}, // RGB3014 + {1, C9_7, C8_7, C6_6}, // RGB3013-2 + {1, C1_15, C2_15, C3_15}, // RGB3013 + {1, C9_8, C7_7, C6_7}, // RGB3015 - {0, C9_9, C8_9, C7_9}, - {0, C9_10, C8_10, C7_10}, - {0, C9_11, C8_11, C7_11}, - {0, C9_12, C8_12, C7_12}, - {0, C9_13, C8_13, C7_13}, - {0, C9_14, C8_14, C7_14}, - {0, C9_15, C8_15, C6_14}, - {0, C9_16, C7_15, C6_15}, + {0, C9_3, C8_3, C7_3}, // RGB401-2 + {0, C9_2, C8_2, C7_2}, // RGB401 + {0, C9_4, C8_4, C7_4}, // RGB4014 + {0, C9_5, C8_5, C7_5}, // RGB402 + {0, C9_6, C8_6, C7_6}, // RGB403 + {0, C1_3, C2_3, C3_3}, // RGB404 + {0, C1_4, C2_4, C3_4}, // RGB405 + {0, C1_6, C2_6, C3_6}, // RGB406 + {0, C1_5, C2_5, C3_5}, // RGB407 + {1, C1_9, C3_10, C4_10}, // RGB408 + {1, C5_9, C4_9, C6_9}, // RGB409 + {1, C9_9, C8_9, C7_9}, // RGB4010 + {1, C9_10, C8_10, C7_10}, // RGB4011 + {1, C9_11, C8_11, C7_11}, // RGB4012 + {1, C5_16, C4_16, C6_16}, // RGB4013 + {1, C1_16, C2_16, C3_16}, // RGB4015 -// left CA - {0, C1_1, C3_2, C4_2}, - {0, C1_2, C2_2, C4_3}, - {0, C1_3, C2_3, C3_3}, - {0, C1_4, C2_4, C3_4}, - {0, C1_5, C2_5, C3_5}, - {0, C1_6, C2_6, C3_6}, - {0, C1_7, C2_7, C3_7}, - {0, C1_8, C2_8, C3_8}, - - {0, C5_1, C4_1, C6_1}, - {0, C5_8, C4_8, C6_8}, - - {0, C9_1, C8_1, C7_1}, - {0, C9_2, C8_2, C7_2}, - {0, C9_3, C8_3, C7_3}, - {0, C9_4, C8_4, C7_4}, - {0, C9_5, C8_5, C7_5}, - {0, C9_6, C8_6, C7_6}, - {0, C9_7, C8_7, C6_6}, - {0, C9_8, C7_7, C6_7}, - -// right CA - {1, C1_1, C3_2, C4_2}, - {1, C1_2, C2_2, C4_3}, - {1, C1_3, C2_3, C3_3}, - {1, C1_4, C2_4, C3_4}, - {1, C1_5, C2_5, C3_5}, - {1, C1_6, C2_6, C3_6}, - {1, C1_7, C2_7, C3_7}, - {1, C1_8, C2_8, C3_8}, - - {1, C5_1, C4_1, C6_1}, - {1, C5_8, C4_8, C6_8}, - - {1, C9_1, C8_1, C7_1}, - {1, C9_2, C8_2, C7_2}, - {1, C9_3, C8_3, C7_3}, - {1, C9_4, C8_4, C7_4}, - {1, C9_5, C8_5, C7_5}, - {1, C9_6, C8_6, C7_6}, - {1, C9_7, C8_7, C6_6}, - {1, C9_8, C7_7, C6_7}, -// right CB - {1, C1_9, C3_10, C4_10}, - {1, C1_10, C2_10, C4_11}, - {1, C1_11, C2_11, C3_11}, - {1, C1_12, C2_12, C3_12}, - {1, C1_13, C2_13, C3_13}, - {1, C1_14, C2_14, C3_14}, - {1, C1_15, C2_15, C3_15}, - {1, C1_16, C2_16, C3_16}, - - {1, C5_9, C4_9, C6_9}, - {1, C5_16, C4_16, C6_16}, - - {1, C9_9, C8_9, C7_9}, - {1, C9_10, C8_10, C7_10}, - {1, C9_11, C8_11, C7_11}, - {1, C9_12, C8_12, C7_12}, - {1, C9_13, C8_13, C7_13}, - {1, C9_14, C8_14, C7_14}, - {1, C9_15, C8_15, C6_14}, - {1, C9_16, C7_15, C6_15}, + {0, C9_7, C8_7, C6_6}, // RGB501 + {0, C9_8, C7_7, C6_7}, // RGB502 + {0, C5_8, C4_8, C6_8}, // RGB503 + {0, C1_8, C2_8, C3_8}, // RGB506 + {0, C1_7, C2_7, C3_7}, // RGB506-2 + {1, C9_12, C8_12, C7_12}, // RGB507 + {1, C9_13, C8_13, C7_13}, // RGB508 + {1, C9_14, C8_14, C7_14}, // RGB5010 + {1, C9_15, C8_15, C6_14}, // RGB5011 + {1, C9_16, C7_15, C6_15}, // RGB5012 }; - -led_config_t g_led_config = { - { - { 1, 2, 3, 4, 5, 6, 7, 36, 37, 38, 39, 40, NO_LED, 41}, - { 0, 8, 10, 11, 12, 13, 14, 44, 46, 47, 48, 49, 50, 51}, - { 30, 18, 26, 9, 19, 15, 16, 17, 55, 56, 57, 58, 59, 60}, - { 29, 31, 32, 33, 20, 21, 23, 22, 54, 62, 64, 65, 66, 63}, - { 34, 35, 27, 25, 67, 68, 69, 70, 71, 61, 53, 45, 42, 43}, - }, - { - { 0, 16},{ 0, 0},{ 15, 0},{ 30, 0},{ 45, 0},{ 60, 0},{ 75, 0},{ 90, 0}, - { 20, 16},{ 42, 32}, - { 45, 16},{ 50, 16},{ 65, 16},{ 80, 16},{ 95, 16},{ 70, 32},{ 84, 32},{ 98, 32}, - - { 14, 32},{ 56, 32},{ 65, 48},{ 80, 48},{110, 48},{ 95, 48},{112, 64},{100, 64}, - { 42, 32},{ 38, 64}, - { 0, 32},{ 10, 48},{ 0, 48},{ 20, 48},{ 35, 48},{ 50, 48},{ 0, 64},{ 19, 64}, - - {105, 0},{120, 0},{135, 0},{150, 0},{165, 0},{180, 0},{202, 0},{224, 0}, - {110, 16},{224, 16}, - {125, 16},{140, 16},{155, 16},{172, 16},{187, 16},{202, 16},{210, 32},{224, 32}, - - {125, 48},{112, 32},{126, 32},{140, 32},{154, 32},{168, 32},{182, 32},{224, 48}, - {140, 48},{200, 48}, - {155, 48},{170, 48},{185, 48},{150, 64},{173, 64},{195, 64},{210, 64},{224, 64} - }, - { - 1, 1, 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, - 1, 1, 1, 4, 4, 4, 1, 1, - - 4, 4, 4, 4, 4, 4, 1, 1, - 4, 1, - 4, 4, 4, 4, 4, 4, 4, 1, - - 4, 4, 4, 4, 4, 4, 4, 1, - 4, 4, - 4, 4, 4, 1, 1, 1, 1, 1, - } -}; - #endif bool process_record_kb(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/mechkeys/mechmini/v1/readme.md b/keyboards/mechkeys/mechmini/v1/readme.md index d6b88d9c048..7e789115a58 100644 --- a/keyboards/mechkeys/mechmini/v1/readme.md +++ b/keyboards/mechkeys/mechmini/v1/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make mechkeys/mechmini/v1:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make mechkeys/mechmini/v1:default:flash diff --git a/keyboards/mechlovin/delphine/rgb_led/keyboard.json b/keyboards/mechlovin/delphine/rgb_led/keyboard.json index 35a163c05f8..d6e7a27f813 100644 --- a/keyboards/mechlovin/delphine/rgb_led/keyboard.json +++ b/keyboards/mechlovin/delphine/rgb_led/keyboard.json @@ -23,7 +23,6 @@ "knight": true, "christmas": true, "static_gradient": true, - "rgb_test": true, "alternating": true, "twinkle": true } @@ -62,8 +61,6 @@ "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, diff --git a/keyboards/mechlovin/olly/jf/rev1/config.h b/keyboards/mechlovin/olly/jf/rev1/config.h new file mode 100644 index 00000000000..9aa7e1c1d32 --- /dev/null +++ b/keyboards/mechlovin/olly/jf/rev1/config.h @@ -0,0 +1,7 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define MATRIX_COLS 19 +#define MATRIX_ROWS 6 diff --git a/keyboards/mechlovin/olly/jf/rev1/keyboard.json b/keyboards/mechlovin/olly/jf/rev1/keyboard.json index 69f092af07e..1b8fa4a19ad 100644 --- a/keyboards/mechlovin/olly/jf/rev1/keyboard.json +++ b/keyboards/mechlovin/olly/jf/rev1/keyboard.json @@ -16,10 +16,6 @@ "rows": ["D5", "D6", "A5", "A4", "A3", "A6"], "custom_lite": true }, - "matrix_size": { - "cols": 19, - "rows": 6 - }, "backlight": { "pin": "D4", "breathing": true diff --git a/keyboards/mechlovin/olly/octagon/config.h b/keyboards/mechlovin/olly/octagon/config.h index 6f9d5f9a027..791bfee784d 100644 --- a/keyboards/mechlovin/olly/octagon/config.h +++ b/keyboards/mechlovin/olly/octagon/config.h @@ -19,8 +19,6 @@ along with this program. If not, see . #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_SDA -#define LED_MATRIX_LED_COUNT 94 - #define I2C_DRIVER I2CD2 #define I2C1_SCL_PIN B10 #define I2C1_SDA_PIN B11 diff --git a/keyboards/mechlovin/olly/octagon/keyboard.json b/keyboards/mechlovin/olly/octagon/keyboard.json index 81b78b0b1cb..4bc7d88ed77 100644 --- a/keyboards/mechlovin/olly/octagon/keyboard.json +++ b/keyboards/mechlovin/olly/octagon/keyboard.json @@ -57,7 +57,110 @@ "wave_up_down": true }, "driver": "is31fl3731", - "react_on_keyup": true + "react_on_keyup": true, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 120, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 194, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 209, "y": 0, "flags": 4}, + {"matrix": [0, 15], "x": 224, "y": 0, "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": [1, 6], "x": 90, "y": 13, "flags": 4}, + {"matrix": [1, 7], "x": 105, "y": 13, "flags": 4}, + {"matrix": [1, 8], "x": 120, "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": 194, "y": 13, "flags": 4}, + {"matrix": [1, 14], "x": 209, "y": 13, "flags": 4}, + {"matrix": [1, 15], "x": 224, "y": 13, "flags": 4}, + + {"matrix": [2, 0], "x": 4, "y": 26, "flags": 4}, + {"matrix": [2, 1], "x": 22, "y": 26, "flags": 4}, + {"matrix": [2, 2], "x": 37, "y": 26, "flags": 4}, + {"matrix": [2, 3], "x": 52, "y": 26, "flags": 4}, + {"matrix": [2, 4], "x": 67, "y": 26, "flags": 4}, + {"matrix": [2, 5], "x": 82, "y": 26, "flags": 4}, + {"matrix": [2, 6], "x": 97, "y": 26, "flags": 4}, + {"matrix": [2, 7], "x": 112, "y": 26, "flags": 4}, + {"matrix": [2, 8], "x": 127, "y": 26, "flags": 4}, + {"matrix": [2, 9], "x": 142, "y": 26, "flags": 4}, + {"matrix": [2, 10], "x": 157, "y": 26, "flags": 4}, + {"matrix": [2, 11], "x": 172, "y": 26, "flags": 4}, + {"matrix": [2, 12], "x": 187, "y": 26, "flags": 4}, + {"matrix": [2, 14], "x": 205, "y": 26, "flags": 4}, + {"matrix": [2, 15], "x": 224, "y": 26, "flags": 4}, + + {"matrix": [3, 0], "x": 6, "y": 38, "flags": 4}, + {"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": 190, "y": 38, "flags": 4}, + {"matrix": [3, 13], "x": 207, "y": 38, "flags": 4}, + {"matrix": [3, 15], "x": 224, "y": 38, "flags": 4}, + + {"matrix": [4, 0], "x": 2, "y": 51, "flags": 4}, + {"matrix": [4, 1], "x": 19, "y": 51, "flags": 4}, + {"matrix": [4, 2], "x": 34, "y": 51, "flags": 4}, + {"matrix": [4, 3], "x": 49, "y": 51, "flags": 4}, + {"matrix": [4, 4], "x": 64, "y": 51, "flags": 4}, + {"matrix": [4, 5], "x": 78, "y": 51, "flags": 4}, + {"matrix": [4, 6], "x": 93, "y": 51, "flags": 4}, + {"matrix": [4, 7], "x": 108, "y": 51, "flags": 4}, + {"matrix": [4, 8], "x": 123, "y": 51, "flags": 4}, + {"matrix": [4, 9], "x": 138, "y": 51, "flags": 4}, + {"matrix": [4, 10], "x": 153, "y": 51, "flags": 4}, + {"matrix": [4, 11], "x": 168, "y": 51, "flags": 4}, + {"matrix": [4, 12], "x": 189, "y": 51, "flags": 4}, + {"matrix": [4, 14], "x": 209, "y": 51, "flags": 4}, + {"matrix": [4, 15], "x": 224, "y": 51, "flags": 4}, + + {"matrix": [5, 0], "x": 2, "y": 64, "flags": 4}, + {"matrix": [5, 1], "x": 21, "y": 64, "flags": 4}, + {"matrix": [5, 2], "x": 39, "y": 64, "flags": 4}, + {"matrix": [5, 6], "x": 95, "y": 64, "flags": 4}, + {"matrix": [5, 10], "x": 149, "y": 64, "flags": 4}, + {"matrix": [5, 11], "x": 164, "y": 64, "flags": 4}, + {"matrix": [5, 12], "x": 179, "y": 64, "flags": 4}, + {"matrix": [5, 13], "x": 194, "y": 64, "flags": 4}, + {"matrix": [5, 14], "x": 209, "y": 64, "flags": 4}, + {"matrix": [5, 15], "x": 224, "y": 64, "flags": 4}, + + {"x": 113, "y": 0, "flags": 8}, + {"x": 127, "y": 0, "flags": 8}, + {"x": 142, "y": 0, "flags": 8}, + + {"x": 172, "y": 0, "flags": 8}, + {"x": 187, "y": 0, "flags": 8}, + {"x": 202, "y": 0, "flags": 8}, + {"x": 217, "y": 0, "flags": 8} + ] }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B2", "B1", "A15", "B3", "B9", "B8", "B7", "B6", "B5", "B4"], diff --git a/keyboards/mechlovin/olly/octagon/octagon.c b/keyboards/mechlovin/olly/octagon/octagon.c index c89565168b2..a8ff139c01b 100644 --- a/keyboards/mechlovin/olly/octagon/octagon.c +++ b/keyboards/mechlovin/olly/octagon/octagon.c @@ -31,33 +31,6 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { { 0, C7_13 }, { 0, C7_14 }, { 0, C7_15 }, { 0, C7_16 }, // Layer Indicator }; -led_config_t g_led_config = { -{ - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, - {16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}, - {32, 33, 34, 35, 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, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76}, - {77, 78, 79, 80, 81, 82, 83, 84, 85, 86}, -}, { - //LED Index to Physical Positon - {0, 0}, {15, 0}, {30, 0}, {45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {119, 0}, {134, 0}, {149, 0}, {164, 0}, {179, 0}, {194, 0}, {209, 0}, {224, 0}, - {0,13}, {15, 13}, {30, 13}, {45, 13}, {60, 13}, {75, 13}, {90, 13}, {105,13}, {119,13}, {134,13}, {149,13}, {164,13}, {179,13}, {194,13}, {209,13}, {224,13}, - {0,26}, {15, 26}, {30, 26}, {45, 26}, {60, 26}, {75, 26}, {90, 26}, {105,26}, {119,26}, {134,26}, {149,26}, {164,26}, {179,26}, {194,26}, {224,26}, - {0,38}, {15, 38}, {30, 38}, {45, 38}, {60, 38}, {75, 38}, {90, 38}, {105,38}, {119,38}, {134,38}, {149,38}, {164,38}, {179,38}, {194,38}, {224,38}, - {0,51}, {15, 51}, {30, 51}, {45, 51}, {60, 51}, {75, 51}, {90, 51}, {105,51}, {119,51}, {134,51}, {149,51}, {164,51}, {179,51}, {194,51}, {224,51}, - {0,64}, {15, 64}, {30, 64}, {90, 64}, {149,64}, {164,64}, {179,64}, {194,64}, {209,64}, {224,64}, - }, { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - } -}; - bool led_matrix_indicators_kb(void) { if (!led_matrix_indicators_user()) { return false; diff --git a/keyboards/mechstudio/chapter1/rules.mk b/keyboards/mechstudio/chapter1/rules.mk deleted file mode 100644 index 6e7633bfe01..00000000000 --- a/keyboards/mechstudio/chapter1/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# This file intentionally left blank diff --git a/keyboards/mechwild/bbpad/config.h b/keyboards/mechwild/bbpad/config.h new file mode 100644 index 00000000000..a0dd1826eb6 --- /dev/null +++ b/keyboards/mechwild/bbpad/config.h @@ -0,0 +1,10 @@ +// Copyright 2024 QMK Contributors (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define WS2812_PWM_DRIVER PWMD4 +#define WS2812_PWM_CHANNEL 1 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM6 +#define WS2812_DMA_CHANNEL 2 diff --git a/keyboards/mechwild/obe/f401/keyboard.json b/keyboards/mechwild/bbpad/f401/keyboard.json similarity index 100% rename from keyboards/mechwild/obe/f401/keyboard.json rename to keyboards/mechwild/bbpad/f401/keyboard.json diff --git a/keyboards/mechwild/obe/f411/keyboard.json b/keyboards/mechwild/bbpad/f411/keyboard.json similarity index 100% rename from keyboards/mechwild/obe/f411/keyboard.json rename to keyboards/mechwild/bbpad/f411/keyboard.json diff --git a/keyboards/mechwild/bbpad/halconf.h b/keyboards/mechwild/bbpad/halconf.h new file mode 100644 index 00000000000..db4caea1d05 --- /dev/null +++ b/keyboards/mechwild/bbpad/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 QMK Contributors (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/mechwild/bbpad/info.json b/keyboards/mechwild/bbpad/info.json new file mode 100644 index 00000000000..73a383f311b --- /dev/null +++ b/keyboards/mechwild/bbpad/info.json @@ -0,0 +1,195 @@ +{ + "manufacturer": "MechWild", + "keyboard_name": "BBPad", + "maintainer": "kylemccreery", + "bootloader_instructions": "Hold down the BOOT button, then tap the NRST button on the BlackPill. Avoid touching the A11 and A12 pins.", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B1", "pin_b": "B0"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["A4", "A3", "A2", "A1", "C15"], + "rows": ["B12", "B13", "B14", "B15", "A8"] + }, + "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, + "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 + }, + "center_point": [112, 75], + "driver": "ws2812", + "layout": [ + {"x": 195, "y": 53, "flags": 2}, + {"x": 195, "y": 97, "flags": 2}, + {"x": 142, "y": 144, "flags": 2}, + {"x": 74, "y": 144, "flags": 2}, + {"x": 8, "y": 97, "flags": 2}, + {"x": 8, "y": 53, "flags": 2}, + {"x": 74, "y": 9, "flags": 2}, + {"x": 142, "y": 9, "flags": 2}, + {"matrix": [0, 0], "x": 147, "y": 24, "flags": 4}, + {"matrix": [0, 1], "x": 147, "y": 58, "flags": 4}, + {"matrix": [0, 2], "x": 147, "y": 90, "flags": 4}, + {"matrix": [0, 3], "x": 147, "y": 124, "flags": 4}, + {"matrix": [1, 3], "x": 115, "y": 124, "flags": 4}, + {"matrix": [1, 2], "x": 115, "y": 90, "flags": 4}, + {"matrix": [1, 1], "x": 115, "y": 58, "flags": 4}, + {"matrix": [1, 0], "x": 115, "y": 24, "flags": 4}, + {"matrix": [2, 0], "x": 83, "y": 24, "flags": 4}, + {"matrix": [2, 1], "x": 83, "y": 58, "flags": 4}, + {"matrix": [2, 2], "x": 83, "y": 90, "flags": 4}, + {"matrix": [2, 3], "x": 83, "y": 124, "flags": 4}, + {"matrix": [3, 3], "x": 51, "y": 124, "flags": 4}, + {"matrix": [3, 2], "x": 51, "y": 90, "flags": 4}, + {"matrix": [3, 1], "x": 51, "y": 58, "flags": 4}, + {"matrix": [3, 0], "x": 51, "y": 24, "flags": 4}, + {"matrix": [4, 0], "x": 17, "y": 31, "flags": 4}, + {"matrix": [4, 1], "x": 17, "y": 53, "flags": 4}, + {"matrix": [4, 2], "x": 17, "y": 90, "flags": 4}, + {"matrix": [4, 3], "x": 17, "y": 124, "flags": 4} + ], + "max_brightness": 120 + }, + "url": "https://mechwild.com/product/bbpad/", + "usb": { + "device_version": "1.0.0", + "pid": "0x1713", + "vid": "0x6D77" + }, + "ws2812": { + "driver": "pwm", + "pin": "B6" + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_vert" + }, + "layouts": { + "LAYOUT_horiz": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [3, 0], "x": 1, "y": 0}, + {"matrix": [2, 0], "x": 2, "y": 0}, + {"matrix": [1, 0], "x": 3, "y": 0}, + {"matrix": [0, 0], "x": 4, "y": 0}, + {"matrix": [4, 1], "x": 0, "y": 1}, + {"matrix": [3, 1], "x": 1, "y": 1}, + {"matrix": [2, 1], "x": 2, "y": 1}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [0, 1], "x": 4, "y": 1}, + {"matrix": [4, 2], "x": 0, "y": 2}, + {"matrix": [3, 2], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [1, 2], "x": 3, "y": 2}, + {"matrix": [0, 2], "x": 4, "y": 2}, + {"matrix": [4, 3], "x": 0, "y": 3}, + {"matrix": [3, 3], "x": 1, "y": 3}, + {"matrix": [2, 3], "x": 2, "y": 3}, + {"matrix": [1, 3], "x": 3, "y": 3}, + {"matrix": [0, 3], "x": 4, "y": 3}, + {"matrix": [0, 4], "x": 5, "y": 3, "encoder": 0} + ] + }, + "LAYOUT_numpad": { + "layout": [ + {"matrix": [0, 4], "x": 3, "y": 0, "encoder": 0}, + {"matrix": [0, 0], "x": 0, "y": 1}, + {"matrix": [0, 1], "x": 1, "y": 1}, + {"matrix": [0, 2], "x": 2, "y": 1}, + {"matrix": [0, 3], "x": 3, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 3}, + {"matrix": [2, 1], "x": 1, "y": 3}, + {"matrix": [2, 2], "x": 2, "y": 3}, + {"matrix": [3, 0], "x": 0, "y": 4}, + {"matrix": [3, 1], "x": 1, "y": 4}, + {"matrix": [3, 2], "x": 2, "y": 4}, + {"matrix": [4, 3], "x": 3, "y": 4, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 5, "w": 2}, + {"matrix": [4, 2], "x": 2, "y": 5} + ] + }, + "LAYOUT_vert": { + "layout": [ + {"matrix": [0, 4], "x": 3, "y": 0, "encoder": 0}, + {"matrix": [0, 0], "x": 0, "y": 1}, + {"matrix": [0, 1], "x": 1, "y": 1}, + {"matrix": [0, 2], "x": 2, "y": 1}, + {"matrix": [0, 3], "x": 3, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 3}, + {"matrix": [2, 1], "x": 1, "y": 3}, + {"matrix": [2, 2], "x": 2, "y": 3}, + {"matrix": [2, 3], "x": 3, "y": 3}, + {"matrix": [3, 0], "x": 0, "y": 4}, + {"matrix": [3, 1], "x": 1, "y": 4}, + {"matrix": [3, 2], "x": 2, "y": 4}, + {"matrix": [3, 3], "x": 3, "y": 4}, + {"matrix": [4, 0], "x": 0, "y": 5}, + {"matrix": [4, 1], "x": 1, "y": 5}, + {"matrix": [4, 2], "x": 2, "y": 5}, + {"matrix": [4, 3], "x": 3, "y": 5} + ] + } + } +} diff --git a/keyboards/mechwild/bbpad/keymaps/default/keymap.json b/keyboards/mechwild/bbpad/keymaps/default/keymap.json new file mode 100644 index 00000000000..d0e924191b9 --- /dev/null +++ b/keyboards/mechwild/bbpad/keymaps/default/keymap.json @@ -0,0 +1,29 @@ +{ + "keyboard": "mechwild/bbpad/f401", + "keymap": "default", + "version": 1, + "layout": "LAYOUT_horiz", + "layers": [ + [ + "KC_P7", "KC_P8", "KC_P9", "KC_PSLS", "KC_CALC", + "KC_P4", "KC_P5", "KC_P6", "KC_PAST", "TG(1)", + "KC_P1", "KC_P2", "KC_P3", "KC_PPLS", "KC_BSPC", + "KC_P0", "KC_PDOT", "KC_NUM", "KC_PMNS", "KC_PENT", "KC_MUTE" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "RGB_RMOD", "KC_TRNS", "RGB_MOD", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_NUM", "RGB_TOG" + ] + ], + "config": { + "features": { + "encoder_map": true + } + }, + "encoders": [ + [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}], + [{"ccw": "RGB_VAD", "cw": "RGB_VAI"}] + ] +} diff --git a/keyboards/mechwild/bbpad/mcuconf.h b/keyboards/mechwild/bbpad/mcuconf.h new file mode 100644 index 00000000000..ea8856635de --- /dev/null +++ b/keyboards/mechwild/bbpad/mcuconf.h @@ -0,0 +1,10 @@ +// Copyright 2023 QMK Contributors (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +// WS2812 +#undef STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE diff --git a/keyboards/mechwild/bbpad/readme.md b/keyboards/mechwild/bbpad/readme.md new file mode 100644 index 00000000000..5655bc2ddea --- /dev/null +++ b/keyboards/mechwild/bbpad/readme.md @@ -0,0 +1,23 @@ +# BBPad + + + +A completely normal BlackPill-powered DIY numpad kit. + +The `f401` version is the standard for this kit, using an STM32F401 BlackPill. The `f411` version will not run on an STM32F401 BlackPill; if in doubt, use `f401`. + +* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery) +* Hardware Supported: BBPad 1.0 +* Hardware Availability: [BBPad on MechWild](https://mechwild.com/product/bbpad/) + +Make example for this keyboard (after setting up your build environment): + + make mechwild/bbpad/f401:default + make mechwild/bbpad/f411:default + +Flashing example for this keyboard: + + make mechwild/bbpad/f401:default:flash + make mechwild/bbpad/f411: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/mechwild/obe/f401/base/keyboard.json b/keyboards/mechwild/obe/f401/base/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/mechwild/obe/f401/base/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/mechwild/obe/f401/eeprom/keyboard.json b/keyboards/mechwild/obe/f401/eeprom/keyboard.json new file mode 100644 index 00000000000..12d3baee141 --- /dev/null +++ b/keyboards/mechwild/obe/f401/eeprom/keyboard.json @@ -0,0 +1,5 @@ +{ + "eeprom": { + "driver": "i2c" + } +} diff --git a/keyboards/mechwild/obe/f401/eeprom/rules.mk b/keyboards/mechwild/obe/f401/eeprom/rules.mk deleted file mode 100644 index 44adba039b5..00000000000 --- a/keyboards/mechwild/obe/f401/eeprom/rules.mk +++ /dev/null @@ -1 +0,0 @@ -EEPROM_DRIVER = i2c diff --git a/keyboards/mechwild/waka60/f401/keyboard.json b/keyboards/mechwild/obe/f401/info.json similarity index 100% rename from keyboards/mechwild/waka60/f401/keyboard.json rename to keyboards/mechwild/obe/f401/info.json diff --git a/keyboards/mechwild/obe/f401/rules.mk b/keyboards/mechwild/obe/f401/rules.mk new file mode 100644 index 00000000000..8709dbb4de3 --- /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/base/keyboard.json b/keyboards/mechwild/obe/f411/base/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/mechwild/obe/f411/base/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/mechwild/obe/f411/eeprom/keyboard.json b/keyboards/mechwild/obe/f411/eeprom/keyboard.json new file mode 100644 index 00000000000..12d3baee141 --- /dev/null +++ b/keyboards/mechwild/obe/f411/eeprom/keyboard.json @@ -0,0 +1,5 @@ +{ + "eeprom": { + "driver": "i2c" + } +} diff --git a/keyboards/mechwild/obe/f411/eeprom/rules.mk b/keyboards/mechwild/obe/f411/eeprom/rules.mk deleted file mode 100644 index 44adba039b5..00000000000 --- a/keyboards/mechwild/obe/f411/eeprom/rules.mk +++ /dev/null @@ -1 +0,0 @@ -EEPROM_DRIVER = i2c diff --git a/keyboards/mechwild/waka60/f411/keyboard.json b/keyboards/mechwild/obe/f411/info.json similarity index 100% rename from keyboards/mechwild/waka60/f411/keyboard.json rename to keyboards/mechwild/obe/f411/info.json diff --git a/keyboards/mechwild/obe/f411/rules.mk b/keyboards/mechwild/obe/f411/rules.mk new file mode 100644 index 00000000000..e24fe605094 --- /dev/null +++ b/keyboards/mechwild/obe/f411/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechwild/obe/f411/base diff --git a/keyboards/mechwild/obe/rules.mk b/keyboards/mechwild/obe/rules.mk index 8fb92c3a6b6..8709dbb4de3 100644 --- a/keyboards/mechwild/obe/rules.mk +++ b/keyboards/mechwild/obe/rules.mk @@ -1 +1 @@ -DEFAULT_FOLDER = mechwild/obe/f401 +DEFAULT_FOLDER = mechwild/obe/f401/base diff --git a/keyboards/mechwild/waka60/f401/base/keyboard.json b/keyboards/mechwild/waka60/f401/base/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/mechwild/waka60/f401/base/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/mechwild/waka60/f401/config.h b/keyboards/mechwild/waka60/f401/eeprom/config.h similarity index 100% rename from keyboards/mechwild/waka60/f401/config.h rename to keyboards/mechwild/waka60/f401/eeprom/config.h diff --git a/keyboards/mechwild/waka60/f401/eeprom/keyboard.json b/keyboards/mechwild/waka60/f401/eeprom/keyboard.json new file mode 100644 index 00000000000..12d3baee141 --- /dev/null +++ b/keyboards/mechwild/waka60/f401/eeprom/keyboard.json @@ -0,0 +1,5 @@ +{ + "eeprom": { + "driver": "i2c" + } +} diff --git a/keyboards/mechwild/waka60/f401/eeprom/rules.mk b/keyboards/mechwild/waka60/f401/eeprom/rules.mk deleted file mode 100644 index 44adba039b5..00000000000 --- a/keyboards/mechwild/waka60/f401/eeprom/rules.mk +++ /dev/null @@ -1 +0,0 @@ -EEPROM_DRIVER = i2c diff --git a/keyboards/mechwild/waka60/f401/info.json b/keyboards/mechwild/waka60/f401/info.json new file mode 100644 index 00000000000..797e9900595 --- /dev/null +++ b/keyboards/mechwild/waka60/f401/info.json @@ -0,0 +1,3 @@ +{ + "development_board": "blackpill_f401" +} diff --git a/keyboards/mechwild/waka60/f401/rules.mk b/keyboards/mechwild/waka60/f401/rules.mk new file mode 100644 index 00000000000..a0d74c14eb1 --- /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/base/keyboard.json b/keyboards/mechwild/waka60/f411/base/keyboard.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/keyboards/mechwild/waka60/f411/base/keyboard.json @@ -0,0 +1 @@ +{} diff --git a/keyboards/mechwild/waka60/f411/config.h b/keyboards/mechwild/waka60/f411/eeprom/config.h similarity index 100% rename from keyboards/mechwild/waka60/f411/config.h rename to keyboards/mechwild/waka60/f411/eeprom/config.h diff --git a/keyboards/mechwild/waka60/f411/eeprom/keyboard.json b/keyboards/mechwild/waka60/f411/eeprom/keyboard.json new file mode 100644 index 00000000000..12d3baee141 --- /dev/null +++ b/keyboards/mechwild/waka60/f411/eeprom/keyboard.json @@ -0,0 +1,5 @@ +{ + "eeprom": { + "driver": "i2c" + } +} diff --git a/keyboards/mechwild/waka60/f411/eeprom/rules.mk b/keyboards/mechwild/waka60/f411/eeprom/rules.mk deleted file mode 100644 index 44adba039b5..00000000000 --- a/keyboards/mechwild/waka60/f411/eeprom/rules.mk +++ /dev/null @@ -1 +0,0 @@ -EEPROM_DRIVER = i2c diff --git a/keyboards/mechwild/waka60/f411/info.json b/keyboards/mechwild/waka60/f411/info.json new file mode 100644 index 00000000000..a41c5f4dd14 --- /dev/null +++ b/keyboards/mechwild/waka60/f411/info.json @@ -0,0 +1,3 @@ +{ + "development_board": "blackpill_f411" +} diff --git a/keyboards/mechwild/waka60/f411/rules.mk b/keyboards/mechwild/waka60/f411/rules.mk new file mode 100644 index 00000000000..0dd69ff65f7 --- /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 index d3be506b167..a0d74c14eb1 100644 --- a/keyboards/mechwild/waka60/rules.mk +++ b/keyboards/mechwild/waka60/rules.mk @@ -1 +1 @@ -DEFAULT_FOLDER = mechwild/waka60/f401 +DEFAULT_FOLDER = mechwild/waka60/f401/base diff --git a/keyboards/meetlab/kalice/keyboard.json b/keyboards/meetlab/kalice/keyboard.json index 5cb46eb9cf5..5e53fe49049 100644 --- a/keyboards/meetlab/kalice/keyboard.json +++ b/keyboards/meetlab/kalice/keyboard.json @@ -44,77 +44,77 @@ "layouts": { "LAYOUT": { "layout": [ - {"matrix": [0, 0], "x": 0.45, "y": 0}, - {"matrix": [0, 1], "x": 1.75, "y": 0}, - {"matrix": [0, 2], "x": 2.75, "y": 0}, - {"matrix": [0, 3], "x": 3.75, "y": 0}, - {"matrix": [0, 4], "x": 4.75, "y": 0}, - {"matrix": [0, 5], "x": 5.75, "y": 0}, - {"matrix": [0, 6], "x": 6.75, "y": 0}, - {"matrix": [0, 7], "x": 7.75, "y": 0}, - {"matrix": [0, 8], "x": 8.75, "y": 0}, - {"matrix": [0, 9], "x": 9.75, "y": 0}, - {"matrix": [0, 10], "x": 10.75, "y": 0}, - {"matrix": [0, 11], "x": 11.75, "y": 0}, - {"matrix": [0, 12], "x": 12.75, "y": 0}, - {"matrix": [0, 13], "x": 13.75, "y": 0}, - {"matrix": [0, 14], "x": 14.75, "y": 0, "w": 2}, - {"matrix": [0, 15], "x": 16.75, "y": 0}, - {"matrix": [1, 0], "x": 0.3, "y": 1}, - {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [1, 2], "x": 3, "y": 1}, - {"matrix": [1, 3], "x": 4, "y": 1}, - {"matrix": [1, 4], "x": 5, "y": 1}, - {"matrix": [1, 5], "x": 6, "y": 1}, - {"matrix": [1, 6], "x": 7, "y": 1}, - {"matrix": [1, 7], "x": 8, "y": 1}, - {"matrix": [1, 8], "x": 9, "y": 1}, - {"matrix": [1, 9], "x": 10, "y": 1}, - {"matrix": [1, 10], "x": 11, "y": 1}, - {"matrix": [1, 11], "x": 12, "y": 1}, - {"matrix": [1, 12], "x": 13, "y": 1}, - {"matrix": [1, 13], "x": 14, "y": 1}, - {"matrix": [1, 14], "x": 15, "y": 1, "w": 1.5}, - {"matrix": [1, 15], "x": 16.5, "y": 1}, - {"matrix": [2, 0], "x": 0.15, "y": 2}, - {"matrix": [2, 1], "x": 1.4, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 3.15, "y": 2}, - {"matrix": [2, 3], "x": 4.15, "y": 2}, - {"matrix": [2, 4], "x": 5.15, "y": 2}, - {"matrix": [2, 5], "x": 6.15, "y": 2}, - {"matrix": [2, 6], "x": 7.15, "y": 2}, - {"matrix": [2, 7], "x": 8.15, "y": 2}, - {"matrix": [2, 8], "x": 9.15, "y": 2}, - {"matrix": [2, 9], "x": 10.15, "y": 2}, - {"matrix": [2, 10], "x": 11.15, "y": 2}, - {"matrix": [2, 11], "x": 12.15, "y": 2}, - {"matrix": [2, 12], "x": 13.15, "y": 2}, - {"matrix": [2, 13], "x": 14.15, "y": 2, "w": 2.25}, - {"matrix": [2, 15], "x": 16.4, "y": 2}, - {"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": 8.5, "y": 3}, - {"matrix": [3, 8], "x": 9.5, "y": 3}, - {"matrix": [3, 9], "x": 10.5, "y": 3}, - {"matrix": [3, 10], "x": 11.5, "y": 3}, - {"matrix": [3, 11], "x": 12.5, "y": 3}, - {"matrix": [3, 12], "x": 13.5, "y": 3}, - {"matrix": [3, 13], "x": 14.5, "y": 3, "w": 1.75}, - {"matrix": [3, 14], "x": 16.25, "y": 3}, - {"matrix": [4, 0], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 3.75, "y": 4, "w": 1.5}, - {"matrix": [4, 3], "x": 5.25, "y": 4, "w": 2.25}, - {"matrix": [4, 10], "x": 7.5, "y": 4, "w": 2.75}, - {"matrix": [4, 11], "x": 10.25, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 14, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 15.25, "y": 4}, - {"matrix": [4, 14], "x": 16.25, "y": 4}, - {"matrix": [4, 15], "x": 17.25, "y": 4} + {"matrix": [0, 0], "x": 0.3, "y": 0}, + {"matrix": [0, 1], "x": 1.6, "y": 0}, + {"matrix": [0, 2], "x": 2.6, "y": 0}, + {"matrix": [0, 3], "x": 3.6, "y": 0}, + {"matrix": [0, 4], "x": 4.6, "y": 0}, + {"matrix": [0, 5], "x": 5.6, "y": 0}, + {"matrix": [0, 6], "x": 6.6, "y": 0}, + {"matrix": [0, 7], "x": 7.6, "y": 0}, + {"matrix": [0, 8], "x": 8.6, "y": 0}, + {"matrix": [0, 9], "x": 9.6, "y": 0}, + {"matrix": [0, 10], "x": 10.6, "y": 0}, + {"matrix": [0, 11], "x": 11.6, "y": 0}, + {"matrix": [0, 12], "x": 12.6, "y": 0}, + {"matrix": [0, 13], "x": 13.6, "y": 0}, + {"matrix": [0, 14], "x": 14.6, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 16.6, "y": 0}, + {"matrix": [1, 0], "x": 0.15, "y": 1}, + {"matrix": [1, 1], "x": 1.35, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 2.85, "y": 1}, + {"matrix": [1, 3], "x": 3.85, "y": 1}, + {"matrix": [1, 4], "x": 4.85, "y": 1}, + {"matrix": [1, 5], "x": 5.85, "y": 1}, + {"matrix": [1, 6], "x": 6.85, "y": 1}, + {"matrix": [1, 7], "x": 7.85, "y": 1}, + {"matrix": [1, 8], "x": 8.85, "y": 1}, + {"matrix": [1, 9], "x": 9.85, "y": 1}, + {"matrix": [1, 10], "x": 10.85, "y": 1}, + {"matrix": [1, 11], "x": 11.85, "y": 1}, + {"matrix": [1, 12], "x": 12.85, "y": 1}, + {"matrix": [1, 13], "x": 13.85, "y": 1}, + {"matrix": [1, 14], "x": 14.85, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 16.35, "y": 1}, + {"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": 8, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11, "y": 2}, + {"matrix": [2, 11], "x": 12, "y": 2}, + {"matrix": [2, 12], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 14, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2}, + {"matrix": [3, 1], "x": 1.1, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.35, "y": 3}, + {"matrix": [3, 3], "x": 4.35, "y": 3}, + {"matrix": [3, 4], "x": 5.35, "y": 3}, + {"matrix": [3, 5], "x": 6.35, "y": 3}, + {"matrix": [3, 6], "x": 7.35, "y": 3}, + {"matrix": [3, 7], "x": 8.35, "y": 3}, + {"matrix": [3, 8], "x": 9.35, "y": 3}, + {"matrix": [3, 9], "x": 10.35, "y": 3}, + {"matrix": [3, 10], "x": 11.35, "y": 3}, + {"matrix": [3, 11], "x": 12.35, "y": 3}, + {"matrix": [3, 12], "x": 13.35, "y": 3}, + {"matrix": [3, 13], "x": 14.35, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 16.1, "y": 3}, + {"matrix": [4, 0], "x": 1.1, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 2.35, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 3.6, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 5.1, "y": 4, "w": 2.25}, + {"matrix": [4, 10], "x": 7.35, "y": 4, "w": 2.75}, + {"matrix": [4, 11], "x": 10.1, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13.85, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 15.1, "y": 4}, + {"matrix": [4, 14], "x": 16.1, "y": 4}, + {"matrix": [4, 15], "x": 17.1, "y": 4} ] } } diff --git a/keyboards/mehkee96/readme.md b/keyboards/mehkee96/readme.md index ff1a6e201a4..852061cc18d 100644 --- a/keyboards/mehkee96/readme.md +++ b/keyboards/mehkee96/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make mehkee96:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make mehkee96:default:flash diff --git a/keyboards/meletrix/zoom98/keyboard.json b/keyboards/meletrix/zoom98/keyboard.json index e58d80f216e..b7d56729503 100644 --- a/keyboards/meletrix/zoom98/keyboard.json +++ b/keyboards/meletrix/zoom98/keyboard.json @@ -78,17 +78,17 @@ { "matrix": [6, 2], "x": 0, "y": 3, "flags": 4 }, { "matrix": [8, 1], "x": 0, "y": 4, "flags": 4 }, { "matrix": [8, 2], "x": 0, "y": 4, "flags": 4 }, - { "matrix": [1, 8], "x": 20.5, "y": 0, "flags": 4 }, - { "matrix": [1, 7], "x": 20.5, "y": 0, "flags": 4 }, - { "matrix": [3, 8], "x": 20.5, "y": 1, "flags": 4 }, - { "matrix": [3, 7], "x": 20.5, "y": 1, "flags": 4 }, - { "matrix": [5, 8], "x": 20.5, "y": 2, "flags": 4 }, - { "matrix": [5, 7], "x": 20.5, "y": 2, "flags": 4 }, - { "matrix": [7, 8], "x": 20.5, "y": 3, "flags": 4 }, - { "matrix": [7, 7], "x": 20.5, "y": 3, "flags": 4 }, - { "matrix": [9, 8], "x": 20.5, "y": 4, "flags": 4 }, - { "matrix": [9, 7], "x": 20.5, "y": 4, "flags": 4 }, - { "matrix": [6, 0], "x": 0, "y": 3.25, "flags": 1 } + { "matrix": [1, 8], "x": 20, "y": 0, "flags": 4 }, + { "matrix": [1, 7], "x": 20, "y": 0, "flags": 4 }, + { "matrix": [3, 8], "x": 20, "y": 1, "flags": 4 }, + { "matrix": [3, 7], "x": 20, "y": 1, "flags": 4 }, + { "matrix": [5, 8], "x": 20, "y": 2, "flags": 4 }, + { "matrix": [5, 7], "x": 20, "y": 2, "flags": 4 }, + { "matrix": [7, 8], "x": 20, "y": 3, "flags": 4 }, + { "matrix": [7, 7], "x": 20, "y": 3, "flags": 4 }, + { "matrix": [9, 8], "x": 20, "y": 4, "flags": 4 }, + { "matrix": [9, 7], "x": 20, "y": 4, "flags": 4 }, + { "matrix": [6, 0], "x": 0, "y": 3, "flags": 1 } ] }, "matrix_pins": { diff --git a/keyboards/melgeek/mojo68/rev1/keyboard.json b/keyboards/melgeek/mojo68/rev1/keyboard.json index b97de4fbd2c..7f218392929 100755 --- a/keyboards/melgeek/mojo68/rev1/keyboard.json +++ b/keyboards/melgeek/mojo68/rev1/keyboard.json @@ -45,8 +45,6 @@ "hue_breathing": true, "hue_pendulum": true, "hue_wave": true, - "typing_heatmap": true, - "digital_rain": true, "solid_reactive_simple": true, "solid_reactive": true, "solid_reactive_wide": true, diff --git a/keyboards/meme/keyboard.json b/keyboards/meme/keyboard.json index 021c8f998ae..27acfc5a33f 100644 --- a/keyboards/meme/keyboard.json +++ b/keyboards/meme/keyboard.json @@ -33,8 +33,15 @@ }, "processor": "atmega32u2", "bootloader": "atmel-dfu", + "community_layouts": ["65_ansi", "65_ansi_split_bs", "65_ansi_blocker", "65_ansi_blocker_split_bs"], + "layout_aliases": { + "LAYOUT_normie": "LAYOUT_65_ansi", + "LAYOUT_spicy": "LAYOUT_65_ansi_split_bs", + "LAYOUT_dank": "LAYOUT_65_ansi_blocker", + "LAYOUT_meme": "LAYOUT_65_ansi_blocker_split_bs", + }, "layouts": { - "LAYOUT_spicy": { + "LAYOUT_65_ansi_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, @@ -111,7 +118,7 @@ {"matrix": [9, 7], "x": 15, "y": 4} ] }, - "LAYOUT_normie": { + "LAYOUT_65_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, @@ -187,7 +194,7 @@ {"matrix": [9, 7], "x": 15, "y": 4} ] }, - "LAYOUT_dank": { + "LAYOUT_65_ansi_blocker": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, @@ -262,7 +269,7 @@ {"matrix": [9, 7], "x": 15, "y": 4} ] }, - "LAYOUT_meme": { + "LAYOUT_65_ansi_blocker_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/meme/keymaps/default/keymap.c b/keyboards/meme/keymaps/default/keymap.c index c84ca220bde..ef7139235a9 100644 --- a/keyboards/meme/keymaps/default/keymap.c +++ b/keyboards/meme/keymaps/default/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_spicy( +[0] = LAYOUT_65_ansi_split_bs( 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_BSLS, KC_BSPC, KC_INS, 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_RCTL, 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, diff --git a/keyboards/merge/um80/keyboard.json b/keyboards/merge/um80/keyboard.json index 5a369877f88..1cbac749f7b 100644 --- a/keyboards/merge/um80/keyboard.json +++ b/keyboards/merge/um80/keyboard.json @@ -42,6 +42,9 @@ "sleep": true, "split_count": [48, 52] }, + "build": { + "lto": true + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/mmkeyboard/class60/soldered/config.h b/keyboards/mmkeyboard/class60/soldered/config.h new file mode 100644 index 00000000000..9db885042e5 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/config.h @@ -0,0 +1,28 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SOLENOID_PIN B3 +#define HAPTIC_ENABLE_PIN A15 +#define SOLENOID_DEFAULT_DWELL 4 +#define SOLENOID_MIN_DWELL 4 +#define SOLENOID_MAX_DWELL 45 +#define HAPTIC_OFF_IN_LOW_POWER 1 +#define NO_HAPTIC_MOD + +#define AUDIO_CLICKY +#define AUDIO_PIN A6 +#define AUDIO_PWM_DRIVER PWMD3 +#define AUDIO_PWM_CHANNEL 1 +#define AUDIO_STATE_TIMER GPTD4 +#define AUDIO_PIN_ALT_AS_NEGATIVE +#define AUDIO_PIN_ALT A13 +#define DEFAULT_LAYER_SONGS { \ + SONG(CAPS_LOCK_ON_SOUND), \ + SONG(CAPS_LOCK_OFF_SOUND), \ + SONG(NUM_LOCK_ON_SOUND), \ + SONG(NUM_LOCK_OFF_SOUND), \ + SONG(SCROLL_LOCK_ON_SOUND), \ + SONG(SCROLL_LOCK_OFF_SOUND) \ + } diff --git a/keyboards/mmkeyboard/class60/soldered/halconf.h b/keyboards/mmkeyboard/class60/soldered/halconf.h new file mode 100644 index 00000000000..71df21e3485 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_GPT TRUE +#define HAL_USE_PWM TRUE +#define HAL_USE_PAL TRUE + +#include_next diff --git a/keyboards/mmkeyboard/class60/soldered/keyboard.json b/keyboards/mmkeyboard/class60/soldered/keyboard.json new file mode 100644 index 00000000000..758299cf2b6 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/keyboard.json @@ -0,0 +1,961 @@ +{ + "manufacturer": "MMkeyboard", + "keyboard_name": "Class60", + "maintainer": "lexbrugman", + "bootloader": "uf2boot", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "features": { + "audio": true, + "bootmagic": true, + "extrakey": true, + "haptic": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "B9", + "num_lock": "B8", + "on_state": 0, + "scroll_lock": "B11" + }, + "matrix_pins": { + "cols": ["B1", "B0", "A7", "A1", "A2", "A3", "A4", "A5", "B12", "B13", "A10", "A9", "A8", "B14", "B15"], + "ghost": true, + "rows": ["B6", "B7", "C13", "B10", "C14", "B5"] + }, + "processor": "STM32F103", + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "url": "https://www.mmkeyboard.com/products/mm-class60-retro-custom-mechanical-keyboard", + "usb": { + "device_version": "0.0.1", + "force_nkro": true, + "pid": "0x3876", + "vid": "0x4F66" + }, + "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "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": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 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": [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": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "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, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "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": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "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": [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, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "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, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 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": [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": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "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, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 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": [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": 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, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 13], "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": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "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": [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, 14], "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, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "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": [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, 14], "x": 14, "y": 3}, + {"label": "GUI", "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, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 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": "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": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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": "GUI", "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, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "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": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "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": "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": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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": [3, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "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, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 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": "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": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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": "GUI", "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, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [5, 13], "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": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "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": "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": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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": [3, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "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, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 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": "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": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 13], "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": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "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": "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": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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": [3, 14], "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, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "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": [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, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "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, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_all": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "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": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "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": [3, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "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, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/mmkeyboard/class60/soldered/keymaps/default/keymap.c b/keyboards/mmkeyboard/class60/soldered/keymaps/default/keymap.c new file mode 100644 index 00000000000..29174fefa95 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +// Copyright 2023 QMK +// 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( + 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_NUBS, 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_HOME, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL + ), + + [_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_TRNS, + KC_TRNS, AU_ON, AU_OFF, CK_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, + KC_TRNS, CK_ON, CK_OFF, CK_UP, CK_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, HF_ON, HF_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_DOWN, KC_TRNS, KC_END, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT + ), + +}; diff --git a/keyboards/mmkeyboard/class60/soldered/keymaps/via/keymap.c b/keyboards/mmkeyboard/class60/soldered/keymaps/via/keymap.c new file mode 100644 index 00000000000..29174fefa95 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/keymaps/via/keymap.c @@ -0,0 +1,29 @@ +// Copyright 2023 QMK +// 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( + 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_NUBS, 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_HOME, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL + ), + + [_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_TRNS, + KC_TRNS, AU_ON, AU_OFF, CK_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, + KC_TRNS, CK_ON, CK_OFF, CK_UP, CK_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, HF_ON, HF_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_DOWN, KC_TRNS, KC_END, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT + ), + +}; diff --git a/keyboards/mmkeyboard/class60/soldered/keymaps/via/rules.mk b/keyboards/mmkeyboard/class60/soldered/keymaps/via/rules.mk new file mode 100644 index 00000000000..a6c50b73109 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes # Enable support for VIA diff --git a/keyboards/mmkeyboard/class60/soldered/mcuconf.h b/keyboards/mmkeyboard/class60/soldered/mcuconf.h new file mode 100644 index 00000000000..c2b46ff8156 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/mcuconf.h @@ -0,0 +1,24 @@ +/* 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_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_GPT_USE_TIM4 +#define STM32_GPT_USE_TIM4 TRUE diff --git a/keyboards/mmkeyboard/class60/soldered/readme.md b/keyboards/mmkeyboard/class60/soldered/readme.md new file mode 100644 index 00000000000..f403fc81976 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/readme.md @@ -0,0 +1,27 @@ +# Class60 + + + +The Class60 is a Leaf-spring/Top dual mounting 60% Keyboard that includes a buzzer and solenoid. + +* Keyboard Maintainer: [lexbrugman](https://github.com/lexbrugman) +* Hardware Supported: Class60 soldered PCB +* Hardware Availability: https://www.mmkeyboard.com/products/mm-class60-retro-custom-mechanical-keyboard + +Make example for this keyboard (after setting up your build environment): + + make mmkeyboard/class60/soldered:default + +Flashing example for this keyboard: + + make mmkeyboard/class60/soldered: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/mmkeyboard/class60/soldered/rules.mk b/keyboards/mmkeyboard/class60/soldered/rules.mk new file mode 100644 index 00000000000..3fd833e3a3d --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/rules.mk @@ -0,0 +1,2 @@ +HAPTIC_DRIVER = solenoid +AUDIO_DRIVER = pwm_software diff --git a/keyboards/mmkeyboard/class60/soldered/soldered.c b/keyboards/mmkeyboard/class60/soldered/soldered.c new file mode 100644 index 00000000000..2ed4ffaf4f1 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/soldered.c @@ -0,0 +1,42 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef AUDIO_ENABLE +float caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND); +float caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND); + +float num_on[][2] = SONG(NUM_LOCK_ON_SOUND); +float num_off[][2] = SONG(NUM_LOCK_OFF_SOUND); + +float scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND); +float scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND); + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res) { + led_update_ports(led_state); + + static uint8_t caps_state = 0; + if (caps_state != led_state.caps_lock) { + led_state.caps_lock ? PLAY_SONG(caps_on) : PLAY_SONG(caps_off); + caps_state = led_state.caps_lock; + } + + static uint8_t num_state = 0; + if (num_state != led_state.num_lock) { + led_state.num_lock ? PLAY_SONG(num_on) : PLAY_SONG(num_off); + num_state = led_state.num_lock; + } + + static uint8_t scroll_state = 0; + if (scroll_state != led_state.scroll_lock) { + led_state.scroll_lock ? PLAY_SONG(scroll_on) : PLAY_SONG(scroll_off); + scroll_state = led_state.scroll_lock; + } + } + + return res; +} +#endif diff --git a/keyboards/mntre_v3/keyboard.json b/keyboards/mntre_v3/keyboard.json index d9cee6aede8..e00fe1deb28 100644 --- a/keyboards/mntre_v3/keyboard.json +++ b/keyboards/mntre_v3/keyboard.json @@ -108,12 +108,12 @@ {"matrix": [5, 2], "x": 2.75, "y": 5, "w": 1.5}, {"matrix": [5, 3], "x": 4.25, "y": 5, "w": 1.5}, {"matrix": [5, 4], "x": 5.75, "y": 5,"w": 2}, - {"matrix": [5, 5], "x": 7.75, "y": 5,"w": 1.5}, - {"matrix": [5, 6], "x": 9.25, "y": 5}, - {"matrix": [5, 7], "x": 10.25, "y": 5}, - {"matrix": [5, 8], "x": 11.25, "y": 5}, - {"matrix": [5, 9], "x": 12.25, "y": 5}, - {"matrix": [5, 10], "x": 13.25, "y": 5,"w": 1.25} + {"matrix": [5, 6], "x": 7.75, "y": 5,"w": 1.5}, + {"matrix": [5, 7], "x": 9.25, "y": 5}, + {"matrix": [5, 8], "x": 10.25, "y": 5}, + {"matrix": [5, 9], "x": 11.25, "y": 5}, + {"matrix": [5, 10], "x": 12.25, "y": 5}, + {"matrix": [5, 11], "x": 13.25, "y": 5,"w": 1.25} ] } } diff --git a/keyboards/mode/m80v1/m80s/keyboard.json b/keyboards/mode/m80v1/m80s/keyboard.json index 27622de022b..25bfd3c70a7 100644 --- a/keyboards/mode/m80v1/m80s/keyboard.json +++ b/keyboards/mode/m80v1/m80s/keyboard.json @@ -29,8 +29,11 @@ "diode_direction": "COL2ROW", "processor": "STM32F072", "bootloader": "stm32-dfu", + "layout_aliases": { + "LAYOUT_eighty_m80s": "LAYOUT_tkl_ansi_split_bs_rshift" + }, "layouts": { - "LAYOUT_eighty_m80s": { + "LAYOUT_tkl_ansi_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/mode/m80v1/m80s/keymaps/default/keymap.c b/keyboards/mode/m80v1/m80s/keymaps/default/keymap.c index 8d13c6bb71a..bfb7ea3c4ca 100644 --- a/keyboards/mode/m80v1/m80s/keymaps/default/keymap.c +++ b/keyboards/mode/m80v1/m80s/keymaps/default/keymap.c @@ -23,7 +23,7 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_eighty_m80s( + [_BASE] = LAYOUT_tkl_ansi_split_bs_rshift( 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_BSPC, KC_MUTE, KC_VOLD, KC_VOLU, 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, @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [_FN1] = LAYOUT_eighty_m80s( + [_FN1] = LAYOUT_tkl_ansi_split_bs_rshift( 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, diff --git a/keyboards/mode/m80v1/m80s/keymaps/via/keymap.c b/keyboards/mode/m80v1/m80s/keymaps/via/keymap.c index ef862d3b523..6aca52256af 100644 --- a/keyboards/mode/m80v1/m80s/keymaps/via/keymap.c +++ b/keyboards/mode/m80v1/m80s/keymaps/via/keymap.c @@ -25,7 +25,7 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_eighty_m80s( + [_BASE] = LAYOUT_tkl_ansi_split_bs_rshift( 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_BSPC, KC_MUTE, KC_VOLD, KC_VOLU, 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, @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [_FN1] = LAYOUT_eighty_m80s( + [_FN1] = LAYOUT_tkl_ansi_split_bs_rshift( 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, @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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), - [_FN2] = LAYOUT_eighty_m80s( + [_FN2] = LAYOUT_tkl_ansi_split_bs_rshift( 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, @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - [_FN3] = LAYOUT_eighty_m80s( + [_FN3] = LAYOUT_tkl_ansi_split_bs_rshift( 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/mode/m80v2/m80v2s/keyboard.json b/keyboards/mode/m80v2/m80v2s/keyboard.json index 8ab060668c9..d8b4c8ee854 100644 --- a/keyboards/mode/m80v2/m80v2s/keyboard.json +++ b/keyboards/mode/m80v2/m80v2s/keyboard.json @@ -33,8 +33,11 @@ }, "processor": "STM32F072", "bootloader": "stm32-dfu", + "layout_aliases": { + "LAYOUT_m80v2s": "LAYOUT_tkl_ansi_split_bs_lshift_rshift" + }, "layouts": { - "LAYOUT_m80v2s": { + "LAYOUT_tkl_ansi_split_bs_lshift_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/mode/m80v2/m80v2s/keymaps/default/keymap.c b/keyboards/mode/m80v2/m80v2s/keymaps/default/keymap.c index 9a110cc2bcc..6b8a7d449b3 100755 --- a/keyboards/mode/m80v2/m80v2s/keymaps/default/keymap.c +++ b/keyboards/mode/m80v2/m80v2s/keymaps/default/keymap.c @@ -18,7 +18,7 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_m80v2s( + [0] = LAYOUT_tkl_ansi_split_bs_lshift_rshift( 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_BSPC, KC_MUTE, KC_VOLD , KC_VOLU , 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 , @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_BSLS, 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, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_m80v2s( + [1] = LAYOUT_tkl_ansi_split_bs_lshift_rshift( 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, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - [2] = LAYOUT_m80v2s( + [2] = LAYOUT_tkl_ansi_split_bs_lshift_rshift( 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, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - [3] = LAYOUT_m80v2s( + [3] = LAYOUT_tkl_ansi_split_bs_lshift_rshift( 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/mode/m80v2/m80v2s/keymaps/via/keymap.c b/keyboards/mode/m80v2/m80v2s/keymaps/via/keymap.c index 9a110cc2bcc..6b8a7d449b3 100755 --- a/keyboards/mode/m80v2/m80v2s/keymaps/via/keymap.c +++ b/keyboards/mode/m80v2/m80v2s/keymaps/via/keymap.c @@ -18,7 +18,7 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_m80v2s( + [0] = LAYOUT_tkl_ansi_split_bs_lshift_rshift( 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_BSPC, KC_MUTE, KC_VOLD , KC_VOLU , 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 , @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_BSLS, 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, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_m80v2s( + [1] = LAYOUT_tkl_ansi_split_bs_lshift_rshift( 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, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - [2] = LAYOUT_m80v2s( + [2] = LAYOUT_tkl_ansi_split_bs_lshift_rshift( 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, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - [3] = LAYOUT_m80v2s( + [3] = LAYOUT_tkl_ansi_split_bs_lshift_rshift( 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/moky/moky67/info.json b/keyboards/moky/moky67/keyboard.json similarity index 100% rename from keyboards/moky/moky67/info.json rename to keyboards/moky/moky67/keyboard.json diff --git a/keyboards/moky/moky67/rules.mk b/keyboards/moky/moky67/rules.mk deleted file mode 100644 index 7ff128fa692..00000000000 --- a/keyboards/moky/moky67/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/monsgeek/m5/m5.c b/keyboards/monsgeek/m5/m5.c index 3e1d752581c..5113e322a5a 100644 --- a/keyboards/monsgeek/m5/m5.c +++ b/keyboards/monsgeek/m5/m5.c @@ -157,6 +157,7 @@ void keyboard_pre_init_kb(void) { bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if (res) { + led_update_ports(led_state); gpio_write_pin(LED_WIN_LOCK_PIN, keymap_config.no_gui); } return res; diff --git a/keyboards/mt/mt40/readme.md b/keyboards/mt/mt40/readme.md index 632cefdb731..e24b856140c 100644 --- a/keyboards/mt/mt40/readme.md +++ b/keyboards/mt/mt40/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make mt/mt40:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make mt/mt40:default:flash diff --git a/keyboards/mt/mt64rgb/config.h b/keyboards/mt/mt64rgb/config.h index f69c778b8b6..ad034ceec8d 100644 --- a/keyboards/mt/mt64rgb/config.h +++ b/keyboards/mt/mt64rgb/config.h @@ -16,5 +16,3 @@ #pragma once #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND - -#define RGB_MATRIX_LED_COUNT 64 diff --git a/keyboards/mt/mt64rgb/keyboard.json b/keyboards/mt/mt64rgb/keyboard.json index 0858e85ecae..451be59f8f5 100644 --- a/keyboards/mt/mt64rgb/keyboard.json +++ b/keyboards/mt/mt64rgb/keyboard.json @@ -60,6 +60,76 @@ "solid_multisplash": true }, "driver": "is31fl3733", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"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": 216, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"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": 214, "y": 32, "flags": 1}, + + {"matrix": [3, 0], "x": 8, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 32, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 48, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 80, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 96, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 112, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 128, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 144, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 160, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 176, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 192, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 208, "y": 48, "flags": 4}, + {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 42, "y": 64, "flags": 1}, + {"matrix": [4, 5], "x": 102, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 160, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 176, "y": 64, "flags": 1}, + {"matrix": [4, 11], "x": 192, "y": 64, "flags": 4}, + {"matrix": [4, 12], "x": 208, "y": 64, "flags": 4}, + {"matrix": [4, 13], "x": 224, "y": 64, "flags": 4} + ], "led_flush_limit": 26, "led_process_limit": 20, "max_brightness": 160 diff --git a/keyboards/mt/mt64rgb/keymaps/default/keymap.c b/keyboards/mt/mt64rgb/keymaps/default/keymap.c index 7cff3be34c8..6c0d1a83fd7 100644 --- a/keyboards/mt/mt64rgb/keymaps/default/keymap.c +++ b/keyboards/mt/mt64rgb/keymaps/default/keymap.c @@ -37,9 +37,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; bool rgb_matrix_indicators_user(void) { - if (layer_state_is(1)) { - rgb_matrix_set_color(77,0xFF, 0x80, 0x00); - } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } diff --git a/keyboards/mt/mt64rgb/keymaps/via/keymap.c b/keyboards/mt/mt64rgb/keymaps/via/keymap.c index df4884a3a35..7340b89ebbb 100644 --- a/keyboards/mt/mt64rgb/keymaps/via/keymap.c +++ b/keyboards/mt/mt64rgb/keymaps/via/keymap.c @@ -34,9 +34,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; bool rgb_matrix_indicators_user(void) { - if (layer_state_is(1)) { - rgb_matrix_set_color(77,0xFF, 0x80, 0x00); - } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } diff --git a/keyboards/mt/mt64rgb/mt64rgb.c b/keyboards/mt/mt64rgb/mt64rgb.c index bcf26de2313..d08d87de46d 100644 --- a/keyboards/mt/mt64rgb/mt64rgb.c +++ b/keyboards/mt/mt64rgb/mt64rgb.c @@ -93,24 +93,4 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, SW10_CS10, SW11_CS10, SW12_CS10}, {0, SW10_CS15, SW11_CS15, SW12_CS15} }; - -led_config_t g_led_config = {{ - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, - { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 }, - { 28, 29, 30, 31, 32, 33, 34, 35, 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} -}, { - { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 216, 0 }, - { 4, 16 }, { 18, 16 }, { 34, 16 }, { 50, 16 }, { 66, 16 }, { 82, 16 }, { 98, 16 }, { 114, 16 }, { 130, 16 }, { 146, 16 }, { 162, 16 }, { 178, 16 }, { 194, 16 }, { 220, 16 }, - { 6, 32 }, { 20, 32 }, { 36, 32 }, { 52, 32 }, { 68, 32 }, { 84, 32 }, { 100, 32 }, { 116, 32 }, { 132, 32 }, { 148, 32 }, { 164, 32 }, { 180, 32 }, { 212, 32 }, - { 9, 48 }, { 27, 48 }, { 43, 48 }, { 59, 48 }, { 75, 48 }, { 91, 48 }, { 107, 48 }, { 123, 48 }, { 139, 48 }, { 155, 48 }, { 171, 48 }, { 187, 48 }, { 203, 48 }, { 219, 48 }, - { 2, 64 }, { 16, 64 }, { 32, 64 }, { 64, 64 }, { 114, 64 }, { 130, 64 }, { 146, 64 }, { 204, 64 }, { 224, 64 } -}, { - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 4, 1, 1, 4, 4, 4, -}}; #endif diff --git a/keyboards/mt/mt84/config.h b/keyboards/mt/mt84/config.h index 9b115d527d5..e2b30400a93 100644 --- a/keyboards/mt/mt84/config.h +++ b/keyboards/mt/mt84/config.h @@ -18,8 +18,6 @@ #define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND #define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_VCC -#define RGB_MATRIX_LED_COUNT 84 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/mt/mt84/keyboard.json b/keyboards/mt/mt84/keyboard.json index 8833f77ed98..fd03c2cf71f 100644 --- a/keyboards/mt/mt84/keyboard.json +++ b/keyboards/mt/mt84/keyboard.json @@ -57,6 +57,97 @@ "animation": "cycle_all" }, "driver": "is31fl3737", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 1}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 1}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 1}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 1}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 1}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 1}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 1}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 1}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 1}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 1}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 1}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 1}, + {"matrix": [0, 13], "x": 194, "y": 0, "flags": 1}, + {"matrix": [0, 14], "x": 209, "y": 0, "flags": 1}, + {"matrix": [4, 14], "x": 224, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 0, "y": 13, "flags": 1}, + {"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": 4}, + {"matrix": [1, 14], "x": 224, "y": 13, "flags": 1}, + + {"matrix": [2, 0], "x": 4, "y": 26, "flags": 1}, + {"matrix": [2, 1], "x": 22, "y": 26, "flags": 4}, + {"matrix": [2, 2], "x": 37, "y": 26, "flags": 4}, + {"matrix": [2, 3], "x": 52, "y": 26, "flags": 4}, + {"matrix": [2, 4], "x": 67, "y": 26, "flags": 4}, + {"matrix": [2, 5], "x": 82, "y": 26, "flags": 4}, + {"matrix": [2, 6], "x": 97, "y": 26, "flags": 4}, + {"matrix": [2, 7], "x": 112, "y": 26, "flags": 4}, + {"matrix": [2, 8], "x": 127, "y": 26, "flags": 4}, + {"matrix": [2, 9], "x": 142, "y": 26, "flags": 4}, + {"matrix": [2, 10], "x": 157, "y": 26, "flags": 4}, + {"matrix": [2, 11], "x": 172, "y": 26, "flags": 4}, + {"matrix": [2, 12], "x": 187, "y": 26, "flags": 4}, + {"matrix": [2, 13], "x": 205, "y": 26, "flags": 4}, + {"matrix": [2, 14], "x": 224, "y": 26, "flags": 1}, + + {"matrix": [3, 0], "x": 6, "y": 38, "flags": 1}, + {"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": 4}, + {"matrix": [3, 14], "x": 224, "y": 38, "flags": 1}, + + {"matrix": [4, 0], "x": 9, "y": 51, "flags": 1}, + {"matrix": [4, 1], "x": 34, "y": 51, "flags": 4}, + {"matrix": [4, 2], "x": 49, "y": 51, "flags": 4}, + {"matrix": [4, 3], "x": 63, "y": 51, "flags": 4}, + {"matrix": [4, 4], "x": 78, "y": 51, "flags": 4}, + {"matrix": [4, 5], "x": 93, "y": 51, "flags": 4}, + {"matrix": [4, 6], "x": 108, "y": 51, "flags": 4}, + {"matrix": [4, 7], "x": 123, "y": 51, "flags": 4}, + {"matrix": [4, 8], "x": 138, "y": 51, "flags": 4}, + {"matrix": [4, 9], "x": 153, "y": 51, "flags": 4}, + {"matrix": [4, 10], "x": 168, "y": 51, "flags": 4}, + {"matrix": [4, 11], "x": 189, "y": 51, "flags": 4}, + {"matrix": [4, 12], "x": 209, "y": 51, "flags": 4}, + {"matrix": [4, 13], "x": 224, "y": 51, "flags": 1}, + + {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [5, 1], "x": 21, "y": 64, "flags": 1}, + {"matrix": [5, 2], "x": 39, "y": 64, "flags": 1}, + {"matrix": [5, 5], "x": 95, "y": 64, "flags": 4}, + {"matrix": [5, 9], "x": 149, "y": 64, "flags": 1}, + {"matrix": [5, 10], "x": 164, "y": 64, "flags": 1}, + {"matrix": [5, 11], "x": 179, "y": 64, "flags": 1}, + {"matrix": [5, 12], "x": 194, "y": 64, "flags": 4}, + {"matrix": [5, 13], "x": 209, "y": 64, "flags": 4}, + {"matrix": [5, 14], "x": 224, "y": 64, "flags": 4} + ], "led_flush_limit": 26, "led_process_limit": 20, "max_brightness": 200 diff --git a/keyboards/mt/mt84/mt84.c b/keyboards/mt/mt84/mt84.c index 276c92fc065..1ac61e87c02 100644 --- a/keyboards/mt/mt84/mt84.c +++ b/keyboards/mt/mt84/mt84.c @@ -114,27 +114,4 @@ const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = { {1, SW4_CS10, SW5_CS10, SW6_CS10}, {1, SW7_CS10, SW8_CS10, SW9_CS10} }; - -led_config_t g_led_config = {{ - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, - { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, - { 30, 31, 32, 33, 34, 35, 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, 66, 67, 68, 69, 70, 71, 72, 73 }, - {74, 75, 76, 77, 78, 79, 80, 81, 82, 83 } -}, { - { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 195, 0 }, { 210, 0 }, { 224, 0 }, - { 0, 13 }, { 15, 13 }, { 30, 13 }, { 45, 13 }, { 60, 13 }, { 75, 13 }, { 90, 13 }, { 105, 13 }, { 120, 13 }, { 135, 13 }, { 150, 13 }, { 165, 13 }, { 180, 13 }, { 205, 13 }, { 224, 13 }, - { 3, 26 }, { 18, 26 }, { 33, 26 }, { 48, 26 }, { 63, 26 }, { 78, 26 }, { 93, 26 }, { 108, 26 }, { 123, 26 }, { 138, 26 }, { 153, 26 }, { 168, 26 }, { 183, 26 }, { 205, 26 },{ 224, 26 }, - { 6, 39 }, { 20, 39 }, { 36, 39 }, { 52, 39 }, { 68, 39 }, { 84, 39 }, { 100, 39 }, { 116, 39 }, { 132, 39 }, { 148, 39 }, { 164, 39 }, { 180, 39 }, { 212, 39 }, { 224, 39 }, - { 9, 52 }, { 27, 52 }, { 43, 52 }, { 59, 52 }, { 75, 52 }, { 91, 52 }, { 107, 52 }, { 123, 52 }, { 139, 52 }, { 155, 52 }, { 171, 52 }, { 187, 52 }, { 212, 52 }, { 224, 52 }, -{ 2, 64 }, { 18, 64 }, { 33, 64 }, { 93, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 } -}, { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 4, 1, 1, 1, 4, 4, 4, -}}; #endif diff --git a/keyboards/mt/split75/readme.md b/keyboards/mt/split75/readme.md index 360ad552398..68ecd81bf21 100644 --- a/keyboards/mt/split75/readme.md +++ b/keyboards/mt/split75/readme.md @@ -15,7 +15,7 @@ Make example for this keyboard (after setting up your build environment): make mt/split75:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make mt/split75:default:flash diff --git a/keyboards/mwstudio/mw75/keyboard.json b/keyboards/mwstudio/mw75/keyboard.json index d19d6b49ba1..d9e540bca44 100644 --- a/keyboards/mwstudio/mw75/keyboard.json +++ b/keyboards/mwstudio/mw75/keyboard.json @@ -38,8 +38,6 @@ "hue_wave": true, "pixel_fractal": true, "pixel_rain": true, - "typing_heatmap": true, - "digital_rain": true, "solid_reactive_simple": true, "solid_reactive": true, "solid_reactive_wide": true, diff --git a/keyboards/mwstudio/mw75/keymaps/default/keymap.c b/keyboards/mwstudio/mw75/keymaps/default/keymap.c index 12ac4ce74a4..1a7b9bf0677 100644 --- a/keyboards/mwstudio/mw75/keymaps/default/keymap.c +++ b/keyboards/mwstudio/mw75/keymaps/default/keymap.c @@ -36,23 +36,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, _______, _______, _______, _______, RGB_MOD, _______, RGB_SPD, RGB_VAD, RGB_SPI ), - - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - }; diff --git a/keyboards/mwstudio/mw75/keymaps/via/keymap.c b/keyboards/mwstudio/mw75/keymaps/via/keymap.c index 12ac4ce74a4..1a7b9bf0677 100644 --- a/keyboards/mwstudio/mw75/keymaps/via/keymap.c +++ b/keyboards/mwstudio/mw75/keymaps/via/keymap.c @@ -36,23 +36,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, _______, _______, _______, _______, RGB_MOD, _______, RGB_SPD, RGB_VAD, RGB_SPI ), - - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - }; diff --git a/keyboards/novelkeys/skelett40/keyboard.json b/keyboards/novelkeys/skelett40/keyboard.json new file mode 100755 index 00000000000..c8810bc5511 --- /dev/null +++ b/keyboards/novelkeys/skelett40/keyboard.json @@ -0,0 +1,72 @@ +{ + "manufacturer": "Yiancar-Designs", + "keyboard_name": "Skelett 40", + "maintainer": "Yiancar-Designs", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12"], + "rows": ["A2", "B9", "B8", "B5"] + }, + "processor": "STM32F072", + "url": "https://yiancar-designs.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x7337", + "vid": "0x8968" + }, + "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": [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": [1, 4], "x": 4.25, "y": 1}, + {"matrix": [1, 5], "x": 5.25, "y": 1}, + {"matrix": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 11], "x": 10.25, "y": 1, "w": 1.75}, + {"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, "w": 1.25}, + {"matrix": [2, 11], "x": 11, "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, "w": 1.25}, + {"matrix": [3, 3], "x": 3.5, "y": 3, "w": 2.25}, + {"matrix": [3, 6], "x": 5.75, "y": 3, "w": 2.75}, + {"matrix": [3, 9], "x": 8.5, "y": 3, "w": 1.25}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3, "w": 1.25} + ] + } + } +} diff --git a/keyboards/novelkeys/skelett40/keymaps/default/keymap.c b/keyboards/novelkeys/skelett40/keymaps/default/keymap.c new file mode 100644 index 00000000000..8bbb00ae6a7 --- /dev/null +++ b/keyboards/novelkeys/skelett40/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* 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( /* Base */ + QK_GESC, 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_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_APP, KC_RCTL), + +[1] = LAYOUT( /* FN1 */ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______), + +[2] = LAYOUT( /* FN2 */ + 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_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______) +}; diff --git a/keyboards/novelkeys/skelett40/keymaps/via/keymap.c b/keyboards/novelkeys/skelett40/keymaps/via/keymap.c new file mode 100644 index 00000000000..8bbb00ae6a7 --- /dev/null +++ b/keyboards/novelkeys/skelett40/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +/* 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( /* Base */ + QK_GESC, 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_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_APP, KC_RCTL), + +[1] = LAYOUT( /* FN1 */ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______), + +[2] = LAYOUT( /* FN2 */ + 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_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______) +}; diff --git a/keyboards/novelkeys/skelett40/keymaps/via/rules.mk b/keyboards/novelkeys/skelett40/keymaps/via/rules.mk new file mode 100755 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/novelkeys/skelett40/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/novelkeys/skelett40/readme.md b/keyboards/novelkeys/skelett40/readme.md new file mode 100755 index 00000000000..baa70096161 --- /dev/null +++ b/keyboards/novelkeys/skelett40/readme.md @@ -0,0 +1,36 @@ +# Skelett 40 + +This is a standard 40% layout PCB. It supports VIA. + +* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A 40% keyboard with STM32F072CB +* Hardware Availability: https://novelkeys.com/ + +## Instructions + +### Build + +Make example for this keyboard (after setting up your build environment): + + make novelkeys/skelett40:default + +Flashing example for this keyboard: + + make novelkeys/skelett40: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). + +### Reset + +- Unplug +- Hold Escape +- Plug In +- Unplug +- Release Escape + +### Flash + +- Unplug +- Hold Escape +- Plug In +- Flash using QMK Toolbox or CLI (`make novelkeys/skelett40::flash`) diff --git a/keyboards/novelkeys/skelett40/rules.mk b/keyboards/novelkeys/skelett40/rules.mk new file mode 100644 index 00000000000..0ab54aaaf71 --- /dev/null +++ b/keyboards/novelkeys/skelett40/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/novelkeys/skelett40/skelett40.c b/keyboards/novelkeys/skelett40/skelett40.c new file mode 100755 index 00000000000..be62d034398 --- /dev/null +++ b/keyboards/novelkeys/skelett40/skelett40.c @@ -0,0 +1,26 @@ +/* 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(B6); +} + +layer_state_t layer_state_set_kb(layer_state_t state) { + gpio_write_pin(B6, !layer_state_cmp(state, 1)); + return layer_state_set_user(state); +} diff --git a/keyboards/oddforge/vea/readme.md b/keyboards/oddforge/vea/readme.md index 872fb90d3ab..488f3cc1a21 100644 --- a/keyboards/oddforge/vea/readme.md +++ b/keyboards/oddforge/vea/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make oddforge/vea:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make oddforge/vea:default:flash diff --git a/keyboards/panc60/readme.md b/keyboards/panc60/readme.md index 52dcc4ccea1..e07ace93a10 100644 --- a/keyboards/panc60/readme.md +++ b/keyboards/panc60/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make panc60:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make panc60:default:flash diff --git a/keyboards/pearl/readme.md b/keyboards/pearl/readme.md index 1f78a5540a5..289e11b017f 100644 --- a/keyboards/pearl/readme.md +++ b/keyboards/pearl/readme.md @@ -11,7 +11,7 @@ Make example for this keyboard (after setting up your build environment): make pearl:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make pearl:default:flash diff --git a/keyboards/pearlboards/zeuspad/keyboard.json b/keyboards/pearlboards/zeuspad/keyboard.json index 6f67bd74b08..93e1e644332 100644 --- a/keyboards/pearlboards/zeuspad/keyboard.json +++ b/keyboards/pearlboards/zeuspad/keyboard.json @@ -61,8 +61,12 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "debounce": 0, + "community_layouts": ["numpad_6x4"], + "layout_aliases": { + "LAYOUT_all": "LAYOUT_ortho_6x4" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT_ortho_6x4": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -94,6 +98,36 @@ {"matrix": [5, 2], "x": 2, "y": 5.25}, {"matrix": [5, 3], "x": 3, "y": 5.25} ] + }, + "LAYOUT_numpad_6x4": { + "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.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": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.25}, + {"matrix": [2, 2], "x": 2, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25}, + {"matrix": [3, 1], "x": 1, "y": 3.25}, + {"matrix": [3, 2], "x": 2, "y": 3.25}, + {"matrix": [3, 3], "x": 3, "y": 2.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25}, + {"matrix": [4, 1], "x": 1, "y": 4.25}, + {"matrix": [4, 2], "x": 2, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 2}, + {"matrix": [5, 2], "x": 2, "y": 5.25}, + {"matrix": [5, 3], "x": 3, "y": 4.25, "h": 2} + ] } } } diff --git a/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c b/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c index 88c243cdc59..850c96237c4 100644 --- a/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c +++ b/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c @@ -18,7 +18,7 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT_ortho_6x4( LT(1, KC_ESC), KC_LCTL, KC_LALT, KC_MEDIA_PLAY_PAUSE, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_P7, KC_P8, KC_P9, KC_PPLS, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P1, KC_P2, KC_P3, KC_PENT, KC_P0, KC_P0, KC_PDOT, KC_PENT), - [1] = LAYOUT_all( + [1] = LAYOUT_ortho_6x4( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c b/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c index ee0165b28eb..d7489b34246 100644 --- a/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c +++ b/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c @@ -14,7 +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 + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -33,20 +33,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [2] = LAYOUT_all( - 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), - - [3] = LAYOUT_all( - 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/pearlboards/zeuspad/matrix_diagram.md b/keyboards/pearlboards/zeuspad/matrix_diagram.md new file mode 100644 index 00000000000..1dde3faef85 --- /dev/null +++ b/keyboards/pearlboards/zeuspad/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for Pearl Boards Zeuspad + +``` +┌───┬───┬───┬───┐ +│00 │01 │02 │03 │ +└───┴───┴───┴───┘ +┌───┬───┬───┬───┐ +│10 │11 │12 │13 │ +├───┼───┼───┼───┤┌───┐ +│20 │21 │22 │23 ││33 │ +├───┼───┼───┼───┤│ │ 2uh + +│30 │31 │32 │33 ││ │ +├───┼───┼───┼───┤├───┤ +│40 │41 │42 │43 ││53 │ +├───┼───┼───┼───┤│ │ 2uh Enter +│50 │51 │52 │53 ││ │ +└───┴───┴───┴───┘└───┘ +┌───────┐ +│50 │ 2u P0 +└───────┘ +``` \ No newline at end of file diff --git a/keyboards/percent/canoe/readme.md b/keyboards/percent/canoe/readme.md index a4a40939398..b5048e62d80 100644 --- a/keyboards/percent/canoe/readme.md +++ b/keyboards/percent/canoe/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make percent/canoe:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make percent/canoe:default:flash diff --git a/keyboards/percent/skog/readme.md b/keyboards/percent/skog/readme.md index 9f76110cde6..af2832220d5 100644 --- a/keyboards/percent/skog/readme.md +++ b/keyboards/percent/skog/readme.md @@ -8,7 +8,7 @@ Make example for this keyboard (after setting up your build environment): make percent/skog:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make percent/skog:default:flash diff --git a/keyboards/percent/skog_lite/readme.md b/keyboards/percent/skog_lite/readme.md index 72ca7972541..d40eec01fd2 100644 --- a/keyboards/percent/skog_lite/readme.md +++ b/keyboards/percent/skog_lite/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make percent/skog_lite:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make percent/skog_lite:default:flash diff --git a/keyboards/pimoroni/keybow2040/config.h b/keyboards/pimoroni/keybow2040/config.h new file mode 100644 index 00000000000..b21760e8f5c --- /dev/null +++ b/keyboards/pimoroni/keybow2040/config.h @@ -0,0 +1,17 @@ +// Copyright 2024 QMK Collaborators (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET + +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND + +#define I2C_DRIVER I2CD0 +#define I2C1_SDA_PIN GP4 +#define I2C1_SCL_PIN GP5 +#define I2C1_CLOCK_SPEED 100000 + +#ifdef RGB_MATRIX_ENABLE + #define RGB_MATRIX_SLEEP +#endif diff --git a/keyboards/pimoroni/keybow2040/halconf.h b/keyboards/pimoroni/keybow2040/halconf.h new file mode 100644 index 00000000000..2e59947ce88 --- /dev/null +++ b/keyboards/pimoroni/keybow2040/halconf.h @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/pimoroni/keybow2040/keyboard.json b/keyboards/pimoroni/keybow2040/keyboard.json new file mode 100644 index 00000000000..0057382e93e --- /dev/null +++ b/keyboards/pimoroni/keybow2040/keyboard.json @@ -0,0 +1,119 @@ +{ + "manufacturer": "Pimoroni", + "keyboard_name": "Keybow 2040", + "url": "https://shop.pimoroni.com/products/keybow-2040", + "maintainer": "fanf2", + "processor": "RP2040", + "bootloader": "rp2040", + "board": "GENERIC_RP_RP2040", + "features": { + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "usb": { + "device_version": "1.0.0", + "vid": "0x5069", + "pid": "0x4784" + }, + "rgb_matrix": { + "driver": "is31fl3731", + "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 + }, + "center_point": [112, 112], + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 150, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 75, "flags": 4}, + {"matrix": [1, 1], "x": 75, "y": 75, "flags": 4}, + {"matrix": [1, 2], "x": 150, "y": 75, "flags": 4}, + {"matrix": [1, 3], "x": 224, "y": 75, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 150, "flags": 4}, + {"matrix": [2, 1], "x": 75, "y": 150, "flags": 4}, + {"matrix": [2, 2], "x": 150, "y": 150, "flags": 4}, + {"matrix": [2, 3], "x": 224, "y": 150, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 224, "flags": 4}, + {"matrix": [3, 1], "x": 75, "y": 224, "flags": 4}, + {"matrix": [3, 2], "x": 150, "y": 224, "flags": 4}, + {"matrix": [3, 3], "x": 224, "y": 224, "flags": 4} + ] + }, + "matrix_pins": { + "direct": [ + ["GP18", "GP14", "GP10", "GP6"], + ["GP19", "GP15", "GP11", "GP7"], + ["GP20", "GP16", "GP12", "GP8"], + ["GP21", "GP17", "GP13", "GP9"], + ["GP23", null, null, null] + ] + }, + "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}, + {"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": [4, 0], "x": 0, "y": 4} + ] + } + } +} diff --git a/keyboards/pimoroni/keybow2040/keybow2040.c b/keyboards/pimoroni/keybow2040/keybow2040.c new file mode 100644 index 00000000000..5d101e1af34 --- /dev/null +++ b/keyboards/pimoroni/keybow2040/keybow2040.c @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { + /* driver, r, g, b */ + { 0, C8_9, C6_9, C7_9 }, // LEDB12 0,0 + { 0, C9_9, C3_9, C5_9 }, // LEDB11 1,0 + { 0, C8_1, C6_1, C7_1 }, // LEDA12 2,0 + { 0, C9_1, C3_1, C5_1 }, // LEDA11 3,0 + { 0, C8_10, C6_10, C7_10 }, // LEDB22 0,1 + { 0, C9_10, C3_10, C5_10 }, // LEDB21 1,1 + { 0, C8_2, C6_2, C7_2 }, // LEDA22 2,1 + { 0, C9_2, C3_2, C5_2 }, // LEDA21 3,1 + { 0, C8_11, C6_11, C7_11 }, // LEDB32 0,2 + { 0, C9_11, C2_10, C5_11 }, // LEDB31 1,2 + { 0, C8_3, C6_3, C7_3 }, // LEDA32 2,2 + { 0, C9_3, C2_2, C5_3 }, // LEDA31 3,2 + { 0, C8_12, C6_12, C7_12 }, // LEDB42 0,3 + { 0, C9_12, C2_11, C5_12 }, // LEDB41 1,3 + { 0, C8_4, C6_4, C7_4 }, // LEDA42 2,3 + { 0, C9_4, C2_3, C5_4 }, // LEDA41 3,3 +}; +#endif diff --git a/keyboards/pimoroni/keybow2040/keymaps/acc/keymap.json b/keyboards/pimoroni/keybow2040/keymaps/acc/keymap.json new file mode 100644 index 00000000000..f1dfc52a7eb --- /dev/null +++ b/keyboards/pimoroni/keybow2040/keymaps/acc/keymap.json @@ -0,0 +1,28 @@ +{ + "keyboard": "pimoroni/keybow2040", + "author": "willoucom", + "version": 1, + "keymap": "acc", + "config": { + "features": { + "via": true + } + }, + "layout": "LAYOUT", + "layers": [ + [ + "KC_F13", "KC_F14", "KC_F15", "KC_F16", + "KC_AUDIO_MUTE", "KC_AUDIO_VOL_DOWN", "KC_AUDIO_VOL_UP", "KC_AUDIO_MUTE", + "LSFT(KC_A)", "LSFT(KC_T)", "LSFT(KC_Y)", "LSFT(KC_B)", + "LCTL(KC_A)", "LCTL(KC_T)", "LCTL(KC_Y)", "LCTL(KC_B)", + "TO(1)" + ], + [ + "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", + "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", + "RGB_SAD", "RGB_SAI", "RGB_HUD", "RGB_HUI", + "KC_TRANSPARENT", "RGB_TOG", "RGB_RMOD", "RGB_MOD", + "TO(0)" + ] + ] +} diff --git a/keyboards/pimoroni/keybow2040/keymaps/default/keymap.json b/keyboards/pimoroni/keybow2040/keymaps/default/keymap.json new file mode 100644 index 00000000000..8f26d6c78fe --- /dev/null +++ b/keyboards/pimoroni/keybow2040/keymaps/default/keymap.json @@ -0,0 +1,23 @@ +{ + "keyboard": "pimoroni/keybow2040", + "author": "fanf2", + "version": 1, + "keymap": "default", + "layout": "LAYOUT", + "layers": [ + [ + "KC_F13", "KC_F14", "KC_F15", "KC_F16", + "KC_F17", "KC_F18", "KC_F19", "KC_F20", + "KC_HOME", "KC_UP", "KC_END", "KC_PGUP", + "KC_LEFT", "KC_DOWN", "KC_RIGHT","KC_PGDN", + "TO(1)" + ], + [ + "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", + "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", + "RGB_SAD", "RGB_SAI", "RGB_HUD", "RGB_HUI", + "KC_TRANSPARENT", "RGB_TOG", "RGB_RMOD", "RGB_MOD", + "TO(0)" + ] + ] +} diff --git a/keyboards/pimoroni/keybow2040/keymaps/via/keymap.json b/keyboards/pimoroni/keybow2040/keymaps/via/keymap.json new file mode 100644 index 00000000000..b6148a40a84 --- /dev/null +++ b/keyboards/pimoroni/keybow2040/keymaps/via/keymap.json @@ -0,0 +1,28 @@ +{ + "keyboard": "pimoroni/keybow2040", + "author": "fanf2", + "version": 1, + "keymap": "via", + "config": { + "features": { + "via": true + } + }, + "layout": "LAYOUT", + "layers": [ + [ + "KC_F13", "KC_F14", "KC_F15", "KC_F16", + "KC_F17", "KC_F18", "KC_F19", "KC_F20", + "KC_HOME", "KC_UP", "KC_END", "KC_PGUP", + "KC_LEFT", "KC_DOWN", "KC_RIGHT", "KC_PGDN", + "TO(1)" + ], + [ + "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", + "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", "KC_TRANSPARENT", + "RGB_SAD", "RGB_SAI", "RGB_HUD", "RGB_HUI", + "KC_TRANSPARENT", "RGB_TOG", "RGB_RMOD", "RGB_MOD", + "TO(0)" + ] + ] +} diff --git a/keyboards/pimoroni/keybow2040/mcuconf.h b/keyboards/pimoroni/keybow2040/mcuconf.h new file mode 100644 index 00000000000..9bfd480c7c6 --- /dev/null +++ b/keyboards/pimoroni/keybow2040/mcuconf.h @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#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 \ No newline at end of file diff --git a/keyboards/pimoroni/keybow2040/readme.md b/keyboards/pimoroni/keybow2040/readme.md new file mode 100644 index 00000000000..9dda1cae1a1 --- /dev/null +++ b/keyboards/pimoroni/keybow2040/readme.md @@ -0,0 +1,43 @@ +# Keybow 2040 + + + +The [Pimoroni Keybow 2040](https://shop.pimoroni.com/products/keybow-2040) is a 16 key mechanical macropad +controlled by a Raspberry Pi RP2040, with Kailh hot swap sockets and +per key RGB lighting, in a decorative FR4 sandwich. The Keybow 2040 is +also known by its codename Venus Dust, or its product codes of the +form PIM56x. + +* Original Keyboard Maintainer: [Tony Finch](https://github.com/fanf2) +* Keyboard Maintainer: [Wilfried Jeanniard](https://github.com/willoucom) and [Sandy Macdonald](https://github.com/sandyjmacdonald) +* Hardware Supported: Keybow 2040 +* Hardware Availability: [Pimoroni](https://shop.pimoroni.com/products/keybow-2040) + +## Usage + +The bootloader button is used to switch from one layer to another, the first layer is used for macros and shortcuts, while the second layer controls RGB lights. You can modify this behavior using the QMK configurator. + +## Build + +Make example for this keyboard (after setting up your build environment): + + make pimoroni/keybow2040:default + +Flashing example for this keyboard: + + make pimoroni/keybow2040: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**: Hold down BOOTSEL while pressing RESET +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/pixelspace/capsule65i/keyboard.json b/keyboards/pixelspace/capsule65i/keyboard.json index d08fd2e355e..f8c9dc9c1d1 100644 --- a/keyboards/pixelspace/capsule65i/keyboard.json +++ b/keyboards/pixelspace/capsule65i/keyboard.json @@ -10,8 +10,8 @@ }, "features": { "bootmagic": true, - "command": true, - "console": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -37,7 +37,6 @@ "knight": true, "christmas": true, "static_gradient": true, - "rgb_test": true, "alternating": true, "twinkle": true } diff --git a/keyboards/playkbtw/pk64rgb/config.h b/keyboards/playkbtw/pk64rgb/config.h index 76f02334b4d..e234999f2fc 100644 --- a/keyboards/playkbtw/pk64rgb/config.h +++ b/keyboards/playkbtw/pk64rgb/config.h @@ -17,5 +17,3 @@ #pragma once #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND - -#define RGB_MATRIX_LED_COUNT 64 diff --git a/keyboards/playkbtw/pk64rgb/keyboard.json b/keyboards/playkbtw/pk64rgb/keyboard.json index 1f200e2089f..81ac5be5963 100644 --- a/keyboards/playkbtw/pk64rgb/keyboard.json +++ b/keyboards/playkbtw/pk64rgb/keyboard.json @@ -12,7 +12,77 @@ "driver": "is31fl3733", "led_flush_limit": 26, "led_process_limit": 20, - "max_brightness": 160 + "max_brightness": 160, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"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": 216, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"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": 214, "y": 32, "flags": 1}, + + {"matrix": [3, 0], "x": 8, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 32, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 48, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 80, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 96, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 112, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 128, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 144, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 160, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 176, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 192, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 208, "y": 48, "flags": 4}, + {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 42, "y": 64, "flags": 1}, + {"matrix": [4, 5], "x": 102, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 160, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 176, "y": 64, "flags": 1}, + {"matrix": [4, 11], "x": 192, "y": 64, "flags": 4}, + {"matrix": [4, 12], "x": 208, "y": 64, "flags": 4}, + {"matrix": [4, 13], "x": 224, "y": 64, "flags": 4} + ] }, "build": { "lto": true diff --git a/keyboards/playkbtw/pk64rgb/pk64rgb.c b/keyboards/playkbtw/pk64rgb/pk64rgb.c index b745c82b9d5..e8ac5eb4e25 100644 --- a/keyboards/playkbtw/pk64rgb/pk64rgb.c +++ b/keyboards/playkbtw/pk64rgb/pk64rgb.c @@ -94,24 +94,4 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, SW10_CS10, SW11_CS10, SW12_CS10}, {0, SW10_CS15, SW11_CS15, SW12_CS15} }; - -led_config_t g_led_config = {{ - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, - { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 }, - { 28, 29, 30, 31, 32, 33, 34, 35, 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} -}, { - { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 216, 0 }, - { 4, 16 }, { 18, 16 }, { 34, 16 }, { 50, 16 }, { 66, 16 }, { 82, 16 }, { 98, 16 }, { 114, 16 }, { 130, 16 }, { 146, 16 }, { 162, 16 }, { 178, 16 }, { 194, 16 }, { 220, 16 }, - { 6, 32 }, { 20, 32 }, { 36, 32 }, { 52, 32 }, { 68, 32 }, { 84, 32 }, { 100, 32 }, { 116, 32 }, { 132, 32 }, { 148, 32 }, { 164, 32 }, { 180, 32 }, { 212, 32 }, - { 9, 48 }, { 27, 48 }, { 43, 48 }, { 59, 48 }, { 75, 48 }, { 91, 48 }, { 107, 48 }, { 123, 48 }, { 139, 48 }, { 155, 48 }, { 171, 48 }, { 187, 48 }, { 203, 48 }, { 219, 48 }, - { 2, 64 }, { 16, 64 }, { 32, 64 }, { 64, 64 }, { 114, 64 }, { 130, 64 }, { 146, 64 }, { 204, 64 }, { 224, 64 } -}, { - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 4, 1, 1, 4, 4, 4, -}}; #endif \ No newline at end of file diff --git a/keyboards/ploopyco/readme.md b/keyboards/ploopyco/readme.md index a468058ce04..b6eecf080e9 100644 --- a/keyboards/ploopyco/readme.md +++ b/keyboards/ploopyco/readme.md @@ -5,7 +5,7 @@ * [Trackball Mini](trackball_mini/) * [Trackball Nano](trackball_nano/) * [Trackball Thumb](trackball_thumb/) -* [Adept/Madromys](manromys/) +* [Adept/Madromys](madromys/) # Customizing your PloopyCo Device diff --git a/keyboards/projectd/65/projectd_65_ansi/keyboard.json b/keyboards/projectd/65/projectd_65_ansi/keyboard.json index 5d75389e2a0..32a95f965eb 100644 --- a/keyboards/projectd/65/projectd_65_ansi/keyboard.json +++ b/keyboards/projectd/65/projectd_65_ansi/keyboard.json @@ -118,43 +118,43 @@ { "flags": 4, "matrix": [7, 5], "x": 135, "y": 10 }, { "flags": 4, "matrix": [7, 3], "x": 150, "y": 10 }, { "flags": 1, "matrix": [2, 1], "x": 0, "y": 20 }, - { "flags": 4, "matrix": [1, 2], "x": 17.5, "y": 20 }, - { "flags": 4, "matrix": [2, 2], "x": 27.5, "y": 20 }, - { "flags": 4, "matrix": [3, 2], "x": 37.5, "y": 20 }, - { "flags": 4, "matrix": [4, 2], "x": 47.5, "y": 20 }, - { "flags": 4, "matrix": [4, 3], "x": 57.5, "y": 20 }, - { "flags": 4, "matrix": [5, 3], "x": 67.5, "y": 20 }, - { "flags": 4, "matrix": [5, 2], "x": 77.5, "y": 20 }, - { "flags": 4, "matrix": [6, 2], "x": 87.5, "y": 20 }, - { "flags": 4, "matrix": [7, 2], "x": 97.5, "y": 20 }, - { "flags": 4, "matrix": [8, 2], "x": 107.5, "y": 20 }, - { "flags": 4, "matrix": [8, 3], "x": 117.5, "y": 20 }, - { "flags": 4, "matrix": [8, 4], "x": 127.5, "y": 20 }, + { "flags": 4, "matrix": [1, 2], "x": 17, "y": 20 }, + { "flags": 4, "matrix": [2, 2], "x": 27, "y": 20 }, + { "flags": 4, "matrix": [3, 2], "x": 37, "y": 20 }, + { "flags": 4, "matrix": [4, 2], "x": 47, "y": 20 }, + { "flags": 4, "matrix": [4, 3], "x": 57, "y": 20 }, + { "flags": 4, "matrix": [5, 3], "x": 67, "y": 20 }, + { "flags": 4, "matrix": [5, 2], "x": 77, "y": 20 }, + { "flags": 4, "matrix": [6, 2], "x": 87, "y": 20 }, + { "flags": 4, "matrix": [7, 2], "x": 97, "y": 20 }, + { "flags": 4, "matrix": [8, 2], "x": 107, "y": 20 }, + { "flags": 4, "matrix": [8, 3], "x": 117, "y": 20 }, + { "flags": 4, "matrix": [8, 4], "x": 127, "y": 20 }, { "flags": 4, "matrix": [2, 6], "x": 150, "y": 20 }, { "flags": 4, "matrix": [0, 0], "x": 0, "y": 30 }, - { "flags": 4, "matrix": [1, 4], "x": 22.5, "y": 30 }, - { "flags": 4, "matrix": [2, 4], "x": 32.5, "y": 30 }, - { "flags": 4, "matrix": [3, 4], "x": 42.5, "y": 30 }, - { "flags": 4, "matrix": [4, 4], "x": 52.5, "y": 30 }, - { "flags": 4, "matrix": [4, 5], "x": 62.5, "y": 30 }, - { "flags": 4, "matrix": [5, 5], "x": 72.5, "y": 30 }, - { "flags": 4, "matrix": [5, 4], "x": 82.5, "y": 30 }, - { "flags": 4, "matrix": [6, 4], "x": 92.5, "y": 30 }, - { "flags": 4, "matrix": [7, 4], "x": 102.5, "y": 30 }, - { "flags": 4, "matrix": [8, 5], "x": 112.5, "y": 30 }, - { "flags": 4, "matrix": [0, 7], "x": 122.5, "y": 30 }, + { "flags": 4, "matrix": [1, 4], "x": 22, "y": 30 }, + { "flags": 4, "matrix": [2, 4], "x": 32, "y": 30 }, + { "flags": 4, "matrix": [3, 4], "x": 42, "y": 30 }, + { "flags": 4, "matrix": [4, 4], "x": 52, "y": 30 }, + { "flags": 4, "matrix": [4, 5], "x": 62, "y": 30 }, + { "flags": 4, "matrix": [5, 5], "x": 72, "y": 30 }, + { "flags": 4, "matrix": [5, 4], "x": 82, "y": 30 }, + { "flags": 4, "matrix": [6, 4], "x": 92, "y": 30 }, + { "flags": 4, "matrix": [7, 4], "x": 102, "y": 30 }, + { "flags": 4, "matrix": [8, 5], "x": 112, "y": 30 }, + { "flags": 4, "matrix": [0, 7], "x": 122, "y": 30 }, { "flags": 4, "matrix": [1, 6], "x": 140, "y": 30 }, { "flags": 4, "matrix": [6, 3], "x": 150, "y": 30 }, { "flags": 4, "matrix": [0, 6], "x": 0, "y": 40 }, - { "flags": 4, "matrix": [0, 5], "x": 12.5, "y": 40 }, + { "flags": 4, "matrix": [0, 5], "x": 12, "y": 40 }, { "flags": 4, "matrix": [0, 2], "x": 25, "y": 40 }, - { "flags": 4, "x": 61.5, "y": 40 }, - { "flags": 4, "x": 62.5, "y": 40 }, + { "flags": 4, "x": 61, "y": 40 }, + { "flags": 4, "x": 62, "y": 40 }, { "flags": 4, "matrix": [0, 1], "x": 65, "y": 40 }, - { "flags": 4, "x": 67.5, "y": 40 }, - { "flags": 4, "x": 68.5, "y": 40 }, + { "flags": 4, "x": 67, "y": 40 }, + { "flags": 4, "x": 68, "y": 40 }, { "flags": 4, "matrix": [3, 6], "x": 100, "y": 40 }, - { "flags": 4, "matrix": [3, 3], "x": 112.5, "y": 40 }, + { "flags": 4, "matrix": [3, 3], "x": 112, "y": 40 }, { "flags": 4, "matrix": [0, 3], "x": 130, "y": 40 }, { "flags": 4, "matrix": [1, 5], "x": 140, "y": 40 }, { "flags": 4, "matrix": [2, 5], "x": 150, "y": 40 } diff --git a/keyboards/projectd/75/ansi/keyboard.json b/keyboards/projectd/75/ansi/keyboard.json index 2296c639373..d94db22bfc0 100644 --- a/keyboards/projectd/75/ansi/keyboard.json +++ b/keyboards/projectd/75/ansi/keyboard.json @@ -88,97 +88,97 @@ "driver": "aw20216s", "layout": [ { "flags": 4, "matrix": [1, 3], "x": 0, "y": 0 }, - { "flags": 4, "matrix": [2, 6], "x": 12.5, "y": 0 }, - { "flags": 4, "matrix": [3, 6], "x": 22.5, "y": 0 }, - { "flags": 4, "matrix": [3, 1], "x": 32.5, "y": 0 }, - { "flags": 4, "matrix": [3, 3], "x": 42.5, "y": 0 }, + { "flags": 4, "matrix": [2, 6], "x": 12, "y": 0 }, + { "flags": 4, "matrix": [3, 6], "x": 22, "y": 0 }, + { "flags": 4, "matrix": [3, 1], "x": 32, "y": 0 }, + { "flags": 4, "matrix": [3, 3], "x": 42, "y": 0 }, { "flags": 4, "matrix": [0, 7], "x": 55, "y": 0 }, { "flags": 4, "matrix": [6, 3], "x": 65, "y": 0 }, { "flags": 4, "matrix": [7, 1], "x": 75, "y": 0 }, { "flags": 4, "matrix": [7, 6], "x": 85, "y": 0 }, - { "flags": 4, "matrix": [10, 6], "x": 97.5, "y": 0 }, - { "flags": 4, "matrix": [10, 7], "x": 107.5, "y": 0 }, - { "flags": 4, "matrix": [10, 3], "x": 117.5, "y": 0 }, - { "flags": 4, "matrix": [10, 5], "x": 127.5, "y": 0 }, + { "flags": 4, "matrix": [10, 6], "x": 97, "y": 0 }, + { "flags": 4, "matrix": [10, 7], "x": 107, "y": 0 }, + { "flags": 4, "matrix": [10, 3], "x": 117, "y": 0 }, + { "flags": 4, "matrix": [10, 5], "x": 127, "y": 0 }, { "flags": 4, "matrix": [9, 7], "x": 140, "y": 0 }, { "flags": 4, "matrix": [6, 5], "x": 155, "y": 0 }, - { "flags": 4, "matrix": [1, 6], "x": 0, "y": 12.5 }, - { "flags": 4, "matrix": [1, 7], "x": 10, "y": 12.5 }, - { "flags": 4, "matrix": [2, 7], "x": 20, "y": 12.5 }, - { "flags": 4, "matrix": [3, 7], "x": 30, "y": 12.5 }, - { "flags": 4, "matrix": [4, 7], "x": 40, "y": 12.5 }, - { "flags": 4, "matrix": [4, 6], "x": 50, "y": 12.5 }, - { "flags": 4, "matrix": [5, 6], "x": 60, "y": 12.5 }, - { "flags": 4, "matrix": [5, 7], "x": 70, "y": 12.5 }, - { "flags": 4, "matrix": [6, 7], "x": 80, "y": 12.5 }, - { "flags": 4, "matrix": [7, 7], "x": 90, "y": 12.5 }, - { "flags": 4, "matrix": [8, 7], "x": 100, "y": 12.5 }, - { "flags": 4, "matrix": [8, 6], "x": 110, "y": 12.5 }, - { "flags": 4, "matrix": [6, 6], "x": 120, "y": 12.5 }, - { "flags": 4, "matrix": [10, 1], "x": 130, "y": 12.5 }, - { "flags": 4, "matrix": [0, 2], "x": 155, "y": 12.5 }, + { "flags": 4, "matrix": [1, 6], "x": 0, "y": 12 }, + { "flags": 4, "matrix": [1, 7], "x": 10, "y": 12 }, + { "flags": 4, "matrix": [2, 7], "x": 20, "y": 12 }, + { "flags": 4, "matrix": [3, 7], "x": 30, "y": 12 }, + { "flags": 4, "matrix": [4, 7], "x": 40, "y": 12 }, + { "flags": 4, "matrix": [4, 6], "x": 50, "y": 12 }, + { "flags": 4, "matrix": [5, 6], "x": 60, "y": 12 }, + { "flags": 4, "matrix": [5, 7], "x": 70, "y": 12 }, + { "flags": 4, "matrix": [6, 7], "x": 80, "y": 12 }, + { "flags": 4, "matrix": [7, 7], "x": 90, "y": 12 }, + { "flags": 4, "matrix": [8, 7], "x": 100, "y": 12 }, + { "flags": 4, "matrix": [8, 6], "x": 110, "y": 12 }, + { "flags": 4, "matrix": [6, 6], "x": 120, "y": 12 }, + { "flags": 4, "matrix": [10, 1], "x": 130, "y": 12 }, + { "flags": 4, "matrix": [0, 2], "x": 155, "y": 12 }, - { "flags": 4, "matrix": [1, 1], "x": 0, "y": 22.5 }, - { "flags": 4, "matrix": [1, 0], "x": 15, "y": 22.5 }, - { "flags": 4, "matrix": [2, 0], "x": 25, "y": 22.5 }, - { "flags": 4, "matrix": [3, 0], "x": 35, "y": 22.5 }, - { "flags": 4, "matrix": [4, 0], "x": 45, "y": 22.5 }, - { "flags": 4, "matrix": [4, 1], "x": 55, "y": 22.5 }, - { "flags": 4, "matrix": [5, 1], "x": 65, "y": 22.5 }, - { "flags": 4, "matrix": [5, 0], "x": 75, "y": 22.5 }, - { "flags": 4, "matrix": [6, 0], "x": 85, "y": 22.5 }, - { "flags": 4, "matrix": [7, 0], "x": 95, "y": 22.5 }, - { "flags": 4, "matrix": [8, 0], "x": 105, "y": 22.5 }, - { "flags": 4, "matrix": [8, 1], "x": 115, "y": 22.5 }, - { "flags": 4, "matrix": [6, 1], "x": 125, "y": 22.5 }, - { "flags": 4, "matrix": [10, 2], "x": 135, "y": 22.5 }, - { "flags": 4, "matrix": [1, 5], "x": 155, "y": 22.5 }, + { "flags": 4, "matrix": [1, 1], "x": 0, "y": 22 }, + { "flags": 4, "matrix": [1, 0], "x": 15, "y": 22 }, + { "flags": 4, "matrix": [2, 0], "x": 25, "y": 22 }, + { "flags": 4, "matrix": [3, 0], "x": 35, "y": 22 }, + { "flags": 4, "matrix": [4, 0], "x": 45, "y": 22 }, + { "flags": 4, "matrix": [4, 1], "x": 55, "y": 22 }, + { "flags": 4, "matrix": [5, 1], "x": 65, "y": 22 }, + { "flags": 4, "matrix": [5, 0], "x": 75, "y": 22 }, + { "flags": 4, "matrix": [6, 0], "x": 85, "y": 22 }, + { "flags": 4, "matrix": [7, 0], "x": 95, "y": 22 }, + { "flags": 4, "matrix": [8, 0], "x": 105, "y": 22 }, + { "flags": 4, "matrix": [8, 1], "x": 115, "y": 22 }, + { "flags": 4, "matrix": [6, 1], "x": 125, "y": 22 }, + { "flags": 4, "matrix": [10, 2], "x": 135, "y": 22 }, + { "flags": 4, "matrix": [1, 5], "x": 155, "y": 22 }, - { "flags": 8, "matrix": [2, 1], "x": 0, "y": 32.5 }, - { "flags": 4, "matrix": [1, 2], "x": 17.5, "y": 32.5 }, - { "flags": 4, "matrix": [2, 2], "x": 27.5, "y": 32.5 }, - { "flags": 4, "matrix": [3, 2], "x": 37.5, "y": 32.5 }, - { "flags": 4, "matrix": [4, 2], "x": 47.5, "y": 32.5 }, - { "flags": 4, "matrix": [4, 3], "x": 57.5, "y": 32.5 }, - { "flags": 4, "matrix": [5, 3], "x": 67.5, "y": 32.5 }, - { "flags": 4, "matrix": [5, 2], "x": 77.5, "y": 32.5 }, - { "flags": 4, "matrix": [6, 2], "x": 87.5, "y": 32.5 }, - { "flags": 4, "matrix": [7, 2], "x": 97.5, "y": 32.5 }, - { "flags": 4, "matrix": [8, 2], "x": 107.5, "y": 32.5 }, - { "flags": 4, "matrix": [8, 3], "x": 117.5, "y": 32.5 }, - { "flags": 4, "matrix": [10, 4], "x": 127.5, "y": 32.5 }, - { "flags": 4, "matrix": [2, 5], "x": 155, "y": 32.5 }, + { "flags": 8, "matrix": [2, 1], "x": 0, "y": 32 }, + { "flags": 4, "matrix": [1, 2], "x": 17, "y": 32 }, + { "flags": 4, "matrix": [2, 2], "x": 27, "y": 32 }, + { "flags": 4, "matrix": [3, 2], "x": 37, "y": 32 }, + { "flags": 4, "matrix": [4, 2], "x": 47, "y": 32 }, + { "flags": 4, "matrix": [4, 3], "x": 57, "y": 32 }, + { "flags": 4, "matrix": [5, 3], "x": 67, "y": 32 }, + { "flags": 4, "matrix": [5, 2], "x": 77, "y": 32 }, + { "flags": 4, "matrix": [6, 2], "x": 87, "y": 32 }, + { "flags": 4, "matrix": [7, 2], "x": 97, "y": 32 }, + { "flags": 4, "matrix": [8, 2], "x": 107, "y": 32 }, + { "flags": 4, "matrix": [8, 3], "x": 117, "y": 32 }, + { "flags": 4, "matrix": [10, 4], "x": 127, "y": 32 }, + { "flags": 4, "matrix": [2, 5], "x": 155, "y": 32 }, - { "flags": 4, "matrix": [0, 0], "x": 0, "y": 42.5 }, - { "flags": 4, "matrix": [1, 4], "x": 22.5, "y": 42.5 }, - { "flags": 4, "matrix": [2, 4], "x": 32.5, "y": 42.5 }, - { "flags": 4, "matrix": [3, 4], "x": 42.5, "y": 42.5 }, - { "flags": 4, "matrix": [4, 4], "x": 52.5, "y": 42.5 }, - { "flags": 4, "matrix": [4, 5], "x": 62.5, "y": 42.5 }, - { "flags": 4, "matrix": [5, 5], "x": 72.5, "y": 42.5 }, - { "flags": 4, "matrix": [5, 4], "x": 82.5, "y": 42.5 }, - { "flags": 4, "matrix": [6, 4], "x": 92.5, "y": 42.5 }, - { "flags": 4, "matrix": [7, 4], "x": 102.5, "y": 42.5 }, - { "flags": 4, "matrix": [8, 5], "x": 112.5, "y": 42.5 }, - { "flags": 4, "matrix": [9, 1], "x": 122.5, "y": 42.5 }, - { "flags": 4, "matrix": [3, 5], "x": 142.5, "y": 45 }, - { "flags": 4, "matrix": [7, 5], "x": 155, "y": 42.5 }, + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 42 }, + { "flags": 4, "matrix": [1, 4], "x": 22, "y": 42 }, + { "flags": 4, "matrix": [2, 4], "x": 32, "y": 42 }, + { "flags": 4, "matrix": [3, 4], "x": 42, "y": 42 }, + { "flags": 4, "matrix": [4, 4], "x": 52, "y": 42 }, + { "flags": 4, "matrix": [4, 5], "x": 62, "y": 42 }, + { "flags": 4, "matrix": [5, 5], "x": 72, "y": 42 }, + { "flags": 4, "matrix": [5, 4], "x": 82, "y": 42 }, + { "flags": 4, "matrix": [6, 4], "x": 92, "y": 42 }, + { "flags": 4, "matrix": [7, 4], "x": 102, "y": 42 }, + { "flags": 4, "matrix": [8, 5], "x": 112, "y": 42 }, + { "flags": 4, "matrix": [9, 1], "x": 122, "y": 42 }, + { "flags": 4, "matrix": [3, 5], "x": 142, "y": 45 }, + { "flags": 4, "matrix": [7, 5], "x": 155, "y": 42 }, - { "flags": 4, "matrix": [0, 6], "x": 0, "y": 52.5 }, - { "flags": 4, "matrix": [9, 0], "x": 12.5, "y": 52.5 }, - { "flags": 4, "matrix": [9, 3], "x": 25, "y": 52.5 }, - { "flags": 4, "x": 61.5, "y": 52.5 }, - { "flags": 4, "x": 62.5, "y": 52.5 }, - { "flags": 4, "matrix": [9, 4], "x": 65, "y": 52.5 }, - { "flags": 4, "x": 67.5, "y": 52.5 }, - { "flags": 4, "x": 68.5, "y": 52.5 }, - { "flags": 4, "matrix": [9, 5], "x": 100, "y": 52.5 }, - { "flags": 4, "matrix": [9, 2], "x": 110, "y": 52.5 }, - { "flags": 4, "matrix": [0, 4], "x": 120, "y": 52.5 }, - { "flags": 4, "matrix": [0, 3], "x": 132.5, "y": 52.5 }, - { "flags": 4, "matrix": [7, 3], "x": 142.5, "y": 52.5 }, - { "flags": 4, "matrix": [0, 5], "x": 152.5, "y": 52.5 } + { "flags": 4, "matrix": [0, 6], "x": 0, "y": 52 }, + { "flags": 4, "matrix": [9, 0], "x": 12, "y": 52 }, + { "flags": 4, "matrix": [9, 3], "x": 25, "y": 52 }, + { "flags": 4, "x": 61, "y": 52 }, + { "flags": 4, "x": 62, "y": 52 }, + { "flags": 4, "matrix": [9, 4], "x": 65, "y": 52 }, + { "flags": 4, "x": 67, "y": 52 }, + { "flags": 4, "x": 68, "y": 52 }, + { "flags": 4, "matrix": [9, 5], "x": 100, "y": 52 }, + { "flags": 4, "matrix": [9, 2], "x": 110, "y": 52 }, + { "flags": 4, "matrix": [0, 4], "x": 120, "y": 52 }, + { "flags": 4, "matrix": [0, 3], "x": 132, "y": 52 }, + { "flags": 4, "matrix": [7, 3], "x": 142, "y": 52 }, + { "flags": 4, "matrix": [0, 5], "x": 152, "y": 52 } ], "sleep": true }, diff --git a/keyboards/projectd/75/iso/info.json b/keyboards/projectd/75/iso/keyboard.json similarity index 64% rename from keyboards/projectd/75/iso/info.json rename to keyboards/projectd/75/iso/keyboard.json index d8615000316..d42e8c4b339 100644 --- a/keyboards/projectd/75/iso/info.json +++ b/keyboards/projectd/75/iso/keyboard.json @@ -82,98 +82,98 @@ "sleep": true, "layout": [ { "flags": 4, "matrix": [1, 3], "x": 0, "y": 0 }, - { "flags": 4, "matrix": [2, 6], "x": 12.5, "y": 0 }, - { "flags": 4, "matrix": [3, 6], "x": 22.5, "y": 0 }, - { "flags": 4, "matrix": [3, 1], "x": 32.5, "y": 0 }, - { "flags": 4, "matrix": [3, 3], "x": 42.5, "y": 0 }, + { "flags": 4, "matrix": [2, 6], "x": 12, "y": 0 }, + { "flags": 4, "matrix": [3, 6], "x": 22, "y": 0 }, + { "flags": 4, "matrix": [3, 1], "x": 32, "y": 0 }, + { "flags": 4, "matrix": [3, 3], "x": 42, "y": 0 }, { "flags": 4, "matrix": [0, 7], "x": 55, "y": 0 }, { "flags": 4, "matrix": [6, 3], "x": 65, "y": 0 }, { "flags": 4, "matrix": [7, 1], "x": 75, "y": 0 }, { "flags": 4, "matrix": [7, 6], "x": 85, "y": 0 }, - { "flags": 4, "matrix": [10, 6], "x": 97.5, "y": 0 }, - { "flags": 4, "matrix": [10, 7], "x": 107.5, "y": 0 }, - { "flags": 4, "matrix": [10, 3], "x": 117.5, "y": 0 }, - { "flags": 4, "matrix": [10, 5], "x": 127.5, "y": 0 }, + { "flags": 4, "matrix": [10, 6], "x": 97, "y": 0 }, + { "flags": 4, "matrix": [10, 7], "x": 107, "y": 0 }, + { "flags": 4, "matrix": [10, 3], "x": 117, "y": 0 }, + { "flags": 4, "matrix": [10, 5], "x": 127, "y": 0 }, { "flags": 4, "matrix": [9, 7], "x": 140, "y": 0 }, { "flags": 4, "matrix": [6, 5], "x": 155, "y": 0 }, - { "flags": 4, "matrix": [1, 6], "x": 0, "y": 12.5 }, - { "flags": 4, "matrix": [1, 7], "x": 10, "y": 12.5 }, - { "flags": 4, "matrix": [2, 7], "x": 20, "y": 12.5 }, - { "flags": 4, "matrix": [3, 7], "x": 30, "y": 12.5 }, - { "flags": 4, "matrix": [4, 7], "x": 40, "y": 12.5 }, - { "flags": 4, "matrix": [4, 6], "x": 50, "y": 12.5 }, - { "flags": 4, "matrix": [5, 6], "x": 60, "y": 12.5 }, - { "flags": 4, "matrix": [5, 7], "x": 70, "y": 12.5 }, - { "flags": 4, "matrix": [6, 7], "x": 80, "y": 12.5 }, - { "flags": 4, "matrix": [7, 7], "x": 90, "y": 12.5 }, - { "flags": 4, "matrix": [8, 7], "x": 100, "y": 12.5 }, - { "flags": 4, "matrix": [8, 6], "x": 110, "y": 12.5 }, - { "flags": 4, "matrix": [6, 6], "x": 120, "y": 12.5 }, - { "flags": 4, "matrix": [10, 1], "x": 130, "y": 12.5 }, - { "flags": 4, "matrix": [0, 2], "x": 155, "y": 12.5 }, + { "flags": 4, "matrix": [1, 6], "x": 0, "y": 12 }, + { "flags": 4, "matrix": [1, 7], "x": 10, "y": 12 }, + { "flags": 4, "matrix": [2, 7], "x": 20, "y": 12 }, + { "flags": 4, "matrix": [3, 7], "x": 30, "y": 12 }, + { "flags": 4, "matrix": [4, 7], "x": 40, "y": 12 }, + { "flags": 4, "matrix": [4, 6], "x": 50, "y": 12 }, + { "flags": 4, "matrix": [5, 6], "x": 60, "y": 12 }, + { "flags": 4, "matrix": [5, 7], "x": 70, "y": 12 }, + { "flags": 4, "matrix": [6, 7], "x": 80, "y": 12 }, + { "flags": 4, "matrix": [7, 7], "x": 90, "y": 12 }, + { "flags": 4, "matrix": [8, 7], "x": 100, "y": 12 }, + { "flags": 4, "matrix": [8, 6], "x": 110, "y": 12 }, + { "flags": 4, "matrix": [6, 6], "x": 120, "y": 12 }, + { "flags": 4, "matrix": [10, 1], "x": 130, "y": 12 }, + { "flags": 4, "matrix": [0, 2], "x": 155, "y": 12 }, - { "flags": 4, "matrix": [1, 1], "x": 0, "y": 22.5 }, - { "flags": 4, "matrix": [1, 0], "x": 15, "y": 22.5 }, - { "flags": 4, "matrix": [2, 0], "x": 25, "y": 22.5 }, - { "flags": 4, "matrix": [3, 0], "x": 35, "y": 22.5 }, - { "flags": 4, "matrix": [4, 0], "x": 45, "y": 22.5 }, - { "flags": 4, "matrix": [4, 1], "x": 55, "y": 22.5 }, - { "flags": 4, "matrix": [5, 1], "x": 65, "y": 22.5 }, - { "flags": 4, "matrix": [5, 0], "x": 75, "y": 22.5 }, - { "flags": 4, "matrix": [6, 0], "x": 85, "y": 22.5 }, - { "flags": 4, "matrix": [7, 0], "x": 95, "y": 22.5 }, - { "flags": 4, "matrix": [8, 0], "x": 105, "y": 22.5 }, - { "flags": 4, "matrix": [8, 1], "x": 115, "y": 22.5 }, - { "flags": 4, "matrix": [6, 1], "x": 125, "y": 22.5 }, - { "flags": 4, "matrix": [1, 5], "x": 155.5, "y": 22.5 }, + { "flags": 4, "matrix": [1, 1], "x": 0, "y": 22 }, + { "flags": 4, "matrix": [1, 0], "x": 15, "y": 22 }, + { "flags": 4, "matrix": [2, 0], "x": 25, "y": 22 }, + { "flags": 4, "matrix": [3, 0], "x": 35, "y": 22 }, + { "flags": 4, "matrix": [4, 0], "x": 45, "y": 22 }, + { "flags": 4, "matrix": [4, 1], "x": 55, "y": 22 }, + { "flags": 4, "matrix": [5, 1], "x": 65, "y": 22 }, + { "flags": 4, "matrix": [5, 0], "x": 75, "y": 22 }, + { "flags": 4, "matrix": [6, 0], "x": 85, "y": 22 }, + { "flags": 4, "matrix": [7, 0], "x": 95, "y": 22 }, + { "flags": 4, "matrix": [8, 0], "x": 105, "y": 22 }, + { "flags": 4, "matrix": [8, 1], "x": 115, "y": 22 }, + { "flags": 4, "matrix": [6, 1], "x": 125, "y": 22 }, + { "flags": 4, "matrix": [1, 5], "x": 155, "y": 22 }, - { "flags": 8, "matrix": [2, 1], "x": 0, "y": 32.5 }, - { "flags": 4, "matrix": [1, 2], "x": 17.5, "y": 32.5 }, - { "flags": 4, "matrix": [2, 2], "x": 27.5, "y": 32.5 }, - { "flags": 4, "matrix": [3, 2], "x": 37.5, "y": 32.5 }, - { "flags": 4, "matrix": [4, 2], "x": 47.5, "y": 32.5 }, - { "flags": 4, "matrix": [4, 3], "x": 57.5, "y": 32.5 }, - { "flags": 4, "matrix": [5, 3], "x": 67.5, "y": 32.5 }, - { "flags": 4, "matrix": [5, 2], "x": 77.5, "y": 32.5 }, - { "flags": 4, "matrix": [6, 2], "x": 87.5, "y": 32.5 }, - { "flags": 4, "matrix": [7, 2], "x": 97.5, "y": 32.5 }, - { "flags": 4, "matrix": [8, 2], "x": 107.5, "y": 32.5 }, - { "flags": 4, "matrix": [8, 3], "x": 117.5, "y": 32.5 }, - { "flags": 4, "matrix": [10, 2], "x": 127.5, "y": 32.5 }, - { "flags": 4, "matrix": [10, 4], "x": 137.5, "y": 22.5 }, - { "flags": 4, "matrix": [2, 5], "x": 155.5, "y": 32.5 }, + { "flags": 8, "matrix": [2, 1], "x": 0, "y": 32 }, + { "flags": 4, "matrix": [1, 2], "x": 17, "y": 32 }, + { "flags": 4, "matrix": [2, 2], "x": 27, "y": 32 }, + { "flags": 4, "matrix": [3, 2], "x": 37, "y": 32 }, + { "flags": 4, "matrix": [4, 2], "x": 47, "y": 32 }, + { "flags": 4, "matrix": [4, 3], "x": 57, "y": 32 }, + { "flags": 4, "matrix": [5, 3], "x": 67, "y": 32 }, + { "flags": 4, "matrix": [5, 2], "x": 77, "y": 32 }, + { "flags": 4, "matrix": [6, 2], "x": 87, "y": 32 }, + { "flags": 4, "matrix": [7, 2], "x": 97, "y": 32 }, + { "flags": 4, "matrix": [8, 2], "x": 107, "y": 32 }, + { "flags": 4, "matrix": [8, 3], "x": 117, "y": 32 }, + { "flags": 4, "matrix": [10, 2], "x": 127, "y": 32 }, + { "flags": 4, "matrix": [10, 4], "x": 137, "y": 22 }, + { "flags": 4, "matrix": [2, 5], "x": 155, "y": 32 }, - { "flags": 4, "matrix": [0, 0], "x": 0, "y": 42.5 }, - { "flags": 4, "matrix": [0, 1], "x": 12.5, "y": 42.5 }, - { "flags": 4, "matrix": [1, 4], "x": 22.5, "y": 42.5 }, - { "flags": 4, "matrix": [2, 4], "x": 32.5, "y": 42.5 }, - { "flags": 4, "matrix": [3, 4], "x": 42.5, "y": 42.5 }, - { "flags": 4, "matrix": [4, 4], "x": 52.5, "y": 42.5 }, - { "flags": 4, "matrix": [4, 5], "x": 62.5, "y": 42.5 }, - { "flags": 4, "matrix": [5, 5], "x": 72.5, "y": 42.5 }, - { "flags": 4, "matrix": [5, 4], "x": 82.5, "y": 42.5 }, - { "flags": 4, "matrix": [6, 4], "x": 92.5, "y": 42.5 }, - { "flags": 4, "matrix": [7, 4], "x": 102.5, "y": 42.5 }, - { "flags": 4, "matrix": [8, 5], "x": 112.5, "y": 42.5 }, - { "flags": 4, "matrix": [9, 1], "x": 122.5, "y": 42.5 }, - { "flags": 4, "matrix": [3, 5], "x": 142.5, "y": 45 }, - { "flags": 4, "matrix": [7, 5], "x": 155, "y": 42.5 }, + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 42 }, + { "flags": 4, "matrix": [0, 1], "x": 12, "y": 42 }, + { "flags": 4, "matrix": [1, 4], "x": 22, "y": 42 }, + { "flags": 4, "matrix": [2, 4], "x": 32, "y": 42 }, + { "flags": 4, "matrix": [3, 4], "x": 42, "y": 42 }, + { "flags": 4, "matrix": [4, 4], "x": 52, "y": 42 }, + { "flags": 4, "matrix": [4, 5], "x": 62, "y": 42 }, + { "flags": 4, "matrix": [5, 5], "x": 72, "y": 42 }, + { "flags": 4, "matrix": [5, 4], "x": 82, "y": 42 }, + { "flags": 4, "matrix": [6, 4], "x": 92, "y": 42 }, + { "flags": 4, "matrix": [7, 4], "x": 102, "y": 42 }, + { "flags": 4, "matrix": [8, 5], "x": 112, "y": 42 }, + { "flags": 4, "matrix": [9, 1], "x": 122, "y": 42 }, + { "flags": 4, "matrix": [3, 5], "x": 142, "y": 45 }, + { "flags": 4, "matrix": [7, 5], "x": 155, "y": 42 }, - { "flags": 4, "matrix": [0, 6], "x": 0, "y": 52.5 }, - { "flags": 4, "matrix": [9, 0], "x": 12.5, "y": 52.5 }, - { "flags": 4, "matrix": [9, 3], "x": 25, "y": 52.5 }, - { "flags": 4, "x": 61.5, "y": 52.5 }, - { "flags": 4, "x": 62.5, "y": 52.5 }, - { "flags": 4, "matrix": [9, 4], "x": 65, "y": 52.5 }, - { "flags": 4, "x": 67.5, "y": 52.5 }, - { "flags": 4, "x": 68.5, "y": 52.5 }, - { "flags": 4, "matrix": [9, 5], "x": 100, "y": 52.5 }, - { "flags": 4, "matrix": [9, 2], "x": 110, "y": 52.5 }, - { "flags": 4, "matrix": [0, 4], "x": 120, "y": 52.5 }, - { "flags": 4, "matrix": [0, 3], "x": 132.5, "y": 52.5 }, - { "flags": 4, "matrix": [7, 3], "x": 142.5, "y": 52.5 }, - { "flags": 4, "matrix": [0, 5], "x": 152.5, "y": 52.5 } + { "flags": 4, "matrix": [0, 6], "x": 0, "y": 52 }, + { "flags": 4, "matrix": [9, 0], "x": 12, "y": 52 }, + { "flags": 4, "matrix": [9, 3], "x": 25, "y": 52 }, + { "flags": 4, "x": 61, "y": 52 }, + { "flags": 4, "x": 62, "y": 52 }, + { "flags": 4, "matrix": [9, 4], "x": 65, "y": 52 }, + { "flags": 4, "x": 67, "y": 52 }, + { "flags": 4, "x": 68, "y": 52 }, + { "flags": 4, "matrix": [9, 5], "x": 100, "y": 52 }, + { "flags": 4, "matrix": [9, 2], "x": 110, "y": 52 }, + { "flags": 4, "matrix": [0, 4], "x": 120, "y": 52 }, + { "flags": 4, "matrix": [0, 3], "x": 132, "y": 52 }, + { "flags": 4, "matrix": [7, 3], "x": 142, "y": 52 }, + { "flags": 4, "matrix": [0, 5], "x": 152, "y": 52 } ] }, "url": "", diff --git a/keyboards/projectd/75/iso/rules.mk b/keyboards/projectd/75/iso/rules.mk deleted file mode 100644 index 6e7633bfe01..00000000000 --- a/keyboards/projectd/75/iso/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# This file intentionally left blank diff --git a/keyboards/reviung/reviung34/keyboard.json b/keyboards/reviung/reviung34/keyboard.json index 26f520d4ccf..8b354c00df3 100755 --- a/keyboards/reviung/reviung34/keyboard.json +++ b/keyboards/reviung/reviung34/keyboard.json @@ -33,10 +33,12 @@ "split_3x5_2" ], "layout_aliases": { - "LAYOUT_split_3x5_2": "LAYOUT_reviung34" + "LAYOUT_split_3x5_2": "LAYOUT_2x1u_left", + "LAYOUT_reviung34": "LAYOUT_2x1u_left", + "LAYOUT_reviung34_2u": "LAYOUT_1x2u_left", }, "layouts": { - "LAYOUT_reviung34": { + "LAYOUT_2x1u_left": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -81,7 +83,7 @@ {"matrix": [3, 8], "x": 6, "y": 3, "w": 2} ] }, - "LAYOUT_reviung34_2u": { + "LAYOUT_1x2u_left": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/reviung/reviung34/keymaps/default/keymap.c b/keyboards/reviung/reviung34/keymaps/default/keymap.c index 004518b4646..3dd7f73e731 100755 --- a/keyboards/reviung/reviung34/keymaps/default/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default/keymap.c @@ -35,28 +35,28 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_reviung34( + [_BASE] = LAYOUT_2x1u_left( CT_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_ENT, SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS, KC_TAB, KC_BSPC, LOWER, RA_SP ), - [_LOWER] = LAYOUT_reviung34( + [_LOWER] = LAYOUT_2x1u_left( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC, _______, _______, _______, _______ ), - [_RAISE] = LAYOUT_reviung34( + [_RAISE] = LAYOUT_2x1u_left( 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN, KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, _______, _______, _______, _______ ), - [_ADJUST] = LAYOUT_reviung34( + [_ADJUST] = LAYOUT_2x1u_left( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/reviung/reviung34/keymaps/default_2u/keymap.c b/keyboards/reviung/reviung34/keymaps/default_2u/keymap.c index 2b7a46a639e..44013b2d1fb 100755 --- a/keyboards/reviung/reviung34/keymaps/default_2u/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default_2u/keymap.c @@ -35,28 +35,28 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_reviung34_2u( + [_BASE] = LAYOUT_1x2u_left( CT_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_ENT, SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS, KC_TAB, LOWER, RA_SP ), - [_LOWER] = LAYOUT_reviung34_2u( + [_LOWER] = LAYOUT_1x2u_left( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC, _______, _______, _______ ), - [_RAISE] = LAYOUT_reviung34_2u( + [_RAISE] = LAYOUT_1x2u_left( 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN, KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, _______, _______, _______ ), - [_ADJUST] = LAYOUT_reviung34_2u( + [_ADJUST] = LAYOUT_1x2u_left( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c b/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c index 72aa2bcc00a..b5abe38ea6d 100755 --- a/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c @@ -36,28 +36,28 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_reviung34( + [_BASE] = LAYOUT_2x1u_left( CT_Q, JP_W, JP_E, JP_R, JP_T, JP_Y, JP_U, JP_I, JP_O, JP_P, JP_A, JP_S, JP_D, JP_F, JP_G, JP_H, JP_J, JP_K, JP_L, KC_ENT, SF_Z, AL_X, JP_C, JP_V, JP_B, JP_N, JP_M, CT_CM, AL_DT, SF_SS, KC_TAB, KC_BSPC, LOWER, RA_SP ), - [_LOWER] = LAYOUT_reviung34( + [_LOWER] = LAYOUT_2x1u_left( JP_EXLM, JP_AT, JP_HASH, JP_DLR, JP_PERC, JP_CIRC, JP_AMPR, JP_ASTR, JP_LPRN, JP_RPRN, JP_UNDS, JP_PLUS, JP_LCBR, JP_RCBR, JP_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, JP_SCLN, KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, JP_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC, _______, _______, _______, _______ ), - [_RAISE] = LAYOUT_reviung34( + [_RAISE] = LAYOUT_2x1u_left( JP_1, JP_2, JP_3, JP_4, JP_5, JP_6, JP_7, JP_8, JP_9, JP_0, JP_MINS, JP_EQL, JP_LBRC, JP_RBRC, JP_YEN, JP_BSLS, XXXXXXX, JP_GRV, JP_TILD, JP_COLN, KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, JP_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, _______, _______, _______, _______ ), - [_ADJUST] = LAYOUT_reviung34( + [_ADJUST] = LAYOUT_2x1u_left( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c b/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c index e94006e6f11..b798ab3122b 100755 --- a/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c @@ -35,28 +35,28 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_reviung34( + [_BASE] = LAYOUT_2x1u_left( CT_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_ENT, SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS, LO_TB, KC_BSPC, KC_SPC, RAISE ), - [_LOWER] = LAYOUT_reviung34( + [_LOWER] = LAYOUT_2x1u_left( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC, _______, _______, _______, _______ ), - [_RAISE] = LAYOUT_reviung34( + [_RAISE] = LAYOUT_2x1u_left( 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN, KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, _______, KC_DEL, _______, _______ ), - [_ADJUST] = LAYOUT_reviung34( + [_ADJUST] = LAYOUT_2x1u_left( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR, diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c b/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c index cc567d6b696..5ad92caf3ac 100755 --- a/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c @@ -34,28 +34,28 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_reviung34_2u( + [_BASE] = LAYOUT_1x2u_left( CT_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_ENT, SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS, LOWER, KC_SPC, RAISE ), - [_LOWER] = LAYOUT_reviung34_2u( + [_LOWER] = LAYOUT_1x2u_left( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC, _______, _______, _______ ), - [_RAISE] = LAYOUT_reviung34_2u( + [_RAISE] = LAYOUT_1x2u_left( 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN, KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, _______, _______, _______ ), - [_ADJUST] = LAYOUT_reviung34_2u( + [_ADJUST] = LAYOUT_1x2u_left( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR, diff --git a/keyboards/reviung/reviung34/keymaps/via/keymap.c b/keyboards/reviung/reviung34/keymaps/via/keymap.c index 004518b4646..3dd7f73e731 100644 --- a/keyboards/reviung/reviung34/keymaps/via/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/via/keymap.c @@ -35,28 +35,28 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_reviung34( + [_BASE] = LAYOUT_2x1u_left( CT_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_ENT, SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS, KC_TAB, KC_BSPC, LOWER, RA_SP ), - [_LOWER] = LAYOUT_reviung34( + [_LOWER] = LAYOUT_2x1u_left( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC, _______, _______, _______, _______ ), - [_RAISE] = LAYOUT_reviung34( + [_RAISE] = LAYOUT_2x1u_left( 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN, KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, _______, _______, _______, _______ ), - [_ADJUST] = LAYOUT_reviung34( + [_ADJUST] = LAYOUT_2x1u_left( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/rot13labs/h4ckb0ard/info.json b/keyboards/rot13labs/h4ckb0ard/keyboard.json similarity index 74% rename from keyboards/rot13labs/h4ckb0ard/info.json rename to keyboards/rot13labs/h4ckb0ard/keyboard.json index 0ffe5be40de..4ac783774de 100644 --- a/keyboards/rot13labs/h4ckb0ard/info.json +++ b/keyboards/rot13labs/h4ckb0ard/keyboard.json @@ -67,38 +67,38 @@ {"flags": 4, "matrix": [0, 0], "x": 11, "y": 0}, {"flags": 4, "matrix": [1, 0], "x": 0, "y": 1}, - {"flags": 4, "matrix": [1, 1], "x": 1.25, "y": 1}, - {"flags": 4, "matrix": [1, 2], "x": 2.25, "y": 1}, - {"flags": 4, "matrix": [1, 3], "x": 3.25, "y": 1}, - {"flags": 4, "matrix": [1, 4], "x": 4.25, "y": 1}, - {"flags": 4, "matrix": [1, 5], "x": 5.25, "y": 1}, - {"flags": 4, "matrix": [1, 6], "x": 6.25, "y": 1}, - {"flags": 4, "matrix": [1, 7], "x": 7.25, "y": 1}, - {"flags": 4, "matrix": [1, 8], "x": 8.25, "y": 1}, - {"flags": 4, "matrix": [1, 9], "x": 9.25, "y": 1}, - {"flags": 4, "matrix": [1, 11], "x": 10.25, "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": [1, 4], "x": 4, "y": 1}, + {"flags": 4, "matrix": [1, 5], "x": 5, "y": 1}, + {"flags": 4, "matrix": [1, 6], "x": 6, "y": 1}, + {"flags": 4, "matrix": [1, 7], "x": 7, "y": 1}, + {"flags": 4, "matrix": [1, 8], "x": 8, "y": 1}, + {"flags": 4, "matrix": [1, 9], "x": 9, "y": 1}, + {"flags": 4, "matrix": [1, 11], "x": 10, "y": 1}, {"flags": 4, "matrix": [2, 11], "x": 0, "y": 2}, - {"flags": 4, "matrix": [2, 10], "x": 1.75, "y": 2}, - {"flags": 4, "matrix": [2, 8], "x": 2.75, "y": 2}, - {"flags": 4, "matrix": [2, 7], "x": 3.75, "y": 2}, - {"flags": 4, "matrix": [2, 6], "x": 4.75, "y": 2}, - {"flags": 4, "matrix": [2, 5], "x": 5.75, "y": 2}, - {"flags": 4, "matrix": [2, 4], "x": 6.75, "y": 2}, - {"flags": 4, "matrix": [2, 3], "x": 7.75, "y": 2}, - {"flags": 4, "matrix": [2, 2], "x": 8.75, "y": 2}, - {"flags": 4, "matrix": [2, 1], "x": 10.5, "y": 2}, - {"flags": 4, "matrix": [2, 0], "x": 11.5, "y": 2}, + {"flags": 4, "matrix": [2, 10], "x": 1, "y": 2}, + {"flags": 4, "matrix": [2, 8], "x": 2, "y": 2}, + {"flags": 4, "matrix": [2, 7], "x": 3, "y": 2}, + {"flags": 4, "matrix": [2, 6], "x": 4, "y": 2}, + {"flags": 4, "matrix": [2, 5], "x": 5, "y": 2}, + {"flags": 4, "matrix": [2, 4], "x": 6, "y": 2}, + {"flags": 4, "matrix": [2, 3], "x": 7, "y": 2}, + {"flags": 4, "matrix": [2, 2], "x": 8, "y": 2}, + {"flags": 4, "matrix": [2, 1], "x": 10, "y": 2}, + {"flags": 4, "matrix": [2, 0], "x": 11, "y": 2}, {"flags": 4, "matrix": [3, 0], "x": 0, "y": 3}, - {"flags": 4, "matrix": [3, 1], "x": 1.25, "y": 3}, - {"flags": 4, "matrix": [3, 2], "x": 2.5, "y": 3}, - {"flags": 4, "matrix": [3, 4], "x": 3.5, "y": 3}, - {"flags": 4, "matrix": [3, 6], "x": 5.75, "y": 3}, - {"flags": 4, "matrix": [3, 8], "x": 8.5, "y": 3}, - {"flags": 4, "matrix": [3, 9], "x": 9.5, "y": 3}, - {"flags": 4, "matrix": [3, 10], "x": 10.5, "y": 3}, - {"flags": 4, "matrix": [3, 11], "x": 11.5, "y": 3} + {"flags": 4, "matrix": [3, 1], "x": 1, "y": 3}, + {"flags": 4, "matrix": [3, 2], "x": 2, "y": 3}, + {"flags": 4, "matrix": [3, 4], "x": 3, "y": 3}, + {"flags": 4, "matrix": [3, 6], "x": 5, "y": 3}, + {"flags": 4, "matrix": [3, 8], "x": 8, "y": 3}, + {"flags": 4, "matrix": [3, 9], "x": 9, "y": 3}, + {"flags": 4, "matrix": [3, 10], "x": 10, "y": 3}, + {"flags": 4, "matrix": [3, 11], "x": 11, "y": 3} ], "max_brightness": 100 diff --git a/keyboards/rot13labs/h4ckb0ard/rules.mk b/keyboards/rot13labs/h4ckb0ard/rules.mk deleted file mode 100644 index 7ff128fa692..00000000000 --- a/keyboards/rot13labs/h4ckb0ard/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/rot13labs/veilid_sao/keyboard.json b/keyboards/rot13labs/veilid_sao/keyboard.json new file mode 100644 index 00000000000..751345d2649 --- /dev/null +++ b/keyboards/rot13labs/veilid_sao/keyboard.json @@ -0,0 +1,50 @@ +{ + "manufacturer": "rot13labs", + "keyboard_name": "Veilid SAO", + "maintainer": "c0ldbru", + "bootloader": "usbasploader", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": false, + "mousekey": false, + "nkro": false, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["C0"], + "rows": ["B1"] + }, + "processor": "atmega328p", + "usb": { + "device_version": "13.3.7", + "pid": "0xBEEF", + "vid": "0xBEEF" + }, + "ws2812": { + "pin": "B0" + }, + "rgb_matrix": { + "animations": { + "cycle_left_right": true + }, + "driver": "ws2812", + "default": { + "animation": "cycle_left_right" + }, + "layout": [ + {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0} + ], + "max_brightness": 100 + }, + "community_layouts": ["ortho_1x1"], + "layouts": { + "LAYOUT_ortho_1x1": { + "layout": [ + {"label": "Ctrl", "matrix": [0, 0], "x": 0, "y": 0} + ] + } + } +} diff --git a/keyboards/rot13labs/veilid_sao/keymaps/default/keymap.c b/keyboards/rot13labs/veilid_sao/keymaps/default/keymap.c new file mode 100755 index 00000000000..e8afbe32240 --- /dev/null +++ b/keyboards/rot13labs/veilid_sao/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +/* +Copyright 2012,2013 gezhaoyou + +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 + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_USER_1: + if (record->event.pressed) { + SEND_STRING(SS_DOWN(X_LGUI) SS_TAP(X_SPACE) SS_UP(X_LGUI) SS_DELAY(1000) SS_TAP(X_LGUI) SS_DELAY(1000) "terminal" SS_DELAY(1000) SS_TAP(X_ENTER) SS_DELAY(1000) "open https://veilid.com\n" SS_DELAY(1000) "start https://veilid.com\n"); + } + break; + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_1x1(QK_USER_1), +}; \ No newline at end of file diff --git a/keyboards/rot13labs/veilid_sao/readme.md b/keyboards/rot13labs/veilid_sao/readme.md new file mode 100644 index 00000000000..a1cc93e2129 --- /dev/null +++ b/keyboards/rot13labs/veilid_sao/readme.md @@ -0,0 +1,18 @@ +# veilid_sao + +A customizable 1 key SAO macropad from rot13labs to support Veilid + +* Keyboard Maintainer: [c0ldbru](https://github.com/c0ldbru) +* Hardware Supported: veilid_sao // atmega328p +* Hardware Availability: [rot13labs](https://rot13labs.com) +* Support Veilid: [Veilid](https://veilid.com/) + +Make example for this keyboard (after setting up your build environment): + + make rot13labs/veilid_sao: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 + +You can enter the bootloader to flash on new firmware by holding down the CTRL key while plugging the Veilid SAO in. diff --git a/keyboards/rubi/keyboard.json b/keyboards/rubi/keyboard.json index cb94b586156..aa58208219c 100644 --- a/keyboards/rubi/keyboard.json +++ b/keyboards/rubi/keyboard.json @@ -22,6 +22,9 @@ "resync": true } }, + "build": { + "lto": true + }, "matrix_pins": { "cols": ["B3", "B2", "B1", "F7"], "rows": ["F0", "F1", "F4", "F5", "F6"] diff --git a/keyboards/ryanskidmore/rskeys100/config.h b/keyboards/ryanskidmore/rskeys100/config.h index 9ee24243f82..9c5c4896848 100644 --- a/keyboards/ryanskidmore/rskeys100/config.h +++ b/keyboards/ryanskidmore/rskeys100/config.h @@ -25,6 +25,3 @@ * switch and a diode towards the row. The row is then connected to the AVR as an input. This means * the diode direction is COL(umn) to ROW */ #define DIODE_DIRECTION COL2ROW - -/* The number of RGB LEDs connected */ -#define RGB_MATRIX_LED_COUNT 105 diff --git a/keyboards/ryanskidmore/rskeys100/keyboard.json b/keyboards/ryanskidmore/rskeys100/keyboard.json index 0e2d3eb6af5..c77d3f4c90c 100644 --- a/keyboards/ryanskidmore/rskeys100/keyboard.json +++ b/keyboards/ryanskidmore/rskeys100/keyboard.json @@ -28,6 +28,131 @@ "animations": { "cycle_left_right": true }, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + + {"matrix": [0, 1], "x": 21, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 31, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 42, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 52, "y": 0, "flags": 4}, + + {"matrix": [0, 5], "x": 68, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 78, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 89, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 99, "y": 0, "flags": 4}, + + {"matrix": [0, 9], "x": 115, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 125, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 135, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 146, "y": 0, "flags": 4}, + + {"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, 20], "x": 224, "y": 15, "flags": 4}, + {"matrix": [1, 19], "x": 214, "y": 15, "flags": 4}, + {"matrix": [1, 18], "x": 203, "y": 15, "flags": 4}, + {"matrix": [1, 17], "x": 193, "y": 15, "flags": 4}, + + {"matrix": [1, 16], "x": 180, "y": 15, "flags": 1}, + {"matrix": [1, 15], "x": 169, "y": 15, "flags": 1}, + {"matrix": [1, 14], "x": 159, "y": 15, "flags": 1}, + + {"matrix": [1, 13], "x": 141, "y": 15, "flags": 1}, + {"matrix": [1, 12], "x": 125, "y": 15, "flags": 4}, + {"matrix": [1, 11], "x": 115, "y": 15, "flags": 4}, + {"matrix": [1, 10], "x": 104, "y": 15, "flags": 4}, + {"matrix": [1, 9], "x": 94, "y": 15, "flags": 4}, + {"matrix": [1, 8], "x": 83, "y": 15, "flags": 4}, + {"matrix": [1, 7], "x": 73, "y": 15, "flags": 4}, + {"matrix": [1, 6], "x": 63, "y": 15, "flags": 4}, + {"matrix": [1, 5], "x": 52, "y": 15, "flags": 4}, + {"matrix": [1, 4], "x": 42, "y": 15, "flags": 4}, + {"matrix": [1, 3], "x": 31, "y": 15, "flags": 4}, + {"matrix": [1, 2], "x": 21, "y": 15, "flags": 4}, + {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, + {"matrix": [1, 0], "x": 0, "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": 145, "y": 34, "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, 19], "x": 214, "y": 40, "flags": 4}, + {"matrix": [3, 18], "x": 203, "y": 40, "flags": 4}, + {"matrix": [3, 17], "x": 193, "y": 40, "flags": 4}, + + {"matrix": [3, 12], "x": 133, "y": 40, "flags": 4}, + {"matrix": [3, 11], "x": 122, "y": 40, "flags": 4}, + {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, + {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, + {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, + {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, + {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, + {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, + {"matrix": [3, 4], "x": 49, "y": 40, "flags": 4}, + {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, + {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, + {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, + {"matrix": [3, 0], "x": 4, "y": 40, "flags": 1}, + + {"matrix": [4, 0], "x": 1, "y": 52, "flags": 1}, + {"matrix": [4, 1], "x": 13, "y": 52, "flags": 4}, + {"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": 4}, + + {"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": 1}, + + {"matrix": [5, 19], "x": 214, "y": 64, "flags": 4}, + {"matrix": [5, 17], "x": 198, "y": 64, "flags": 4}, + + {"matrix": [5, 16], "x": 180, "y": 64, "flags": 4}, + {"matrix": [5, 15], "x": 169, "y": 64, "flags": 4}, + {"matrix": [5, 14], "x": 159, "y": 64, "flags": 4}, + + {"matrix": [5, 13], "x": 145, "y": 64, "flags": 1}, + {"matrix": [5, 12], "x": 132, "y": 64, "flags": 1}, + {"matrix": [5, 11], "x": 119, "y": 64, "flags": 1}, + {"matrix": [5, 10], "x": 105, "y": 64, "flags": 1}, + {"matrix": [5, 6], "x": 66, "y": 64, "flags": 4}, + {"matrix": [5, 3], "x": 27, "y": 64, "flags": 1}, + {"matrix": [5, 2], "x": 14, "y": 64, "flags": 1}, + {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1} + ], "driver": "ws2812", "max_brightness": 110 }, diff --git a/keyboards/ryanskidmore/rskeys100/rskeys100.c b/keyboards/ryanskidmore/rskeys100/rskeys100.c deleted file mode 100644 index 4be811b1e27..00000000000 --- a/keyboards/ryanskidmore/rskeys100/rskeys100.c +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2021 Ryan Skidmore (@ryanskidmore, rskeys@ryanskidmore.co.uk) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { - { - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, NO_LED, 13, 14, 15, NO_LED, NO_LED, NO_LED, NO_LED }, - { 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16 }, - { 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, - { 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, NO_LED, NO_LED, NO_LED, NO_LED, 60, 59, 58, NO_LED }, - { 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, NO_LED, NO_LED, 87, NO_LED, 88, 89, 90, 91 }, - { 104, NO_LED, 103, 102, NO_LED, NO_LED, 101, NO_LED, NO_LED, NO_LED, 100, 99, 98, 97, 96, 95, 94, 93, NO_LED, 92, NO_LED } - }, { - { 0, 0 }, { 21, 0 }, { 32, 0 }, { 43, 0 }, { 53, 0 }, { 64, 0 }, { 75, 0 }, { 85, 0 }, { 96, 0 }, { 117, 0 }, { 128, 0 }, { 139, 0 }, { 149, 0 }, { 160, 0 }, { 171, 0 }, { 181, 0 }, - { 0, 13 }, { 11, 13 }, { 21, 13 }, { 32, 13 }, { 42, 13 }, { 53, 13 }, { 64, 13 }, { 75, 13 }, { 85, 13 }, { 96, 13 }, { 107, 13 }, { 117, 13 }, { 128, 13 }, { 139, 13 }, { 160, 13 }, { 171, 13 }, { 181, 13 }, { 192, 13 }, { 203, 13 }, { 213, 13 }, { 224, 13 }, - { 0, 26 }, { 11, 26 }, { 21, 26 }, { 32, 26 }, { 42, 26 }, { 53, 26 }, { 64, 26 }, { 75, 26 }, { 85, 26 }, { 96, 26 }, { 107, 26 }, { 117, 26 }, { 128, 26 }, { 149, 26 }, { 160, 26 }, { 171, 26 }, { 181, 26 }, { 192, 26 }, { 203, 26 }, { 213, 26 }, { 224, 26 }, - { 0, 38 }, { 11, 38 }, { 21, 38 }, { 32, 38 }, { 42, 38 }, { 53, 38 }, { 64, 38 }, { 75, 38 }, { 85, 38 }, { 96, 38 }, { 117, 38 }, { 128, 38 }, { 149, 38 }, { 192, 38 }, { 203, 38 }, { 213, 38 }, - { 0, 51 }, { 11, 51 }, { 21, 51 }, { 32, 51 }, { 42, 51 }, { 53, 51 }, { 64, 51 }, { 75, 51 }, { 85, 51 }, { 96, 51 }, { 107, 51 }, { 117, 51 }, { 139, 51 }, { 171, 51 }, { 192, 51 }, { 203, 51 }, { 213, 51 }, { 224, 51 }, - { 0, 64 }, { 11, 64 }, { 21, 64 }, { 64, 64 }, { 107, 64 }, { 117, 64 }, { 128, 64 }, { 149, 64 }, { 160, 64 }, { 171, 64 }, { 181, 64 }, { 192, 64 }, { 213, 64 } - }, { - 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, 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, 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, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 - } -}; -#endif diff --git a/keyboards/salicylic_acid3/setta21/rev1/keyboard.json b/keyboards/salicylic_acid3/setta21/rev1/keyboard.json index 452d0211c37..75517a7d407 100644 --- a/keyboards/salicylic_acid3/setta21/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/setta21/rev1/keyboard.json @@ -41,7 +41,35 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "ws2812" + "driver": "ws2812", + "layout": [ + {"matrix": [0, 4], "x": 0, "y": 13, "flags": 4}, + {"matrix": [1, 4], "x": 75, "y": 13, "flags": 4}, + {"matrix": [2, 4], "x": 149, "y": 13, "flags": 4}, + {"matrix": [3, 4], "x": 224, "y": 13, "flags": 4}, + + {"matrix": [2, 3], "x": 149, "y": 26, "flags": 4}, + {"matrix": [1, 3], "x": 75, "y": 26, "flags": 4}, + {"matrix": [0, 3], "x": 0, "y": 26, "flags": 4}, + + {"matrix": [0, 2], "x": 0, "y": 38, "flags": 4}, + {"matrix": [1, 2], "x": 75, "y": 38, "flags": 4}, + {"matrix": [2, 2], "x": 149, "y": 38, "flags": 4}, + {"matrix": [3, 2], "x": 224, "y": 32, "flags": 4}, + + {"matrix": [2, 1], "x": 149, "y": 51, "flags": 4}, + {"matrix": [1, 1], "x": 75, "y": 51, "flags": 4}, + {"matrix": [0, 1], "x": 0, "y": 51, "flags": 4}, + + {"matrix": [0, 0], "x": 38, "y": 64, "flags": 4}, + {"matrix": [2, 0], "x": 149, "y": 64, "flags": 4}, + {"matrix": [3, 0], "x": 224, "y": 58, "flags": 4}, + + {"matrix": [3, 5], "x": 224, "y": 0, "flags": 4}, + {"matrix": [2, 5], "x": 149, "y": 0, "flags": 4}, + {"matrix": [1, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 0, "y": 0, "flags": 4} + ] }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3"], diff --git a/keyboards/salicylic_acid3/setta21/rev1/rev1.c b/keyboards/salicylic_acid3/setta21/rev1/rev1.c deleted file mode 100644 index c31fe5c8f38..00000000000 --- a/keyboards/salicylic_acid3/setta21/rev1/rev1.c +++ /dev/null @@ -1,21 +0,0 @@ -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE - led_config_t g_led_config = { { - // Key Matrix to LED Index - { 14,13, 7, 6, 0,20 }, - { 12, 8, 5, 1,19 }, - { 15,11, 9, 4, 2,18 }, - { 16, 10, 3,17 } - }, { - // LED Index to Physical Position - { 0, 179 }, { 21, 179 }, { 43, 179 }, { 64, 179 }, { 43, 134 }, { 21, 134 }, { 0, 134 }, { 0, 90 }, { 21, 90 }, { 43, 90 }, - { 64, 112 }, { 43, 45 }, { 21, 45 }, { 0, 45 }, { 11, 0 }, { 43, 0 }, { 64, 23 }, { 64, 224 }, { 43, 224 }, { 21, 224 }, - { 0, 224 } - }, { - // LED Index to Flag - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4 -} }; -#endif diff --git a/keyboards/sawnsprojects/bunnygirl65/keyboard.json b/keyboards/sawnsprojects/bunnygirl65/keyboard.json new file mode 100644 index 00000000000..810d481b5dc --- /dev/null +++ b/keyboards/sawnsprojects/bunnygirl65/keyboard.json @@ -0,0 +1,169 @@ +{ + "manufacturer": "auaera", + "keyboard_name": "Bunnygirl65", + "maintainer": "MaiTheSan", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["A10", "A0", "A9", "C13", "A1", "A2", "B11", "B10", "B1", "B0", "A7", "A6", "A5", "A4", "C14"], + "rows": ["B4", "A15", "A3", "A8", "B14"] + }, + "processor": "STM32F072", + "url": "", + "usb": { + "device_version": "1.0.0", + "force_nkro": true, + "pid": "0x00A2", + "vid": "0x5350" + }, + "community_layouts": ["65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs"], + "layouts": { + "LAYOUT_65_ansi_blocker_tsangan": { + "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, "y": 0}, + {"label": "K03", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K04", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "K05", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "K06", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "K07", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "K08", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "K09", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "K0A", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "K0B", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "K0C", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "K2D", "matrix": [2, 13], "x": 14, "y": 0, "w": 2}, + {"label": "K10", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "K11", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "K12", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "K13", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "K14", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "K15", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "K16", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "K17", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "K18", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "K19", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "K1A", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "K1B", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "K1C", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "K1D", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "K1E", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "K20", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "K21", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "K22", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "K23", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "K24", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "K25", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "K26", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "K27", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K28", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "K29", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "K2A", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "K2B", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "K2C", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "K2E", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "K30", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "K32", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "K33", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "K34", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "K35", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "K36", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "K37", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "K38", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "K39", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "K3A", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "K3B", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "K3C", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "K3D", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "K3E", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "K40", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "K41", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "K42", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "K46", "matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"label": "K4B", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "K4C", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "K4D", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "K4E", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "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, "y": 0}, + {"label": "K03", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K04", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "K05", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "K06", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "K07", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "K08", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "K09", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "K0A", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "K0B", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "K0C", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "K2D", "matrix": [2, 13], "x": 14, "y": 0}, + {"label": "K0E", "matrix": [0, 14], "x": 15, "y": 0}, + {"label": "K10", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "K11", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "K12", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "K13", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "K14", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "K15", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "K16", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "K17", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "K18", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "K19", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "K1A", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "K1B", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "K1C", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "K1D", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "K1E", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "K20", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "K21", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "K22", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "K23", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "K24", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "K25", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "K26", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "K27", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K28", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "K29", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "K2A", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "K2B", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "K2C", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "K2E", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "K30", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "K32", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "K33", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "K34", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "K35", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "K36", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "K37", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "K38", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "K39", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "K3A", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "K3B", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "K3C", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "K3D", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "K3E", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "K40", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "K41", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "K42", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "K46", "matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"label": "K4B", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "K4C", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "K4D", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "K4E", "matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/sawnsprojects/bunnygirl65/keymaps/default/keymap.c b/keyboards/sawnsprojects/bunnygirl65/keymaps/default/keymap.c new file mode 100644 index 00000000000..619e07b4460 --- /dev/null +++ b/keyboards/sawnsprojects/bunnygirl65/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +// 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│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp│Hom│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │Ctrl │GUI│Alt │ │ Fn│ │ ← │ ↓ │ → │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + [0] = LAYOUT_65_ansi_blocker_tsangan_split_bs( + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Del│Del│ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ │ │ │ │ │ │Ins│ │ │ │ │PSc│Scr│Pause│ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ │ │ │ │ │ │ │Mut│Vl-│Vl+│ │ │ │ │ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + [1] = LAYOUT_65_ansi_blocker_tsangan_split_bs( + 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_DEL, _______, + _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/sawnsprojects/bunnygirl65/keymaps/via/keymap.c b/keyboards/sawnsprojects/bunnygirl65/keymaps/via/keymap.c new file mode 100644 index 00000000000..619e07b4460 --- /dev/null +++ b/keyboards/sawnsprojects/bunnygirl65/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +// 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│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp│Hom│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │Ctrl │GUI│Alt │ │ Fn│ │ ← │ ↓ │ → │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + [0] = LAYOUT_65_ansi_blocker_tsangan_split_bs( + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Del│Del│ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ │ │ │ │ │ │Ins│ │ │ │ │PSc│Scr│Pause│ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ │ │ │ │ │ │ │Mut│Vl-│Vl+│ │ │ │ │ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + [1] = LAYOUT_65_ansi_blocker_tsangan_split_bs( + 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_DEL, _______, + _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/sawnsprojects/bunnygirl65/keymaps/via/rules.mk b/keyboards/sawnsprojects/bunnygirl65/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/sawnsprojects/bunnygirl65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sawnsprojects/bunnygirl65/readme.md b/keyboards/sawnsprojects/bunnygirl65/readme.md new file mode 100644 index 00000000000..7dcb0e147e1 --- /dev/null +++ b/keyboards/sawnsprojects/bunnygirl65/readme.md @@ -0,0 +1,27 @@ +# BunnyGirl65 + + + +A Wibu 60% keyboard PCB Design by inspire of Nekomata Okayu and can fit many keyboard case + +* Keyboard Maintainer: [Mai The San](https://github.com/maithesan) +* Hardware Supported: BunnyGirl65 +* Hardware Availability: [Waifu.Works](https://discord.gg/waifuworks) + +Make example for this keyboard (after setting up your build environment): + + make sawnsprojects/bunnygirl65:default + +Flashing example for this keyboard: + + make sawnsprojects/bunnygirl65: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/silverbullet44/keyboard.json b/keyboards/silverbullet44/keyboard.json index 793ec229e4b..a58aed88206 100644 --- a/keyboards/silverbullet44/keyboard.json +++ b/keyboards/silverbullet44/keyboard.json @@ -92,29 +92,29 @@ {"matrix": [5, 1], "x": 16, "y": 1.75}, {"matrix": [5, 0], "x": 17, "y": 2.375}, - {"matrix": [2, 0], "x": 12, "y": 2.5}, - {"matrix": [2, 1], "x": 13, "y": 2.25}, - {"matrix": [2, 2], "x": 14, "y": 2}, - {"matrix": [2, 3], "x": 15, "y": 2.25}, - {"matrix": [2, 4], "x": 16, "y": 2.75}, - {"matrix": [2, 5], "x": 17, "y": 3.375}, + {"matrix": [2, 0], "x": 0, "y": 3.375}, + {"matrix": [2, 1], "x": 1, "y": 2.75}, + {"matrix": [2, 2], "x": 2, "y": 2.25}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.25}, + {"matrix": [2, 5], "x": 5, "y": 2.5}, - {"matrix": [6, 5], "x": 0, "y": 3.375}, - {"matrix": [6, 4], "x": 1, "y": 2.75}, - {"matrix": [6, 3], "x": 2, "y": 2.25}, - {"matrix": [6, 2], "x": 3, "y": 2}, - {"matrix": [6, 1], "x": 4, "y": 2.25}, - {"matrix": [6, 0], "x": 5, "y": 2.5}, + {"matrix": [6, 5], "x": 12, "y": 2.5}, + {"matrix": [6, 4], "x": 13, "y": 2.25}, + {"matrix": [6, 3], "x": 14, "y": 2}, + {"matrix": [6, 2], "x": 15, "y": 2.25}, + {"matrix": [6, 1], "x": 16, "y": 2.75}, + {"matrix": [6, 0], "x": 17, "y": 3.375}, {"matrix": [3, 2], "x": 4, "y": 3.25, "h": 1.25}, {"matrix": [3, 3], "x": 5, "y": 3.5}, - {"matrix": [3, 4], "x": -0.5, "y": 3.5, "h": 1.5}, - {"matrix": [3, 5], "x": 7, "y": 3.25, "h": 1.5}, + {"matrix": [3, 4], "x": 6, "y": 3.25, "h": 1.5}, + {"matrix": [3, 5], "x": 7, "y": 3.5, "h": 1.5}, - {"matrix": [7, 5], "x": -3, "y": 3.5, "h": 1.5}, - {"matrix": [7, 4], "x": -2, "y": 3.5, "h": 1.5}, + {"matrix": [7, 5], "x": 10, "y": 3.5, "h": 1.5}, + {"matrix": [7, 4], "x": 11, "y": 3.25, "h": 1.5}, {"matrix": [7, 3], "x": 12, "y": 3.5}, - {"matrix": [7, 2], "x": 13, "y": 3.25, "w": 1.25} + {"matrix": [7, 2], "x": 13, "y": 3.25, "h": 1.25} ] } } diff --git a/keyboards/singa/readme.md b/keyboards/singa/readme.md index e3b87092ec0..d700090ce1d 100644 --- a/keyboards/singa/readme.md +++ b/keyboards/singa/readme.md @@ -13,7 +13,7 @@ Make example for this keyboard (after setting up your build environment): make singa:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make singa:default:flash diff --git a/keyboards/skeletonkbd/frost68/keyboard.json b/keyboards/skeletonkbd/frost68/keyboard.json index 0411a3826d5..28b819e0d01 100644 --- a/keyboards/skeletonkbd/frost68/keyboard.json +++ b/keyboards/skeletonkbd/frost68/keyboard.json @@ -76,74 +76,74 @@ }, "driver": "ws2812", "layout": [ - {"matrix": [0, 0], "x": 33.1, "y": 3.7, "flags": 4}, - {"matrix": [0, 1], "x": 45.7, "y": 3.7, "flags": 4}, - {"matrix": [0, 2], "x": 58.3, "y": 2.4, "flags": 4}, - {"matrix": [0, 3], "x": 71.1, "y": 6.4, "flags": 4}, - {"matrix": [0, 4], "x": 83.4, "y": 10.4, "flags": 4}, - {"matrix": [0, 5], "x": 95.7, "y": 14.3, "flags": 4}, - {"matrix": [0, 6], "x": 108, "y": 18.3, "flags": 4}, - {"matrix": [1, 5], "x": 99.3, "y": 35, "flags": 4}, - {"matrix": [1, 4], "x": 86.9, "y": 31, "flags": 4}, - {"matrix": [1, 3], "x": 74.6, "y": 27, "flags": 4}, - {"matrix": [1, 2], "x": 62.3, "y": 23.1, "flags": 4}, - {"matrix": [1, 1], "x": 49.2, "y": 22.7, "flags": 4}, - {"matrix": [1, 0], "x": 33.5, "y": 22.7, "flags": 1}, - {"matrix": [2, 0], "x": 32.3, "y": 41.8, "flags": 1}, - {"matrix": [2, 1], "x": 49.7, "y": 41.8, "flags": 4}, - {"matrix": [2, 2], "x": 62.7, "y": 42.7, "flags": 4}, - {"matrix": [2, 3], "x": 75.1, "y": 46.7, "flags": 4}, - {"matrix": [2, 4], "x": 87.4, "y": 50.6, "flags": 4}, - {"matrix": [2, 5], "x": 99.7, "y": 54.6, "flags": 4}, - {"matrix": [3, 5], "x": 103.3, "y": 75.2, "flags": 4}, - {"matrix": [3, 4], "x": 90.9, "y": 71.2, "flags": 4}, - {"matrix": [3, 3], "x": 78.6, "y": 67.3, "flags": 4}, - {"matrix": [3, 2], "x": 66.3, "y": 63.3, "flags": 4}, - {"matrix": [3, 1], "x": 53.3, "y": 60.8, "flags": 4}, - {"matrix": [3, 0], "x": 32.8, "y": 60.8, "flags": 1}, - {"matrix": [4, 0], "x": 28.1, "y": 79.9, "flags": 1}, - {"matrix": [4, 1], "x": 47, "y": 79.9, "flags": 1}, - {"matrix": [4, 3], "x": 80.6, "y": 87.4, "flags": 4}, - {"matrix": [4, 5], "x": 100.6, "y": 93.8, "flags": 4}, - {"matrix": [4, 7], "x": 140.2, "y": 90.4, "flags": 4}, - {"matrix": [4, 10], "x": 166.4, "y": 82.5, "flags": 1}, - {"matrix": [4, 12], "x": 195.7, "y": 79.9, "flags": 1}, - {"matrix": [4, 13], "x": 211.4, "y": 79.9, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 79.9, "flags": 4}, - {"matrix": [4, 15], "x": 236.6, "y": 79.9, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 60.8, "flags": 4}, - {"matrix": [3, 13], "x": 206.7, "y": 60.8, "flags": 1}, - {"matrix": [3, 12], "x": 189.4, "y": 60.8, "flags": 4}, - {"matrix": [3, 11], "x": 176.8, "y": 60.8, "flags": 4}, - {"matrix": [3, 10], "x": 163.7, "y": 63.3, "flags": 4}, - {"matrix": [3, 9], "x": 151.4, "y": 67.3, "flags": 4}, - {"matrix": [3, 8], "x": 139.1, "y": 71.2, "flags": 4}, - {"matrix": [3, 7], "x": 126.8, "y": 75.2, "flags": 4}, - {"matrix": [2, 7], "x": 130.3, "y": 54.6, "flags": 4}, - {"matrix": [2, 8], "x": 142.6, "y": 50.6, "flags": 4}, - {"matrix": [2, 9], "x": 155, "y": 46.7, "flags": 4}, - {"matrix": [2, 10], "x": 167.3, "y": 42.7, "flags": 4}, - {"matrix": [2, 11], "x": 180.4, "y": 41.8, "flags": 4}, - {"matrix": [2, 12], "x": 193, "y": 41.8, "flags": 4}, - {"matrix": [2, 13], "x": 213.4, "y": 41.8, "flags": 4}, - {"matrix": [2, 15], "x": 236.6, "y": 39.6, "flags": 4}, - {"matrix": [1, 15], "x": 235.3, "y": 20.5, "flags": 4}, - {"matrix": [1, 14], "x": 217.4, "y": 22.7, "flags": 4}, - {"matrix": [1, 13], "x": 201.6, "y": 22.7, "flags": 4}, - {"matrix": [1, 12], "x": 189, "y": 22.7, "flags": 4}, - {"matrix": [1, 11], "x": 176.4, "y": 22, "flags": 4}, - {"matrix": [1, 10], "x": 163.4, "y": 24.5, "flags": 4}, - {"matrix": [1, 9], "x": 151.1, "y": 28.4, "flags": 4}, - {"matrix": [1, 8], "x": 138.7, "y": 32.4, "flags": 4}, - {"matrix": [1, 7], "x": 126.4, "y": 36.4, "flags": 4}, - {"matrix": [0, 7], "x": 128.1, "y": 16.3, "flags": 4}, - {"matrix": [0, 8], "x": 140.5, "y": 12.4, "flags": 4}, - {"matrix": [0, 9], "x": 152.8, "y": 8.4, "flags": 4}, - {"matrix": [0, 10], "x": 165.1, "y": 4.4, "flags": 4}, - {"matrix": [0, 11], "x": 178.2, "y": 2.9, "flags": 4}, - {"matrix": [0, 12], "x": 190.8, "y": 3.7, "flags": 4}, - {"matrix": [0, 14], "x": 209.7, "y": 3.7, "flags": 1}, - {"matrix": [0, 15], "x": 233.9, "y": 1.5, "flags": 4} + {"matrix": [0, 0], "x": 33, "y": 3, "flags": 4}, + {"matrix": [0, 1], "x": 45, "y": 3, "flags": 4}, + {"matrix": [0, 2], "x": 58, "y": 2, "flags": 4}, + {"matrix": [0, 3], "x": 71, "y": 6, "flags": 4}, + {"matrix": [0, 4], "x": 83, "y": 10, "flags": 4}, + {"matrix": [0, 5], "x": 95, "y": 14, "flags": 4}, + {"matrix": [0, 6], "x": 108, "y": 18, "flags": 4}, + {"matrix": [1, 5], "x": 99, "y": 35, "flags": 4}, + {"matrix": [1, 4], "x": 86, "y": 31, "flags": 4}, + {"matrix": [1, 3], "x": 74, "y": 27, "flags": 4}, + {"matrix": [1, 2], "x": 62, "y": 23, "flags": 4}, + {"matrix": [1, 1], "x": 49, "y": 22, "flags": 4}, + {"matrix": [1, 0], "x": 33, "y": 22, "flags": 1}, + {"matrix": [2, 0], "x": 32, "y": 41, "flags": 1}, + {"matrix": [2, 1], "x": 49, "y": 41, "flags": 4}, + {"matrix": [2, 2], "x": 62, "y": 42, "flags": 4}, + {"matrix": [2, 3], "x": 75, "y": 46, "flags": 4}, + {"matrix": [2, 4], "x": 87, "y": 50, "flags": 4}, + {"matrix": [2, 5], "x": 99, "y": 54, "flags": 4}, + {"matrix": [3, 5], "x": 103, "y": 75, "flags": 4}, + {"matrix": [3, 4], "x": 90, "y": 71, "flags": 4}, + {"matrix": [3, 3], "x": 78, "y": 67, "flags": 4}, + {"matrix": [3, 2], "x": 66, "y": 63, "flags": 4}, + {"matrix": [3, 1], "x": 53, "y": 60, "flags": 4}, + {"matrix": [3, 0], "x": 32, "y": 60, "flags": 1}, + {"matrix": [4, 0], "x": 28, "y": 79, "flags": 1}, + {"matrix": [4, 1], "x": 47, "y": 79, "flags": 1}, + {"matrix": [4, 3], "x": 80, "y": 87, "flags": 4}, + {"matrix": [4, 5], "x": 100, "y": 93, "flags": 4}, + {"matrix": [4, 7], "x": 140, "y": 90, "flags": 4}, + {"matrix": [4, 10], "x": 166, "y": 82, "flags": 1}, + {"matrix": [4, 12], "x": 195, "y": 79, "flags": 1}, + {"matrix": [4, 13], "x": 211, "y": 79, "flags": 4}, + {"matrix": [4, 14], "x": 224, "y": 79, "flags": 4}, + {"matrix": [4, 15], "x": 236, "y": 79, "flags": 4}, + {"matrix": [3, 14], "x": 224, "y": 60, "flags": 4}, + {"matrix": [3, 13], "x": 206, "y": 60, "flags": 1}, + {"matrix": [3, 12], "x": 189, "y": 60, "flags": 4}, + {"matrix": [3, 11], "x": 176, "y": 60, "flags": 4}, + {"matrix": [3, 10], "x": 163, "y": 63, "flags": 4}, + {"matrix": [3, 9], "x": 151, "y": 67, "flags": 4}, + {"matrix": [3, 8], "x": 139, "y": 71, "flags": 4}, + {"matrix": [3, 7], "x": 126, "y": 75, "flags": 4}, + {"matrix": [2, 7], "x": 130, "y": 54, "flags": 4}, + {"matrix": [2, 8], "x": 142, "y": 50, "flags": 4}, + {"matrix": [2, 9], "x": 155, "y": 46, "flags": 4}, + {"matrix": [2, 10], "x": 167, "y": 42, "flags": 4}, + {"matrix": [2, 11], "x": 180, "y": 41, "flags": 4}, + {"matrix": [2, 12], "x": 193, "y": 41, "flags": 4}, + {"matrix": [2, 13], "x": 213, "y": 41, "flags": 4}, + {"matrix": [2, 15], "x": 236, "y": 39, "flags": 4}, + {"matrix": [1, 15], "x": 235, "y": 20, "flags": 4}, + {"matrix": [1, 14], "x": 217, "y": 22, "flags": 4}, + {"matrix": [1, 13], "x": 201, "y": 22, "flags": 4}, + {"matrix": [1, 12], "x": 189, "y": 22, "flags": 4}, + {"matrix": [1, 11], "x": 176, "y": 22, "flags": 4}, + {"matrix": [1, 10], "x": 163, "y": 24, "flags": 4}, + {"matrix": [1, 9], "x": 151, "y": 28, "flags": 4}, + {"matrix": [1, 8], "x": 138, "y": 32, "flags": 4}, + {"matrix": [1, 7], "x": 126, "y": 36, "flags": 4}, + {"matrix": [0, 7], "x": 128, "y": 16, "flags": 4}, + {"matrix": [0, 8], "x": 140, "y": 12, "flags": 4}, + {"matrix": [0, 9], "x": 152, "y": 8, "flags": 4}, + {"matrix": [0, 10], "x": 165, "y": 4, "flags": 4}, + {"matrix": [0, 11], "x": 178, "y": 2, "flags": 4}, + {"matrix": [0, 12], "x": 190, "y": 3, "flags": 4}, + {"matrix": [0, 14], "x": 209, "y": 3, "flags": 1}, + {"matrix": [0, 15], "x": 233, "y": 1, "flags": 4} ], "max_brightness": 118, "react_on_keyup": true, diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb/info.json b/keyboards/sleepy_craft_studios/sleepy_keeb/keyboard.json similarity index 100% rename from keyboards/sleepy_craft_studios/sleepy_keeb/info.json rename to keyboards/sleepy_craft_studios/sleepy_keeb/keyboard.json diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb/rules.mk b/keyboards/sleepy_craft_studios/sleepy_keeb/rules.mk deleted file mode 100644 index 6e7633bfe01..00000000000 --- a/keyboards/sleepy_craft_studios/sleepy_keeb/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# This file intentionally left blank diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/config.h b/keyboards/sleepy_craft_studios/sleepy_keeb_split/config.h new file mode 100644 index 00000000000..5e3eb67255b --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/config.h @@ -0,0 +1,6 @@ +// Copyright 2024 Sleepy Craft Studios (@Sleepy Craft Studios) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define EE_HANDS diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/keyboard.json b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keyboard.json new file mode 100644 index 00000000000..c645bfbaff5 --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keyboard.json @@ -0,0 +1,101 @@ +{ + "manufacturer": "Sleepy Craft Studios", + "keyboard_name": "sleepy_keeb_split", + "maintainer": "Sleepy Craft Studios", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B5", "B6", "B2", "B3", "B1", "F7"], + "rows": ["C6", "D7", "E6", "B4"] + }, + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 18, + "split_count": [9, 9] + }, + "split": { + "enabled": true, + "soft_serial_pin": "D2", + "usb_detect": { + "enabled": true + } + }, + "url": "https://sleepycraftstudios.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0002", + "vid": "0x7373" + }, + "ws2812": { + "pin": "F4" + }, + "community_layouts": ["ortho_4x12"], + "layouts": { + "LAYOUT_ortho_4x12": { + "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": [4, 0], "x": 6, "y": 0}, + {"matrix": [4, 1], "x": 7, "y": 0}, + {"matrix": [4, 2], "x": 8, "y": 0}, + {"matrix": [4, 3], "x": 9, "y": 0}, + {"matrix": [4, 4], "x": 10, "y": 0}, + {"matrix": [4, 5], "x": 11, "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": [5, 0], "x": 6, "y": 1}, + {"matrix": [5, 1], "x": 7, "y": 1}, + {"matrix": [5, 2], "x": 8, "y": 1}, + {"matrix": [5, 3], "x": 9, "y": 1}, + {"matrix": [5, 4], "x": 10, "y": 1}, + {"matrix": [5, 5], "x": 11, "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": [6, 0], "x": 6, "y": 2}, + {"matrix": [6, 1], "x": 7, "y": 2}, + {"matrix": [6, 2], "x": 8, "y": 2}, + {"matrix": [6, 3], "x": 9, "y": 2}, + {"matrix": [6, 4], "x": 10, "y": 2}, + {"matrix": [6, 5], "x": 11, "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": [7, 0], "x": 6, "y": 3}, + {"matrix": [7, 1], "x": 7, "y": 3}, + {"matrix": [7, 2], "x": 8, "y": 3}, + {"matrix": [7, 3], "x": 9, "y": 3}, + {"matrix": [7, 4], "x": 10, "y": 3}, + {"matrix": [7, 5], "x": 11, "y": 3} + ] + } + } +} diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/default/keymap.c b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/default/keymap.c new file mode 100644 index 00000000000..65bd5c46097 --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +// Copyright 2024 Sleepy Craft Studios +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum keeb_layers { + _BASE, + _RAISE, + _FN, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_ortho_4x12( + 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_UP, KC_DOWN, KC_LEFT, KC_RGHT + ), + [_RAISE] = LAYOUT_ortho_4x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RGB_MOD, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_FN] = LAYOUT_ortho_4x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, RGB_TOG, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), +}; diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/keymap.c b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/keymap.c new file mode 100644 index 00000000000..65bd5c46097 --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/keymap.c @@ -0,0 +1,31 @@ +// Copyright 2024 Sleepy Craft Studios +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum keeb_layers { + _BASE, + _RAISE, + _FN, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_ortho_4x12( + 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_UP, KC_DOWN, KC_LEFT, KC_RGHT + ), + [_RAISE] = LAYOUT_ortho_4x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RGB_MOD, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_FN] = LAYOUT_ortho_4x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, RGB_TOG, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), +}; diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/rules.mk b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/readme.md b/keyboards/sleepy_craft_studios/sleepy_keeb_split/readme.md new file mode 100644 index 00000000000..15e311bd1f5 --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/readme.md @@ -0,0 +1,31 @@ +# sleepy_keeb_split + + + + +The Sleepy Keeb Split is an ortholinear 4x6 split keyboard inspired by the Planck. This is a hand-wired keyboard using the pro-micro or similar microcontrollers. The keyboard is designed to be used with a 3d printed case, which is also available on the Sleepy Craft Studios website. The unique element to this design is the integrated hotswap holders present in the 3d printed plate. The plate also includes diode holders for easy soldering. + +This keyboard is available as a kit as on the sleepycraftstudios.com, and is designed to be a beginner friendly hand-wired keyboard. The keyboard is also compatible with VIA, and the keymap is designed to be easily modified. + +The STL files are made available under the CC BY-NC-SA 4.0 license. + +* Keyboard Maintainer: [Sleepy Craft Studios](https://github.com/sleepy-craft-studios) +* Hardware Supported: Pro-micro (tested), Elite-C, any other ATMega32U4 based microcontroller should work. +* Hardware Availability: Kits can be purchased at [Sleepy Craft Studios](https://sleepycraftstudios.com/shop/sleepy-keeb-split-(diy)) + +Make example for this keyboard (after setting up your build environment): + + make sleepy_craft_studios/sleepy_keeb_split:default + +Flashing example for this keyboard: + + make sleepy_craft_studios/sleepy_keeb_split: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 +* **Short GND and RST**: Short these two pins twice quickly with a pair of pliers or paperclip to enter the bootloader. diff --git a/keyboards/smart68/info.json b/keyboards/smart68/keyboard.json similarity index 100% rename from keyboards/smart68/info.json rename to keyboards/smart68/keyboard.json diff --git a/keyboards/smart68/rules.mk b/keyboards/smart68/rules.mk deleted file mode 100644 index 6e7633bfe01..00000000000 --- a/keyboards/smart68/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# This file intentionally left blank diff --git a/keyboards/snes_macropad/config.h b/keyboards/snes_macropad/config.h index c5edeb55f1d..a8f0c7fc457 100644 --- a/keyboards/snes_macropad/config.h +++ b/keyboards/snes_macropad/config.h @@ -3,6 +3,9 @@ #pragma once +#define MATRIX_COLS 4 +#define MATRIX_ROWS 6 + #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/snes_macropad/keyboard.json b/keyboards/snes_macropad/keyboard.json index 3483fe8f539..91ee3323573 100644 --- a/keyboards/snes_macropad/keyboard.json +++ b/keyboards/snes_macropad/keyboard.json @@ -19,10 +19,6 @@ "driver": "vendor" }, "processor": "RP2040", - "matrix_size": { - "cols": 4, - "rows": 6 - }, "url": "", "usb": { "device_version": "1.0.0", diff --git a/keyboards/sofle/keymaps/rgb_default/config.h b/keyboards/sofle/keymaps/rgb_default/config.h index 314322c9293..0929487978c 100644 --- a/keyboards/sofle/keymaps/rgb_default/config.h +++ b/keyboards/sofle/keymaps/rgb_default/config.h @@ -69,10 +69,11 @@ //#define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_LED_COUNT 70 - //#define RGBLED_SPLIT + #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 diff --git a/keyboards/sofle_choc/keyboard.json b/keyboards/sofle_choc/keyboard.json index f0ce6d78e04..c4d9822371b 100644 --- a/keyboards/sofle_choc/keyboard.json +++ b/keyboards/sofle_choc/keyboard.json @@ -130,8 +130,8 @@ "url": "https://github.com/josefadamcik/SofleKeyboard", "usb": { "device_version": "0.0.1", - "pid": "0x0287", - "vid": "0xFC32" + "pid": "0x5343", + "vid": "0x424C" }, "ws2812": { "pin": "D3" diff --git a/keyboards/spiderisland/split78/readme.md b/keyboards/spiderisland/split78/readme.md index 84db8f0ffa3..e7e96f3d96e 100644 --- a/keyboards/spiderisland/split78/readme.md +++ b/keyboards/spiderisland/split78/readme.md @@ -16,7 +16,7 @@ Make example for this keyboard (after setting up your build environment): make spiderisland/split78:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make spiderisland/split78:default:flash diff --git a/keyboards/takashicompany/heavy_left/keyboard.json b/keyboards/takashicompany/heavy_left/keyboard.json index e0c020d0fdf..3109e1ad83f 100644 --- a/keyboards/takashicompany/heavy_left/keyboard.json +++ b/keyboards/takashicompany/heavy_left/keyboard.json @@ -45,8 +45,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "soft_serial_pin": "D2", - "main": "eeprom" + "soft_serial_pin": "D2" }, "development_board": "promicro", "layouts": { diff --git a/keyboards/tgr/910/readme.md b/keyboards/tgr/910/readme.md index 63e86380b87..9d3efefbb94 100644 --- a/keyboards/tgr/910/readme.md +++ b/keyboards/tgr/910/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make tgr/910:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make tgr/910:default:flash diff --git a/keyboards/tgr/910ce/readme.md b/keyboards/tgr/910ce/readme.md index 6df25c8f8cc..6d9bb71ceff 100644 --- a/keyboards/tgr/910ce/readme.md +++ b/keyboards/tgr/910ce/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make tgr/910ce:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make tgr/910ce:default:flash diff --git a/keyboards/tgr/alice/readme.md b/keyboards/tgr/alice/readme.md index a08aaf71ba6..d9b01aef64b 100644 --- a/keyboards/tgr/alice/readme.md +++ b/keyboards/tgr/alice/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make tgr/alice:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make tgr/alice:default:flash diff --git a/keyboards/tgr/jane/v2/readme.md b/keyboards/tgr/jane/v2/readme.md index 5c5a2d92d3c..dac3e8429f0 100644 --- a/keyboards/tgr/jane/v2/readme.md +++ b/keyboards/tgr/jane/v2/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make tgr/jane:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make tgr/jane:default:flash diff --git a/keyboards/tgr/jane/v2ce/readme.md b/keyboards/tgr/jane/v2ce/readme.md index 20e949caa57..7580270d8d3 100644 --- a/keyboards/tgr/jane/v2ce/readme.md +++ b/keyboards/tgr/jane/v2ce/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make tgr/jane/v2ce:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make tgr/jane/v2ce:default:flash diff --git a/keyboards/tgr/tris/readme.md b/keyboards/tgr/tris/readme.md index 8c3433700b8..c9cc1990696 100644 --- a/keyboards/tgr/tris/readme.md +++ b/keyboards/tgr/tris/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make tris:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make tris:default:flash diff --git a/keyboards/theone/keyboard.json b/keyboards/theone/keyboard.json index 0f1d8e021cc..3b4fc99d052 100644 --- a/keyboards/theone/keyboard.json +++ b/keyboards/theone/keyboard.json @@ -115,31 +115,31 @@ {"matrix": [2, 13], "x": 135, "y": 20, "flags": 4}, {"matrix": [1, 16], "x": 152, "y": 20, "flags": 4}, {"matrix": [2, 16], "x": 152, "y": 30, "flags": 4}, - {"matrix": [3, 13], "x": 127.5, "y": 30, "flags": 4}, - {"matrix": [3, 11], "x": 117.5, "y": 30, "flags": 4}, - {"matrix": [3, 10], "x": 107.5, "y": 30, "flags": 4}, - {"matrix": [3, 9], "x": 97.5, "y": 30, "flags": 4}, - {"matrix": [3, 8], "x": 87.5, "y": 30, "flags": 4}, - {"matrix": [3, 7], "x": 77.5, "y": 30, "flags": 4}, - {"matrix": [3, 6], "x": 67.5, "y": 30, "flags": 4}, - {"matrix": [3, 5], "x": 57.5, "y": 30, "flags": 4}, - {"matrix": [3, 4], "x": 47.5, "y": 30, "flags": 4}, - {"matrix": [3, 3], "x": 37.5, "y": 30, "flags": 4}, - {"matrix": [3, 2], "x": 27.5, "y": 30, "flags": 4}, - {"matrix": [3, 1], "x": 17.5, "y": 30, "flags": 4}, + {"matrix": [3, 13], "x": 127, "y": 30, "flags": 4}, + {"matrix": [3, 11], "x": 117, "y": 30, "flags": 4}, + {"matrix": [3, 10], "x": 107, "y": 30, "flags": 4}, + {"matrix": [3, 9], "x": 97, "y": 30, "flags": 4}, + {"matrix": [3, 8], "x": 87, "y": 30, "flags": 4}, + {"matrix": [3, 7], "x": 77, "y": 30, "flags": 4}, + {"matrix": [3, 6], "x": 67, "y": 30, "flags": 4}, + {"matrix": [3, 5], "x": 57, "y": 30, "flags": 4}, + {"matrix": [3, 4], "x": 47, "y": 30, "flags": 4}, + {"matrix": [3, 3], "x": 37, "y": 30, "flags": 4}, + {"matrix": [3, 2], "x": 27, "y": 30, "flags": 4}, + {"matrix": [3, 1], "x": 17, "y": 30, "flags": 4}, {"matrix": [3, 0], "x": 0, "y": 30, "flags": 4}, {"matrix": [4, 0], "x": 0, "y": 40, "flags": 4}, - {"matrix": [4, 2], "x": 22.5, "y": 40, "flags": 4}, - {"matrix": [4, 3], "x": 32.5, "y": 40, "flags": 4}, - {"matrix": [4, 4], "x": 42.5, "y": 40, "flags": 4}, - {"matrix": [4, 5], "x": 52.5, "y": 40, "flags": 4}, - {"matrix": [4, 6], "x": 62.5, "y": 40, "flags": 4}, - {"matrix": [4, 7], "x": 72.5, "y": 40, "flags": 4}, - {"matrix": [4, 8], "x": 82.5, "y": 40, "flags": 4}, - {"matrix": [4, 9], "x": 92.5, "y": 40, "flags": 4}, - {"matrix": [4, 10], "x": 102.5, "y": 40, "flags": 4}, - {"matrix": [4, 11], "x": 112.5, "y": 40, "flags": 4}, - {"matrix": [4, 13], "x": 122.5, "y": 40, "flags": 4}, + {"matrix": [4, 2], "x": 22, "y": 40, "flags": 4}, + {"matrix": [4, 3], "x": 32, "y": 40, "flags": 4}, + {"matrix": [4, 4], "x": 42, "y": 40, "flags": 4}, + {"matrix": [4, 5], "x": 52, "y": 40, "flags": 4}, + {"matrix": [4, 6], "x": 62, "y": 40, "flags": 4}, + {"matrix": [4, 7], "x": 72, "y": 40, "flags": 4}, + {"matrix": [4, 8], "x": 82, "y": 40, "flags": 4}, + {"matrix": [4, 9], "x": 92, "y": 40, "flags": 4}, + {"matrix": [4, 10], "x": 102, "y": 40, "flags": 4}, + {"matrix": [4, 11], "x": 112, "y": 40, "flags": 4}, + {"matrix": [4, 13], "x": 122, "y": 40, "flags": 4}, {"matrix": [4, 14], "x": 142, "y": 42, "flags": 4}, {"matrix": [5, 15], "x": 152, "y": 52, "flags": 4}, {"matrix": [5, 14], "x": 142, "y": 52, "flags": 4}, @@ -147,9 +147,9 @@ {"matrix": [5, 12], "x": 120, "y": 50, "flags": 4}, {"matrix": [5, 10], "x": 110, "y": 50, "flags": 4}, {"matrix": [5, 9], "x": 100, "y": 50, "flags": 4}, - {"matrix": [5, 6], "x": 37.5, "y": 50, "flags": 4}, + {"matrix": [5, 6], "x": 37, "y": 50, "flags": 4}, {"matrix": [5, 2], "x": 25, "y": 50, "flags": 4}, - {"matrix": [5, 1], "x": 12.5, "y": 50, "flags": 4}, + {"matrix": [5, 1], "x": 12, "y": 50, "flags": 4}, {"matrix": [5, 0], "x": 0, "y": 50, "flags": 4} ], "max_brightness": 130, diff --git a/keyboards/tyraelwastaken/equanimity/keyboard.json b/keyboards/tyraelwastaken/equanimity/keyboard.json new file mode 100644 index 00000000000..d9ace047142 --- /dev/null +++ b/keyboards/tyraelwastaken/equanimity/keyboard.json @@ -0,0 +1,104 @@ +{ + "manufacturer": "TyraelWasTaken", + "keyboard_name": "Equanimity", + "maintainer": "TyraelWasTaken", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "A9", "pin_b": "A10", "resolution": 1} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B2", "B1", "B0", "A7", "A6", "A5", "A2", "B12", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15"], + "rows": ["B11", "B10", "A1", "A3", "A4"] + }, + "processor": "STM32F072", + "url": "https://github.com/TyraelWasTaken/Equanimity", + "usb": { + "device_version": "1.0.0", + "pid": "0x5343", + "vid": "0x6571" + }, + "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": [0, 14], "x": 14, "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": 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}, + {"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, 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": [2, 14], "x": 14, "y": 2}, + {"matrix": [2, 15], "x": 15, "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, 6], "x": 6, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"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}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 3], "x": 3, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + {"matrix": [4, 7], "x": 7, "y": 4}, + {"matrix": [4, 8], "x": 8, "y": 4}, + {"matrix": [4, 10], "x": 10, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 15], "x": 5, "y": 4} + ] + } + } +} diff --git a/keyboards/tyraelwastaken/equanimity/keymaps/default/keymap.c b/keyboards/tyraelwastaken/equanimity/keymaps/default/keymap.c new file mode 100644 index 00000000000..7430554f7ab --- /dev/null +++ b/keyboards/tyraelwastaken/equanimity/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +// Copyright 2024 TyraelWasTaken (@TyraelWasTaken) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _BL, + _FL, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BL] = LAYOUT( + KC_DELETE, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BACKSPACE, + 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_LOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE, KC_ENT, KC_MEDIA_PLAY_PAUSE, + KC_PGDN, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_SPC, MO(_FL), KC_SPC, KC_LALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FL] = LAYOUT( + KC_TRNS, KC_GRAVE, 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_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ) +}; + +#ifdef ENCODER_MAP_ENABLE + const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BL] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_FL] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + }; +#endif \ No newline at end of file diff --git a/keyboards/tyraelwastaken/equanimity/keymaps/default/rules.mk b/keyboards/tyraelwastaken/equanimity/keymaps/default/rules.mk new file mode 100644 index 00000000000..a40474b4d5c --- /dev/null +++ b/keyboards/tyraelwastaken/equanimity/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/tyraelwastaken/equanimity/keymaps/via/keymap.c b/keyboards/tyraelwastaken/equanimity/keymaps/via/keymap.c new file mode 100644 index 00000000000..7430554f7ab --- /dev/null +++ b/keyboards/tyraelwastaken/equanimity/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +// Copyright 2024 TyraelWasTaken (@TyraelWasTaken) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _BL, + _FL, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BL] = LAYOUT( + KC_DELETE, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BACKSPACE, + 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_LOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE, KC_ENT, KC_MEDIA_PLAY_PAUSE, + KC_PGDN, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_SPC, MO(_FL), KC_SPC, KC_LALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FL] = LAYOUT( + KC_TRNS, KC_GRAVE, 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_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ) +}; + +#ifdef ENCODER_MAP_ENABLE + const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BL] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_FL] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + }; +#endif \ No newline at end of file diff --git a/keyboards/tyraelwastaken/equanimity/keymaps/via/rules.mk b/keyboards/tyraelwastaken/equanimity/keymaps/via/rules.mk new file mode 100644 index 00000000000..4253f570f0b --- /dev/null +++ b/keyboards/tyraelwastaken/equanimity/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/tyraelwastaken/equanimity/readme.md b/keyboards/tyraelwastaken/equanimity/readme.md new file mode 100644 index 00000000000..a8662261921 --- /dev/null +++ b/keyboards/tyraelwastaken/equanimity/readme.md @@ -0,0 +1,27 @@ +# equanimity + + + +Arisu-ish Alice keyboard with an EC11 and some accent keys, staggered. + +* Keyboard Maintainer: [TyraelWasTaken](https://github.com/TyraelWasTaken) +* Hardware Supported: *UDB C3 or greater with Equanimity PCB, no other PCBs are supported for the case* +* Hardware Availability: *If you wish to build this, all files are available here: https://github.com/TyraelWasTaken/Equanimity* + +Make example for this keyboard (after setting up your build environment): + + make tyraelwastaken/equanimity:default + +Flashing example for this keyboard: + + make tyraelwastaken/equanimity: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/tzarc/djinn/info.json b/keyboards/tzarc/djinn/info.json index be0710ebef4..b173a18de13 100644 --- a/keyboards/tzarc/djinn/info.json +++ b/keyboards/tzarc/djinn/info.json @@ -70,8 +70,11 @@ {"pin_a": "C14", "pin_b": "C15", "resolution": 2} ] }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0.88}, {"matrix": [0, 1], "label": "1", "x": 1, "y": 0.63}, diff --git a/keyboards/tzarc/djinn/keymaps/default/keymap.c b/keyboards/tzarc/djinn/keymaps/default/keymap.c index 626233946c7..972b9c97a67 100644 --- a/keyboards/tzarc/djinn/keymaps/default/keymap.c +++ b/keyboards/tzarc/djinn/keymaps/default/keymap.c @@ -11,7 +11,7 @@ enum { _QWERTY, _LOWER, _RAISE, _ADJUST }; // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_all( + [_QWERTY] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, KC_DEL, 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_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, _______, KC_RIGHT, KC_LEFT, _______, KC_RIGHT, KC_DOWN, KC_DOWN ), - [_LOWER] = LAYOUT_all( + [_LOWER] = 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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______ ), - [_RAISE] = LAYOUT_all( + [_RAISE] = 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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,KC_LEFT, KC_DOWN, KC_RIGHT,_______, KC_UNDS, KC_NO, KC_NO, KC_EQL, _______, _______, _______, _______, _______, @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______ ), - [_ADJUST] = LAYOUT_all( + [_ADJUST] = LAYOUT( _______, KC_CAPS, KC_NUM, KC_SCRL, _______, _______, _______, _______, _______, _______, _______, DB_TOGG, EE_CLR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/tzarc/djinn/keymaps/via/keymap.c b/keyboards/tzarc/djinn/keymaps/via/keymap.c index 626233946c7..972b9c97a67 100644 --- a/keyboards/tzarc/djinn/keymaps/via/keymap.c +++ b/keyboards/tzarc/djinn/keymaps/via/keymap.c @@ -11,7 +11,7 @@ enum { _QWERTY, _LOWER, _RAISE, _ADJUST }; // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_all( + [_QWERTY] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, KC_DEL, 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_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, _______, KC_RIGHT, KC_LEFT, _______, KC_RIGHT, KC_DOWN, KC_DOWN ), - [_LOWER] = LAYOUT_all( + [_LOWER] = 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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______ ), - [_RAISE] = LAYOUT_all( + [_RAISE] = 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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,KC_LEFT, KC_DOWN, KC_RIGHT,_______, KC_UNDS, KC_NO, KC_NO, KC_EQL, _______, _______, _______, _______, _______, @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______ ), - [_ADJUST] = LAYOUT_all( + [_ADJUST] = LAYOUT( _______, KC_CAPS, KC_NUM, KC_SCRL, _______, _______, _______, _______, _______, _______, _______, DB_TOGG, EE_CLR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/unikorn/readme.md b/keyboards/unikorn/readme.md index 1383e18518c..89690374c90 100644 --- a/keyboards/unikorn/readme.md +++ b/keyboards/unikorn/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make unikorn:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make unikorn:default:flash diff --git a/keyboards/vertex/angler2/keyboard.json b/keyboards/vertex/angler2/keyboard.json index 9b9d2266140..02541f6c866 100644 --- a/keyboards/vertex/angler2/keyboard.json +++ b/keyboards/vertex/angler2/keyboard.json @@ -10,8 +10,8 @@ }, "features": { "bootmagic": true, - "command": true, - "console": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -42,7 +42,6 @@ "knight": true, "christmas": true, "static_gradient": true, - "rgb_test": true, "alternating": true, "twinkle": true } diff --git a/keyboards/vertex/arc60h/keyboard.json b/keyboards/vertex/arc60h/keyboard.json index e79d8f0dc5e..4d4d903dc47 100644 --- a/keyboards/vertex/arc60h/keyboard.json +++ b/keyboards/vertex/arc60h/keyboard.json @@ -49,6 +49,10 @@ "diode_direction": "COL2ROW", "processor": "STM32F103", "bootloader": "stm32duino", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, + "community_layouts": ["60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb"], "layouts": { "LAYOUT_all": { "layout": [ @@ -120,6 +124,350 @@ {"matrix": [4, 12], "x": 12.5, "y": 4}, {"matrix": [4, 14], "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, 14], "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, 14], "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": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "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, 14], "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": [0, 14], "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, 14], "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, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "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, 14], "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, 14], "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, 14], "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": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + + {"matrix": [4, 3], "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, 14], "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": [0, 14], "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, 14], "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, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + + {"matrix": [4, 3], "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, 14], "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": [0, 14], "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, 14], "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, 14], "x": 14, "y": 3}, + + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "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} + ] } } } diff --git a/keyboards/vertex/cycle7/info.json b/keyboards/vertex/cycle7/keyboard.json similarity index 99% rename from keyboards/vertex/cycle7/info.json rename to keyboards/vertex/cycle7/keyboard.json index d9b2f301684..9d55b63fecd 100644 --- a/keyboards/vertex/cycle7/info.json +++ b/keyboards/vertex/cycle7/keyboard.json @@ -252,7 +252,7 @@ {"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, 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}, @@ -557,7 +557,7 @@ {"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, 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}, diff --git a/keyboards/vertex/cycle7/rules.mk b/keyboards/vertex/cycle7/rules.mk deleted file mode 100644 index 6e7633bfe01..00000000000 --- a/keyboards/vertex/cycle7/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# This file intentionally left blank diff --git a/keyboards/viktus/tx_roundup_pad/info.json b/keyboards/viktus/tx_roundup_pad/keyboard.json similarity index 100% rename from keyboards/viktus/tx_roundup_pad/info.json rename to keyboards/viktus/tx_roundup_pad/keyboard.json diff --git a/keyboards/viktus/tx_roundup_pad/rules.mk b/keyboards/viktus/tx_roundup_pad/rules.mk deleted file mode 100644 index 6e7633bfe01..00000000000 --- a/keyboards/viktus/tx_roundup_pad/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# This file intentionally left blank diff --git a/keyboards/winkeyless/b87/readme.md b/keyboards/winkeyless/b87/readme.md index b1df3439b14..9e19e546cc4 100644 --- a/keyboards/winkeyless/b87/readme.md +++ b/keyboards/winkeyless/b87/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make winkeyless/b87:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make winkeyless/b87:default:flash diff --git a/keyboards/winkeyless/bface/readme.md b/keyboards/winkeyless/bface/readme.md index ab39a97db08..119fdf44ae2 100644 --- a/keyboards/winkeyless/bface/readme.md +++ b/keyboards/winkeyless/bface/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make winkeyless/bface:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make winkeyless/bface:default:flash diff --git a/keyboards/winkeyless/bmini/readme.md b/keyboards/winkeyless/bmini/readme.md index 5b19e030902..1d98de56bbd 100644 --- a/keyboards/winkeyless/bmini/readme.md +++ b/keyboards/winkeyless/bmini/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make winkeyless/bmini:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make winkeyless/bmini:default:flash diff --git a/keyboards/winkeyless/bminiex/readme.md b/keyboards/winkeyless/bminiex/readme.md index 31a9e2608f3..df07082a8f8 100644 --- a/keyboards/winkeyless/bminiex/readme.md +++ b/keyboards/winkeyless/bminiex/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make winkeyless/bminiex:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make winkeyless/bminiex:default:flash diff --git a/keyboards/xelus/snap96/keyboard.json b/keyboards/xelus/snap96/keyboard.json index f9ce42dd15f..0be9968c5af 100644 --- a/keyboards/xelus/snap96/keyboard.json +++ b/keyboards/xelus/snap96/keyboard.json @@ -144,6 +144,434 @@ {"matrix": [11, 7], "x": 17, "y": 5}, {"matrix": [11, 8], "x": 18, "y": 5} ] + }, + "LAYOUT_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": [6, 0], "x": 10, "y": 0}, + {"matrix": [6, 1], "x": 11, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 3], "x": 13, "y": 0}, + {"matrix": [6, 4], "x": 14, "y": 0}, + {"matrix": [6, 5], "x": 15, "y": 0}, + {"matrix": [6, 6], "x": 16, "y": 0}, + {"matrix": [6, 7], "x": 17, "y": 0}, + {"matrix": [6, 8], "x": 18, "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": [7, 0], "x": 10, "y": 1}, + {"matrix": [7, 1], "x": 11, "y": 1}, + {"matrix": [7, 2], "x": 12, "y": 1}, + {"matrix": [7, 4], "x": 13, "y": 1, "w": 2}, + {"matrix": [7, 5], "x": 15, "y": 1}, + {"matrix": [7, 6], "x": 16, "y": 1}, + {"matrix": [7, 7], "x": 17, "y": 1}, + {"matrix": [7, 8], "x": 18, "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": [8, 0], "x": 10.5, "y": 2}, + {"matrix": [8, 1], "x": 11.5, "y": 2}, + {"matrix": [8, 2], "x": 12.5, "y": 2}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [8, 5], "x": 15, "y": 2}, + {"matrix": [8, 6], "x": 16, "y": 2}, + {"matrix": [8, 7], "x": 17, "y": 2}, + {"matrix": [9, 8], "x": 18, "y": 2, "h": 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": [9, 0], "x": 10.75, "y": 3}, + {"matrix": [9, 1], "x": 11.75, "y": 3}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [9, 5], "x": 15, "y": 3}, + {"matrix": [9, 6], "x": 16, "y": 3}, + {"matrix": [9, 7], "x": 17, "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": [10, 0], "x": 10.25, "y": 4}, + {"matrix": [10, 1], "x": 11.25, "y": 4}, + {"matrix": [10, 3], "x": 12.25, "y": 4, "w": 2.75}, + {"matrix": [10, 5], "x": 15, "y": 4}, + {"matrix": [10, 6], "x": 16, "y": 4}, + {"matrix": [10, 7], "x": 17, "y": 4}, + {"matrix": [11, 8], "x": 18, "y": 4, "h": 2}, + + {"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": [11, 0], "x": 10, "y": 5, "w": 1.25}, + {"matrix": [11, 1], "x": 11.25, "y": 5, "w": 1.25}, + {"matrix": [11, 3], "x": 12.5, "y": 5, "w": 1.25}, + {"matrix": [11, 4], "x": 13.75, "y": 5, "w": 1.25}, + {"matrix": [11, 5], "x": 15, "y": 5, "w": 2}, + {"matrix": [11, 7], "x": 17, "y": 5} + ] + }, + "LAYOUT_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": [6, 0], "x": 10, "y": 0}, + {"matrix": [6, 1], "x": 11, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 3], "x": 13, "y": 0}, + {"matrix": [6, 4], "x": 14, "y": 0}, + {"matrix": [6, 5], "x": 15, "y": 0}, + {"matrix": [6, 6], "x": 16, "y": 0}, + {"matrix": [6, 7], "x": 17, "y": 0}, + {"matrix": [6, 8], "x": 18, "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": [7, 0], "x": 10, "y": 1}, + {"matrix": [7, 1], "x": 11, "y": 1}, + {"matrix": [7, 2], "x": 12, "y": 1}, + {"matrix": [7, 3], "x": 13, "y": 1}, + {"matrix": [7, 4], "x": 14, "y": 1}, + {"matrix": [7, 5], "x": 15, "y": 1}, + {"matrix": [7, 6], "x": 16, "y": 1}, + {"matrix": [7, 7], "x": 17, "y": 1}, + {"matrix": [7, 8], "x": 18, "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": [8, 0], "x": 10.5, "y": 2}, + {"matrix": [8, 1], "x": 11.5, "y": 2}, + {"matrix": [8, 2], "x": 12.5, "y": 2}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [8, 5], "x": 15, "y": 2}, + {"matrix": [8, 6], "x": 16, "y": 2}, + {"matrix": [8, 7], "x": 17, "y": 2}, + {"matrix": [9, 8], "x": 18, "y": 2, "h": 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": [9, 0], "x": 10.75, "y": 3}, + {"matrix": [9, 1], "x": 11.75, "y": 3}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [9, 5], "x": 15, "y": 3}, + {"matrix": [9, 6], "x": 16, "y": 3}, + {"matrix": [9, 7], "x": 17, "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": [10, 0], "x": 10.25, "y": 4}, + {"matrix": [10, 1], "x": 11.25, "y": 4}, + {"matrix": [10, 3], "x": 12.25, "y": 4, "w": 2.75}, + {"matrix": [10, 5], "x": 15, "y": 4}, + {"matrix": [10, 6], "x": 16, "y": 4}, + {"matrix": [10, 7], "x": 17, "y": 4}, + {"matrix": [11, 8], "x": 18, "y": 4, "h": 2}, + + {"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": [11, 0], "x": 10, "y": 5, "w": 1.25}, + {"matrix": [11, 1], "x": 11.25, "y": 5, "w": 1.25}, + {"matrix": [11, 3], "x": 12.5, "y": 5, "w": 1.25}, + {"matrix": [11, 4], "x": 13.75, "y": 5, "w": 1.25}, + {"matrix": [11, 5], "x": 15, "y": 5, "w": 2}, + {"matrix": [11, 7], "x": 17, "y": 5} + ] + }, + "LAYOUT_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": [6, 0], "x": 10, "y": 0}, + {"matrix": [6, 1], "x": 11, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 3], "x": 13, "y": 0}, + {"matrix": [6, 4], "x": 14, "y": 0}, + {"matrix": [6, 5], "x": 15, "y": 0}, + {"matrix": [6, 6], "x": 16, "y": 0}, + {"matrix": [6, 7], "x": 17, "y": 0}, + {"matrix": [6, 8], "x": 18, "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": [7, 0], "x": 10, "y": 1}, + {"matrix": [7, 1], "x": 11, "y": 1}, + {"matrix": [7, 2], "x": 12, "y": 1}, + {"matrix": [7, 4], "x": 13, "y": 1, "w": 2}, + {"matrix": [7, 5], "x": 15, "y": 1}, + {"matrix": [7, 6], "x": 16, "y": 1}, + {"matrix": [7, 7], "x": 17, "y": 1}, + {"matrix": [7, 8], "x": 18, "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": [8, 0], "x": 10.5, "y": 2}, + {"matrix": [8, 1], "x": 11.5, "y": 2}, + {"matrix": [8, 2], "x": 12.5, "y": 2}, + {"matrix": [8, 5], "x": 15, "y": 2}, + {"matrix": [8, 6], "x": 16, "y": 2}, + {"matrix": [8, 7], "x": 17, "y": 2}, + {"matrix": [9, 8], "x": 18, "y": 2, "h": 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": [9, 0], "x": 10.75, "y": 3}, + {"matrix": [9, 1], "x": 11.75, "y": 3}, + {"matrix": [9, 3], "x": 12.75, "y": 3}, + {"matrix": [8, 4], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [9, 5], "x": 15, "y": 3}, + {"matrix": [9, 6], "x": 16, "y": 3}, + {"matrix": [9, 7], "x": 17, "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": [10, 0], "x": 10.25, "y": 4}, + {"matrix": [10, 1], "x": 11.25, "y": 4}, + {"matrix": [10, 3], "x": 12.25, "y": 4, "w": 2.75}, + {"matrix": [10, 5], "x": 15, "y": 4}, + {"matrix": [10, 6], "x": 16, "y": 4}, + {"matrix": [10, 7], "x": 17, "y": 4}, + {"matrix": [11, 8], "x": 18, "y": 4, "h": 2}, + + {"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": [11, 0], "x": 10, "y": 5, "w": 1.25}, + {"matrix": [11, 1], "x": 11.25, "y": 5, "w": 1.25}, + {"matrix": [11, 3], "x": 12.5, "y": 5, "w": 1.25}, + {"matrix": [11, 4], "x": 13.75, "y": 5, "w": 1.25}, + {"matrix": [11, 5], "x": 15, "y": 5, "w": 2}, + {"matrix": [11, 7], "x": 17, "y": 5} + ] + }, + "LAYOUT_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": [6, 0], "x": 10, "y": 0}, + {"matrix": [6, 1], "x": 11, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 3], "x": 13, "y": 0}, + {"matrix": [6, 4], "x": 14, "y": 0}, + {"matrix": [6, 5], "x": 15, "y": 0}, + {"matrix": [6, 6], "x": 16, "y": 0}, + {"matrix": [6, 7], "x": 17, "y": 0}, + {"matrix": [6, 8], "x": 18, "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": [7, 0], "x": 10, "y": 1}, + {"matrix": [7, 1], "x": 11, "y": 1}, + {"matrix": [7, 2], "x": 12, "y": 1}, + {"matrix": [7, 3], "x": 13, "y": 1}, + {"matrix": [7, 4], "x": 14, "y": 1}, + {"matrix": [7, 5], "x": 15, "y": 1}, + {"matrix": [7, 6], "x": 16, "y": 1}, + {"matrix": [7, 7], "x": 17, "y": 1}, + {"matrix": [7, 8], "x": 18, "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": [8, 0], "x": 10.5, "y": 2}, + {"matrix": [8, 1], "x": 11.5, "y": 2}, + {"matrix": [8, 2], "x": 12.5, "y": 2}, + {"matrix": [8, 5], "x": 15, "y": 2}, + {"matrix": [8, 6], "x": 16, "y": 2}, + {"matrix": [8, 7], "x": 17, "y": 2}, + {"matrix": [9, 8], "x": 18, "y": 2, "h": 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": [9, 0], "x": 10.75, "y": 3}, + {"matrix": [9, 1], "x": 11.75, "y": 3}, + {"matrix": [9, 3], "x": 12.75, "y": 3}, + {"matrix": [8, 4], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [9, 5], "x": 15, "y": 3}, + {"matrix": [9, 6], "x": 16, "y": 3}, + {"matrix": [9, 7], "x": 17, "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": [10, 0], "x": 10.25, "y": 4}, + {"matrix": [10, 1], "x": 11.25, "y": 4}, + {"matrix": [10, 3], "x": 12.25, "y": 4, "w": 2.75}, + {"matrix": [10, 5], "x": 15, "y": 4}, + {"matrix": [10, 6], "x": 16, "y": 4}, + {"matrix": [10, 7], "x": 17, "y": 4}, + {"matrix": [11, 8], "x": 18, "y": 4, "h": 2}, + + {"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": [11, 0], "x": 10, "y": 5, "w": 1.25}, + {"matrix": [11, 1], "x": 11.25, "y": 5, "w": 1.25}, + {"matrix": [11, 3], "x": 12.5, "y": 5, "w": 1.25}, + {"matrix": [11, 4], "x": 13.75, "y": 5, "w": 1.25}, + {"matrix": [11, 5], "x": 15, "y": 5, "w": 2}, + {"matrix": [11, 7], "x": 17, "y": 5} + ] } } } diff --git a/keyboards/xelus/snap96/matrix_diagram.md b/keyboards/xelus/snap96/matrix_diagram.md new file mode 100644 index 00000000000..123adcee01f --- /dev/null +++ b/keyboards/xelus/snap96/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for Xelus Snap96 + +``` + ┌───────┐ + 2u Backspace │74 │ + └───────┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │60 │61 │62 │63 │64 │65 │66 │67 │68 │ + ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │70 │71 │72 │73 │74 │75 │76 │77 │78 │ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ ┌───┐ ┌─────┐ + │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │80 │81 │82 │84 │85 │86 │87 │88 │ │98 │ │84 │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┼───┤ │ │ ┌──┴┐ │ ISO Enter + │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │90 │91 │93 │95 │96 │97 │98 │ │ │ │93 │ │ +┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ ├───┤ └───┴────┘ +│40 │ │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │A0 │A1 │A3 │A4 │A5 │A6 │A7 │A8 │ │B8 │┌───┬──────────┐ +└────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴┬──┴─┬─┴───┴──┬┴───┼───┴┬────┬┴───┼───┼───┼───┼───┤ │ ││A1 │A3 │ + │50 │51 │52 │55 │56 │59 │B0 │B1 │B3 │B4 │B5 │B6 │B7 │B8 │ │ │├───┴──┬───┬───┤ + └────┴────┴────┴──────────┴────┴────────┴────┴────┴────┴────┴───┴───┴───┴───┘ └───┘│A1 │A3 │A4 │ + ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ ┌───────┬───┐ └──────┴───┴───┘ + │50 │51 │52 │56 │B1 │B3 │B4 │ │B5 │B7 │ + ├────┬┴───┼────┬┴───────────────────────┬───┴┬────┼───┴┬────┤ ├───┬───┴───┤ + │50 │51 │52 │56 │B0 │B1 │B3 │B4 │ │B5 │B7 │ + ├────┼────┼────┼────────┬────┬──────────┼────┼────┼────┼────┤ └───┴───────┘ + │50 │51 │52 │55 │56 │59 │B0 │B1 │B3 │B4 │ + └────┴────┴────┴────────┴────┴──────────┴────┴────┴────┴────┘ +``` diff --git a/keyboards/ymdk/bface/readme.md b/keyboards/ymdk/bface/readme.md index d99d4f9fb0d..e2404f7faba 100644 --- a/keyboards/ymdk/bface/readme.md +++ b/keyboards/ymdk/bface/readme.md @@ -13,7 +13,7 @@ Make example for this keyboard (after setting up your build environment): make ymdk/bface:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make ymdk/bface:default:flash diff --git a/keyboards/ymdk/np21/readme.md b/keyboards/ymdk/np21/readme.md index e9eaad9b7be..bbebea5880d 100644 --- a/keyboards/ymdk/np21/readme.md +++ b/keyboards/ymdk/np21/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make ymdk/np21:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make ymdk/np21:default:flash diff --git a/keyboards/ymdk/sp64/readme.md b/keyboards/ymdk/sp64/readme.md index ce547f1e0ce..3421e434efc 100644 --- a/keyboards/ymdk/sp64/readme.md +++ b/keyboards/ymdk/sp64/readme.md @@ -8,7 +8,7 @@ Make example for this keyboard (after setting up your build environment): make ymdk/sp64:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make ymdk/sp64:default:flash diff --git a/keyboards/ymdk/ymd75/rev1/readme.md b/keyboards/ymdk/ymd75/rev1/readme.md index e4784d4eb98..1583c17d8fc 100644 --- a/keyboards/ymdk/ymd75/rev1/readme.md +++ b/keyboards/ymdk/ymd75/rev1/readme.md @@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment): make ymdk/ymd75/rev1:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make ymdk/ymd75/rev1:default:flash diff --git a/keyboards/ymdk/ymd75/rev2/readme.md b/keyboards/ymdk/ymd75/rev2/readme.md index 7d70ed3a50a..7437488c195 100644 --- a/keyboards/ymdk/ymd75/rev2/readme.md +++ b/keyboards/ymdk/ymd75/rev2/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make ymdk/ymd75/rev2:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make ymdk/ymd75/rev2:default:flash diff --git a/keyboards/ymdk/ymd96/readme.md b/keyboards/ymdk/ymd96/readme.md index 6a967a49c25..ff6d61e5ae2 100644 --- a/keyboards/ymdk/ymd96/readme.md +++ b/keyboards/ymdk/ymd96/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make ymdk/ymd96:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make ymdk/ymd96:default:flash diff --git a/keyboards/zsa/voyager/config.h b/keyboards/zsa/voyager/config.h index 630c01fc809..27460c59104 100644 --- a/keyboards/zsa/voyager/config.h +++ b/keyboards/zsa/voyager/config.h @@ -4,6 +4,9 @@ #pragma once +#define MATRIX_COLS 7 +#define MATRIX_ROWS 12 + #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC diff --git a/keyboards/zsa/voyager/keyboard.json b/keyboards/zsa/voyager/keyboard.json index 3a7e7865ea9..3c5f2931ef4 100644 --- a/keyboards/zsa/voyager/keyboard.json +++ b/keyboards/zsa/voyager/keyboard.json @@ -27,10 +27,6 @@ "matrix": [0, 1] }, "diode_direction": "ROW2COL", - "matrix_size": { - "cols": 7, - "rows": 12 - }, "mousekey": { "delay": 0, "interval": 20, diff --git a/keyboards/zsa/voyager/ld/voyager.ld b/keyboards/zsa/voyager/ld/voyager.ld index 0619983beb0..bfaed9df653 100644 --- a/keyboards/zsa/voyager/ld/voyager.ld +++ b/keyboards/zsa/voyager/ld/voyager.ld @@ -15,11 +15,11 @@ */ /* - * STM32F303xC memory setup. + * STM32F303xB memory setup. */ MEMORY { - flash0 (rx) : org = 0x08002000, len = 256k - 0x2000 + flash0 (rx) : org = 0x08002000, len = 128k - 0x2000 flash1 (rx) : org = 0x00000000, len = 0 flash2 (rx) : org = 0x00000000, len = 0 flash3 (rx) : org = 0x00000000, len = 0 @@ -27,7 +27,7 @@ MEMORY flash5 (rx) : org = 0x00000000, len = 0 flash6 (rx) : org = 0x00000000, len = 0 flash7 (rx) : org = 0x00000000, len = 0 - ram0 (wx) : org = 0x20000000, len = 40k + ram0 (wx) : org = 0x20000000, len = 32k ram1 (wx) : org = 0x00000000, len = 0 ram2 (wx) : org = 0x00000000, len = 0 ram3 (wx) : org = 0x00000000, len = 0 @@ -82,4 +82,4 @@ REGION_ALIAS("BSS_RAM", ram0); REGION_ALIAS("HEAP_RAM", ram0); /* Generic rules inclusion.*/ -INCLUDE rules.ld \ No newline at end of file +INCLUDE rules.ld diff --git a/keyboards/zsa/voyager/voyager.c b/keyboards/zsa/voyager/voyager.c index d70f1be3eff..3255f25a979 100644 --- a/keyboards/zsa/voyager/voyager.c +++ b/keyboards/zsa/voyager/voyager.c @@ -12,7 +12,6 @@ bool is_launching = false; #if defined(DEFERRED_EXEC_ENABLE) # if defined(DYNAMIC_MACRO_ENABLE) deferred_token dynamic_macro_token = INVALID_DEFERRED_TOKEN; - static uint32_t dynamic_macro_led(uint32_t trigger_time, void *cb_arg) { static bool led_state = true; if (!is_launching) { @@ -22,8 +21,8 @@ static uint32_t dynamic_macro_led(uint32_t trigger_time, void *cb_arg) { return 100; } -void dynamic_macro_record_start_user(void) { - if (my_token == INVALID_DEFERRED_TOKEN) { +void dynamic_macro_record_start_user(int8_t direction) { + if (dynamic_macro_token == INVALID_DEFERRED_TOKEN) { STATUS_LED_3(true); dynamic_macro_token = defer_exec(100, dynamic_macro_led, NULL); } diff --git a/lib/python/qmk/build_targets.py b/lib/python/qmk/build_targets.py index d974d04020c..e2df0294907 100644 --- a/lib/python/qmk/build_targets.py +++ b/lib/python/qmk/build_targets.py @@ -1,8 +1,8 @@ -# Copyright 2023 Nick Brassel (@tzarc) +# Copyright 2023-2024 Nick Brassel (@tzarc) # SPDX-License-Identifier: GPL-2.0-or-later import json import shutil -from typing import List, Union +from typing import Dict, List, Union from pathlib import Path from dotty_dict import dotty, Dotty from milc import cli @@ -13,6 +13,9 @@ from qmk.info import keymap_json from qmk.keymap import locate_keymap 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'] + class BuildTarget: def __init__(self, keyboard: str, keymap: str, json: Union[dict, Dotty] = None): @@ -22,25 +25,25 @@ class BuildTarget: self._parallel = 1 self._clean = False self._compiledb = False - self._target = f'{self._keyboard_safe}_{self.keymap}' - self._intermediate_output = Path(f'{INTERMEDIATE_OUTPUT_PREFIX}{self._target}') - self._generated_files_path = self._intermediate_output / 'src' + self._extra_args = {} self._json = json.to_dict() if isinstance(json, Dotty) else json def __str__(self): return f'{self.keyboard}:{self.keymap}' def __repr__(self): + if len(self._extra_args.items()) > 0: + return f'BuildTarget(keyboard={self.keyboard}, keymap={self.keymap}, extra_args={json.dumps(self._extra_args, sort_keys=True)})' return f'BuildTarget(keyboard={self.keyboard}, keymap={self.keymap})' + def __lt__(self, __value: object) -> bool: + return self.__repr__() < __value.__repr__() + def __eq__(self, __value: object) -> bool: if not isinstance(__value, BuildTarget): return False return self.__repr__() == __value.__repr__() - def __ne__(self, __value: object) -> bool: - return not self.__eq__(__value) - def __hash__(self) -> int: return self.__repr__().__hash__() @@ -72,7 +75,34 @@ class BuildTarget: def dotty(self) -> Dotty: return dotty(self.json) - def _common_make_args(self, dry_run: bool = False, build_target: str = None): + @property + def extra_args(self) -> Dict[str, str]: + return {k: v for k, v in self._extra_args.items()} + + @extra_args.setter + def extra_args(self, ex_args: Dict[str, str]): + if ex_args is not None and isinstance(ex_args, dict): + self._extra_args = {k: v for k, v in ex_args.items()} + + def target_name(self, **env_vars) -> str: + # Work out the intended target name + target = f'{self._keyboard_safe}_{self.keymap}' + vars = self._all_vars(**env_vars) + for modifier in TARGET_FILENAME_MODIFIERS: + if modifier in vars: + target += f"_{vars[modifier]}" + return target + + def _all_vars(self, **env_vars) -> Dict[str, str]: + vars = {k: v for k, v in env_vars.items()} + for k, v in self._extra_args.items(): + vars[k] = v + return vars + + def _intermediate_output(self, **env_vars) -> Path: + return Path(f'{INTERMEDIATE_OUTPUT_PREFIX}{self.target_name(**env_vars)}') + + def _common_make_args(self, dry_run: bool = False, build_target: str = None, **env_vars): compile_args = [ find_make(), *get_make_parallel_args(self._parallel), @@ -98,14 +128,17 @@ class BuildTarget: f'KEYBOARD={self.keyboard}', f'KEYMAP={self.keymap}', f'KEYBOARD_FILESAFE={self._keyboard_safe}', - f'TARGET={self._target}', - f'INTERMEDIATE_OUTPUT={self._intermediate_output}', + f'TARGET={self._keyboard_safe}_{self.keymap}', # don't use self.target_name() here, it's rebuilt on the makefile side f'VERBOSE={verbose}', f'COLOR={color}', 'SILENT=false', 'QMK_BIN="qmk"', ]) + vars = self._all_vars(**env_vars) + for k, v in vars.items(): + compile_args.append(f'{k}={v}') + return compile_args def prepare_build(self, build_target: str = None, dry_run: bool = False, **env_vars) -> None: @@ -150,6 +183,8 @@ class KeyboardKeymapBuildTarget(BuildTarget): super().__init__(keyboard=keyboard, keymap=keymap, json=json) def __repr__(self): + if len(self._extra_args.items()) > 0: + return f'KeyboardKeymapTarget(keyboard={self.keyboard}, keymap={self.keymap}, extra_args={self._extra_args})' return f'KeyboardKeymapTarget(keyboard={self.keyboard}, keymap={self.keymap})' def _load_json(self): @@ -159,15 +194,13 @@ class KeyboardKeymapBuildTarget(BuildTarget): pass def compile_command(self, build_target: str = None, dry_run: bool = False, **env_vars) -> List[str]: - compile_args = self._common_make_args(dry_run=dry_run, build_target=build_target) - - for key, value in env_vars.items(): - compile_args.append(f'{key}={value}') + compile_args = self._common_make_args(dry_run=dry_run, build_target=build_target, **env_vars) # Need to override the keymap path if the keymap is a userspace directory. # This also ensures keyboard aliases as per `keyboard_aliases.hjson` still work if the userspace has the keymap # in an equivalent historical location. - keymap_location = locate_keymap(self.keyboard, self.keymap) + vars = self._all_vars(**env_vars) + keymap_location = locate_keymap(self.keyboard, self.keymap, force_layout=vars.get('FORCE_LAYOUT')) if is_under_qmk_userspace(keymap_location) and not is_under_qmk_firmware(keymap_location): keymap_directory = keymap_location.parent compile_args.extend([ @@ -196,47 +229,51 @@ class JsonKeymapBuildTarget(BuildTarget): super().__init__(keyboard=json['keyboard'], keymap=json['keymap'], json=json) - self._keymap_json = self._generated_files_path / 'keymap.json' - def __repr__(self): + if len(self._extra_args.items()) > 0: + return f'JsonKeymapTarget(keyboard={self.keyboard}, keymap={self.keymap}, path={self.json_path}, extra_args={self._extra_args})' return f'JsonKeymapTarget(keyboard={self.keyboard}, keymap={self.keymap}, path={self.json_path})' def _load_json(self): pass # Already loaded in constructor def prepare_build(self, build_target: str = None, dry_run: bool = False, **env_vars) -> None: + intermediate_output = self._intermediate_output(**env_vars) + generated_files_path = intermediate_output / 'src' + keymap_json = generated_files_path / 'keymap.json' + if self._clean: - if self._intermediate_output.exists(): - shutil.rmtree(self._intermediate_output) + if intermediate_output.exists(): + shutil.rmtree(intermediate_output) # begin with making the deepest folder in the tree - self._generated_files_path.mkdir(exist_ok=True, parents=True) + generated_files_path.mkdir(exist_ok=True, parents=True) # Compare minified to ensure consistent comparison new_content = json.dumps(self.json, separators=(',', ':')) - if self._keymap_json.exists(): - old_content = json.dumps(json.loads(self._keymap_json.read_text(encoding='utf-8')), separators=(',', ':')) + if keymap_json.exists(): + old_content = json.dumps(json.loads(keymap_json.read_text(encoding='utf-8')), separators=(',', ':')) if old_content == new_content: new_content = None # Write the keymap.json file if different so timestamps are only updated # if the content changes -- running `make` won't treat it as modified. if new_content: - self._keymap_json.write_text(new_content, encoding='utf-8') + keymap_json.write_text(new_content, encoding='utf-8') def compile_command(self, build_target: str = None, dry_run: bool = False, **env_vars) -> List[str]: - compile_args = self._common_make_args(dry_run=dry_run, build_target=build_target) + compile_args = self._common_make_args(dry_run=dry_run, build_target=build_target, **env_vars) + intermediate_output = self._intermediate_output(**env_vars) + generated_files_path = intermediate_output / 'src' + keymap_json = generated_files_path / 'keymap.json' compile_args.extend([ - f'MAIN_KEYMAP_PATH_1={self._intermediate_output}', - f'MAIN_KEYMAP_PATH_2={self._intermediate_output}', - f'MAIN_KEYMAP_PATH_3={self._intermediate_output}', - f'MAIN_KEYMAP_PATH_4={self._intermediate_output}', - f'MAIN_KEYMAP_PATH_5={self._intermediate_output}', - f'KEYMAP_JSON={self._keymap_json}', - f'KEYMAP_PATH={self._generated_files_path}', + 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}', ]) - for key, value in env_vars.items(): - compile_args.append(f'{key}={value}') - return compile_args diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py index 6d05a5fc21c..f3314458701 100644 --- a/lib/python/qmk/cli/__init__.py +++ b/lib/python/qmk/cli/__init__.py @@ -86,6 +86,7 @@ subcommands = [ 'qmk.cli.userspace.compile', 'qmk.cli.userspace.doctor', 'qmk.cli.userspace.list', + 'qmk.cli.userspace.path', 'qmk.cli.userspace.remove', 'qmk.cli.via2json', ] @@ -188,20 +189,22 @@ def _eprint(errmsg): # Supported version information # # Based on the OSes we support these are the minimum python version available by default. -# Last update: 2021 Jan 02 +# Last update: 2024 Jun 24 # -# Arch: 3.9 -# Debian: 3.7 -# Fedora 31: 3.7 -# Fedora 32: 3.8 -# Fedora 33: 3.9 -# FreeBSD: 3.7 -# Gentoo: 3.7 -# macOS: 3.9 (from homebrew) -# msys2: 3.8 -# Slackware: 3.7 -# solus: 3.7 -# void: 3.9 +# Arch: 3.12 +# Debian 11: 3.9 +# Debian 12: 3.11 +# Fedora 39: 3.12 +# Fedora 40: 3.12 +# FreeBSD: 3.11 +# Gentoo: 3.12 +# macOS: 3.12 (from homebrew) +# msys2: 3.11 +# Slackware: 3.9 +# solus: 3.10 +# Ubuntu 22.04: 3.10 +# Ubuntu 24.04: 3.12 +# void: 3.12 if sys.version_info[0] != 3 or sys.version_info[1] < 7: _eprint('Error: Your Python is too old! Please upgrade to Python 3.7 or later.') diff --git a/lib/python/qmk/cli/doctor/check.py b/lib/python/qmk/cli/doctor/check.py index cd69cdd11c8..d563811aba9 100644 --- a/lib/python/qmk/cli/doctor/check.py +++ b/lib/python/qmk/cli/doctor/check.py @@ -53,11 +53,6 @@ def _check_avr_gcc_version(): version_number = ESSENTIAL_BINARIES['avr-gcc']['output'].strip() cli.log.info('Found avr-gcc version %s', version_number) - parsed_version = _parse_gcc_version(version_number) - if parsed_version['major'] > 8: - cli.log.warning('{fg_yellow}We do not recommend avr-gcc newer than 8. Downgrading to 8.x is recommended.') - return CheckStatus.WARNING - return CheckStatus.OK diff --git a/lib/python/qmk/cli/doctor/main.py b/lib/python/qmk/cli/doctor/main.py index dd8b58b2c75..5215d3a7eee 100755 --- a/lib/python/qmk/cli/doctor/main.py +++ b/lib/python/qmk/cli/doctor/main.py @@ -187,5 +187,5 @@ def doctor(cli): return 1 else: cli.log.info('{fg_red}Major problems detected, please fix these problems before proceeding.') - cli.log.info('{fg_blue}Check out the FAQ (https://docs.qmk.fm/#/faq_build) or join the QMK Discord (https://discord.gg/Uq7gcHh) for help.') + cli.log.info('{fg_blue}Check out the FAQ (https://docs.qmk.fm/#/faq_build) or join the QMK Discord (https://discord.gg/qmk) for help.') return 2 diff --git a/lib/python/qmk/cli/find.py b/lib/python/qmk/cli/find.py index 8f3a29c90ce..bfed91e22cd 100644 --- a/lib/python/qmk/cli/find.py +++ b/lib/python/qmk/cli/find.py @@ -2,6 +2,7 @@ """ from milc import cli from qmk.search import filter_help, search_keymap_targets +from qmk.util import maybe_exit_config @cli.argument( @@ -19,6 +20,8 @@ from qmk.search import filter_help, search_keymap_targets def find(cli): """Search through all keyboards and keymaps for a given search criteria. """ + maybe_exit_config(should_exit=False, should_reraise=True) + targets = search_keymap_targets([('all', cli.config.find.keymap)], cli.args.filter) for target in sorted(targets, key=lambda t: (t.keyboard, t.keymap)): print(f'{target}') diff --git a/lib/python/qmk/cli/format/json.py b/lib/python/qmk/cli/format/json.py index 87a3837d10e..36702944345 100755 --- a/lib/python/qmk/cli/format/json.py +++ b/lib/python/qmk/cli/format/json.py @@ -18,11 +18,18 @@ def _detect_json_format(file, json_data): """ json_encoder = None try: - validate(json_data, 'qmk.user_repo.v1') + validate(json_data, 'qmk.user_repo.v1_1') json_encoder = UserspaceJSONEncoder except ValidationError: pass + if json_encoder is None: + try: + validate(json_data, 'qmk.user_repo.v1') + json_encoder = UserspaceJSONEncoder + except ValidationError: + pass + if json_encoder is None: try: validate(json_data, 'qmk.keyboard.v1') diff --git a/lib/python/qmk/cli/generate/autocorrect_data.py b/lib/python/qmk/cli/generate/autocorrect_data.py index b11c66d95d2..01a29b46fe9 100644 --- a/lib/python/qmk/cli/generate/autocorrect_data.py +++ b/lib/python/qmk/cli/generate/autocorrect_data.py @@ -27,7 +27,6 @@ Example: For full documentation, see QMK Docs """ -import sys import textwrap from typing import Any, Dict, Iterator, List, Tuple @@ -38,6 +37,7 @@ from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE from qmk.keyboard import keyboard_completer, keyboard_folder from qmk.keymap import keymap_completer, locate_keymap from qmk.path import normpath +from qmk.util import maybe_exit KC_A = 4 KC_SPC = 0x2c @@ -88,16 +88,16 @@ def parse_file(file_name: str) -> List[Tuple[str, str]]: # Check that `typo` is valid. if not (all([c in TYPO_CHARS for c in typo])): cli.log.error('{fg_red}Error:%d:{fg_reset} Typo "{fg_cyan}%s{fg_reset}" has characters other than a-z, \' and :.', line_number, typo) - sys.exit(1) + maybe_exit(1) for other_typo in typos: if typo in other_typo or other_typo in typo: cli.log.error('{fg_red}Error:%d:{fg_reset} Typos may not be substrings of one another, otherwise the longer typo would never trigger: "{fg_cyan}%s{fg_reset}" vs. "{fg_cyan}%s{fg_reset}".', line_number, typo, other_typo) - sys.exit(1) + maybe_exit(1) if len(typo) < 5: cli.log.warning('{fg_yellow}Warning:%d:{fg_reset} It is suggested that typos are at least 5 characters long to avoid false triggers: "{fg_cyan}%s{fg_reset}"', line_number, typo) if len(typo) > 127: cli.log.error('{fg_red}Error:%d:{fg_reset} Typo exceeds 127 chars: "{fg_cyan}%s{fg_reset}"', line_number, typo) - sys.exit(1) + maybe_exit(1) check_typo_against_dictionary(typo, line_number, correct_words) @@ -136,7 +136,7 @@ def parse_file_lines(file_name: str) -> Iterator[Tuple[int, str, str]]: tokens = [token.strip() for token in line.split('->', 1)] if len(tokens) != 2 or not tokens[0]: print(f'Error:{line_number}: Invalid syntax: "{line}"') - sys.exit(1) + maybe_exit(1) typo, correction = tokens typo = typo.lower() # Force typos to lowercase. @@ -237,7 +237,7 @@ def encode_link(link: Dict[str, Any]) -> List[int]: byte_offset = link['byte_offset'] if not (0 <= byte_offset <= 0xffff): cli.log.error('{fg_red}Error:{fg_reset} The autocorrection table is too large, a node link exceeds 64KB limit. Try reducing the autocorrection dict to fewer entries.') - sys.exit(1) + maybe_exit(1) return [byte_offset & 255, byte_offset >> 8] diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py index 7db704d6c25..cf9be0fd1e2 100755 --- a/lib/python/qmk/cli/mass_compile.py +++ b/lib/python/qmk/cli/mass_compile.py @@ -7,11 +7,13 @@ from typing import List from pathlib import Path from subprocess import DEVNULL from milc import cli +import shlex from qmk.constants import QMK_FIRMWARE from qmk.commands import find_make, get_make_parallel_args, build_environment from qmk.search import search_keymap_targets, search_make_targets from qmk.build_targets import BuildTarget, JsonKeymapBuildTarget +from qmk.util import maybe_exit_config def mass_compile_targets(targets: List[BuildTarget], clean: bool, dry_run: bool, no_temp: bool, parallel: int, **env): @@ -25,7 +27,8 @@ def mass_compile_targets(targets: List[BuildTarget], clean: bool, dry_run: bool, if dry_run: cli.log.info('Compilation targets:') for target in sorted(targets, key=lambda t: (t.keyboard, t.keymap)): - cli.log.info(f"{{fg_cyan}}qmk compile -kb {target.keyboard} -km {target.keymap}{{fg_reset}}") + extra_args = ' '.join([f"-e {shlex.quote(f'{k}={v}')}" for k, v in target.extra_args.items()]) + cli.log.info(f"{{fg_cyan}}qmk compile -kb {target.keyboard} -km {target.keymap} {extra_args}{{fg_reset}}") else: if clean: cli.run([make_cmd, 'clean'], capture_output=False, stdin=DEVNULL) @@ -35,18 +38,26 @@ def mass_compile_targets(targets: List[BuildTarget], clean: bool, dry_run: bool, for target in sorted(targets, key=lambda t: (t.keyboard, t.keymap)): keyboard_name = target.keyboard keymap_name = target.keymap + keyboard_safe = keyboard_name.replace('/', '_') + target_filename = target.target_name(**env) target.configure(parallel=1) # We ignore parallelism on a per-build basis as we defer to the parent make invocation target.prepare_build(**env) # If we've got json targets, allow them to write out any extra info to .build before we kick off `make` command = target.compile_command(**env) command[0] = '+@$(MAKE)' # Override the make so that we can use jobserver to handle parallelism - keyboard_safe = keyboard_name.replace('/', '_') + extra_args = '_'.join([f"{k}_{v}" for k, v in target.extra_args.items()]) build_log = f"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" failed_log = f"{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" + target_suffix = '' + if len(extra_args) > 0: + build_log += f".{extra_args}" + failed_log += f".{extra_args}" + target_suffix = f"_{extra_args}" # yapf: disable f.write( f"""\ -all: {keyboard_safe}_{keymap_name}_binary -{keyboard_safe}_{keymap_name}_binary: +.PHONY: {target_filename}{target_suffix}_binary +all: {target_filename}{target_suffix}_binary +{target_filename}{target_suffix}_binary: @rm -f "{build_log}" || true @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{build_log}" {' '.join(command)} \\ @@ -64,9 +75,9 @@ all: {keyboard_safe}_{keymap_name}_binary # yapf: disable f.write( f"""\ - @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.elf" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.map" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}_{keymap_name}" || true + @rm -rf "{QMK_FIRMWARE}/.build/{target_filename}.elf" 2>/dev/null || true + @rm -rf "{QMK_FIRMWARE}/.build/{target_filename}.map" 2>/dev/null || true + @rm -rf "{QMK_FIRMWARE}/.build/obj_{target_filename}" || true """# noqa ) # yapf: enable @@ -100,6 +111,8 @@ all: {keyboard_safe}_{keymap_name}_binary def mass_compile(cli): """Compile QMK Firmware against all keyboards. """ + maybe_exit_config(should_exit=False, should_reraise=True) + if len(cli.args.builds) > 0: json_like_targets = list([Path(p) for p in filter(lambda e: Path(e).exists() and Path(e).suffix == '.json', cli.args.builds)]) make_like_targets = list(filter(lambda e: Path(e) not in json_like_targets, cli.args.builds)) diff --git a/lib/python/qmk/cli/new/keyboard.py b/lib/python/qmk/cli/new/keyboard.py index 56bd05e1e3e..b84b130f8ec 100644 --- a/lib/python/qmk/cli/new/keyboard.py +++ b/lib/python/qmk/cli/new/keyboard.py @@ -14,7 +14,7 @@ from qmk.git import git_get_username from qmk.json_schema import load_jsonschema from qmk.path import keyboard from qmk.json_encoders import InfoJSONEncoder -from qmk.json_schema import deep_update, json_load +from qmk.json_schema import deep_update from qmk.constants import MCU2BOOTLOADER, QMK_FIRMWARE COMMUNITY = Path('layouts/default/') @@ -78,7 +78,7 @@ def replace_string(src, token, value): src.write_text(src.read_text().replace(token, value)) -def augment_community_info(src, dest): +def augment_community_info(config, src, dest): """Splice in any additional data into info.json """ info = json.loads(src.read_text()) @@ -86,6 +86,7 @@ def augment_community_info(src, dest): # merge community with template deep_update(info, template) + deep_update(info, config) # avoid assumptions on macro name by using the first available first_layout = next(iter(info["layouts"].values()))["layout"] @@ -105,7 +106,7 @@ def augment_community_info(src, dest): for item in first_layout: item["matrix"] = [int(item["y"]), int(item["x"])] - # finally write out the updated info.json + # finally write out the updated json dest.write_text(json.dumps(info, cls=InfoJSONEncoder, sort_keys=True)) @@ -212,15 +213,12 @@ def new_keyboard(cli): default_layout = cli.args.layout if cli.args.layout else prompt_layout() mcu = cli.args.type if cli.args.type else prompt_mcu() - # Preprocess any development_board presets + config = {} if mcu in dev_boards: - defaults_map = json_load(Path('data/mappings/defaults.hjson')) - board = defaults_map['development_board'][mcu] - - mcu = board['processor'] - bootloader = board['bootloader'] + config['development_board'] = mcu else: - bootloader = select_default_bootloader(mcu) + config['processor'] = mcu + config['bootloader'] = select_default_bootloader(mcu) detach_layout = False if default_layout == 'none of the above': @@ -231,17 +229,9 @@ def new_keyboard(cli): 'YEAR': str(date.today().year), 'KEYBOARD': kb_name, 'USER_NAME': user_name, - 'REAL_NAME': real_name, - 'LAYOUT': default_layout, - 'MCU': mcu, - 'BOOTLOADER': bootloader + 'REAL_NAME': real_name } - if cli.config.general.verbose: - cli.log.info("Creating keyboard with:") - for key, value in tokens.items(): - cli.echo(f" {key.ljust(10)}: {value}") - # begin with making the deepest folder in the tree keymaps_path = keyboard(kb_name) / 'keymaps/' keymaps_path.mkdir(parents=True) @@ -256,7 +246,7 @@ def new_keyboard(cli): # merge in infos community_info = Path(COMMUNITY / f'{default_layout}/info.json') - augment_community_info(community_info, keyboard(kb_name) / 'keyboard.json') + augment_community_info(config, community_info, keyboard(kb_name) / 'keyboard.json') # detach community layout and rename to just "LAYOUT" if detach_layout: @@ -265,5 +255,5 @@ def new_keyboard(cli): cli.log.info(f'{{fg_green}}Created a new keyboard called {{fg_cyan}}{kb_name}{{fg_green}}.{{fg_reset}}') cli.log.info(f"Build Command: {{fg_yellow}}qmk compile -kb {kb_name} -km default{{fg_reset}}.") - cli.log.info(f'Project Location: {{fg_cyan}}{QMK_FIRMWARE}/{keyboard(kb_name)}{{fg_reset}},') - cli.log.info("{{fg_yellow}}Now update the config files to match the hardware!{{fg_reset}}") + cli.log.info(f'Project Location: {{fg_cyan}}{QMK_FIRMWARE}/{keyboard(kb_name)}{{fg_reset}}.') + cli.log.info("{fg_yellow}Now update the config files to match the hardware!{fg_reset}") diff --git a/lib/python/qmk/cli/userspace/add.py b/lib/python/qmk/cli/userspace/add.py index 8993d54dba5..0d6f32cd11d 100644 --- a/lib/python/qmk/cli/userspace/add.py +++ b/lib/python/qmk/cli/userspace/add.py @@ -1,8 +1,9 @@ -# Copyright 2023 Nick Brassel (@tzarc) +# Copyright 2023-2024 Nick Brassel (@tzarc) # SPDX-License-Identifier: GPL-2.0-or-later from pathlib import Path from milc import cli +from qmk.commands import parse_env_vars from qmk.constants import QMK_USERSPACE, HAS_QMK_USERSPACE from qmk.keyboard import keyboard_completer, keyboard_folder_or_all from qmk.keymap import keymap_completer, is_keymap_target @@ -12,12 +13,15 @@ from qmk.userspace import UserspaceDefs @cli.argument('builds', nargs='*', arg_only=True, help="List of builds in form :, or path to a keymap JSON file.") @cli.argument('-kb', '--keyboard', type=keyboard_folder_or_all, completer=keyboard_completer, help='The keyboard to build a firmware for. Ignored when a configurator export is supplied.') @cli.argument('-km', '--keymap', completer=keymap_completer, help='The keymap to build a firmware for. Ignored when a configurator export is supplied.') +@cli.argument('-e', '--env', arg_only=True, action='append', default=[], help="Extra variables to set during build. May be passed multiple times.") @cli.subcommand('Adds a build target to userspace `qmk.json`.') def userspace_add(cli): if not HAS_QMK_USERSPACE: cli.log.error('Could not determine QMK userspace location. Please run `qmk doctor` or `qmk userspace-doctor` to diagnose.') return False + build_env = None if len(cli.args.env) == 0 else parse_env_vars(cli.args.env) + userspace = UserspaceDefs(QMK_USERSPACE / 'qmk.json') if len(cli.args.builds) > 0: @@ -44,8 +48,8 @@ def userspace_add(cli): cli.config.new_keymap.keyboard = cli.args.keyboard cli.config.new_keymap.keymap = cli.args.keymap if new_keymap(cli) is not False: - userspace.add_target(keyboard=cli.args.keyboard, keymap=cli.args.keymap) + userspace.add_target(keyboard=cli.args.keyboard, keymap=cli.args.keymap, build_env=build_env) else: - userspace.add_target(keyboard=cli.args.keyboard, keymap=cli.args.keymap) + userspace.add_target(keyboard=cli.args.keyboard, keymap=cli.args.keymap, build_env=build_env) return userspace.save() diff --git a/lib/python/qmk/cli/userspace/compile.py b/lib/python/qmk/cli/userspace/compile.py index fb320a16f0d..f164ca2ef12 100644 --- a/lib/python/qmk/cli/userspace/compile.py +++ b/lib/python/qmk/cli/userspace/compile.py @@ -1,4 +1,4 @@ -# Copyright 2023 Nick Brassel (@tzarc) +# Copyright 2023-2024 Nick Brassel (@tzarc) # SPDX-License-Identifier: GPL-2.0-or-later from pathlib import Path from milc import cli @@ -9,6 +9,11 @@ from qmk.userspace import UserspaceDefs from qmk.build_targets import JsonKeymapBuildTarget from qmk.search import search_keymap_targets from qmk.cli.mass_compile import mass_compile_targets +from qmk.util import maybe_exit_config + + +def _extra_arg_setter(target, extra_args): + target.extra_args = extra_args @cli.argument('-t', '--no-temp', arg_only=True, action='store_true', help="Remove temporary files during build.") @@ -22,6 +27,8 @@ def userspace_compile(cli): cli.log.error('Could not determine QMK userspace location. Please run `qmk doctor` or `qmk userspace-doctor` to diagnose.') return False + maybe_exit_config(should_exit=False, should_reraise=True) + userspace = UserspaceDefs(QMK_USERSPACE / 'qmk.json') build_targets = [] @@ -30,8 +37,8 @@ def userspace_compile(cli): if isinstance(e, Path): build_targets.append(JsonKeymapBuildTarget(e)) elif isinstance(e, dict): - keyboard_keymap_targets.append((e['keyboard'], e['keymap'])) - + f = e['env'] if 'env' in e else None + keyboard_keymap_targets.append((e['keyboard'], e['keymap'], f)) if len(keyboard_keymap_targets) > 0: build_targets.extend(search_keymap_targets(keyboard_keymap_targets)) diff --git a/lib/python/qmk/cli/userspace/list.py b/lib/python/qmk/cli/userspace/list.py index a63f669dd7b..9f83a14a2a6 100644 --- a/lib/python/qmk/cli/userspace/list.py +++ b/lib/python/qmk/cli/userspace/list.py @@ -1,4 +1,4 @@ -# Copyright 2023 Nick Brassel (@tzarc) +# Copyright 2023-2024 Nick Brassel (@tzarc) # SPDX-License-Identifier: GPL-2.0-or-later from pathlib import Path from dotty_dict import Dotty @@ -10,6 +10,11 @@ from qmk.build_targets import BuildTarget from qmk.keyboard import is_all_keyboards, keyboard_folder from qmk.keymap import is_keymap_target from qmk.search import search_keymap_targets +from qmk.util import maybe_exit_config + + +def _extra_arg_setter(target, extra_args): + target.extra_args = extra_args @cli.argument('-e', '--expand', arg_only=True, action='store_true', help="Expands any use of `all` for either keyboard or keymap.") @@ -19,15 +24,21 @@ def userspace_list(cli): cli.log.error('Could not determine QMK userspace location. Please run `qmk doctor` or `qmk userspace-doctor` to diagnose.') return False + maybe_exit_config(should_exit=False, should_reraise=True) + userspace = UserspaceDefs(QMK_USERSPACE / 'qmk.json') if cli.args.expand: build_targets = [] + keyboard_keymap_targets = [] for e in userspace.build_targets: if isinstance(e, Path): build_targets.append(e) elif isinstance(e, dict) or isinstance(e, Dotty): - build_targets.extend(search_keymap_targets([(e['keyboard'], e['keymap'])])) + f = e['env'] if 'env' in e else None + keyboard_keymap_targets.append((e['keyboard'], e['keymap'], f)) + if len(keyboard_keymap_targets) > 0: + build_targets.extend(search_keymap_targets(keyboard_keymap_targets)) else: build_targets = userspace.build_targets @@ -40,12 +51,19 @@ def userspace_list(cli): # keyboard/keymap dict from userspace keyboard = e['keyboard'] keymap = e['keymap'] + extra_args = e.get('env') elif isinstance(e, BuildTarget): # BuildTarget from search_keymap_targets() keyboard = e.keyboard keymap = e.keymap + extra_args = e.extra_args + + extra_args_str = '' + if extra_args is not None and len(extra_args) > 0: + extra_args_str = ', '.join([f'{{fg_cyan}}{k}={v}{{fg_reset}}' for k, v in extra_args.items()]) + extra_args_str = f' ({{fg_cyan}}{extra_args_str}{{fg_reset}})' if is_all_keyboards(keyboard) or is_keymap_target(keyboard_folder(keyboard), keymap): - cli.log.info(f'Keyboard: {{fg_cyan}}{keyboard}{{fg_reset}}, keymap: {{fg_cyan}}{keymap}{{fg_reset}}') + cli.log.info(f'Keyboard: {{fg_cyan}}{keyboard}{{fg_reset}}, keymap: {{fg_cyan}}{keymap}{{fg_reset}}{extra_args_str}') else: - cli.log.warn(f'Keyboard: {{fg_cyan}}{keyboard}{{fg_reset}}, keymap: {{fg_cyan}}{keymap}{{fg_reset}} -- not found!') + cli.log.warn(f'Keyboard: {{fg_cyan}}{keyboard}{{fg_reset}}, keymap: {{fg_cyan}}{keymap}{{fg_reset}}{extra_args_str} -- not found!') diff --git a/lib/python/qmk/cli/userspace/path.py b/lib/python/qmk/cli/userspace/path.py new file mode 100755 index 00000000000..d0c1b544fb7 --- /dev/null +++ b/lib/python/qmk/cli/userspace/path.py @@ -0,0 +1,8 @@ +from milc import cli +from qmk.constants import QMK_USERSPACE + + +@cli.subcommand('Detected path to QMK Userspace.', hidden=True) +def userspace_path(cli): + print(QMK_USERSPACE or '') + return diff --git a/lib/python/qmk/cli/userspace/remove.py b/lib/python/qmk/cli/userspace/remove.py index c7d180bfd12..b2da08a98ec 100644 --- a/lib/python/qmk/cli/userspace/remove.py +++ b/lib/python/qmk/cli/userspace/remove.py @@ -1,8 +1,9 @@ -# Copyright 2023 Nick Brassel (@tzarc) +# Copyright 2023-2024 Nick Brassel (@tzarc) # SPDX-License-Identifier: GPL-2.0-or-later from pathlib import Path from milc import cli +from qmk.commands import parse_env_vars from qmk.constants import QMK_USERSPACE, HAS_QMK_USERSPACE from qmk.keyboard import keyboard_completer, keyboard_folder_or_all from qmk.keymap import keymap_completer @@ -12,12 +13,15 @@ from qmk.userspace import UserspaceDefs @cli.argument('builds', nargs='*', arg_only=True, help="List of builds in form :, or path to a keymap JSON file.") @cli.argument('-kb', '--keyboard', type=keyboard_folder_or_all, completer=keyboard_completer, help='The keyboard to build a firmware for. Ignored when a configurator export is supplied.') @cli.argument('-km', '--keymap', completer=keymap_completer, help='The keymap to build a firmware for. Ignored when a configurator export is supplied.') +@cli.argument('-e', '--env', arg_only=True, action='append', default=[], help="Extra variables to set during build. May be passed multiple times.") @cli.subcommand('Removes a build target from userspace `qmk.json`.') def userspace_remove(cli): if not HAS_QMK_USERSPACE: cli.log.error('Could not determine QMK userspace location. Please run `qmk doctor` or `qmk userspace-doctor` to diagnose.') return False + build_env = None if len(cli.args.env) == 0 else parse_env_vars(cli.args.env) + userspace = UserspaceDefs(QMK_USERSPACE / 'qmk.json') if len(cli.args.builds) > 0: @@ -29,9 +33,9 @@ def userspace_remove(cli): for e in make_like_targets: s = e.split(':') - userspace.remove_target(keyboard=s[0], keymap=s[1]) + userspace.remove_target(keyboard=s[0], keymap=s[1], build_env=build_env) else: - userspace.remove_target(keyboard=cli.args.keyboard, keymap=cli.args.keymap) + userspace.remove_target(keyboard=cli.args.keyboard, keymap=cli.args.keymap, build_env=build_env) return userspace.save() diff --git a/lib/python/qmk/cli/via2json.py b/lib/python/qmk/cli/via2json.py index 77823b5d9d7..73c9a61b3d3 100755 --- a/lib/python/qmk/cli/via2json.py +++ b/lib/python/qmk/cli/via2json.py @@ -69,7 +69,7 @@ def _via_to_keymap(via_backup, keyboard_data, keymap_layout): layout_data = keyboard_data['layouts'].get(keymap_layout) if not layout_data: cli.log.error(f'LAYOUT macro {keymap_layout} is not a valid one for keyboard {cli.args.keyboard}!') - exit(1) + return None layout_data = layout_data['layout'] sorting_hat = list() @@ -118,7 +118,7 @@ def via2json(cli): 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.") - exit(1) + return False # Load the VIA backup json with cli.args.filename.open('r') as fd: @@ -126,9 +126,15 @@ def via2json(cli): # Generate keyboard metadata keyboard_data = info_json(cli.args.keyboard) + 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 keymap_data = _via_to_keymap(via_backup, keyboard_data, keymap_layout) + if not keymap_data: + cli.log.error(f'Could not extract valid keycode data from VIA backup matching keyboard {cli.args.keyboard}!') + return False # Convert macros macro_data = list() diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index d95ff5f923e..459858ab2c9 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -11,6 +11,7 @@ import jsonschema 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 def find_make(): @@ -52,7 +53,7 @@ def parse_configurator_json(configurator_file): except jsonschema.ValidationError as e: cli.log.error(f'Invalid JSON keymap: {configurator_file} : {e.message}') - exit(1) + maybe_exit(1) keyboard = user_keymap['keyboard'] aliases = keyboard_alias_definitions() @@ -67,7 +68,7 @@ def parse_configurator_json(configurator_file): return user_keymap -def build_environment(args): +def parse_env_vars(args): """Common processing for cli.args.env """ envs = {} @@ -77,6 +78,11 @@ def build_environment(args): envs[key] = value else: cli.log.warning('Invalid environment variable: %s', env) + return envs + + +def build_environment(args): + envs = parse_env_vars(args) if HAS_QMK_USERSPACE: envs['QMK_USERSPACE'] = Path(QMK_USERSPACE).resolve() @@ -100,6 +106,12 @@ def dump_lines(output_file, lines, quiet=True): if output_file and output_file.name != '-': output_file.parent.mkdir(parents=True, exist_ok=True) if output_file.exists(): + with open(output_file, 'r', encoding='utf-8', newline='\n') as f: + existing = f.read() + if existing == generated: + if not quiet: + cli.log.info(f'No changes to {output_file.name}.') + return output_file.replace(output_file.parent / (output_file.name + '.bak')) output_file.write_text(generated, encoding='utf-8') diff --git a/lib/python/qmk/flashers.py b/lib/python/qmk/flashers.py index 9ecb5e4b9c8..7ee1bc8de73 100644 --- a/lib/python/qmk/flashers.py +++ b/lib/python/qmk/flashers.py @@ -206,6 +206,8 @@ def _flash_uf2(file): def flasher(mcu, file): + # Avoid "expected string or bytes-like object, got 'WindowsPath" issues + file = file.as_posix() bl, details = _find_bootloader() # Add a small sleep to avoid race conditions time.sleep(1) diff --git a/lib/python/qmk/importers.py b/lib/python/qmk/importers.py index 8c449a71940..3e7f305a433 100644 --- a/lib/python/qmk/importers.py +++ b/lib/python/qmk/importers.py @@ -102,7 +102,7 @@ def import_keyboard(info_data, keymap_data=None): # And validate some more as everything is optional if not all(key in info_data for key in ['keyboard_name', 'layouts']): - raise ValueError('invalid info.json') + raise ValueError('invalid json config') kb_name = info_data['keyboard_name'] @@ -115,7 +115,7 @@ def import_keyboard(info_data, keymap_data=None): # TODO: if supports community then grab that instead keymap_data = _gen_dummy_keymap(kb_name, info_data) - keyboard_info = kb_folder / 'info.json' + keyboard_json = kb_folder / 'keyboard.json' keyboard_keymap = kb_folder / 'keymaps' / 'default' / 'keymap.json' # begin with making the deepest folder in the tree @@ -136,10 +136,10 @@ def import_keyboard(info_data, keymap_data=None): for file in list(TEMPLATE.iterdir()): replace_placeholders(file, kb_folder / file.name, tokens) - temp = json_load(keyboard_info) + temp = json_load(keyboard_json) deep_update(temp, info_data) - keyboard_info.write_text(json.dumps(temp, cls=InfoJSONEncoder, sort_keys=True)) + keyboard_json.write_text(json.dumps(temp, cls=InfoJSONEncoder, sort_keys=True)) keyboard_keymap.write_text(json.dumps(keymap_data, cls=KeymapJSONEncoder, sort_keys=True)) return kb_name @@ -181,9 +181,17 @@ def import_kbfirmware(kbfirmware_data): info_data['indicators.scroll_lock'] = kbf_data['keyboard.pins.scroll'] if kbf_data['keyboard.pins.rgb']: - info_data['rgblight.animations.all'] = True + info_data['rgblight.animations'] = { # Comment here is to force multiline formatting + "breathing": True, + "rainbow_mood": True, + "rainbow_swirl": True, + "snake": True, + "knight": True, + "static_gradient": True, + "twinkle": True + } info_data['rgblight.led_count'] = kbf_data['keyboard.settings.rgbNum'] - info_data['rgblight.pin'] = kbf_data['keyboard.pins.rgb'] + info_data['ws2812.pin'] = kbf_data['keyboard.pins.rgb'] if kbf_data['keyboard.pins.led']: info_data['backlight.levels'] = kbf_data['keyboard.settings.backlightLevels'] diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index ffc9d57d682..e295c5cfe0d 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -14,6 +14,7 @@ from qmk.keyboard import config_h, rules_mk from qmk.commands import parse_configurator_json from qmk.makefile import parse_rules_mk_file from qmk.math import compute +from qmk.util import maybe_exit true_values = ['1', 'on', 'yes'] false_values = ['0', 'off', 'no'] @@ -208,10 +209,10 @@ def _validate(keyboard, info_data): except jsonschema.ValidationError as e: json_path = '.'.join([str(p) for p in e.absolute_path]) cli.log.error('Invalid API data: %s: %s: %s', keyboard, json_path, e.message) - exit(1) + maybe_exit(1) -def info_json(keyboard): +def info_json(keyboard, force_layout=None): """Generate the info.json data for a specific keyboard. """ cur_dir = Path('keyboards') @@ -254,6 +255,11 @@ def info_json(keyboard): # Merge in data from info_data = _extract_led_config(info_data, str(keyboard)) + # Force a community layout if requested + community_layouts = info_data.get("community_layouts", []) + if force_layout in community_layouts: + info_data["community_layouts"] = [force_layout] + # Validate _validate(keyboard, info_data) @@ -987,25 +993,25 @@ def find_info_json(keyboard): return [info_json for info_json in info_jsons if info_json.exists()] -def keymap_json_config(keyboard, keymap): +def keymap_json_config(keyboard, keymap, force_layout=None): """Extract keymap level config """ # TODO: resolve keymap.py and info.py circular dependencies from qmk.keymap import locate_keymap - keymap_folder = locate_keymap(keyboard, keymap).parent + keymap_folder = locate_keymap(keyboard, keymap, force_layout=force_layout).parent km_info_json = parse_configurator_json(keymap_folder / 'keymap.json') return km_info_json.get('config', {}) -def keymap_json(keyboard, keymap): +def keymap_json(keyboard, keymap, force_layout=None): """Generate the info.json data for a specific keymap. """ # TODO: resolve keymap.py and info.py circular dependencies from qmk.keymap import locate_keymap - keymap_folder = locate_keymap(keyboard, keymap).parent + keymap_folder = locate_keymap(keyboard, keymap, force_layout=force_layout).parent # Files to scan keymap_config = keymap_folder / 'config.h' @@ -1013,10 +1019,10 @@ def keymap_json(keyboard, keymap): keymap_file = keymap_folder / 'keymap.json' # Build the info.json file - kb_info_json = info_json(keyboard) + kb_info_json = info_json(keyboard, force_layout=force_layout) # Merge in the data from keymap.json - km_info_json = keymap_json_config(keyboard, keymap) if keymap_file.exists() else {} + km_info_json = keymap_json_config(keyboard, keymap, force_layout=force_layout) if keymap_file.exists() else {} deep_update(kb_info_json, km_info_json) # Merge in the data from config.h, and rules.mk diff --git a/lib/python/qmk/json_schema.py b/lib/python/qmk/json_schema.py index 1d5f863807f..b11a0ed7ea1 100644 --- a/lib/python/qmk/json_schema.py +++ b/lib/python/qmk/json_schema.py @@ -11,6 +11,8 @@ from copy import deepcopy from milc import cli +from qmk.util import maybe_exit + def _dict_raise_on_duplicates(ordered_pairs): """Reject duplicate keys.""" @@ -38,10 +40,10 @@ def _json_load_impl(json_file, strict=True): except (json.decoder.JSONDecodeError, hjson.HjsonDecodeError) as e: cli.log.error('Invalid JSON encountered attempting to load {fg_cyan}%s{fg_reset}:\n\t{fg_red}%s', json_file, e) - exit(1) + maybe_exit(1) except Exception as e: cli.log.error('Unknown error attempting to load {fg_cyan}%s{fg_reset}:\n\t{fg_red}%s', json_file, e) - exit(1) + maybe_exit(1) def json_load(json_file, strict=True): diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py index b7bf897377c..91075f1bdc5 100644 --- a/lib/python/qmk/keymap.py +++ b/lib/python/qmk/keymap.py @@ -420,7 +420,7 @@ def write(keymap_json): return write_file(keymap_file, keymap_content) -def locate_keymap(keyboard, keymap): +def locate_keymap(keyboard, keymap, force_layout=None): """Returns the path to a keymap for a specific keyboard. """ if not qmk.path.is_keyboard(keyboard): @@ -459,7 +459,7 @@ def locate_keymap(keyboard, keymap): return keymap_path # Check community layouts as a fallback - info = info_json(keyboard) + info = info_json(keyboard, force_layout=force_layout) community_parents = list(Path('layouts').glob('*/')) if HAS_QMK_USERSPACE and (Path(QMK_USERSPACE) / "layouts").exists(): diff --git a/lib/python/qmk/search.py b/lib/python/qmk/search.py index 2afb3033fcc..baaf11eb340 100644 --- a/lib/python/qmk/search.py +++ b/lib/python/qmk/search.py @@ -1,11 +1,13 @@ """Functions for searching through QMK keyboards and keymaps. """ +from dataclasses import dataclass import contextlib import functools import fnmatch +import json import logging import re -from typing import Callable, List, Optional, Tuple +from typing import Callable, Dict, List, Optional, Tuple, Union from dotty_dict import dotty, Dotty from milc import cli @@ -15,7 +17,32 @@ from qmk.keyboard import list_keyboards, keyboard_folder from qmk.keymap import list_keymaps, locate_keymap from qmk.build_targets import KeyboardKeymapBuildTarget, BuildTarget -TargetInfo = Tuple[str, str, dict] + +@dataclass +class KeyboardKeymapDesc: + keyboard: str + keymap: str + data: dict = None + extra_args: dict = None + + def __hash__(self) -> int: + return self.keyboard.__hash__() ^ self.keymap.__hash__() ^ json.dumps(self.extra_args, sort_keys=True).__hash__() + + def __lt__(self, other) -> bool: + return (self.keyboard, self.keymap, json.dumps(self.extra_args, sort_keys=True)) < (other.keyboard, other.keymap, json.dumps(other.extra_args, sort_keys=True)) + + def load_data(self): + data = keymap_json(self.keyboard, self.keymap) + self.data = data.to_dict() if isinstance(data, Dotty) else data + + @property + def dotty(self) -> Dotty: + return dotty(self.data) if self.data is not None else None + + def to_build_target(self) -> KeyboardKeymapBuildTarget: + target = KeyboardKeymapBuildTarget(keyboard=self.keyboard, keymap=self.keymap, json=self.data) + target.extra_args = self.extra_args + return target # by using a class for filters, we dont need to worry about capturing values @@ -36,7 +63,7 @@ class FilterFunction: value: Optional[str] func_name: str - apply: Callable[[TargetInfo], bool] + apply: Callable[[KeyboardKeymapDesc], bool] def __init__(self, key, value): self.key = key @@ -46,33 +73,29 @@ class FilterFunction: class Exists(FilterFunction): func_name = "exists" - def apply(self, target_info: TargetInfo) -> bool: - _kb, _km, info = target_info - return self.key in info + def apply(self, target_info: KeyboardKeymapDesc) -> bool: + return self.key in target_info.data class Absent(FilterFunction): func_name = "absent" - def apply(self, target_info: TargetInfo) -> bool: - _kb, _km, info = target_info - return self.key not in info + def apply(self, target_info: KeyboardKeymapDesc) -> bool: + return self.key not in target_info.data class Length(FilterFunction): func_name = "length" - def apply(self, target_info: TargetInfo) -> bool: - _kb, _km, info = target_info - return (self.key in info and len(info[self.key]) == int(self.value)) + def apply(self, target_info: KeyboardKeymapDesc) -> bool: + return (self.key in target_info.data and len(target_info.data[self.key]) == int(self.value)) class Contains(FilterFunction): func_name = "contains" - def apply(self, target_info: TargetInfo) -> bool: - _kb, _km, info = target_info - return (self.key in info and self.value in info[self.key]) + def apply(self, target_info: KeyboardKeymapDesc) -> bool: + return (self.key in target_info.data and self.value in target_info.data[self.key]) def _get_filter_class(func_name: str, key: str, value: str) -> Optional[FilterFunction]: @@ -109,12 +132,12 @@ def ignore_logging(): _set_log_level(old) -def _all_keymaps(keyboard): - """Returns a list of tuples of (keyboard, keymap) for all keymaps for the given keyboard. +def _all_keymaps(keyboard) -> List[KeyboardKeymapDesc]: + """Returns a list of KeyboardKeymapDesc for all keymaps for the given keyboard. """ with ignore_logging(): keyboard = keyboard_folder(keyboard) - return [(keyboard, keymap) for keymap in list_keymaps(keyboard)] + return [KeyboardKeymapDesc(keyboard, keymap) for keymap in list_keymaps(keyboard)] def _keymap_exists(keyboard, keymap): @@ -124,85 +147,91 @@ def _keymap_exists(keyboard, keymap): return keyboard if locate_keymap(keyboard, keymap) is not None else None -def _load_keymap_info(target: Tuple[str, str]) -> TargetInfo: - """Returns a tuple of (keyboard, keymap, info.json) for the given keyboard/keymap combination. +def _load_keymap_info(target: KeyboardKeymapDesc) -> KeyboardKeymapDesc: + """Ensures a KeyboardKeymapDesc has its data loaded. """ - kb, km = target with ignore_logging(): - return (kb, km, keymap_json(kb, km)) + target.load_data() # Ensure we load the data first + return target -def expand_make_targets(targets: List[str]) -> List[Tuple[str, str]]: - """Expand a list of make targets into a list of (keyboard, keymap) tuples. +def expand_make_targets(targets: List[Union[str, Tuple[str, Dict[str, str]]]]) -> List[KeyboardKeymapDesc]: + """Expand a list of make targets into a list of KeyboardKeymapDesc. Caters for 'all' in either keyboard or keymap, or both. """ split_targets = [] for target in targets: - split_target = target.split(':') + extra_args = None + if isinstance(target, tuple): + split_target = target[0].split(':') + extra_args = target[1] + else: + split_target = target.split(':') if len(split_target) != 2: cli.log.error(f"Invalid build target: {target}") return [] - split_targets.append((split_target[0], split_target[1])) + split_targets.append(KeyboardKeymapDesc(split_target[0], split_target[1], extra_args=extra_args)) return expand_keymap_targets(split_targets) -def _expand_keymap_target(keyboard: str, keymap: str, all_keyboards: List[str] = None) -> List[Tuple[str, str]]: - """Expand a keyboard input and keymap input into a list of (keyboard, keymap) tuples. +def _expand_keymap_target(target: KeyboardKeymapDesc, all_keyboards: List[str] = None) -> List[KeyboardKeymapDesc]: + """Expand a keyboard input and keymap input into a list of KeyboardKeymapDesc. Caters for 'all' in either keyboard or keymap, or both. """ if all_keyboards is None: all_keyboards = list_keyboards() - if keyboard == 'all': - if keymap == 'all': + if target.keyboard == 'all': + if target.keymap == 'all': cli.log.info('Retrieving list of all keyboards and keymaps...') targets = [] for kb in parallel_map(_all_keymaps, all_keyboards): targets.extend(kb) + for t in targets: + t.extra_args = target.extra_args return targets else: - cli.log.info(f'Retrieving list of keyboards with keymap "{keymap}"...') - keyboard_filter = functools.partial(_keymap_exists, keymap=keymap) - return [(kb, keymap) for kb in filter(lambda e: e is not None, parallel_map(keyboard_filter, all_keyboards))] + cli.log.info(f'Retrieving list of keyboards with keymap "{target.keymap}"...') + keyboard_filter = functools.partial(_keymap_exists, keymap=target.keymap) + return [KeyboardKeymapDesc(kb, target.keymap, extra_args=target.extra_args) for kb in filter(lambda e: e is not None, parallel_map(keyboard_filter, all_keyboards))] else: - if keymap == 'all': - cli.log.info(f'Retrieving list of keymaps for keyboard "{keyboard}"...') - return _all_keymaps(keyboard) + if target.keymap == 'all': + cli.log.info(f'Retrieving list of keymaps for keyboard "{target.keyboard}"...') + targets = _all_keymaps(target.keyboard) + for t in targets: + t.extra_args = target.extra_args + return targets else: - return [(keyboard, keymap)] + return [target] -def expand_keymap_targets(targets: List[Tuple[str, str]]) -> List[Tuple[str, str]]: - """Expand a list of (keyboard, keymap) tuples inclusive of 'all', into a list of explicit (keyboard, keymap) tuples. +def expand_keymap_targets(targets: List[KeyboardKeymapDesc]) -> List[KeyboardKeymapDesc]: + """Expand a list of KeyboardKeymapDesc inclusive of 'all', into a list of explicit KeyboardKeymapDesc. """ overall_targets = [] all_keyboards = list_keyboards() for target in targets: - overall_targets.extend(_expand_keymap_target(target[0], target[1], all_keyboards)) + overall_targets.extend(_expand_keymap_target(target, all_keyboards)) return list(sorted(set(overall_targets))) -def _construct_build_target_kb_km(e): - return KeyboardKeymapBuildTarget(keyboard=e[0], keymap=e[1]) +def _construct_build_target(e: KeyboardKeymapDesc): + return e.to_build_target() -def _construct_build_target_kb_km_json(e): - return KeyboardKeymapBuildTarget(keyboard=e[0], keymap=e[1], json=e[2]) - - -def _filter_keymap_targets(target_list: List[Tuple[str, str]], filters: List[str] = []) -> List[BuildTarget]: - """Filter a list of (keyboard, keymap) tuples based on the supplied filters. +def _filter_keymap_targets(target_list: List[KeyboardKeymapDesc], filters: List[str] = []) -> List[KeyboardKeymapDesc]: + """Filter a list of KeyboardKeymapDesc based on the supplied filters. Optionally includes the values of the queried info.json keys. """ if len(filters) == 0: cli.log.info('Preparing target list...') - targets = list(set(parallel_map(_construct_build_target_kb_km, target_list))) + targets = target_list else: cli.log.info('Parsing data for all matching keyboard/keymap combinations...') - valid_keymaps = [(e[0], e[1], dotty(e[2])) for e in parallel_map(_load_keymap_info, target_list)] + valid_targets = parallel_map(_load_keymap_info, target_list) function_re = re.compile(r'^(?P[a-zA-Z]+)\((?P[a-zA-Z0-9_\.]+)(,\s*(?P[^#]+))?\)$') equals_re = re.compile(r'^(?P[a-zA-Z0-9_\.]+)\s*=\s*(?P[^#]+)$') @@ -220,7 +249,7 @@ def _filter_keymap_targets(target_list: List[Tuple[str, str]], filters: List[str if filter_class is None: cli.log.warning(f'Unrecognized filter expression: {function_match.group(0)}') continue - valid_keymaps = filter(filter_class.apply, valid_keymaps) + valid_targets = filter(filter_class.apply, valid_targets) value_str = f", {{fg_cyan}}{value}{{fg_reset}}" if value is not None else "" cli.log.info(f'Filtering on condition: {{fg_green}}{func_name}{{fg_reset}}({{fg_cyan}}{key}{{fg_reset}}{value_str})...') @@ -234,32 +263,42 @@ def _filter_keymap_targets(target_list: List[Tuple[str, str]], filters: List[str expr = fnmatch.translate(v) rule = re.compile(f'^{expr}$', re.IGNORECASE) - def f(e): - lhs = e[2].get(k) + def f(e: KeyboardKeymapDesc): + lhs = e.dotty.get(k) lhs = str(False if lhs is None else lhs) return rule.search(lhs) is not None return f - valid_keymaps = filter(_make_filter(key, value), valid_keymaps) + valid_targets = filter(_make_filter(key, value), valid_targets) else: cli.log.warning(f'Unrecognized filter expression: {filter_expr}') continue cli.log.info('Preparing target list...') - valid_keymaps = [(e[0], e[1], e[2].to_dict() if isinstance(e[2], Dotty) else e[2]) for e in valid_keymaps] # need to convert dotty_dict back to dict because it doesn't survive parallelisation - targets = list(set(parallel_map(_construct_build_target_kb_km_json, list(valid_keymaps)))) + targets = list(sorted(set(valid_targets))) return targets -def search_keymap_targets(targets: List[Tuple[str, str]] = [('all', 'default')], filters: List[str] = []) -> List[BuildTarget]: +def search_keymap_targets(targets: List[Union[Tuple[str, str], Tuple[str, str, Dict[str, str]]]] = [('all', 'default')], filters: List[str] = []) -> List[BuildTarget]: """Search for build targets matching the supplied criteria. """ - return _filter_keymap_targets(expand_keymap_targets(targets), filters) + def _make_desc(e): + if len(e) == 3: + return KeyboardKeymapDesc(keyboard=e[0], keymap=e[1], extra_args=e[2]) + else: + return KeyboardKeymapDesc(keyboard=e[0], keymap=e[1]) + + targets = map(_make_desc, targets) + targets = _filter_keymap_targets(expand_keymap_targets(targets), filters) + targets = list(set(parallel_map(_construct_build_target, list(targets)))) + return sorted(targets) -def search_make_targets(targets: List[str], filters: List[str] = []) -> List[BuildTarget]: +def search_make_targets(targets: List[Union[str, Tuple[str, Dict[str, str]]]], filters: List[str] = []) -> List[BuildTarget]: """Search for build targets matching the supplied criteria. """ - return _filter_keymap_targets(expand_make_targets(targets), filters) + targets = _filter_keymap_targets(expand_make_targets(targets), filters) + targets = list(set(parallel_map(_construct_build_target, list(targets)))) + return sorted(targets) diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index 1725e3ea792..8b50d1c340d 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -249,7 +249,7 @@ def test_c2json_nocpp_stdin(): def test_clean(): result = check_subcommand('clean', '-a') check_returncode(result) - assert result.stdout.count('done') == 2 + assert (result.stdout.count('done') == 2 and 'userspace' not in result.stdout) or (result.stdout.count('done') == 3 and 'userspace' in result.stdout) def test_generate_api(): diff --git a/lib/python/qmk/userspace.py b/lib/python/qmk/userspace.py index 1e5823b2291..1c2a97f9c1b 100644 --- a/lib/python/qmk/userspace.py +++ b/lib/python/qmk/userspace.py @@ -1,4 +1,4 @@ -# Copyright 2023 Nick Brassel (@tzarc) +# Copyright 2023-2024 Nick Brassel (@tzarc) # SPDX-License-Identifier: GPL-2.0-or-later from os import environ from pathlib import Path @@ -77,31 +77,43 @@ class UserspaceDefs: raise exception # Iterate through each version of the schema, starting with the latest and decreasing to v1 - try: - validate(json, 'qmk.user_repo.v1') - self.__load_v1(json) - success = True - except jsonschema.ValidationError as err: - exception.add('qmk.user_repo.v1', err) + schema_versions = [ + ('qmk.user_repo.v1_1', self.__load_v1_1), # + ('qmk.user_repo.v1', self.__load_v1) # + ] + + for v in schema_versions: + schema = v[0] + loader = v[1] + try: + validate(json, schema) + loader(json) + success = True + break + except jsonschema.ValidationError as err: + exception.add(schema, err) if not success: raise exception def save(self): target_json = { - "userspace_version": "1.0", # Needs to match latest version + "userspace_version": "1.1", # Needs to match latest version "build_targets": [] } for e in self.build_targets: if isinstance(e, dict): - target_json['build_targets'].append([e['keyboard'], e['keymap']]) + entry = [e['keyboard'], e['keymap']] + if 'env' in e: + entry.append(e['env']) + target_json['build_targets'].append(entry) elif isinstance(e, Path): target_json['build_targets'].append(str(e.relative_to(self.path.parent))) try: # Ensure what we're writing validates against the latest version of the schema - validate(target_json, 'qmk.user_repo.v1') + validate(target_json, 'qmk.user_repo.v1_1') except jsonschema.ValidationError as err: cli.log.error(f'Could not save userspace file: {err}') return False @@ -114,7 +126,7 @@ class UserspaceDefs: cli.log.info(f'Saved userspace file to {self.path}.') return True - def add_target(self, keyboard=None, keymap=None, json_path=None, do_print=True): + def add_target(self, keyboard=None, keymap=None, build_env=None, json_path=None, do_print=True): if json_path is not None: # Assume we're adding a json filename/path json_path = Path(json_path) @@ -128,6 +140,8 @@ class UserspaceDefs: elif keyboard is not None and keymap is not None: # Both keyboard/keymap specified e = {"keyboard": keyboard, "keymap": keymap} + if build_env is not None: + e['env'] = build_env if e not in self.build_targets: self.build_targets.append(e) if do_print: @@ -136,7 +150,7 @@ class UserspaceDefs: if do_print: cli.log.info(f'{keyboard}:{keymap} is already a userspace build target.') - def remove_target(self, keyboard=None, keymap=None, json_path=None, do_print=True): + def remove_target(self, keyboard=None, keymap=None, build_env=None, json_path=None, do_print=True): if json_path is not None: # Assume we're removing a json filename/path json_path = Path(json_path) @@ -150,6 +164,8 @@ class UserspaceDefs: elif keyboard is not None and keymap is not None: # Both keyboard/keymap specified e = {"keyboard": keyboard, "keymap": keymap} + if build_env is not None: + e['env'] = build_env if e in self.build_targets: self.build_targets.remove(e) if do_print: @@ -160,12 +176,26 @@ class UserspaceDefs: def __load_v1(self, json): for e in json['build_targets']: - if isinstance(e, list) and len(e) == 2: - self.add_target(keyboard=e[0], keymap=e[1], do_print=False) - if isinstance(e, str): - p = self.path.parent / e - if p.exists() and p.suffix == '.json': - self.add_target(json_path=p, do_print=False) + self.__load_v1_target(e) + + def __load_v1_1(self, json): + for e in json['build_targets']: + self.__load_v1_1_target(e) + + def __load_v1_target(self, e): + if isinstance(e, list) and len(e) == 2: + self.add_target(keyboard=e[0], keymap=e[1], do_print=False) + if isinstance(e, str): + p = self.path.parent / e + if p.exists() and p.suffix == '.json': + self.add_target(json_path=p, do_print=False) + + def __load_v1_1_target(self, e): + # v1.1 adds support for a third item in the build target tuple; kvp's for environment + if isinstance(e, list) and len(e) == 3: + self.add_target(keyboard=e[0], keymap=e[1], build_env=e[2], do_print=False) + else: + self.__load_v1_target(e) class UserspaceValidationError(Exception): diff --git a/lib/python/qmk/util.py b/lib/python/qmk/util.py index db7debd5788..b73fab89d12 100644 --- a/lib/python/qmk/util.py +++ b/lib/python/qmk/util.py @@ -2,9 +2,30 @@ """ import contextlib import multiprocessing +import sys from milc import cli +maybe_exit_should_exit = True +maybe_exit_reraise = False + + +# Controls whether or not early `exit()` calls should be made +def maybe_exit(rc): + if maybe_exit_should_exit: + sys.exit(rc) + if maybe_exit_reraise: + e = sys.exc_info()[1] + if e: + raise e + + +def maybe_exit_config(should_exit: bool = True, should_reraise: bool = False): + global maybe_exit_should_exit + global maybe_exit_reraise + maybe_exit_should_exit = should_exit + maybe_exit_reraise = should_reraise + @contextlib.contextmanager def parallelize(): diff --git a/readme.md b/readme.md index f0e49a08e95..62aed120662 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,7 @@ # Quantum Mechanical Keyboard Firmware [](https://github.com/qmk/qmk_firmware/tags) -[](https://discord.gg/Uq7gcHh) +[](https://discord.gg/qmk) [](https://docs.qmk.fm) [](https://github.com/qmk/qmk_firmware/pulse/monthly) [](https://github.com/qmk/qmk_firmware/) @@ -12,9 +12,9 @@ This is a keyboard firmware based on the [tmk\_keyboard firmware](https://github * [See the official documentation on docs.qmk.fm](https://docs.qmk.fm) -The docs are powered by [Docsify](https://docsify.js.org/) and hosted on [GitHub](/docs/). They are also viewable offline; see [Previewing the Documentation](https://docs.qmk.fm/#/contributing?id=previewing-the-documentation) for more details. +The docs are powered by [VitePress](https://vitepress.dev/). They are also viewable offline; see [Previewing the Documentation](https://docs.qmk.fm/#/contributing?id=previewing-the-documentation) for more details. -You can request changes by making a fork and opening a [pull request](https://github.com/qmk/qmk_firmware/pulls), or by clicking the "Edit this page" link at the bottom of any page. +You can request changes by making a fork and opening a [pull request](https://github.com/qmk/qmk_firmware/pulls). ## Supported Keyboards diff --git a/util/ci/discord-results.py b/util/ci/discord-results.py index 0c09a4213a1..70f6af4b17e 100755 --- a/util/ci/discord-results.py +++ b/util/ci/discord-results.py @@ -11,6 +11,7 @@ parser = argparse.ArgumentParser(prog='discord-results.py', description='Sends a parser.add_argument('-b', '--branch') parser.add_argument('-k', '--keymap') parser.add_argument('-u', '--url') +parser.add_argument('-s', '--sha') args = parser.parse_args() qmk_dir = Path(__file__).resolve().parents[2].resolve() @@ -43,6 +44,7 @@ else: embed.add_embed_field(name='Build Target', value=f'[**{args.branch}**](https://github.com/qmk/qmk_firmware/tree/{args.branch}) / **{args.keymap}** keymap') embed.add_embed_field(name='Workflow Run', value=f'[**Link**]({args.url})') +embed.add_embed_field(name='Firmware Binaries', value=f'[**ci.qmk.fm**](https://ci.qmk.fm/{args.branch}/{args.sha}/index.html)') embed.set_timestamp() webhook.add_embed(embed) diff --git a/util/ci/firmware_list_generator.py b/util/ci/firmware_list_generator.py new file mode 100755 index 00000000000..5ee274c1bf7 --- /dev/null +++ b/util/ci/firmware_list_generator.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 + +import os +import json +from pathlib import Path +from time import gmtime, strftime + +DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S %Z' + + +def current_datetime(): + return strftime(DATETIME_FORMAT, gmtime()) + + +qmk_firmware_dir = Path(os.path.realpath(__file__)).parents[2] + +binaries = [] +binaries.extend(qmk_firmware_dir.glob("*.bin")) +binaries.extend(qmk_firmware_dir.glob("*.hex")) +binaries.extend(qmk_firmware_dir.glob("*.uf2")) +binaries = list(sorted(binaries)) + +data = [] +for binary in binaries: + data.append(binary.name) + +keyboard_all_json = json.dumps({'last_updated': current_datetime(), 'files': data}, separators=(',', ':')) + +print(keyboard_all_json) diff --git a/util/ci/index_generator.py b/util/ci/index_generator.py new file mode 100755 index 00000000000..f2f7f4d4167 --- /dev/null +++ b/util/ci/index_generator.py @@ -0,0 +1,107 @@ +#!/usr/bin/env python3 + +import os +import re +import shlex +import subprocess +from pathlib import Path + +from ansi2html import Ansi2HTMLConverter +from jinja2 import Environment, FileSystemLoader, select_autoescape + +orig_cwd = os.getcwd() +qmk_firmware_dir = Path(os.path.realpath(__file__)).parents[2] +build_dir = qmk_firmware_dir / ".build" + +KEYBOARD_PATTERN = re.compile("CI Metadata: KEYBOARD=(?P.*)\r?\n") +KEYMAP_PATTERN = re.compile("CI Metadata: KEYMAP=(?P.*)\r?\n") + +env = Environment( + loader=FileSystemLoader(Path(os.path.realpath(__file__)).parent / "templates"), + autoescape=select_autoescape(), +) + + +def _run(command, capture_output=True, combined_output=False, text=True, **kwargs): + if isinstance(command, str): + command = shlex.split(command) + if capture_output: + kwargs["stdout"] = subprocess.PIPE + kwargs["stderr"] = subprocess.PIPE + if combined_output: + kwargs["stderr"] = subprocess.STDOUT + if "stdin" in kwargs and kwargs["stdin"] is None: + del kwargs["stdin"] + if text: + kwargs["universal_newlines"] = True + return subprocess.run(command, **kwargs) + + +def _ansi2html(value): + return Ansi2HTMLConverter().convert(value, full=False) + + +def _ansi2html_styles(): + from ansi2html.style import get_styles + + styles = get_styles(scheme="dracula") + return "\n".join([str(s) for s in styles]) + + +def _git_log(count=4): + os.chdir(qmk_firmware_dir) + ret = _run(f"git log -n {count} --color=always --no-merges --topo-order --stat").stdout.strip() + os.chdir(orig_cwd) + return ret + + +def _git_describe(): + os.chdir(qmk_firmware_dir) + ret = _run("git describe --tags --always --dirty").stdout.strip() + os.chdir(orig_cwd) + return ret + + +def _git_revision(): + os.chdir(qmk_firmware_dir) + ret = _run("git rev-parse HEAD").stdout.strip() + os.chdir(orig_cwd) + return ret + + +env.filters["ansi2html"] = _ansi2html + +binaries = [] +binaries.extend(qmk_firmware_dir.glob("*.bin")) +binaries.extend(qmk_firmware_dir.glob("*.hex")) +binaries.extend(qmk_firmware_dir.glob("*.uf2")) +binaries = list(sorted(binaries)) + +failures = [] +for mdfile in list(sorted(build_dir.glob("failed.log.*"))): + txt = Path(mdfile).read_text() + + m_kb = KEYBOARD_PATTERN.search(txt) + if not m_kb: + raise Exception("Couldn't determine the keyboard from the failure output") + m_km = KEYMAP_PATTERN.search(txt) + if not m_km: + raise Exception("Couldn't determine the keymap from the failure output") + + txt = KEYBOARD_PATTERN.sub("", KEYMAP_PATTERN.sub("", txt)).strip() + + failures.append({ + "stdout": txt, + "keyboard": m_kb.group("keyboard"), + "keymap": m_km.group("keymap"), + }) + +template = env.get_template("index.html.j2") +print(template.render( + ansi2html_styles=_ansi2html_styles(), + git_log=_git_log(), + git_describe=_git_describe(), + git_revision=_git_revision(), + binaries=binaries, + failures=failures, +)) diff --git a/util/ci/requirements.txt b/util/ci/requirements.txt index 3196568e1a7..47acf85644f 100644 --- a/util/ci/requirements.txt +++ b/util/ci/requirements.txt @@ -1 +1,3 @@ discord-webhook +Jinja2 +ansi2html diff --git a/util/ci/templates/index.html.j2 b/util/ci/templates/index.html.j2 new file mode 100644 index 00000000000..1199a0819d3 --- /dev/null +++ b/util/ci/templates/index.html.j2 @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + CI Build {% if failures | length > 0 %}❌{% else %}✅{% endif %} + + + {{ git_describe }} + + + {{ git_revision }} + + + {{ failures | length }} failure{% if failures | length != 1 %}s{% endif %} + + + + {% if binaries | length > 0 %}Firmwares | {% endif %} + Commit info + {% if failures | length > 0 %} | Failure Logs{% endif %} + + + + + + + Git commit + + {{ git_log | ansi2html }} + + + {% if failures | length > 0 %} + + + Build failure logs + + {% for failure in failures %} + {{ failure.keyboard }}:{{ failure.keymap }} + {% endfor %} + + + {% for failure in failures %} + + + Build failure — {{ failure.keyboard }}:{{ failure.keymap }} + + {{ failure.stdout | ansi2html }} + + + {% endfor %} + {% endif %} + + {% if binaries | length > 0 %} + + + + Firmware downloads + + {% for binary in binaries %} + {{ binary.name }} + {%- endfor %} + + + + {% endif %} + + + diff --git a/util/docker_build.sh b/util/docker_build.sh index 828b5751af5..2234fc96f67 100755 --- a/util/docker_build.sh +++ b/util/docker_build.sh @@ -1,85 +1,3 @@ #!/bin/sh -# NOTE: This script uses tabs for indentation -errcho() { - echo "$@" >&2 -} - -USAGE="Usage: $0 [keyboard[:keymap[:target]]]" - -# Check preconditions -for arg; do - if [ "$arg" = "--help" ]; then - echo "$USAGE" - exit 0 - fi -done -if [ $# -gt 1 ]; then - errcho "$USAGE" - exit 1 -fi - -# Allow $RUNTIME to be overridden by the user as an environment variable -# Else check if either podman or docker exit and set them as runtime -# if none are found error out -if [ -z "$RUNTIME" ]; then - if command -v podman >/dev/null 2>&1; then - RUNTIME="podman" - elif command -v docker >/dev/null 2>&1; then - RUNTIME="docker" - else - errcho "Error: no compatible container runtime found." - errcho "Either podman or docker are required." - errcho "See https://podman.io/getting-started/installation" - errcho "or https://docs.docker.com/install/#supported-platforms" - errcho "for installation instructions." - exit 2 - fi -fi - - -# Determine arguments -if [ $# -eq 0 ]; then - printf "keyboard=" && read -r keyboard - [ -n "$keyboard" ] && printf "keymap=" && read -r keymap - [ -n "$keymap" ] && printf "target=" && read -r target -else - IFS=':' read -r keyboard keymap target x <<-EOF - $1 - EOF - if [ -n "$x" ]; then - errcho "$USAGE" - exit 1 - fi -fi -if [ -z "$keyboard" ]; then - keyboard=all -fi -if [ -n "$target" ]; 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" - errcho "Consider flashing with QMK Toolbox (https://github.com/qmk/qmk_toolbox) instead" - exit 3 - else - usb_args="--privileged -v /dev:/dev" - fi -fi -dir=$(pwd -W 2>/dev/null) || dir=$PWD # Use Windows path if on Windows - -if [ "$RUNTIME" = "docker" ]; then - uid_arg="--user $(id -u):$(id -g)" -fi - -# Run container and build firmware -"$RUNTIME" run --rm -it $usb_args \ - $uid_arg \ - -w /qmk_firmware \ - -v "$dir":/qmk_firmware \ - -e ALT_GET_KEYBOARDS=true \ - -e SKIP_GIT="$SKIP_GIT" \ - -e MAKEFLAGS="$MAKEFLAGS" \ - ghcr.io/qmk/qmk_cli \ - make "$keyboard${keymap:+:$keymap}${target:+:$target}" +./util/docker_cmd.sh make "$@" diff --git a/util/docker_cmd.sh b/util/docker_cmd.sh index 4a82890603b..18725db0689 100755 --- a/util/docker_cmd.sh +++ b/util/docker_cmd.sh @@ -1,4 +1,5 @@ #!/bin/sh +# vim: set ft=sh ts=4 sw=4 noexpandtab # NOTE: This script uses tabs for indentation errcho() { @@ -37,13 +38,26 @@ 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 + 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" + 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 +qmk_userspace_dir="" +userspace_docker_args="" + +if [ -n "$QMK_USERSPACE" ] && [ -e "$QMK_USERSPACE/qmk.json" ]; then + qmk_userspace_dir=$(cd "$QMK_USERSPACE" && pwd -W 2>/dev/null) || qmk_userspace_dir=$QMK_USERSPACE # Use Windows path if on Windows +elif [ -n "$(which qmk 2>/dev/null)" ] && [ -n "$(qmk userspace-path)" ]; then + qmk_userspace_dir=$(cd "$(qmk userspace-path)" && pwd -W 2>/dev/null) || qmk_userspace_dir=$(qmk userspace-path) # Use Windows path if on Windows +fi + +if [ -n "$qmk_userspace_dir" ]; then + userspace_docker_args="-v $qmk_userspace_dir:/qmk_userspace:z -e QMK_USERSPACE=/qmk_userspace" fi -dir=$(pwd -W 2>/dev/null) || dir=$PWD # Use Windows path if on Windows if [ "$RUNTIME" = "docker" ]; then uid_arg="--user $(id -u):$(id -g)" @@ -54,6 +68,10 @@ fi $usb_args \ $uid_arg \ -w /qmk_firmware \ - -v "$dir":/qmk_firmware \ + -v "$qmk_firmware_dir":/qmk_firmware:z \ + $userspace_docker_args \ + -e SKIP_GIT="$SKIP_GIT" \ + -e SKIP_VERSION="$SKIP_VERSION" \ + -e MAKEFLAGS="$MAKEFLAGS" \ ghcr.io/qmk/qmk_cli \ "$@" diff --git a/util/install/fedora.sh b/util/install/fedora.sh index d3bc90b1765..0b93326bbfc 100755 --- a/util/install/fedora.sh +++ b/util/install/fedora.sh @@ -4,7 +4,7 @@ _qmk_install() { echo "Installing dependencies" . /etc/os-release - if [ "$VERSION_ID" == "39" ]; then + if [ "$VERSION_ID" -ge "39" ]; then sudo dnf $SKIP_PROMPT copr enable erovia/dfu-programmer fi diff --git a/util/update_chibios_mirror.sh b/util/update_chibios_mirror.sh index 05e22fa2eaa..ea3f2ba3547 100755 --- a/util/update_chibios_mirror.sh +++ b/util/update_chibios_mirror.sh @@ -4,13 +4,10 @@ # Configuration # The ChibiOS branches to mirror -chibios_branches="trunk stable_20.3.x stable_21.11.x" - -# The ChibiOS tags to mirror -chibios_tags="ver20.3.1 ver20.3.2 ver20.3.3 ver20.3.4 ver21.11.1 ver21.11.2 ver21.11.3" +chibios_branches="trunk stable_21.11.x" # The ChibiOS-Contrib branches to mirror -contrib_branches="chibios-20.3.x chibios-21.11.x" +contrib_branches="chibios-21.11.x" ################################ # Actions @@ -46,6 +43,12 @@ fi echo "Updating remotes..." git fetch --all --tags --prune +echo "Ensure refs actually match up..." +for branch in $chibios_branches ; do + echo "Matching $branch..." + git update-ref refs/remotes/svn/$branch refs/remotes/qmk/svn-mirror/$branch +done + echo "Fetching latest from subversion..." git svn fetch @@ -56,13 +59,6 @@ for branch in $chibios_branches ; do && git push qmk svn-mirror/$branch done -echo "Updating ChibiOS tags..." -for tagname in $chibios_tags ; do - echo "Creating tag 'svn-mirror/$tagname' from 'svn/tags/$tagname'..." - GIT_COMMITTER_DATE="$(git log -n1 --pretty=format:'%ad' svn/tags/$tagname)" git tag -f -a -m "Tagging $tagname" svn-mirror/$tagname svn/tags/$tagname - git push qmk svn-mirror/$tagname -done - cd "$contrib_dir" if [[ -z "$(cat "$contrib_git_config" | grep '\[remote "qmk"\]')" ]] ; then
{{ git_log | ansi2html }}
{{ failure.stdout | ansi2html }}
{{ binary.name }}